@nemme/js-sdk 0.2.1 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var $t=Object.defineProperty;var Tt=(i,e,t)=>e in i?$t(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var S=(i,e,t)=>Tt(i,typeof e!="symbol"?e+"":e,t);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const w=require("react"),Rt=require("react-dom");function Ft(i){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(i){for(const t in i)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(i,t);Object.defineProperty(e,t,n.get?n:{enumerable:!0,get:()=>i[t]})}}return e.default=i,Object.freeze(e)}const p=Ft(w);var oe={},$e;function Mt(){if($e)return oe;$e=1;var i=Rt;return oe.createRoot=i.createRoot,oe.hydrateRoot=i.hydrateRoot,oe}var Dt=Mt();const At=(i,e,t,n)=>{var s,a,o,c;const r=[t,{code:e,...n||{}}];if((a=(s=i==null?void 0:i.services)==null?void 0:s.logger)!=null&&a.forward)return i.services.logger.forward(r,"warn","react-i18next::",!0);_(r[0])&&(r[0]=`react-i18next:: ${r[0]}`),(c=(o=i==null?void 0:i.services)==null?void 0:o.logger)!=null&&c.warn?i.services.logger.warn(...r):console!=null&&console.warn&&console.warn(...r)},Te={},xe=(i,e,t,n)=>{_(t)&&Te[t]||(_(t)&&(Te[t]=new Date),At(i,e,t,n))},at=(i,e)=>()=>{if(i.isInitialized)e();else{const t=()=>{setTimeout(()=>{i.off("initialized",t)},0),e()};i.on("initialized",t)}},be=(i,e,t)=>{i.loadNamespaces(e,at(i,t))},Re=(i,e,t,n)=>{if(_(t)&&(t=[t]),i.options.preload&&i.options.preload.indexOf(e)>-1)return be(i,t,n);t.forEach(r=>{i.options.ns.indexOf(r)<0&&i.options.ns.push(r)}),i.loadLanguages(e,at(i,n))},Vt=(i,e,t={})=>!e.languages||!e.languages.length?(xe(e,"NO_LANGUAGES","i18n.languages were undefined or empty",{languages:e.languages}),!0):e.hasLoadedNamespace(i,{lng:t.lng,precheck:(n,r)=>{if(t.bindI18n&&t.bindI18n.indexOf("languageChanging")>-1&&n.services.backendConnector.backend&&n.isLanguageChangingTo&&!r(n.isLanguageChangingTo,i))return!1}}),_=i=>typeof i=="string",It=i=>typeof i=="object"&&i!==null,Ht=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,Bt={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"',"&nbsp;":" ","&#160;":" ","&copy;":"©","&#169;":"©","&reg;":"®","&#174;":"®","&hellip;":"…","&#8230;":"…","&#x2F;":"/","&#47;":"/"},qt=i=>Bt[i],zt=i=>i.replace(Ht,qt);let we={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:zt};const Ut=(i={})=>{we={...we,...i}},_t=()=>we;let ot;const Kt=i=>{ot=i},Wt=()=>ot,Zt={type:"3rdParty",init(i){Ut(i.options.react),Kt(i)}},lt=w.createContext();class Jt{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach(t=>{this.usedNamespaces[t]||(this.usedNamespaces[t]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const Gt=(i,e)=>{const t=w.useRef();return w.useEffect(()=>{t.current=i},[i,e]),t.current},ct=(i,e,t,n)=>i.getFixedT(e,t,n),Yt=(i,e,t,n)=>w.useCallback(ct(i,e,t,n),[i,e,t,n]),Le=(i,e={})=>{var C,N,I,$;const{i18n:t}=e,{i18n:n,defaultNS:r}=w.useContext(lt)||{},s=t||n||Wt();if(s&&!s.reportNamespaces&&(s.reportNamespaces=new Jt),!s){xe(s,"NO_I18NEXT_INSTANCE","useTranslation: You will need to pass in an i18next instance by using initReactI18next");const P=(k,R)=>_(R)?R:It(R)&&_(R.defaultValue)?R.defaultValue:Array.isArray(k)?k[k.length-1]:k,E=[P,{},!1];return E.t=P,E.i18n={},E.ready=!1,E}(C=s.options.react)!=null&&C.wait&&xe(s,"DEPRECATED_OPTION","useTranslation: It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const a={..._t(),...s.options.react,...e},{useSuspense:o,keyPrefix:c}=a;let l=r||((N=s.options)==null?void 0:N.defaultNS);l=_(l)?[l]:l||["translation"],($=(I=s.reportNamespaces).addUsedNamespaces)==null||$.call(I,l);const u=(s.isInitialized||s.initializedStoreOnce)&&l.every(P=>Vt(P,s,a)),d=Yt(s,e.lng||null,a.nsMode==="fallback"?l:l[0],c),h=()=>d,f=()=>ct(s,e.lng||null,a.nsMode==="fallback"?l:l[0],c),[g,y]=w.useState(h);let b=l.join();e.lng&&(b=`${e.lng}${b}`);const v=Gt(b),L=w.useRef(!0);w.useEffect(()=>{const{bindI18n:P,bindI18nStore:E}=a;L.current=!0,!u&&!o&&(e.lng?Re(s,e.lng,l,()=>{L.current&&y(f)}):be(s,l,()=>{L.current&&y(f)})),u&&v&&v!==b&&L.current&&y(f);const k=()=>{L.current&&y(f)};return P&&(s==null||s.on(P,k)),E&&(s==null||s.store.on(E,k)),()=>{L.current=!1,s&&P&&(P==null||P.split(" ").forEach(R=>s.off(R,k))),E&&s&&E.split(" ").forEach(R=>s.store.off(R,k))}},[s,b]),w.useEffect(()=>{L.current&&u&&y(h)},[s,c,u]);const O=[g,s,u];if(O.t=g,O.i18n=s,O.ready=u,u||!u&&!o)return O;throw new Promise(P=>{e.lng?Re(s,e.lng,l,()=>P()):be(s,l,()=>P())})};function Xt({i18n:i,defaultNS:e,children:t}){const n=w.useMemo(()=>({i18n:i,defaultNS:e}),[i,e]);return w.createElement(lt.Provider,{value:n},t)}var pe={exports:{}},Y={};/**
1
+ "use strict";var Nt=Object.defineProperty;var jt=(i,e,t)=>e in i?Nt(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var v=(i,e,t)=>jt(i,typeof e!="symbol"?e+"":e,t);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const w=require("react"),Tt=require("react-dom/client");function $t(i){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(i){for(const t in i)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(i,t);Object.defineProperty(e,t,n.get?n:{enumerable:!0,get:()=>i[t]})}}return e.default=i,Object.freeze(e)}const p=$t(w),Rt=(i,e,t,n)=>{var s,a,o,c;const r=[t,{code:e,...n||{}}];if((a=(s=i==null?void 0:i.services)==null?void 0:s.logger)!=null&&a.forward)return i.services.logger.forward(r,"warn","react-i18next::",!0);_(r[0])&&(r[0]=`react-i18next:: ${r[0]}`),(c=(o=i==null?void 0:i.services)==null?void 0:o.logger)!=null&&c.warn?i.services.logger.warn(...r):console!=null&&console.warn&&console.warn(...r)},je={},ye=(i,e,t,n)=>{_(t)&&je[t]||(_(t)&&(je[t]=new Date),Rt(i,e,t,n))},it=(i,e)=>()=>{if(i.isInitialized)e();else{const t=()=>{setTimeout(()=>{i.off("initialized",t)},0),e()};i.on("initialized",t)}},xe=(i,e,t)=>{i.loadNamespaces(e,it(i,t))},Te=(i,e,t,n)=>{if(_(t)&&(t=[t]),i.options.preload&&i.options.preload.indexOf(e)>-1)return xe(i,t,n);t.forEach(r=>{i.options.ns.indexOf(r)<0&&i.options.ns.push(r)}),i.loadLanguages(e,it(i,n))},Ft=(i,e,t={})=>!e.languages||!e.languages.length?(ye(e,"NO_LANGUAGES","i18n.languages were undefined or empty",{languages:e.languages}),!0):e.hasLoadedNamespace(i,{lng:t.lng,precheck:(n,r)=>{if(t.bindI18n&&t.bindI18n.indexOf("languageChanging")>-1&&n.services.backendConnector.backend&&n.isLanguageChangingTo&&!r(n.isLanguageChangingTo,i))return!1}}),_=i=>typeof i=="string",Mt=i=>typeof i=="object"&&i!==null,Dt=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,At={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"',"&nbsp;":" ","&#160;":" ","&copy;":"©","&#169;":"©","&reg;":"®","&#174;":"®","&hellip;":"…","&#8230;":"…","&#x2F;":"/","&#47;":"/"},Vt=i=>At[i],It=i=>i.replace(Dt,Vt);let be={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:It};const Ht=(i={})=>{be={...be,...i}},Bt=()=>be;let st;const zt=i=>{st=i},Kt=()=>st,qt={type:"3rdParty",init(i){Ht(i.options.react),zt(i)}},at=w.createContext();class _t{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach(t=>{this.usedNamespaces[t]||(this.usedNamespaces[t]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const Ut=(i,e)=>{const t=w.useRef();return w.useEffect(()=>{t.current=i},[i,e]),t.current},ot=(i,e,t,n)=>i.getFixedT(e,t,n),Wt=(i,e,t,n)=>w.useCallback(ot(i,e,t,n),[i,e,t,n]),ke=(i,e={})=>{var C,N,I,T;const{i18n:t}=e,{i18n:n,defaultNS:r}=w.useContext(at)||{},s=t||n||Kt();if(s&&!s.reportNamespaces&&(s.reportNamespaces=new _t),!s){ye(s,"NO_I18NEXT_INSTANCE","useTranslation: You will need to pass in an i18next instance by using initReactI18next");const P=(k,R)=>_(R)?R:Mt(R)&&_(R.defaultValue)?R.defaultValue:Array.isArray(k)?k[k.length-1]:k,O=[P,{},!1];return O.t=P,O.i18n={},O.ready=!1,O}(C=s.options.react)!=null&&C.wait&&ye(s,"DEPRECATED_OPTION","useTranslation: It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const a={...Bt(),...s.options.react,...e},{useSuspense:o,keyPrefix:c}=a;let l=r||((N=s.options)==null?void 0:N.defaultNS);l=_(l)?[l]:l||["translation"],(T=(I=s.reportNamespaces).addUsedNamespaces)==null||T.call(I,l);const u=(s.isInitialized||s.initializedStoreOnce)&&l.every(P=>Ft(P,s,a)),d=Wt(s,e.lng||null,a.nsMode==="fallback"?l:l[0],c),h=()=>d,f=()=>ot(s,e.lng||null,a.nsMode==="fallback"?l:l[0],c),[g,y]=w.useState(h);let b=l.join();e.lng&&(b=`${e.lng}${b}`);const S=Ut(b),L=w.useRef(!0);w.useEffect(()=>{const{bindI18n:P,bindI18nStore:O}=a;L.current=!0,!u&&!o&&(e.lng?Te(s,e.lng,l,()=>{L.current&&y(f)}):xe(s,l,()=>{L.current&&y(f)})),u&&S&&S!==b&&L.current&&y(f);const k=()=>{L.current&&y(f)};return P&&(s==null||s.on(P,k)),O&&(s==null||s.store.on(O,k)),()=>{L.current=!1,s&&P&&(P==null||P.split(" ").forEach(R=>s.off(R,k))),O&&s&&O.split(" ").forEach(R=>s.store.off(R,k))}},[s,b]),w.useEffect(()=>{L.current&&u&&y(h)},[s,c,u]);const E=[g,s,u];if(E.t=g,E.i18n=s,E.ready=u,u||!u&&!o)return E;throw new Promise(P=>{e.lng?Te(s,e.lng,l,()=>P()):xe(s,l,()=>P())})};function Zt({i18n:i,defaultNS:e,children:t}){const n=w.useMemo(()=>({i18n:i,defaultNS:e}),[i,e]);return w.createElement(at.Provider,{value:n},t)}var ge={exports:{}},Y={};/**
2
2
  * @license React
3
3
  * react-jsx-runtime.production.min.js
4
4
  *
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
9
- */var Fe;function Qt(){if(Fe)return Y;Fe=1;var i=w,e=Symbol.for("react.element"),t=Symbol.for("react.fragment"),n=Object.prototype.hasOwnProperty,r=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function a(o,c,l){var u,d={},h=null,f=null;l!==void 0&&(h=""+l),c.key!==void 0&&(h=""+c.key),c.ref!==void 0&&(f=c.ref);for(u in c)n.call(c,u)&&!s.hasOwnProperty(u)&&(d[u]=c[u]);if(o&&o.defaultProps)for(u in c=o.defaultProps,c)d[u]===void 0&&(d[u]=c[u]);return{$$typeof:e,type:o,key:h,ref:f,props:d,_owner:r.current}}return Y.Fragment=t,Y.jsx=a,Y.jsxs=a,Y}var Me;function en(){return Me||(Me=1,pe.exports=Qt()),pe.exports}var m=en();const tn=({step:i,form:e,formState:t,onDismiss:n,onNextStep:r,onPreviousStep:s,onUpdateResponse:a})=>{const{t:o}=Le(),l=(u=>{let d=0;if(e.startTransition){if(u===d)return{type:"start",transition:e.startTransition};d++}const h=u-d;return h>=0&&h<e.questions.length?{type:"question",questionIndex:h,question:e.questions[h]}:(d+=e.questions.length,e.endTransition&&u===d?{type:"end",transition:e.endTransition}:null)})(i);if((l==null?void 0:l.type)==="start"){const{title:u,description:d,image:h,includeOptOut:f,customStartButton:g,startButtonText:y,customOptOutButton:b,optOutButtonText:v}=l.transition;return m.jsx(wn,{title:u,description:d,icon:e.icon,image:h,quitText:f?b?v:o("Quit"):void 0,onQuit:f?()=>n(t):void 0,startText:g?y:o("Start"),onStart:r})}if((l==null?void 0:l.type)==="end"){const{title:u,description:d,image:h,customEndButton:f,endButtonText:g,customEndButtonLink:y,endButtonLink:b}=l.transition;return m.jsx(bn,{title:u,description:d,icon:e.icon,image:h,quitText:f?g:o("Done"),onQuit:r,externalLink:y?b:void 0})}if((l==null?void 0:l.type)==="question"){const{question:u}=l;if(u.questionType==="choice"){const{title:d,description:h,image:f,alternatives:g,maxSelections:y,required:b}=u,v=t.responses[u.id]||[],L=(y?v.length<=y||y===4:!0)&&(b?v.length>0:!0);return m.jsx(mn,{title:d,description:h,image:f,alternatives:g,onPrevious:s,onNext:r,icon:e.icon,maxAlternatives:y,onQuit:()=>n(t),selectedAlternatives:v,onAlternativeSelect:O=>{if(y>1){const N=v,I=N.includes(O)?N.filter($=>$!==O):y&&N.length>=y&&y!=4?N:[...N,O];a(u.id,I)}else v.includes(O)?a(u.id,[]):a(u.id,[O])},isValid:L})}if(u.questionType==="text"){const{title:d,description:h,image:f,maxChars:g,limited:y,required:b}=u,v=t.responses[u.id]||"",L=(y&&g?v.length<=g:!0)&&(b?v.length>0:!0);return m.jsx(xn,{title:d,icon:e.icon,description:h,onNext:r,onPrevious:s,onQuit:()=>n(t),image:f,maxCharacters:y?g:void 0,inputText:v,setInputText:O=>{y&&g&&O.length>g||a(u.id,O)},isValid:L})}}return null},nn=({form:i,onDismiss:e,onComplete:t})=>{const r=(i.startTransition?1:0)+i.questions.length+(i.endTransition?1:0)-1,[s,a]=w.useState({responses:{},currentStep:0,startedAt:new Date}),o=w.useCallback((d,h)=>{a(f=>({...f,responses:{...f.responses,[d]:h}}))},[]),c=w.useCallback(d=>{a(h=>({...h,currentStep:d}))},[]),l=w.useCallback(()=>{if(s.currentStep<r)c(s.currentStep+1);else{const d={...s,completedAt:new Date};t(d)}},[s,r,c,t]),u=w.useCallback(()=>{s.currentStep>0&&c(s.currentStep-1)},[s.currentStep,c]);return m.jsx("div",{className:"flex flex-col justify-center items-center absolute inset-0 bg-overlay-background-default-light dark:bg-overlay-background-default-dark",children:m.jsx(tn,{step:s.currentStep,form:i,formState:s,onDismiss:e,onNextStep:l,onPreviousStep:u,onUpdateResponse:o})})},rn=new Map([["bold",p.createElement(p.Fragment,null,p.createElement("path",{d:"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z"}))],["duotone",p.createElement(p.Fragment,null,p.createElement("path",{d:"M184,80V208a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V80a8,8,0,0,1,8-8H176A8,8,0,0,1,184,80Z",opacity:"0.2"}),p.createElement("path",{d:"M224,104a8,8,0,0,1-16,0V59.32l-66.33,66.34a8,8,0,0,1-11.32-11.32L196.68,48H152a8,8,0,0,1,0-16h64a8,8,0,0,1,8,8Zm-40,24a8,8,0,0,0-8,8v72H48V80h72a8,8,0,0,0,0-16H48A16,16,0,0,0,32,80V208a16,16,0,0,0,16,16H176a16,16,0,0,0,16-16V136A8,8,0,0,0,184,128Z"}))],["fill",p.createElement(p.Fragment,null,p.createElement("path",{d:"M192,136v72a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V80A16,16,0,0,1,48,64h72a8,8,0,0,1,0,16H48V208H176V136a8,8,0,0,1,16,0Zm32-96a8,8,0,0,0-8-8H152a8,8,0,0,0-5.66,13.66L172.69,72l-42.35,42.34a8,8,0,0,0,11.32,11.32L184,83.31l26.34,26.35A8,8,0,0,0,224,104Z"}))],["light",p.createElement(p.Fragment,null,p.createElement("path",{d:"M222,104a6,6,0,0,1-12,0V54.49l-69.75,69.75a6,6,0,0,1-8.48-8.48L201.51,46H152a6,6,0,0,1,0-12h64a6,6,0,0,1,6,6Zm-38,26a6,6,0,0,0-6,6v72a2,2,0,0,1-2,2H48a2,2,0,0,1-2-2V80a2,2,0,0,1,2-2h72a6,6,0,0,0,0-12H48A14,14,0,0,0,34,80V208a14,14,0,0,0,14,14H176a14,14,0,0,0,14-14V136A6,6,0,0,0,184,130Z"}))],["regular",p.createElement(p.Fragment,null,p.createElement("path",{d:"M224,104a8,8,0,0,1-16,0V59.32l-66.33,66.34a8,8,0,0,1-11.32-11.32L196.68,48H152a8,8,0,0,1,0-16h64a8,8,0,0,1,8,8Zm-40,24a8,8,0,0,0-8,8v72H48V80h72a8,8,0,0,0,0-16H48A16,16,0,0,0,32,80V208a16,16,0,0,0,16,16H176a16,16,0,0,0,16-16V136A8,8,0,0,0,184,128Z"}))],["thin",p.createElement(p.Fragment,null,p.createElement("path",{d:"M220,104a4,4,0,0,1-8,0V49.66l-73.16,73.17a4,4,0,0,1-5.66-5.66L206.34,44H152a4,4,0,0,1,0-8h64a4,4,0,0,1,4,4Zm-36,28a4,4,0,0,0-4,4v72a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V80a4,4,0,0,1,4-4h72a4,4,0,0,0,0-8H48A12,12,0,0,0,36,80V208a12,12,0,0,0,12,12H176a12,12,0,0,0,12-12V136A4,4,0,0,0,184,132Z"}))]]),sn=new Map([["bold",p.createElement(p.Fragment,null,p.createElement("path",{d:"M168.49,199.51a12,12,0,0,1-17,17l-80-80a12,12,0,0,1,0-17l80-80a12,12,0,0,1,17,17L97,128Z"}))],["duotone",p.createElement(p.Fragment,null,p.createElement("path",{d:"M160,48V208L80,128Z",opacity:"0.2"}),p.createElement("path",{d:"M163.06,40.61a8,8,0,0,0-8.72,1.73l-80,80a8,8,0,0,0,0,11.32l80,80A8,8,0,0,0,168,208V48A8,8,0,0,0,163.06,40.61ZM152,188.69,91.31,128,152,67.31Z"}))],["fill",p.createElement(p.Fragment,null,p.createElement("path",{d:"M168,48V208a8,8,0,0,1-13.66,5.66l-80-80a8,8,0,0,1,0-11.32l80-80A8,8,0,0,1,168,48Z"}))],["light",p.createElement(p.Fragment,null,p.createElement("path",{d:"M164.24,203.76a6,6,0,1,1-8.48,8.48l-80-80a6,6,0,0,1,0-8.48l80-80a6,6,0,0,1,8.48,8.48L88.49,128Z"}))],["regular",p.createElement(p.Fragment,null,p.createElement("path",{d:"M165.66,202.34a8,8,0,0,1-11.32,11.32l-80-80a8,8,0,0,1,0-11.32l80-80a8,8,0,0,1,11.32,11.32L91.31,128Z"}))],["thin",p.createElement(p.Fragment,null,p.createElement("path",{d:"M162.83,205.17a4,4,0,0,1-5.66,5.66l-80-80a4,4,0,0,1,0-5.66l80-80a4,4,0,1,1,5.66,5.66L85.66,128Z"}))]]),an=new Map([["bold",p.createElement(p.Fragment,null,p.createElement("path",{d:"M184.49,136.49l-80,80a12,12,0,0,1-17-17L159,128,87.51,56.49a12,12,0,1,1,17-17l80,80A12,12,0,0,1,184.49,136.49Z"}))],["duotone",p.createElement(p.Fragment,null,p.createElement("path",{d:"M176,128,96,208V48Z",opacity:"0.2"}),p.createElement("path",{d:"M181.66,122.34l-80-80A8,8,0,0,0,88,48V208a8,8,0,0,0,13.66,5.66l80-80A8,8,0,0,0,181.66,122.34ZM104,188.69V67.31L164.69,128Z"}))],["fill",p.createElement(p.Fragment,null,p.createElement("path",{d:"M181.66,133.66l-80,80A8,8,0,0,1,88,208V48a8,8,0,0,1,13.66-5.66l80,80A8,8,0,0,1,181.66,133.66Z"}))],["light",p.createElement(p.Fragment,null,p.createElement("path",{d:"M180.24,132.24l-80,80a6,6,0,0,1-8.48-8.48L167.51,128,91.76,52.24a6,6,0,0,1,8.48-8.48l80,80A6,6,0,0,1,180.24,132.24Z"}))],["regular",p.createElement(p.Fragment,null,p.createElement("path",{d:"M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z"}))],["thin",p.createElement(p.Fragment,null,p.createElement("path",{d:"M178.83,130.83l-80,80a4,4,0,0,1-5.66-5.66L170.34,128,93.17,50.83a4,4,0,0,1,5.66-5.66l80,80A4,4,0,0,1,178.83,130.83Z"}))]]),on=new Map([["bold",p.createElement(p.Fragment,null,p.createElement("path",{d:"M208.49,191.51a12,12,0,0,1-17,17L128,145,64.49,208.49a12,12,0,0,1-17-17L111,128,47.51,64.49a12,12,0,0,1,17-17L128,111l63.51-63.52a12,12,0,0,1,17,17L145,128Z"}))],["duotone",p.createElement(p.Fragment,null,p.createElement("path",{d:"M216,56V200a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V56A16,16,0,0,1,56,40H200A16,16,0,0,1,216,56Z",opacity:"0.2"}),p.createElement("path",{d:"M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z"}))],["fill",p.createElement(p.Fragment,null,p.createElement("path",{d:"M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM181.66,170.34a8,8,0,0,1-11.32,11.32L128,139.31,85.66,181.66a8,8,0,0,1-11.32-11.32L116.69,128,74.34,85.66A8,8,0,0,1,85.66,74.34L128,116.69l42.34-42.35a8,8,0,0,1,11.32,11.32L139.31,128Z"}))],["light",p.createElement(p.Fragment,null,p.createElement("path",{d:"M204.24,195.76a6,6,0,1,1-8.48,8.48L128,136.49,60.24,204.24a6,6,0,0,1-8.48-8.48L119.51,128,51.76,60.24a6,6,0,0,1,8.48-8.48L128,119.51l67.76-67.75a6,6,0,0,1,8.48,8.48L136.49,128Z"}))],["regular",p.createElement(p.Fragment,null,p.createElement("path",{d:"M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z"}))],["thin",p.createElement(p.Fragment,null,p.createElement("path",{d:"M202.83,197.17a4,4,0,0,1-5.66,5.66L128,133.66,58.83,202.83a4,4,0,0,1-5.66-5.66L122.34,128,53.17,58.83a4,4,0,0,1,5.66-5.66L128,122.34l69.17-69.17a4,4,0,1,1,5.66,5.66L133.66,128Z"}))]]),ut=w.createContext({color:"currentColor",size:"1em",weight:"regular",mirrored:!1}),se=p.forwardRef((i,e)=>{const{alt:t,color:n,size:r,weight:s,mirrored:a,children:o,weights:c,...l}=i,{color:u="currentColor",size:d,weight:h="regular",mirrored:f=!1,...g}=p.useContext(ut);return p.createElement("svg",{ref:e,xmlns:"http://www.w3.org/2000/svg",width:r??d,height:r??d,fill:n??u,viewBox:"0 0 256 256",transform:a||f?"scale(-1, 1)":void 0,...g,...l},!!t&&p.createElement("title",null,t),o,c.get(s??h))});se.displayName="IconBase";const dt=p.forwardRef((i,e)=>p.createElement(se,{ref:e,...i,weights:rn}));dt.displayName="ArrowSquareOutIcon";const ht=p.forwardRef((i,e)=>p.createElement(se,{ref:e,...i,weights:sn}));ht.displayName="CaretLeftIcon";const ft=p.forwardRef((i,e)=>p.createElement(se,{ref:e,...i,weights:an}));ft.displayName="CaretRightIcon";const he=p.forwardRef((i,e)=>p.createElement(se,{ref:e,...i,weights:on}));he.displayName="XIcon";var De={exports:{}},X={};/**
9
+ */var $e;function Jt(){if($e)return Y;$e=1;var i=w,e=Symbol.for("react.element"),t=Symbol.for("react.fragment"),n=Object.prototype.hasOwnProperty,r=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function a(o,c,l){var u,d={},h=null,f=null;l!==void 0&&(h=""+l),c.key!==void 0&&(h=""+c.key),c.ref!==void 0&&(f=c.ref);for(u in c)n.call(c,u)&&!s.hasOwnProperty(u)&&(d[u]=c[u]);if(o&&o.defaultProps)for(u in c=o.defaultProps,c)d[u]===void 0&&(d[u]=c[u]);return{$$typeof:e,type:o,key:h,ref:f,props:d,_owner:r.current}}return Y.Fragment=t,Y.jsx=a,Y.jsxs=a,Y}var Re;function Gt(){return Re||(Re=1,ge.exports=Jt()),ge.exports}var m=Gt();const Yt=({step:i,form:e,formState:t,onDismiss:n,onNextStep:r,onPreviousStep:s,onUpdateResponse:a})=>{const{t:o}=ke(),l=(u=>{let d=0;if(e.startTransition){if(u===d)return{type:"start",transition:e.startTransition};d++}const h=u-d;return h>=0&&h<e.questions.length?{type:"question",questionIndex:h,question:e.questions[h]}:(d+=e.questions.length,e.endTransition&&u===d?{type:"end",transition:e.endTransition}:null)})(i);if((l==null?void 0:l.type)==="start"){const{title:u,description:d,image:h,includeOptOut:f,customStartButton:g,startButtonText:y,customOptOutButton:b,optOutButtonText:S}=l.transition;return m.jsx(mn,{title:u,description:d,icon:e.icon,image:h,quitText:f?b?S:o("Quit"):void 0,onQuit:f?()=>n(t):void 0,startText:g?y:o("Start"),onStart:r})}if((l==null?void 0:l.type)==="end"){const{title:u,description:d,image:h,customEndButton:f,endButtonText:g,customEndButtonLink:y,endButtonLink:b}=l.transition;return m.jsx(pn,{title:u,description:d,icon:e.icon,image:h,quitText:f?g:o("Done"),onQuit:r,externalLink:y?b:void 0})}if((l==null?void 0:l.type)==="question"){const{question:u}=l;if(u.questionType==="choice"){const{title:d,description:h,image:f,alternatives:g,maxSelections:y,required:b}=u,S=t.responses[u.id]||[],L=(y?S.length<=y||y===4:!0)&&(b?S.length>0:!0);return m.jsx(hn,{title:d,description:h,image:f,alternatives:g,onPrevious:s,onNext:r,icon:e.icon,maxAlternatives:y,onQuit:()=>n(t),selectedAlternatives:S,onAlternativeSelect:E=>{if(y>1){const N=S,I=N.includes(E)?N.filter(T=>T!==E):y&&N.length>=y&&y!=4?N:[...N,E];a(u.id,I)}else S.includes(E)?a(u.id,[]):a(u.id,[E])},isValid:L})}if(u.questionType==="text"){const{title:d,description:h,image:f,maxChars:g,limited:y,required:b}=u,S=t.responses[u.id]||"",L=(y&&g?S.length<=g:!0)&&(b?S.length>0:!0);return m.jsx(gn,{title:d,icon:e.icon,description:h,onNext:r,onPrevious:s,onQuit:()=>n(t),image:f,maxCharacters:y?g:void 0,inputText:S,setInputText:E=>{y&&g&&E.length>g||a(u.id,E)},isValid:L})}}return null},Xt=({form:i,onDismiss:e,onComplete:t,zIndex:n=100})=>{const s=(i.startTransition?1:0)+i.questions.length+(i.endTransition?1:0)-1,[a,o]=w.useState({responses:{},currentStep:0,startedAt:new Date}),c=w.useCallback((h,f)=>{o(g=>({...g,responses:{...g.responses,[h]:f}}))},[]),l=w.useCallback(h=>{o(f=>({...f,currentStep:h}))},[]),u=w.useCallback(()=>{if(a.currentStep<s)l(a.currentStep+1);else{const h={...a,completedAt:new Date};t(h)}},[a,s,l,t]),d=w.useCallback(()=>{a.currentStep>0&&l(a.currentStep-1)},[a.currentStep,l]);return m.jsx("div",{className:"flex flex-col justify-center items-center absolute inset-0 bg-overlay-background-default-light dark:bg-overlay-background-default-dark",style:{zIndex:n},children:m.jsx(Yt,{step:a.currentStep,form:i,formState:a,onDismiss:e,onNextStep:u,onPreviousStep:d,onUpdateResponse:c})})},Qt=new Map([["bold",p.createElement(p.Fragment,null,p.createElement("path",{d:"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z"}))],["duotone",p.createElement(p.Fragment,null,p.createElement("path",{d:"M184,80V208a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V80a8,8,0,0,1,8-8H176A8,8,0,0,1,184,80Z",opacity:"0.2"}),p.createElement("path",{d:"M224,104a8,8,0,0,1-16,0V59.32l-66.33,66.34a8,8,0,0,1-11.32-11.32L196.68,48H152a8,8,0,0,1,0-16h64a8,8,0,0,1,8,8Zm-40,24a8,8,0,0,0-8,8v72H48V80h72a8,8,0,0,0,0-16H48A16,16,0,0,0,32,80V208a16,16,0,0,0,16,16H176a16,16,0,0,0,16-16V136A8,8,0,0,0,184,128Z"}))],["fill",p.createElement(p.Fragment,null,p.createElement("path",{d:"M192,136v72a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V80A16,16,0,0,1,48,64h72a8,8,0,0,1,0,16H48V208H176V136a8,8,0,0,1,16,0Zm32-96a8,8,0,0,0-8-8H152a8,8,0,0,0-5.66,13.66L172.69,72l-42.35,42.34a8,8,0,0,0,11.32,11.32L184,83.31l26.34,26.35A8,8,0,0,0,224,104Z"}))],["light",p.createElement(p.Fragment,null,p.createElement("path",{d:"M222,104a6,6,0,0,1-12,0V54.49l-69.75,69.75a6,6,0,0,1-8.48-8.48L201.51,46H152a6,6,0,0,1,0-12h64a6,6,0,0,1,6,6Zm-38,26a6,6,0,0,0-6,6v72a2,2,0,0,1-2,2H48a2,2,0,0,1-2-2V80a2,2,0,0,1,2-2h72a6,6,0,0,0,0-12H48A14,14,0,0,0,34,80V208a14,14,0,0,0,14,14H176a14,14,0,0,0,14-14V136A6,6,0,0,0,184,130Z"}))],["regular",p.createElement(p.Fragment,null,p.createElement("path",{d:"M224,104a8,8,0,0,1-16,0V59.32l-66.33,66.34a8,8,0,0,1-11.32-11.32L196.68,48H152a8,8,0,0,1,0-16h64a8,8,0,0,1,8,8Zm-40,24a8,8,0,0,0-8,8v72H48V80h72a8,8,0,0,0,0-16H48A16,16,0,0,0,32,80V208a16,16,0,0,0,16,16H176a16,16,0,0,0,16-16V136A8,8,0,0,0,184,128Z"}))],["thin",p.createElement(p.Fragment,null,p.createElement("path",{d:"M220,104a4,4,0,0,1-8,0V49.66l-73.16,73.17a4,4,0,0,1-5.66-5.66L206.34,44H152a4,4,0,0,1,0-8h64a4,4,0,0,1,4,4Zm-36,28a4,4,0,0,0-4,4v72a4,4,0,0,1-4,4H48a4,4,0,0,1-4-4V80a4,4,0,0,1,4-4h72a4,4,0,0,0,0-8H48A12,12,0,0,0,36,80V208a12,12,0,0,0,12,12H176a12,12,0,0,0,12-12V136A4,4,0,0,0,184,132Z"}))]]),en=new Map([["bold",p.createElement(p.Fragment,null,p.createElement("path",{d:"M168.49,199.51a12,12,0,0,1-17,17l-80-80a12,12,0,0,1,0-17l80-80a12,12,0,0,1,17,17L97,128Z"}))],["duotone",p.createElement(p.Fragment,null,p.createElement("path",{d:"M160,48V208L80,128Z",opacity:"0.2"}),p.createElement("path",{d:"M163.06,40.61a8,8,0,0,0-8.72,1.73l-80,80a8,8,0,0,0,0,11.32l80,80A8,8,0,0,0,168,208V48A8,8,0,0,0,163.06,40.61ZM152,188.69,91.31,128,152,67.31Z"}))],["fill",p.createElement(p.Fragment,null,p.createElement("path",{d:"M168,48V208a8,8,0,0,1-13.66,5.66l-80-80a8,8,0,0,1,0-11.32l80-80A8,8,0,0,1,168,48Z"}))],["light",p.createElement(p.Fragment,null,p.createElement("path",{d:"M164.24,203.76a6,6,0,1,1-8.48,8.48l-80-80a6,6,0,0,1,0-8.48l80-80a6,6,0,0,1,8.48,8.48L88.49,128Z"}))],["regular",p.createElement(p.Fragment,null,p.createElement("path",{d:"M165.66,202.34a8,8,0,0,1-11.32,11.32l-80-80a8,8,0,0,1,0-11.32l80-80a8,8,0,0,1,11.32,11.32L91.31,128Z"}))],["thin",p.createElement(p.Fragment,null,p.createElement("path",{d:"M162.83,205.17a4,4,0,0,1-5.66,5.66l-80-80a4,4,0,0,1,0-5.66l80-80a4,4,0,1,1,5.66,5.66L85.66,128Z"}))]]),tn=new Map([["bold",p.createElement(p.Fragment,null,p.createElement("path",{d:"M184.49,136.49l-80,80a12,12,0,0,1-17-17L159,128,87.51,56.49a12,12,0,1,1,17-17l80,80A12,12,0,0,1,184.49,136.49Z"}))],["duotone",p.createElement(p.Fragment,null,p.createElement("path",{d:"M176,128,96,208V48Z",opacity:"0.2"}),p.createElement("path",{d:"M181.66,122.34l-80-80A8,8,0,0,0,88,48V208a8,8,0,0,0,13.66,5.66l80-80A8,8,0,0,0,181.66,122.34ZM104,188.69V67.31L164.69,128Z"}))],["fill",p.createElement(p.Fragment,null,p.createElement("path",{d:"M181.66,133.66l-80,80A8,8,0,0,1,88,208V48a8,8,0,0,1,13.66-5.66l80,80A8,8,0,0,1,181.66,133.66Z"}))],["light",p.createElement(p.Fragment,null,p.createElement("path",{d:"M180.24,132.24l-80,80a6,6,0,0,1-8.48-8.48L167.51,128,91.76,52.24a6,6,0,0,1,8.48-8.48l80,80A6,6,0,0,1,180.24,132.24Z"}))],["regular",p.createElement(p.Fragment,null,p.createElement("path",{d:"M181.66,133.66l-80,80a8,8,0,0,1-11.32-11.32L164.69,128,90.34,53.66a8,8,0,0,1,11.32-11.32l80,80A8,8,0,0,1,181.66,133.66Z"}))],["thin",p.createElement(p.Fragment,null,p.createElement("path",{d:"M178.83,130.83l-80,80a4,4,0,0,1-5.66-5.66L170.34,128,93.17,50.83a4,4,0,0,1,5.66-5.66l80,80A4,4,0,0,1,178.83,130.83Z"}))]]),nn=new Map([["bold",p.createElement(p.Fragment,null,p.createElement("path",{d:"M208.49,191.51a12,12,0,0,1-17,17L128,145,64.49,208.49a12,12,0,0,1-17-17L111,128,47.51,64.49a12,12,0,0,1,17-17L128,111l63.51-63.52a12,12,0,0,1,17,17L145,128Z"}))],["duotone",p.createElement(p.Fragment,null,p.createElement("path",{d:"M216,56V200a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V56A16,16,0,0,1,56,40H200A16,16,0,0,1,216,56Z",opacity:"0.2"}),p.createElement("path",{d:"M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z"}))],["fill",p.createElement(p.Fragment,null,p.createElement("path",{d:"M208,32H48A16,16,0,0,0,32,48V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V48A16,16,0,0,0,208,32ZM181.66,170.34a8,8,0,0,1-11.32,11.32L128,139.31,85.66,181.66a8,8,0,0,1-11.32-11.32L116.69,128,74.34,85.66A8,8,0,0,1,85.66,74.34L128,116.69l42.34-42.35a8,8,0,0,1,11.32,11.32L139.31,128Z"}))],["light",p.createElement(p.Fragment,null,p.createElement("path",{d:"M204.24,195.76a6,6,0,1,1-8.48,8.48L128,136.49,60.24,204.24a6,6,0,0,1-8.48-8.48L119.51,128,51.76,60.24a6,6,0,0,1,8.48-8.48L128,119.51l67.76-67.75a6,6,0,0,1,8.48,8.48L136.49,128Z"}))],["regular",p.createElement(p.Fragment,null,p.createElement("path",{d:"M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z"}))],["thin",p.createElement(p.Fragment,null,p.createElement("path",{d:"M202.83,197.17a4,4,0,0,1-5.66,5.66L128,133.66,58.83,202.83a4,4,0,0,1-5.66-5.66L122.34,128,53.17,58.83a4,4,0,0,1,5.66-5.66L128,122.34l69.17-69.17a4,4,0,1,1,5.66,5.66L133.66,128Z"}))]]),lt=w.createContext({color:"currentColor",size:"1em",weight:"regular",mirrored:!1}),se=p.forwardRef((i,e)=>{const{alt:t,color:n,size:r,weight:s,mirrored:a,children:o,weights:c,...l}=i,{color:u="currentColor",size:d,weight:h="regular",mirrored:f=!1,...g}=p.useContext(lt);return p.createElement("svg",{ref:e,xmlns:"http://www.w3.org/2000/svg",width:r??d,height:r??d,fill:n??u,viewBox:"0 0 256 256",transform:a||f?"scale(-1, 1)":void 0,...g,...l},!!t&&p.createElement("title",null,t),o,c.get(s??h))});se.displayName="IconBase";const ct=p.forwardRef((i,e)=>p.createElement(se,{ref:e,...i,weights:Qt}));ct.displayName="ArrowSquareOutIcon";const ut=p.forwardRef((i,e)=>p.createElement(se,{ref:e,...i,weights:en}));ut.displayName="CaretLeftIcon";const dt=p.forwardRef((i,e)=>p.createElement(se,{ref:e,...i,weights:tn}));dt.displayName="CaretRightIcon";const de=p.forwardRef((i,e)=>p.createElement(se,{ref:e,...i,weights:nn}));de.displayName="XIcon";var Fe={exports:{}},X={};/**
10
10
  * @license React
11
11
  * react-jsx-runtime.production.min.js
12
12
  *
@@ -14,13 +14,13 @@
14
14
  *
15
15
  * This source code is licensed under the MIT license found in the
16
16
  * LICENSE file in the root directory of this source tree.
17
- */var Ae;function ln(){if(Ae)return X;Ae=1;var i=w,e=Symbol.for("react.element"),t=Symbol.for("react.fragment"),n=Object.prototype.hasOwnProperty,r=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function a(o,c,l){var u,d={},h=null,f=null;l!==void 0&&(h=""+l),c.key!==void 0&&(h=""+c.key),c.ref!==void 0&&(f=c.ref);for(u in c)n.call(c,u)&&!s.hasOwnProperty(u)&&(d[u]=c[u]);if(o&&o.defaultProps)for(u in c=o.defaultProps,c)d[u]===void 0&&(d[u]=c[u]);return{$$typeof:e,type:o,key:h,ref:f,props:d,_owner:r.current}}return X.Fragment=t,X.jsx=a,X.jsxs=a,X}var Ve;function cn(){return Ve||(Ve=1,De.exports=ln()),De.exports}var ce=cn();const q=({variant:i="primary",size:e="medium",text:t,iconBefore:n,iconAfter:r,className:s,disabled:a=!1,...o})=>ce.jsx("button",{className:M("flex gap-2 justify-center items-center rounded-lg disabled:pointer-events-none",un(i),dn(e),s),disabled:a,...o,children:ce.jsxs(ut.Provider,{value:{size:e==="xsmall"?8:16,weight:"regular",className:M(Ie(i,a))},children:[n&&n,t&&ce.jsx("span",{className:M(Ie(i,a),hn(e)),children:t}),r&&r]})}),un=i=>{switch(i){case"primary":return"border border-grey-0/0 bg-primary-action-button-light dark:bg-primary-action-button-dark hover:bg-primary-action-button-hover-light dark:hover:bg-primary-action-button-hover-dark disabled:bg-primary-action-disabled-light dark:disabled:bg-primary-action-disabled-dark";case"secondary":return"border border-grey-0/0 bg-secondary-action-base-light dark:bg-secondary-action-base-dark hover:bg-system-neutral-grey-8-light dark:hover:bg-system-neutral-grey-8-dark disabled:bg-secondary-action-disabled-light dark:disabled:bg-secondary-action-disabled-dark";case"neutral":return"border border-separator-regular-light dark:border-separator-regular-dark hover:bg-background-universal-overlay-light dark:hover:bg-background-universal-overlay-dark disabled:bg-secondary-action-disabled-light dark:disabled:bg-secondary-action-disabled-dark disabled:border-separator-opaque-light dark:disabled:border-separator-opaque-dark";case"subtle":return"border border-grey-0/0 hover:bg-background-universal-overlay-light dark:hover:bg-background-universal-overlay-dark"}},Ie=(i,e)=>{if(e)return"text-label-tertiary-light dark:text-label-tertiary-dark";switch(i){case"primary":return"text-nonadaptable-text-light";case"secondary":return"text-label-quaternary-light dark:text-label-quaternary-dark";case"neutral":return"text-label-primary-light dark:text-label-primary-dark";case"subtle":return"text-label-primary-light dark:text-label-primary-dark"}},dn=i=>{switch(i){case"xsmall":return"p-1";case"small":return"p-2";case"medium":return"p-3"}},hn=i=>{switch(i){case"xsmall":return"text-[10px] leading-[14px]";case"small":return"text-[13px] leading-[14px]";case"medium":return"text-[15px] leading-[16px] -tracking-0,1"}};function gt(i){var e,t,n="";if(typeof i=="string"||typeof i=="number")n+=i;else if(typeof i=="object")if(Array.isArray(i)){var r=i.length;for(e=0;e<r;e++)i[e]&&(t=gt(i[e]))&&(n&&(n+=" "),n+=t)}else for(t in i)i[t]&&(n&&(n+=" "),n+=t);return n}function fn(){for(var i,e,t=0,n="",r=arguments.length;t<r;t++)(i=arguments[t])&&(e=gt(i))&&(n&&(n+=" "),n+=e);return n}const M=fn,z=({children:i,className:e,variant:t="B1",significance:n="primary",as:r})=>{const s=r??gn[t],a=pt[t];return ce.jsx(s,{className:M("font-sans",pn[n],e,a),children:i})},pt={Di1:"text-[72px] font-bold leading-[90px] -tracking-2,5",Di2:"text-[60px] font-bold leading-[72px] -tracking-2,0",Di3:"text-[48px] font-bold leading-[60px] -tracking-1,5",T1:"text-[40px] font-bold leading-[48px] -tracking-1,5",T2:"text-[32px] font-bold leading-[40px] -tracking-1",T3:"text-[24px] font-bold leading-[32px] -tracking-0,5",H1:"text-[24px] font-bold leading-[32px] -tracking-0,5",H2:"text-[20px] font-bold leading-[24px]",H3:"text-[15px] font-bold leading-[20px]",H4:"text-[13px] font-bold leading-[16px]",B1B:"text-[15px] font-bold leading-[24px] -tracking-0,1",B1:"text-[15px] leading-[24px] -tracking-0,1",B1Button:"text-[15px] leading-[16px] -tracking-0,1",B2:"text-[13px] leading-[20px]",B2Button:"text-[13px] leading-[16px]",D1B:"text-[12px] font-bold leading-[16px]",D1:"text-[12px] leading-[16px]",M:"text-[10px] leading-[16px]"},gn={Di1:"h1",Di2:"h2",Di3:"h3",T1:"h1",T2:"h2",T3:"h3",H1:"h1",H2:"h2",H3:"h3",H4:"h4",B1B:"p",B1:"p",B1Button:"span",B2:"p",B2Button:"span",D1B:"p",D1:"p",M:"p"},pn={primary:"text-label-primary-light dark:text-label-primary-dark",secondary:"text-label-secondary-light dark:text-label-secondary-dark",tertiary:"text-label-tertiary-light dark:text-label-tertiary-dark",quaternary:"text-label-quaternary-light dark:text-label-quaternary-dark",placeholder:"text-label-placeholder-light dark:text-label-placeholder-dark","nonadaptable-text":"text-nonadaptable-text-light dark:text-nonadaptable-text-dark",disabled:"text-primary-action-disabled-light dark:text-primary-action-disabled-dark"},mt=({title:i,icon:e,description:t,image:n,children:r,onPrevious:s,onNext:a,onQuit:o,isValid:c})=>{const{t:l}=Le();return m.jsxs("div",{className:M("grid mx-4 my-8 rounded-xl border relative","grid-cols-1 p-4 pt-10","md:p-8 md:gap-16 md:max-w-[960px] md:min-w-[660px]",n?"md:grid-cols-2":"md:grid-cols-1","border-separator-opaque-light dark:border-separator-opaque-dark material-ultra-thick-light dark:material-ultra-thick-dark"),children:[m.jsxs("div",{className:"flex flex-col justify-between order-2 md:order-1",children:[m.jsxs("div",{className:"flex flex-col",children:[m.jsxs("div",{className:"flex flex-col gap-1 md:gap-2 pb-3",children:[e&&m.jsx("div",{className:M("h-8 w-8 rounded-lg overflow-hidden mb-1 md:mb-2",n?"hidden md:block":"block"),children:m.jsx("img",{className:"w-full h-full object-cover",src:e,alt:"icon"})}),m.jsx(z,{variant:"H2",children:i}),t&&t.trim().replace(/\n{3,}/g,`
17
+ */var Me;function rn(){if(Me)return X;Me=1;var i=w,e=Symbol.for("react.element"),t=Symbol.for("react.fragment"),n=Object.prototype.hasOwnProperty,r=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function a(o,c,l){var u,d={},h=null,f=null;l!==void 0&&(h=""+l),c.key!==void 0&&(h=""+c.key),c.ref!==void 0&&(f=c.ref);for(u in c)n.call(c,u)&&!s.hasOwnProperty(u)&&(d[u]=c[u]);if(o&&o.defaultProps)for(u in c=o.defaultProps,c)d[u]===void 0&&(d[u]=c[u]);return{$$typeof:e,type:o,key:h,ref:f,props:d,_owner:r.current}}return X.Fragment=t,X.jsx=a,X.jsxs=a,X}var De;function sn(){return De||(De=1,Fe.exports=rn()),Fe.exports}var le=sn();const z=({variant:i="primary",size:e="medium",text:t,iconBefore:n,iconAfter:r,className:s,disabled:a=!1,...o})=>le.jsx("button",{className:M("flex gap-2 justify-center items-center rounded-lg disabled:pointer-events-none",an(i),on(e),s),disabled:a,...o,children:le.jsxs(lt.Provider,{value:{size:e==="xsmall"?8:16,weight:"regular",className:M(Ae(i,a))},children:[n&&n,t&&le.jsx("span",{className:M(Ae(i,a),ln(e)),children:t}),r&&r]})}),an=i=>{switch(i){case"primary":return"border border-grey-0/0 bg-primary-action-button-light dark:bg-primary-action-button-dark hover:bg-primary-action-button-hover-light dark:hover:bg-primary-action-button-hover-dark disabled:bg-primary-action-disabled-light dark:disabled:bg-primary-action-disabled-dark";case"secondary":return"border border-grey-0/0 bg-secondary-action-base-light dark:bg-secondary-action-base-dark hover:bg-system-neutral-grey-8-light dark:hover:bg-system-neutral-grey-8-dark disabled:bg-secondary-action-disabled-light dark:disabled:bg-secondary-action-disabled-dark";case"neutral":return"border border-separator-regular-light dark:border-separator-regular-dark hover:bg-background-universal-overlay-light dark:hover:bg-background-universal-overlay-dark disabled:bg-secondary-action-disabled-light dark:disabled:bg-secondary-action-disabled-dark disabled:border-separator-opaque-light dark:disabled:border-separator-opaque-dark";case"subtle":return"border border-grey-0/0 hover:bg-background-universal-overlay-light dark:hover:bg-background-universal-overlay-dark"}},Ae=(i,e)=>{if(e)return"text-label-tertiary-light dark:text-label-tertiary-dark";switch(i){case"primary":return"text-nonadaptable-text-light";case"secondary":return"text-label-quaternary-light dark:text-label-quaternary-dark";case"neutral":return"text-label-primary-light dark:text-label-primary-dark";case"subtle":return"text-label-primary-light dark:text-label-primary-dark"}},on=i=>{switch(i){case"xsmall":return"p-1";case"small":return"p-2";case"medium":return"p-3"}},ln=i=>{switch(i){case"xsmall":return"text-[10px] leading-[14px]";case"small":return"text-[13px] leading-[14px]";case"medium":return"text-[15px] leading-[16px] -tracking-0,1"}};function ht(i){var e,t,n="";if(typeof i=="string"||typeof i=="number")n+=i;else if(typeof i=="object")if(Array.isArray(i)){var r=i.length;for(e=0;e<r;e++)i[e]&&(t=ht(i[e]))&&(n&&(n+=" "),n+=t)}else for(t in i)i[t]&&(n&&(n+=" "),n+=t);return n}function cn(){for(var i,e,t=0,n="",r=arguments.length;t<r;t++)(i=arguments[t])&&(e=ht(i))&&(n&&(n+=" "),n+=e);return n}const M=cn,K=({children:i,className:e,variant:t="B1",significance:n="primary",as:r})=>{const s=r??un[t],a=ft[t];return le.jsx(s,{className:M("font-sans",dn[n],e,a),children:i})},ft={Di1:"text-[72px] font-bold leading-[90px] -tracking-2,5",Di2:"text-[60px] font-bold leading-[72px] -tracking-2,0",Di3:"text-[48px] font-bold leading-[60px] -tracking-1,5",T1:"text-[40px] font-bold leading-[48px] -tracking-1,5",T2:"text-[32px] font-bold leading-[40px] -tracking-1",T3:"text-[24px] font-bold leading-[32px] -tracking-0,5",H1:"text-[24px] font-bold leading-[32px] -tracking-0,5",H2:"text-[20px] font-bold leading-[24px]",H3:"text-[15px] font-bold leading-[20px]",H4:"text-[13px] font-bold leading-[16px]",B1B:"text-[15px] font-bold leading-[24px] -tracking-0,1",B1:"text-[15px] leading-[24px] -tracking-0,1",B1Button:"text-[15px] leading-[16px] -tracking-0,1",B2:"text-[13px] leading-[20px]",B2Button:"text-[13px] leading-[16px]",D1B:"text-[12px] font-bold leading-[16px]",D1:"text-[12px] leading-[16px]",M:"text-[10px] leading-[16px]"},un={Di1:"h1",Di2:"h2",Di3:"h3",T1:"h1",T2:"h2",T3:"h3",H1:"h1",H2:"h2",H3:"h3",H4:"h4",B1B:"p",B1:"p",B1Button:"span",B2:"p",B2Button:"span",D1B:"p",D1:"p",M:"p"},dn={primary:"text-label-primary-light dark:text-label-primary-dark",secondary:"text-label-secondary-light dark:text-label-secondary-dark",tertiary:"text-label-tertiary-light dark:text-label-tertiary-dark",quaternary:"text-label-quaternary-light dark:text-label-quaternary-dark",placeholder:"text-label-placeholder-light dark:text-label-placeholder-dark","nonadaptable-text":"text-nonadaptable-text-light dark:text-nonadaptable-text-dark",disabled:"text-primary-action-disabled-light dark:text-primary-action-disabled-dark"},gt=({title:i,icon:e,description:t,image:n,children:r,onPrevious:s,onNext:a,onQuit:o,isValid:c})=>{const{t:l}=ke();return m.jsxs("div",{className:M("grid mx-4 my-8 rounded-xl border relative","grid-cols-1 p-4 pt-10","md:p-8 md:gap-16 md:max-w-[960px] md:min-w-[660px]",n?"md:grid-cols-2":"md:grid-cols-1","border-separator-opaque-light dark:border-separator-opaque-dark material-ultra-thick"),children:[m.jsxs("div",{className:"flex flex-col justify-between order-2 md:order-1",children:[m.jsxs("div",{className:"flex flex-col",children:[m.jsxs("div",{className:"flex flex-col gap-1 md:gap-2 pb-3",children:[e&&m.jsx("div",{className:M("h-8 w-8 rounded-lg overflow-hidden mb-1 md:mb-2",n?"hidden md:block":"block"),children:m.jsx("img",{className:"w-full h-full object-cover",src:e,alt:"icon"})}),m.jsx(K,{variant:"H2",children:i}),t&&t.trim().replace(/\n{3,}/g,`
18
18
 
19
19
  `).split(`
20
20
 
21
- `).map((u,d)=>m.jsx(z,{significance:"secondary",children:u.trim()},d))]}),r]}),m.jsxs("div",{className:"flex justify-end pt-4 gap-2",children:[m.jsx(q,{variant:"subtle",onClick:s,iconBefore:m.jsx(ht,{}),disabled:!s,text:l("Previous")}),m.jsx(q,{variant:"subtle",onClick:a,iconAfter:m.jsx(ft,{}),disabled:!a||!c,text:l("Next")})]}),o&&m.jsx(q,{className:"absolute top-0 right-1 md:top-1",variant:"subtle",size:"small",onClick:o,iconAfter:m.jsx(he,{}),"aria-label":"quit"})]}),n&&m.jsx("div",{className:"flex flex-col justify-center order-1 md:order-2",children:m.jsx("div",{className:"rounded-lg overflow-hidden mb-6 md:mb-0",children:m.jsx("img",{className:"w-full h-full object-cover aspect-video md:aspect-square",src:n,alt:"image"})})})]})},mn=({title:i,icon:e,description:t,image:n,onPrevious:r,onNext:s,onQuit:a,alternatives:o=[],onAlternativeSelect:c,selectedAlternatives:l,maxAlternatives:u,isValid:d})=>m.jsx(mt,{title:i,icon:e,description:t,image:n,onPrevious:r,onNext:s,onQuit:a,isValid:d,children:m.jsx("div",{className:"flex flex-col max-h-[272px] md:max-h-full overflow-y-auto",children:u===1?m.jsx("div",{className:"flex flex-col py-3 md:py-4 gap-2 items-end md:items-start",children:o.map(h=>m.jsxs("button",{onClick:()=>c(h.id),className:"flex items-center gap-2 p-3 justify-end rounded-lg border text-label-primary-light dark:text-label-primary-dark border-separator-regular-light dark:border-separator-regular-dark",children:[m.jsx(z,{variant:"B1Button",children:h.text}),m.jsx(yn,{size:20,selected:l.includes(h.id)})]},h.id))}):m.jsx("div",{className:"flex py-3 md:py-4 gap-2 justify-end md:justify-start flex-wrap",children:o.map(h=>m.jsx("button",{onClick:()=>c(h.id),className:M("flex items-center gap-2 p-3 justify-end rounded-lg border",l.includes(h.id)?"text-label-quaternary-light dark:text-label-quaternary-dark border-label-quaternary-light dark:border-label-quaternary-dark bg-secondary-action-base-light dark:bg-secondary-action-base-dark":"text-label-primary-light dark:text-label-primary-dark border-separator-regular-light dark:border-separator-regular-dark"),children:m.jsx(z,{variant:"B1Button",significance:l.includes(h.id)?"quaternary":"primary",children:h.text})},h.id))})})}),yn=({size:i=16,strokeColor:e="currentColor",fillColor:t="none",selected:n=!1})=>{const r=i+1,s=r/2,a=(i-2)/2;return m.jsxs("svg",{width:i,height:i,viewBox:`0 0 ${r} ${r}`,fill:n?t:"none",xmlns:"http://www.w3.org/2000/svg",children:[m.jsx("circle",{cx:s,cy:s,r:a,stroke:e,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),n&&m.jsx("circle",{cx:s,cy:s,r:a-3,fill:e})]})},xn=({title:i,icon:e,description:t,image:n,onPrevious:r,onNext:s,onQuit:a,inputText:o,setInputText:c,maxCharacters:l,isValid:u})=>{const{t:d}=Le();return m.jsx(mt,{title:i,icon:e,description:t,image:n,onPrevious:r,onNext:s,onQuit:a,isValid:u,children:m.jsxs("div",{className:"flex flex-col py-3 gap-2",children:[l&&m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsx(z,{significance:"secondary",children:d("Max {{maxCharacters}} characters",{maxCharacters:l})}),m.jsx(z,{significance:"secondary",children:`${o.length}/${l}`})]}),m.jsxs("div",{className:"flex flex-col relative",children:[m.jsx(z,{as:"div",className:M("overflow-y-hidden whitespace-pre-wrap invisible break-words rounded-lg py-3 px-4 min-h-20 border-separator-opaque-light dark:border-separator-opaque-dark"),children:o}),m.jsx("textarea",{id:"primary",placeholder:d("Type your answer here"),className:M("absolute inset-0 resize-none","overflow-hidden break-words outline-none resize-none bg-grey-0/0","rounded-lg py-3 px-4 min-h-20 border border-separator-opaque-light dark:border-separator-opaque-dark","text-label-primary-light dark:text-label-primary-dark",pt.B1),value:o,onChange:h=>c(h.target.value)})]})]})})},yt=({title:i,icon:e,description:t,image:n,children:r,wrapperClassName:s})=>m.jsxs("div",{className:M("grid mx-4 my-8 rounded-xl border","grid-cols-1 p-4 pt-10","md:p-8 md:gap-16 md:max-w-[960px] md:min-w-[660px]",n?"md:grid-cols-2":"md:grid-cols-1","border-separator-opaque-light dark:border-separator-opaque-dark material-ultra-thick-light dark:material-ultra-thick-dark",s),children:[m.jsxs("div",{className:"flex flex-col justify-between gap-6 md:gap-8 order-2 md:order-1",children:[m.jsxs("div",{className:"flex flex-col gap-6 md:gap-8",children:[m.jsxs("div",{className:"flex flex-col gap-2 md:gap-4",children:[e&&m.jsx("div",{className:M("h-8 w-8 rounded-lg overflow-hidden",n?"hidden md:block":"block"),children:m.jsx("img",{className:"w-full h-full object-cover",src:e,alt:"icon"})}),m.jsx(z,{variant:"H2",children:i})]}),t&&t.trim().replace(/\n{3,}/g,`
21
+ `).map((u,d)=>m.jsx(K,{significance:"secondary",children:u.trim()},d))]}),r]}),m.jsxs("div",{className:"flex justify-end pt-4 gap-2",children:[m.jsx(z,{variant:"subtle",onClick:s,iconBefore:m.jsx(ut,{}),disabled:!s,text:l("Previous")}),m.jsx(z,{variant:"subtle",onClick:a,iconAfter:m.jsx(dt,{}),disabled:!a||!c,text:l("Next")})]}),o&&m.jsx(z,{className:"absolute top-0 right-1 md:top-1",variant:"subtle",size:"small",onClick:o,iconAfter:m.jsx(de,{}),"aria-label":"quit"})]}),n&&m.jsx("div",{className:"flex flex-col justify-center order-1 md:order-2",children:m.jsx("div",{className:"rounded-lg overflow-hidden mb-6 md:mb-0",children:m.jsx("img",{className:"w-full h-full object-cover aspect-video md:aspect-square",src:n,alt:"image"})})})]})},hn=({title:i,icon:e,description:t,image:n,onPrevious:r,onNext:s,onQuit:a,alternatives:o=[],onAlternativeSelect:c,selectedAlternatives:l,maxAlternatives:u,isValid:d})=>m.jsx(gt,{title:i,icon:e,description:t,image:n,onPrevious:r,onNext:s,onQuit:a,isValid:d,children:m.jsx("div",{className:"flex flex-col max-h-[272px] md:max-h-full overflow-y-auto",children:u===1?m.jsx("div",{className:"flex flex-col py-3 md:py-4 gap-2 items-end md:items-start",children:o.map(h=>m.jsxs("button",{onClick:()=>c(h.id),className:"flex items-center gap-2 p-3 justify-end rounded-lg border text-label-primary-light dark:text-label-primary-dark border-separator-regular-light dark:border-separator-regular-dark",children:[m.jsx(K,{variant:"B1Button",children:h.text}),m.jsx(fn,{size:20,selected:l.includes(h.id)})]},h.id))}):m.jsx("div",{className:"flex py-3 md:py-4 gap-2 justify-end md:justify-start flex-wrap",children:o.map(h=>m.jsx("button",{onClick:()=>c(h.id),className:M("flex items-center gap-2 p-3 justify-end rounded-lg border",l.includes(h.id)?"text-label-quaternary-light dark:text-label-quaternary-dark border-label-quaternary-light dark:border-label-quaternary-dark bg-secondary-action-base-light dark:bg-secondary-action-base-dark":"text-label-primary-light dark:text-label-primary-dark border-separator-regular-light dark:border-separator-regular-dark"),children:m.jsx(K,{variant:"B1Button",significance:l.includes(h.id)?"quaternary":"primary",children:h.text})},h.id))})})}),fn=({size:i=16,strokeColor:e="currentColor",fillColor:t="none",selected:n=!1})=>{const r=i+1,s=r/2,a=(i-2)/2;return m.jsxs("svg",{width:i,height:i,viewBox:`0 0 ${r} ${r}`,fill:n?t:"none",xmlns:"http://www.w3.org/2000/svg",children:[m.jsx("circle",{cx:s,cy:s,r:a,stroke:e,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),n&&m.jsx("circle",{cx:s,cy:s,r:a-3,fill:e})]})},gn=({title:i,icon:e,description:t,image:n,onPrevious:r,onNext:s,onQuit:a,inputText:o,setInputText:c,maxCharacters:l,isValid:u})=>{const{t:d}=ke();return m.jsx(gt,{title:i,icon:e,description:t,image:n,onPrevious:r,onNext:s,onQuit:a,isValid:u,children:m.jsxs("div",{className:"flex flex-col py-3 gap-2",children:[l&&m.jsxs("div",{className:"flex items-center justify-between",children:[m.jsx(K,{significance:"secondary",children:d("Max {{maxCharacters}} characters",{maxCharacters:l})}),m.jsx(K,{significance:"secondary",children:`${o.length}/${l}`})]}),m.jsxs("div",{className:"flex flex-col relative",children:[m.jsx(K,{as:"div",className:M("overflow-y-hidden whitespace-pre-wrap invisible break-words rounded-lg py-3 px-4 min-h-20 border-separator-opaque-light dark:border-separator-opaque-dark"),children:o}),m.jsx("textarea",{id:"primary",placeholder:d("Type your answer here"),className:M("absolute inset-0 resize-none","overflow-hidden break-words outline-none resize-none material-medium","rounded-lg py-3 px-4 min-h-20 border border-separator-opaque-light dark:border-separator-opaque-dark","text-label-primary-light dark:text-label-primary-dark",ft.B1),value:o,onChange:h=>c(h.target.value)})]})]})})},pt=({title:i,icon:e,description:t,image:n,children:r,wrapperClassName:s})=>m.jsxs("div",{className:M("grid mx-4 my-8 rounded-xl border","grid-cols-1 p-4 pt-10","md:p-8 md:gap-16 md:max-w-[960px] md:min-w-[660px]",n?"md:grid-cols-2":"md:grid-cols-1","border-separator-opaque-light dark:border-separator-opaque-dark material-ultra-thick",s),children:[m.jsxs("div",{className:"flex flex-col justify-between gap-6 md:gap-8 order-2 md:order-1",children:[m.jsxs("div",{className:"flex flex-col gap-6 md:gap-8",children:[m.jsxs("div",{className:"flex flex-col gap-2 md:gap-4",children:[e&&m.jsx("div",{className:M("h-8 w-8 rounded-lg overflow-hidden",n?"hidden md:block":"block"),children:m.jsx("img",{className:"w-full h-full object-cover",src:e,alt:"icon"})}),m.jsx(K,{variant:"H2",children:i})]}),t&&t.trim().replace(/\n{3,}/g,`
22
22
 
23
23
  `).split(`
24
24
 
25
- `).map((a,o)=>m.jsx(z,{children:a.trim()},o))]}),r]}),n&&m.jsx("div",{className:"flex flex-col justify-center order-1 md:order-2",children:m.jsx("div",{className:"rounded-lg overflow-hidden mb-6 md:mb-0",children:m.jsx("img",{className:"w-full h-full object-cover aspect-video md:aspect-square",src:n,alt:"image"})})})]}),bn=({title:i,icon:e,description:t,image:n,quitText:r,onQuit:s,externalLink:a})=>m.jsxs(yt,{title:i,icon:e,description:t,image:n,children:[m.jsx("div",{className:"flex justify-end gap-2",children:a?m.jsx(q,{variant:"secondary",text:r,iconAfter:m.jsx(dt,{}),onClick:()=>{window.open(a,"_blank"),s==null||s()}}):m.jsx(q,{variant:"secondary",onClick:s,text:r})}),s&&m.jsx(q,{className:"absolute -top-2 -right-2 md:-top-4 md:-right-4",variant:"secondary",size:"small",onClick:s,iconAfter:m.jsx(he,{}),"aria-label":"quit"})]}),wn=({title:i,icon:e,description:t,image:n,quitText:r,onQuit:s,startText:a,onStart:o})=>m.jsxs(yt,{title:i,icon:e,description:t,image:n,wrapperClassName:"relative",children:[m.jsxs("div",{className:"flex justify-end gap-2",children:[s&&r&&m.jsx(q,{variant:"subtle",text:r,onClick:s}),m.jsx(q,{variant:"secondary",text:a,onClick:o})]}),s&&m.jsx(q,{className:"absolute top-0 right-1 md:top-1",variant:"subtle",size:"small",onClick:s,iconAfter:m.jsx(he,{}),"aria-label":"quit"})]});let xt={};function vn(){return xt}function Sn(i){xt=i}const kn={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},Ln=(i,e,t)=>{let n;const r=kn[i];return typeof r=="string"?n=r:e===1?n=r.one:n=r.other.replace("{{count}}",e.toString()),t!=null&&t.addSuffix?t.comparison&&t.comparison>0?"in "+n:n+" ago":n};function me(i){return(e={})=>{const t=e.width?String(e.width):i.defaultWidth;return i.formats[t]||i.formats[i.defaultWidth]}}const On={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},En=(i,e,t,n)=>On[i];function Q(i){return(e,t)=>{const n=t!=null&&t.context?String(t.context):"standalone";let r;if(n==="formatting"&&i.formattingValues){const a=i.defaultFormattingWidth||i.defaultWidth,o=t!=null&&t.width?String(t.width):a;r=i.formattingValues[o]||i.formattingValues[a]}else{const a=i.defaultWidth,o=t!=null&&t.width?String(t.width):i.defaultWidth;r=i.values[o]||i.values[a]}const s=i.argumentCallback?i.argumentCallback(e):e;return r[s]}}const Pn={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},Cn={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},Nn={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},jn={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},$n={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},Tn={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},Rn=(i,e)=>{const t=Number(i),n=t%100;if(n>20||n<10)switch(n%10){case 1:return t+"st";case 2:return t+"nd";case 3:return t+"rd"}return t+"th"},Fn={ordinalNumber:Rn,era:Q({values:Pn,defaultWidth:"wide"}),quarter:Q({values:Cn,defaultWidth:"wide",argumentCallback:i=>i-1}),month:Q({values:Nn,defaultWidth:"wide"}),day:Q({values:jn,defaultWidth:"wide"}),dayPeriod:Q({values:$n,defaultWidth:"wide",formattingValues:Tn,defaultFormattingWidth:"wide"})};function ee(i){return(e,t={})=>{const n=t.width,r=n&&i.matchPatterns[n]||i.matchPatterns[i.defaultMatchWidth],s=e.match(r);if(!s)return null;const a=s[0],o=n&&i.parsePatterns[n]||i.parsePatterns[i.defaultParseWidth],c=Array.isArray(o)?Dn(o,d=>d.test(a)):Mn(o,d=>d.test(a));let l;l=i.valueCallback?i.valueCallback(c):c,l=t.valueCallback?t.valueCallback(l):l;const u=e.slice(a.length);return{value:l,rest:u}}}function Mn(i,e){for(const t in i)if(Object.prototype.hasOwnProperty.call(i,t)&&e(i[t]))return t}function Dn(i,e){for(let t=0;t<i.length;t++)if(e(i[t]))return t}function An(i){return(e,t={})=>{const n=e.match(i.matchPattern);if(!n)return null;const r=n[0],s=e.match(i.parsePattern);if(!s)return null;let a=i.valueCallback?i.valueCallback(s[0]):s[0];a=t.valueCallback?t.valueCallback(a):a;const o=e.slice(r.length);return{value:a,rest:o}}}const Vn=/^(\d+)(th|st|nd|rd)?/i,In=/\d+/i,Hn={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},Bn={any:[/^b/i,/^(a|c)/i]},qn={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},zn={any:[/1/i,/2/i,/3/i,/4/i]},Un={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},_n={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},Kn={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Wn={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},Zn={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},Jn={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},Gn={ordinalNumber:An({matchPattern:Vn,parsePattern:In,valueCallback:i=>parseInt(i,10)}),era:ee({matchPatterns:Hn,defaultMatchWidth:"wide",parsePatterns:Bn,defaultParseWidth:"any"}),quarter:ee({matchPatterns:qn,defaultMatchWidth:"wide",parsePatterns:zn,defaultParseWidth:"any",valueCallback:i=>i+1}),month:ee({matchPatterns:Un,defaultMatchWidth:"wide",parsePatterns:_n,defaultParseWidth:"any"}),day:ee({matchPatterns:Kn,defaultMatchWidth:"wide",parsePatterns:Wn,defaultParseWidth:"any"}),dayPeriod:ee({matchPatterns:Zn,defaultMatchWidth:"any",parsePatterns:Jn,defaultParseWidth:"any"})};function Yn(i){const e={},t=vn();for(const n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);for(const n in i)Object.prototype.hasOwnProperty.call(i,n)&&(i[n]===void 0?delete e[n]:e[n]=i[n]);Sn(e)}const Xn={full:"EEEE, d MMMM yyyy",long:"d MMMM yyyy",medium:"d MMM yyyy",short:"dd/MM/yyyy"},Qn={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},er={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},tr={date:me({formats:Xn,defaultWidth:"full"}),time:me({formats:Qn,defaultWidth:"full"}),dateTime:me({formats:er,defaultWidth:"full"})},nr={code:"en-GB",formatDistance:Ln,formatLong:tr,formatRelative:En,localize:Fn,match:Gn,options:{weekStartsOn:1,firstWeekContainsDate:4}},x=i=>typeof i=="string",te=()=>{let i,e;const t=new Promise((n,r)=>{i=n,e=r});return t.resolve=i,t.reject=e,t},He=i=>i==null?"":""+i,rr=(i,e,t)=>{i.forEach(n=>{e[n]&&(t[n]=e[n])})},ir=/###/g,Be=i=>i&&i.indexOf("###")>-1?i.replace(ir,"."):i,qe=i=>!i||x(i),ne=(i,e,t)=>{const n=x(e)?e.split("."):e;let r=0;for(;r<n.length-1;){if(qe(i))return{};const s=Be(n[r]);!i[s]&&t&&(i[s]=new t),Object.prototype.hasOwnProperty.call(i,s)?i=i[s]:i={},++r}return qe(i)?{}:{obj:i,k:Be(n[r])}},ze=(i,e,t)=>{const{obj:n,k:r}=ne(i,e,Object);if(n!==void 0||e.length===1){n[r]=t;return}let s=e[e.length-1],a=e.slice(0,e.length-1),o=ne(i,a,Object);for(;o.obj===void 0&&a.length;)s=`${a[a.length-1]}.${s}`,a=a.slice(0,a.length-1),o=ne(i,a,Object),o!=null&&o.obj&&typeof o.obj[`${o.k}.${s}`]<"u"&&(o.obj=void 0);o.obj[`${o.k}.${s}`]=t},sr=(i,e,t,n)=>{const{obj:r,k:s}=ne(i,e,Object);r[s]=r[s]||[],r[s].push(t)},ue=(i,e)=>{const{obj:t,k:n}=ne(i,e);if(t&&Object.prototype.hasOwnProperty.call(t,n))return t[n]},ar=(i,e,t)=>{const n=ue(i,t);return n!==void 0?n:ue(e,t)},bt=(i,e,t)=>{for(const n in e)n!=="__proto__"&&n!=="constructor"&&(n in i?x(i[n])||i[n]instanceof String||x(e[n])||e[n]instanceof String?t&&(i[n]=e[n]):bt(i[n],e[n],t):i[n]=e[n]);return i},K=i=>i.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var or={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};const lr=i=>x(i)?i.replace(/[&<>"'\/]/g,e=>or[e]):i;class cr{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 n=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,n),this.regExpQueue.push(e),n}}const ur=[" ",",","?","!",";"],dr=new cr(20),hr=(i,e,t)=>{e=e||"",t=t||"";const n=ur.filter(a=>e.indexOf(a)<0&&t.indexOf(a)<0);if(n.length===0)return!0;const r=dr.getRegExp(`(${n.map(a=>a==="?"?"\\?":a).join("|")})`);let s=!r.test(i);if(!s){const a=i.indexOf(t);a>0&&!r.test(i.substring(0,a))&&(s=!0)}return s},ve=(i,e,t=".")=>{if(!i)return;if(i[e])return Object.prototype.hasOwnProperty.call(i,e)?i[e]:void 0;const n=e.split(t);let r=i;for(let s=0;s<n.length;){if(!r||typeof r!="object")return;let a,o="";for(let c=s;c<n.length;++c)if(c!==s&&(o+=t),o+=n[c],a=r[o],a!==void 0){if(["string","number","boolean"].indexOf(typeof a)>-1&&c<n.length-1)continue;s+=c-s+1;break}r=a}return r},re=i=>i==null?void 0:i.replace("_","-"),fr={type:"logger",log(i){this.output("log",i)},warn(i){this.output("warn",i)},error(i){this.output("error",i)},output(i,e){var t,n;(n=(t=console==null?void 0:console[i])==null?void 0:t.apply)==null||n.call(t,console,e)}};let gr=class Se{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||"i18next:",this.logger=e||fr,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,n,r){return r&&!this.debug?null:(x(e[0])&&(e[0]=`${n}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new Se(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return e=e||this.options,e.prefix=e.prefix||this.prefix,new Se(this.logger,e)}};var V=new gr;class fe{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach(n=>{this.observers[n]||(this.observers[n]=new Map);const r=this.observers[n].get(t)||0;this.observers[n].set(t,r+1)}),this}off(e,t){if(this.observers[e]){if(!t){delete this.observers[e];return}this.observers[e].delete(t)}}emit(e,...t){this.observers[e]&&Array.from(this.observers[e].entries()).forEach(([r,s])=>{for(let a=0;a<s;a++)r(...t)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(([r,s])=>{for(let a=0;a<s;a++)r.apply(r,[e,...t])})}}class Ue extends fe{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.indexOf(e)<0&&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,n,r={}){var l,u;const s=r.keySeparator!==void 0?r.keySeparator:this.options.keySeparator,a=r.ignoreJSONStructure!==void 0?r.ignoreJSONStructure:this.options.ignoreJSONStructure;let o;e.indexOf(".")>-1?o=e.split("."):(o=[e,t],n&&(Array.isArray(n)?o.push(...n):x(n)&&s?o.push(...n.split(s)):o.push(n)));const c=ue(this.data,o);return!c&&!t&&!n&&e.indexOf(".")>-1&&(e=o[0],t=o[1],n=o.slice(2).join(".")),c||!a||!x(n)?c:ve((u=(l=this.data)==null?void 0:l[e])==null?void 0:u[t],n,s)}addResource(e,t,n,r,s={silent:!1}){const a=s.keySeparator!==void 0?s.keySeparator:this.options.keySeparator;let o=[e,t];n&&(o=o.concat(a?n.split(a):n)),e.indexOf(".")>-1&&(o=e.split("."),r=t,t=o[1]),this.addNamespaces(t),ze(this.data,o,r),s.silent||this.emit("added",e,t,n,r)}addResources(e,t,n,r={silent:!1}){for(const s in n)(x(n[s])||Array.isArray(n[s]))&&this.addResource(e,t,s,n[s],{silent:!0});r.silent||this.emit("added",e,t,n)}addResourceBundle(e,t,n,r,s,a={silent:!1,skipCopy:!1}){let o=[e,t];e.indexOf(".")>-1&&(o=e.split("."),r=n,n=t,t=o[1]),this.addNamespaces(t);let c=ue(this.data,o)||{};a.skipCopy||(n=JSON.parse(JSON.stringify(n))),r?bt(c,n,s):c={...c,...n},ze(this.data,o,c),a.silent||this.emit("added",e,t,n)}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(r=>t[r]&&Object.keys(t[r]).length>0)}toJSON(){return this.data}}var wt={processors:{},addPostProcessor(i){this.processors[i.name]=i},handle(i,e,t,n,r){return i.forEach(s=>{var a;e=((a=this.processors[s])==null?void 0:a.process(e,t,n,r))??e}),e}};const vt=Symbol("i18next/PATH_KEY");function pr(){const i=[],e=Object.create(null);let t;return e.get=(n,r)=>{var s;return(s=t==null?void 0:t.revoke)==null||s.call(t),r===vt?i:(i.push(r),t=Proxy.revocable(n,e),t.proxy)},Proxy.revocable(Object.create(null),e).proxy}function ke(i,e){const{[vt]:t}=i(pr());return t.join((e==null?void 0:e.keySeparator)??".")}const _e={},Ke=i=>!x(i)&&typeof i!="boolean"&&typeof i!="number";class de extends fe{constructor(e,t={}){super(),rr(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=V.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e,t={interpolation:{}}){const n={...t};if(e==null)return!1;const r=this.resolve(e,n);return(r==null?void 0:r.res)!==void 0}extractFromKey(e,t){let n=t.nsSeparator!==void 0?t.nsSeparator:this.options.nsSeparator;n===void 0&&(n=":");const r=t.keySeparator!==void 0?t.keySeparator:this.options.keySeparator;let s=t.ns||this.options.defaultNS||[];const a=n&&e.indexOf(n)>-1,o=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!hr(e,n,r);if(a&&!o){const c=e.match(this.interpolator.nestingRegexp);if(c&&c.length>0)return{key:e,namespaces:x(s)?[s]:s};const l=e.split(n);(n!==r||n===r&&this.options.ns.indexOf(l[0])>-1)&&(s=l.shift()),e=l.join(r)}return{key:e,namespaces:x(s)?[s]:s}}translate(e,t,n){let r=typeof t=="object"?{...t}:t;if(typeof r!="object"&&this.options.overloadTranslationOptionHandler&&(r=this.options.overloadTranslationOptionHandler(arguments)),typeof r=="object"&&(r={...r}),r||(r={}),e==null)return"";typeof e=="function"&&(e=ke(e,{...this.options,...r})),Array.isArray(e)||(e=[String(e)]);const s=r.returnDetails!==void 0?r.returnDetails:this.options.returnDetails,a=r.keySeparator!==void 0?r.keySeparator:this.options.keySeparator,{key:o,namespaces:c}=this.extractFromKey(e[e.length-1],r),l=c[c.length-1];let u=r.nsSeparator!==void 0?r.nsSeparator:this.options.nsSeparator;u===void 0&&(u=":");const d=r.lng||this.language,h=r.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if((d==null?void 0:d.toLowerCase())==="cimode")return h?s?{res:`${l}${u}${o}`,usedKey:o,exactUsedKey:o,usedLng:d,usedNS:l,usedParams:this.getUsedParamsDetails(r)}:`${l}${u}${o}`:s?{res:o,usedKey:o,exactUsedKey:o,usedLng:d,usedNS:l,usedParams:this.getUsedParamsDetails(r)}:o;const f=this.resolve(e,r);let g=f==null?void 0:f.res;const y=(f==null?void 0:f.usedKey)||o,b=(f==null?void 0:f.exactUsedKey)||o,v=["[object Number]","[object Function]","[object RegExp]"],L=r.joinArrays!==void 0?r.joinArrays:this.options.joinArrays,O=!this.i18nFormat||this.i18nFormat.handleAsObject,C=r.count!==void 0&&!x(r.count),N=de.hasDefaultValue(r),I=C?this.pluralResolver.getSuffix(d,r.count,r):"",$=r.ordinal&&C?this.pluralResolver.getSuffix(d,r.count,{ordinal:!1}):"",P=C&&!r.ordinal&&r.count===0,E=P&&r[`defaultValue${this.options.pluralSeparator}zero`]||r[`defaultValue${I}`]||r[`defaultValue${$}`]||r.defaultValue;let k=g;O&&!g&&N&&(k=E);const R=Ke(k),jt=Object.prototype.toString.apply(k);if(O&&k&&R&&v.indexOf(jt)<0&&!(x(L)&&Array.isArray(k))){if(!r.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const D=this.options.returnedObjectHandler?this.options.returnedObjectHandler(y,k,{...r,ns:c}):`key '${o} (${this.language})' returned an object instead of string.`;return s?(f.res=D,f.usedParams=this.getUsedParamsDetails(r),f):D}if(a){const D=Array.isArray(k),F=D?[]:{},Pe=D?b:y;for(const A in k)if(Object.prototype.hasOwnProperty.call(k,A)){const H=`${Pe}${a}${A}`;N&&!g?F[A]=this.translate(H,{...r,defaultValue:Ke(E)?E[A]:void 0,joinArrays:!1,ns:c}):F[A]=this.translate(H,{...r,joinArrays:!1,ns:c}),F[A]===H&&(F[A]=k[A])}g=F}}else if(O&&x(L)&&Array.isArray(g))g=g.join(L),g&&(g=this.extendTranslation(g,e,r,n));else{let D=!1,F=!1;!this.isValidLookup(g)&&N&&(D=!0,g=E),this.isValidLookup(g)||(F=!0,g=o);const A=(r.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&F?void 0:g,H=N&&E!==g&&this.options.updateMissing;if(F||D||H){if(this.logger.log(H?"updateKey":"missingKey",d,l,o,H?E:g),a){const T=this.resolve(o,{...r,keySeparator:!1});T&&T.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 J=[];const ae=this.languageUtils.getFallbackCodes(this.options.fallbackLng,r.lng||this.language);if(this.options.saveMissingTo==="fallback"&&ae&&ae[0])for(let T=0;T<ae.length;T++)J.push(ae[T]);else this.options.saveMissingTo==="all"?J=this.languageUtils.toResolveHierarchy(r.lng||this.language):J.push(r.lng||this.language);const Ce=(T,U,G)=>{var je;const Ne=N&&G!==g?G:A;this.options.missingKeyHandler?this.options.missingKeyHandler(T,l,U,Ne,H,r):(je=this.backendConnector)!=null&&je.saveMissing&&this.backendConnector.saveMissing(T,l,U,Ne,H,r),this.emit("missingKey",T,l,U,g)};this.options.saveMissing&&(this.options.saveMissingPlurals&&C?J.forEach(T=>{const U=this.pluralResolver.getSuffixes(T,r);P&&r[`defaultValue${this.options.pluralSeparator}zero`]&&U.indexOf(`${this.options.pluralSeparator}zero`)<0&&U.push(`${this.options.pluralSeparator}zero`),U.forEach(G=>{Ce([T],o+G,r[`defaultValue${G}`]||E)})}):Ce(J,o,E))}g=this.extendTranslation(g,e,r,f,n),F&&g===o&&this.options.appendNamespaceToMissingKey&&(g=`${l}${u}${o}`),(F||D)&&this.options.parseMissingKeyHandler&&(g=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}${u}${o}`:o,D?g:void 0,r))}return s?(f.res=g,f.usedParams=this.getUsedParamsDetails(r),f):g}extendTranslation(e,t,n,r,s){var c,l;if((c=this.i18nFormat)!=null&&c.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...n},n.lng||this.language||r.usedLng,r.usedNS,r.usedKey,{resolved:r});else if(!n.skipInterpolation){n.interpolation&&this.interpolator.init({...n,interpolation:{...this.options.interpolation,...n.interpolation}});const u=x(e)&&(((l=n==null?void 0:n.interpolation)==null?void 0:l.skipOnVariables)!==void 0?n.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let d;if(u){const f=e.match(this.interpolator.nestingRegexp);d=f&&f.length}let h=n.replace&&!x(n.replace)?n.replace:n;if(this.options.interpolation.defaultVariables&&(h={...this.options.interpolation.defaultVariables,...h}),e=this.interpolator.interpolate(e,h,n.lng||this.language||r.usedLng,n),u){const f=e.match(this.interpolator.nestingRegexp),g=f&&f.length;d<g&&(n.nest=!1)}!n.lng&&r&&r.res&&(n.lng=this.language||r.usedLng),n.nest!==!1&&(e=this.interpolator.nest(e,(...f)=>(s==null?void 0:s[0])===f[0]&&!n.context?(this.logger.warn(`It seems you are nesting recursively key: ${f[0]} in key: ${t[0]}`),null):this.translate(...f,t),n)),n.interpolation&&this.interpolator.reset()}const a=n.postProcess||this.options.postProcess,o=x(a)?[a]:a;return e!=null&&(o!=null&&o.length)&&n.applyPostProcessor!==!1&&(e=wt.handle(o,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...r,usedParams:this.getUsedParamsDetails(n)},...n}:n,this)),e}resolve(e,t={}){let n,r,s,a,o;return x(e)&&(e=[e]),e.forEach(c=>{if(this.isValidLookup(n))return;const l=this.extractFromKey(c,t),u=l.key;r=u;let d=l.namespaces;this.options.fallbackNS&&(d=d.concat(this.options.fallbackNS));const h=t.count!==void 0&&!x(t.count),f=h&&!t.ordinal&&t.count===0,g=t.context!==void 0&&(x(t.context)||typeof t.context=="number")&&t.context!=="",y=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);d.forEach(b=>{var v,L;this.isValidLookup(n)||(o=b,!_e[`${y[0]}-${b}`]&&((v=this.utils)!=null&&v.hasLoadedNamespace)&&!((L=this.utils)!=null&&L.hasLoadedNamespace(o))&&(_e[`${y[0]}-${b}`]=!0,this.logger.warn(`key "${r}" for languages "${y.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!!!")),y.forEach(O=>{var I;if(this.isValidLookup(n))return;a=O;const C=[u];if((I=this.i18nFormat)!=null&&I.addLookupKeys)this.i18nFormat.addLookupKeys(C,u,O,b,t);else{let $;h&&($=this.pluralResolver.getSuffix(O,t.count,t));const P=`${this.options.pluralSeparator}zero`,E=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(h&&(t.ordinal&&$.indexOf(E)===0&&C.push(u+$.replace(E,this.options.pluralSeparator)),C.push(u+$),f&&C.push(u+P)),g){const k=`${u}${this.options.contextSeparator||"_"}${t.context}`;C.push(k),h&&(t.ordinal&&$.indexOf(E)===0&&C.push(k+$.replace(E,this.options.pluralSeparator)),C.push(k+$),f&&C.push(k+P))}}let N;for(;N=C.pop();)this.isValidLookup(n)||(s=N,n=this.getResource(O,b,N,t))}))})}),{res:n,usedKey:r,exactUsedKey:s,usedLng:a,usedNS:o}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e==="")}getResource(e,t,n,r={}){var s;return(s=this.i18nFormat)!=null&&s.getResource?this.i18nFormat.getResource(e,t,n,r):this.resourceStore.getResource(e,t,n,r)}getUsedParamsDetails(e={}){const t=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],n=e.replace&&!x(e.replace);let r=n?e.replace:e;if(n&&typeof e.count<"u"&&(r.count=e.count),this.options.interpolation.defaultVariables&&(r={...this.options.interpolation.defaultVariables,...r}),!n){r={...r};for(const s of t)delete r[s]}return r}static hasDefaultValue(e){const t="defaultValue";for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t===n.substring(0,t.length)&&e[n]!==void 0)return!0;return!1}}class We{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=V.create("languageUtils")}getScriptPartFromCode(e){if(e=re(e),!e||e.indexOf("-")<0)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=re(e),!e||e.indexOf("-")<0)return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(x(e)&&e.indexOf("-")>-1){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.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach(n=>{if(t)return;const r=this.formatLanguageCode(n);(!this.options.supportedLngs||this.isSupportedCode(r))&&(t=r)}),!t&&this.options.supportedLngs&&e.forEach(n=>{if(t)return;const r=this.getScriptPartFromCode(n);if(this.isSupportedCode(r))return t=r;const s=this.getLanguagePartFromCode(n);if(this.isSupportedCode(s))return t=s;t=this.options.supportedLngs.find(a=>{if(a===s)return a;if(!(a.indexOf("-")<0&&s.indexOf("-")<0)&&(a.indexOf("-")>0&&s.indexOf("-")<0&&a.substring(0,a.indexOf("-"))===s||a.indexOf(s)===0&&s.length>1))return a})}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,t){if(!e)return[];if(typeof e=="function"&&(e=e(t)),x(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let n=e[t];return n||(n=e[this.getScriptPartFromCode(t)]),n||(n=e[this.formatLanguageCode(t)]),n||(n=e[this.getLanguagePartFromCode(t)]),n||(n=e.default),n||[]}toResolveHierarchy(e,t){const n=this.getFallbackCodes((t===!1?[]:t)||this.options.fallbackLng||[],e),r=[],s=a=>{a&&(this.isSupportedCode(a)?r.push(a):this.logger.warn(`rejecting language code not found in supportedLngs: ${a}`))};return x(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&s(this.formatLanguageCode(e)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&s(this.getScriptPartFromCode(e)),this.options.load!=="currentOnly"&&s(this.getLanguagePartFromCode(e))):x(e)&&s(this.formatLanguageCode(e)),n.forEach(a=>{r.indexOf(a)<0&&s(this.formatLanguageCode(a))}),r}}const Ze={zero:0,one:1,two:2,few:3,many:4,other:5},Je={select:i=>i===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class mr{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=V.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,t){this.rules[e]=t}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){const n=re(e==="dev"?"en":e),r=t.ordinal?"ordinal":"cardinal",s=JSON.stringify({cleanedCode:n,type:r});if(s in this.pluralRulesCache)return this.pluralRulesCache[s];let a;try{a=new Intl.PluralRules(n,{type:r})}catch{if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),Je;if(!e.match(/-|_/))return Je;const c=this.languageUtils.getLanguagePartFromCode(e);a=this.getRule(c,t)}return this.pluralRulesCache[s]=a,a}needsPlural(e,t={}){let n=this.getRule(e,t);return n||(n=this.getRule("dev",t)),(n==null?void 0:n.resolvedOptions().pluralCategories.length)>1}getPluralFormsOfKey(e,t,n={}){return this.getSuffixes(e,n).map(r=>`${t}${r}`)}getSuffixes(e,t={}){let n=this.getRule(e,t);return n||(n=this.getRule("dev",t)),n?n.resolvedOptions().pluralCategories.sort((r,s)=>Ze[r]-Ze[s]).map(r=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${r}`):[]}getSuffix(e,t,n={}){const r=this.getRule(e,n);return r?`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${r.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",t,n))}}const Ge=(i,e,t,n=".",r=!0)=>{let s=ar(i,e,t);return!s&&r&&x(t)&&(s=ve(i,t,n),s===void 0&&(s=ve(e,t,n))),s},ye=i=>i.replace(/\$/g,"$$$$");class yr{constructor(e={}){var t;this.logger=V.create("interpolator"),this.options=e,this.format=((t=e==null?void 0:e.interpolation)==null?void 0:t.format)||(n=>n),this.init(e)}init(e={}){e.interpolation||(e.interpolation={escapeValue:!0});const{escape:t,escapeValue:n,useRawValueToEscape:r,prefix:s,prefixEscaped:a,suffix:o,suffixEscaped:c,formatSeparator:l,unescapeSuffix:u,unescapePrefix:d,nestingPrefix:h,nestingPrefixEscaped:f,nestingSuffix:g,nestingSuffixEscaped:y,nestingOptionsSeparator:b,maxReplaces:v,alwaysFormat:L}=e.interpolation;this.escape=t!==void 0?t:lr,this.escapeValue=n!==void 0?n:!0,this.useRawValueToEscape=r!==void 0?r:!1,this.prefix=s?K(s):a||"{{",this.suffix=o?K(o):c||"}}",this.formatSeparator=l||",",this.unescapePrefix=u?"":d||"-",this.unescapeSuffix=this.unescapePrefix?"":u||"",this.nestingPrefix=h?K(h):f||K("$t("),this.nestingSuffix=g?K(g):y||K(")"),this.nestingOptionsSeparator=b||",",this.maxReplaces=v||1e3,this.alwaysFormat=L!==void 0?L:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(t,n)=>(t==null?void 0:t.source)===n?(t.lastIndex=0,t):new RegExp(n,"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,n,r){var f;let s,a,o;const c=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},l=g=>{if(g.indexOf(this.formatSeparator)<0){const L=Ge(t,c,g,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(L,void 0,n,{...r,...t,interpolationkey:g}):L}const y=g.split(this.formatSeparator),b=y.shift().trim(),v=y.join(this.formatSeparator).trim();return this.format(Ge(t,c,b,this.options.keySeparator,this.options.ignoreJSONStructure),v,n,{...r,...t,interpolationkey:b})};this.resetRegExp();const u=(r==null?void 0:r.missingInterpolationHandler)||this.options.missingInterpolationHandler,d=((f=r==null?void 0:r.interpolation)==null?void 0:f.skipOnVariables)!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:g=>ye(g)},{regex:this.regexp,safeValue:g=>this.escapeValue?ye(this.escape(g)):ye(g)}].forEach(g=>{for(o=0;s=g.regex.exec(e);){const y=s[1].trim();if(a=l(y),a===void 0)if(typeof u=="function"){const v=u(e,s,r);a=x(v)?v:""}else if(r&&Object.prototype.hasOwnProperty.call(r,y))a="";else if(d){a=s[0];continue}else this.logger.warn(`missed to pass in variable ${y} for interpolating ${e}`),a="";else!x(a)&&!this.useRawValueToEscape&&(a=He(a));const b=g.safeValue(a);if(e=e.replace(s[0],b),d?(g.regex.lastIndex+=a.length,g.regex.lastIndex-=s[0].length):g.regex.lastIndex=0,o++,o>=this.maxReplaces)break}}),e}nest(e,t,n={}){let r,s,a;const o=(c,l)=>{const u=this.nestingOptionsSeparator;if(c.indexOf(u)<0)return c;const d=c.split(new RegExp(`${u}[ ]*{`));let h=`{${d[1]}`;c=d[0],h=this.interpolate(h,a);const f=h.match(/'/g),g=h.match(/"/g);(((f==null?void 0:f.length)??0)%2===0&&!g||g.length%2!==0)&&(h=h.replace(/'/g,'"'));try{a=JSON.parse(h),l&&(a={...l,...a})}catch(y){return this.logger.warn(`failed parsing options string in nesting for key ${c}`,y),`${c}${u}${h}`}return a.defaultValue&&a.defaultValue.indexOf(this.prefix)>-1&&delete a.defaultValue,c};for(;r=this.nestingRegexp.exec(e);){let c=[];a={...n},a=a.replace&&!x(a.replace)?a.replace:a,a.applyPostProcessor=!1,delete a.defaultValue;const l=/{.*}/.test(r[1])?r[1].lastIndexOf("}")+1:r[1].indexOf(this.formatSeparator);if(l!==-1&&(c=r[1].slice(l).split(this.formatSeparator).map(u=>u.trim()).filter(Boolean),r[1]=r[1].slice(0,l)),s=t(o.call(this,r[1].trim(),a),a),s&&r[0]===e&&!x(s))return s;x(s)||(s=He(s)),s||(this.logger.warn(`missed to resolve ${r[1]} for nesting ${e}`),s=""),c.length&&(s=c.reduce((u,d)=>this.format(u,d,n.lng,{...n,interpolationkey:r[1].trim()}),s.trim())),e=e.replace(r[0],s),this.regexp.lastIndex=0}return e}}const xr=i=>{let e=i.toLowerCase().trim();const t={};if(i.indexOf("(")>-1){const n=i.split("(");e=n[0].toLowerCase().trim();const r=n[1].substring(0,n[1].length-1);e==="currency"&&r.indexOf(":")<0?t.currency||(t.currency=r.trim()):e==="relativetime"&&r.indexOf(":")<0?t.range||(t.range=r.trim()):r.split(";").forEach(a=>{if(a){const[o,...c]=a.split(":"),l=c.join(":").trim().replace(/^'+|'+$/g,""),u=o.trim();t[u]||(t[u]=l),l==="false"&&(t[u]=!1),l==="true"&&(t[u]=!0),isNaN(l)||(t[u]=parseInt(l,10))}})}return{formatName:e,formatOptions:t}},Ye=i=>{const e={};return(t,n,r)=>{let s=r;r&&r.interpolationkey&&r.formatParams&&r.formatParams[r.interpolationkey]&&r[r.interpolationkey]&&(s={...s,[r.interpolationkey]:void 0});const a=n+JSON.stringify(s);let o=e[a];return o||(o=i(re(n),r),e[a]=o),o(t)}},br=i=>(e,t,n)=>i(re(t),n)(e);class wr{constructor(e={}){this.logger=V.create("formatter"),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||",";const n=t.cacheInBuiltFormats?Ye:br;this.formats={number:n((r,s)=>{const a=new Intl.NumberFormat(r,{...s});return o=>a.format(o)}),currency:n((r,s)=>{const a=new Intl.NumberFormat(r,{...s,style:"currency"});return o=>a.format(o)}),datetime:n((r,s)=>{const a=new Intl.DateTimeFormat(r,{...s});return o=>a.format(o)}),relativetime:n((r,s)=>{const a=new Intl.RelativeTimeFormat(r,{...s});return o=>a.format(o,s.range||"day")}),list:n((r,s)=>{const a=new Intl.ListFormat(r,{...s});return o=>a.format(o)})}}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=Ye(t)}format(e,t,n,r={}){const s=t.split(this.formatSeparator);if(s.length>1&&s[0].indexOf("(")>1&&s[0].indexOf(")")<0&&s.find(o=>o.indexOf(")")>-1)){const o=s.findIndex(c=>c.indexOf(")")>-1);s[0]=[s[0],...s.splice(1,o)].join(this.formatSeparator)}return s.reduce((o,c)=>{var d;const{formatName:l,formatOptions:u}=xr(c);if(this.formats[l]){let h=o;try{const f=((d=r==null?void 0:r.formatParams)==null?void 0:d[r.interpolationkey])||{},g=f.locale||f.lng||r.locale||r.lng||n;h=this.formats[l](o,g,{...u,...r,...f})}catch(f){this.logger.warn(f)}return h}else this.logger.warn(`there was no format function for ${l}`);return o},e)}}const vr=(i,e)=>{i.pending[e]!==void 0&&(delete i.pending[e],i.pendingCount--)};class Sr extends fe{constructor(e,t,n,r={}){var s,a;super(),this.backend=e,this.store=t,this.services=n,this.languageUtils=n.languageUtils,this.options=r,this.logger=V.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=r.maxParallelReads||10,this.readingCalls=0,this.maxRetries=r.maxRetries>=0?r.maxRetries:5,this.retryTimeout=r.retryTimeout>=1?r.retryTimeout:350,this.state={},this.queue=[],(a=(s=this.backend)==null?void 0:s.init)==null||a.call(s,n,r.backend,r)}queueLoad(e,t,n,r){const s={},a={},o={},c={};return e.forEach(l=>{let u=!0;t.forEach(d=>{const h=`${l}|${d}`;!n.reload&&this.store.hasResourceBundle(l,d)?this.state[h]=2:this.state[h]<0||(this.state[h]===1?a[h]===void 0&&(a[h]=!0):(this.state[h]=1,u=!1,a[h]===void 0&&(a[h]=!0),s[h]===void 0&&(s[h]=!0),c[d]===void 0&&(c[d]=!0)))}),u||(o[l]=!0)}),(Object.keys(s).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(s),pending:Object.keys(a),toLoadLanguages:Object.keys(o),toLoadNamespaces:Object.keys(c)}}loaded(e,t,n){const r=e.split("|"),s=r[0],a=r[1];t&&this.emit("failedLoading",s,a,t),!t&&n&&this.store.addResourceBundle(s,a,n,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&n&&(this.state[e]=0);const o={};this.queue.forEach(c=>{sr(c.loaded,[s],a),vr(c,e),t&&c.errors.push(t),c.pendingCount===0&&!c.done&&(Object.keys(c.loaded).forEach(l=>{o[l]||(o[l]={});const u=c.loaded[l];u.length&&u.forEach(d=>{o[l][d]===void 0&&(o[l][d]=!0)})}),c.done=!0,c.errors.length?c.callback(c.errors):c.callback())}),this.emit("loaded",o),this.queue=this.queue.filter(c=>!c.done)}read(e,t,n,r=0,s=this.retryTimeout,a){if(!e.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:t,fcName:n,tried:r,wait:s,callback:a});return}this.readingCalls++;const o=(l,u)=>{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(l&&u&&r<this.maxRetries){setTimeout(()=>{this.read.call(this,e,t,n,r+1,s*2,a)},s);return}a(l,u)},c=this.backend[n].bind(this.backend);if(c.length===2){try{const l=c(e,t);l&&typeof l.then=="function"?l.then(u=>o(null,u)).catch(o):o(null,l)}catch(l){o(l)}return}return c(e,t,o)}prepareLoading(e,t,n={},r){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),r&&r();x(e)&&(e=this.languageUtils.toResolveHierarchy(e)),x(t)&&(t=[t]);const s=this.queueLoad(e,t,n,r);if(!s.toLoad.length)return s.pending.length||r(),null;s.toLoad.forEach(a=>{this.loadOne(a)})}load(e,t,n){this.prepareLoading(e,t,{},n)}reload(e,t,n){this.prepareLoading(e,t,{reload:!0},n)}loadOne(e,t=""){const n=e.split("|"),r=n[0],s=n[1];this.read(r,s,"read",void 0,void 0,(a,o)=>{a&&this.logger.warn(`${t}loading namespace ${s} for language ${r} failed`,a),!a&&o&&this.logger.log(`${t}loaded namespace ${s} for language ${r}`,o),this.loaded(e,a,o)})}saveMissing(e,t,n,r,s,a={},o=()=>{}){var c,l,u,d,h;if((l=(c=this.services)==null?void 0:c.utils)!=null&&l.hasLoadedNamespace&&!((d=(u=this.services)==null?void 0:u.utils)!=null&&d.hasLoadedNamespace(t))){this.logger.warn(`did not save key "${n}" 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(!(n==null||n==="")){if((h=this.backend)!=null&&h.create){const f={...a,isUpdate:s},g=this.backend.create.bind(this.backend);if(g.length<6)try{let y;g.length===5?y=g(e,t,n,r,f):y=g(e,t,n,r),y&&typeof y.then=="function"?y.then(b=>o(null,b)).catch(o):o(null,y)}catch(y){o(y)}else g(e,t,n,r,o,f)}!e||!e[0]||this.store.addResource(e[0],t,n,r)}}}const Xe=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",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:i=>{let e={};if(typeof i[1]=="object"&&(e=i[1]),x(i[1])&&(e.defaultValue=i[1]),x(i[2])&&(e.tDescription=i[2]),typeof i[2]=="object"||typeof i[3]=="object"){const t=i[3]||i[2];Object.keys(t).forEach(n=>{e[n]=t[n]})}return e},interpolation:{escapeValue:!0,format:i=>i,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),Qe=i=>{var e,t;return x(i.ns)&&(i.ns=[i.ns]),x(i.fallbackLng)&&(i.fallbackLng=[i.fallbackLng]),x(i.fallbackNS)&&(i.fallbackNS=[i.fallbackNS]),((t=(e=i.supportedLngs)==null?void 0:e.indexOf)==null?void 0:t.call(e,"cimode"))<0&&(i.supportedLngs=i.supportedLngs.concat(["cimode"])),typeof i.initImmediate=="boolean"&&(i.initAsync=i.initImmediate),i},le=()=>{},kr=i=>{Object.getOwnPropertyNames(Object.getPrototypeOf(i)).forEach(t=>{typeof i[t]=="function"&&(i[t]=i[t].bind(i))})};class ie extends fe{constructor(e={},t){if(super(),this.options=Qe(e),this.services={},this.logger=V,this.modules={external:[]},kr(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&&(x(e.ns)?e.defaultNS=e.ns:e.ns.indexOf("translation")<0&&(e.defaultNS=e.ns[0]));const n=Xe();this.options={...n,...this.options,...Qe(e)},this.options.interpolation={...n.interpolation,...this.options.interpolation},e.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=e.keySeparator),e.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=e.nsSeparator);const r=l=>l?typeof l=="function"?new l:l:null;if(!this.options.isClone){this.modules.logger?V.init(r(this.modules.logger),this.options):V.init(null,this.options);let l;this.modules.formatter?l=this.modules.formatter:l=wr;const u=new We(this.options);this.store=new Ue(this.options.resources,this.options);const d=this.services;d.logger=V,d.resourceStore=this.store,d.languageUtils=u,d.pluralResolver=new mr(u,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),this.options.interpolation.format&&this.options.interpolation.format!==n.interpolation.format&&this.logger.deprecate("init: you are still using the legacy format function, please use the new approach: https://www.i18next.com/translation-function/formatting"),l&&(!this.options.interpolation.format||this.options.interpolation.format===n.interpolation.format)&&(d.formatter=r(l),d.formatter.init&&d.formatter.init(d,this.options),this.options.interpolation.format=d.formatter.format.bind(d.formatter)),d.interpolator=new yr(this.options),d.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},d.backendConnector=new Sr(r(this.modules.backend),d.resourceStore,d,this.options),d.backendConnector.on("*",(f,...g)=>{this.emit(f,...g)}),this.modules.languageDetector&&(d.languageDetector=r(this.modules.languageDetector),d.languageDetector.init&&d.languageDetector.init(d,this.options.detection,this.options)),this.modules.i18nFormat&&(d.i18nFormat=r(this.modules.i18nFormat),d.i18nFormat.init&&d.i18nFormat.init(this)),this.translator=new de(this.services,this.options),this.translator.on("*",(f,...g)=>{this.emit(f,...g)}),this.modules.external.forEach(f=>{f.init&&f.init(this)})}if(this.format=this.options.interpolation.format,t||(t=le),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const l=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);l.length>0&&l[0]!=="dev"&&(this.options.lng=l[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(l=>{this[l]=(...u)=>this.store[l](...u)}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(l=>{this[l]=(...u)=>(this.store[l](...u),this)});const o=te(),c=()=>{const l=(u,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(u,d)};if(this.languages&&!this.isInitialized)return l(null,this.t.bind(this));this.changeLanguage(this.options.lng,l)};return this.options.resources||!this.options.initAsync?c():setTimeout(c,0),o}loadResources(e,t=le){var s,a;let n=t;const r=x(e)?e:this.language;if(typeof e=="function"&&(n=e),!this.options.resources||this.options.partialBundledLanguages){if((r==null?void 0:r.toLowerCase())==="cimode"&&(!this.options.preload||this.options.preload.length===0))return n();const o=[],c=l=>{if(!l||l==="cimode")return;this.services.languageUtils.toResolveHierarchy(l).forEach(d=>{d!=="cimode"&&o.indexOf(d)<0&&o.push(d)})};r?c(r):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(u=>c(u)),(a=(s=this.options.preload)==null?void 0:s.forEach)==null||a.call(s,l=>c(l)),this.services.backendConnector.load(o,this.options.ns,l=>{!l&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),n(l)})}else n(null)}reloadResources(e,t,n){const r=te();return typeof e=="function"&&(n=e,e=void 0),typeof t=="function"&&(n=t,t=void 0),e||(e=this.languages),t||(t=this.options.ns),n||(n=le),this.services.backendConnector.reload(e,t,s=>{r.resolve(),n(s)}),r}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"&&wt.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"].indexOf(e)>-1)){for(let t=0;t<this.languages.length;t++){const n=this.languages[t];if(!(["cimode","dev"].indexOf(n)>-1)&&this.store.hasLanguageSomeTranslations(n)){this.resolvedLanguage=n;break}}!this.resolvedLanguage&&this.languages.indexOf(e)<0&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(e,t){this.isLanguageChangingTo=e;const n=te();this.emit("languageChanging",e);const r=o=>{this.language=o,this.languages=this.services.languageUtils.toResolveHierarchy(o),this.resolvedLanguage=void 0,this.setResolvedLanguage(o)},s=(o,c)=>{c?this.isLanguageChangingTo===e&&(r(c),this.translator.changeLanguage(c),this.isLanguageChangingTo=void 0,this.emit("languageChanged",c),this.logger.log("languageChanged",c)):this.isLanguageChangingTo=void 0,n.resolve((...l)=>this.t(...l)),t&&t(o,(...l)=>this.t(...l))},a=o=>{var u,d;!e&&!o&&this.services.languageDetector&&(o=[]);const c=x(o)?o:o&&o[0],l=this.store.hasLanguageSomeTranslations(c)?c:this.services.languageUtils.getBestMatchFromCodes(x(o)?[o]:o);l&&(this.language||r(l),this.translator.language||this.translator.changeLanguage(l),(d=(u=this.services.languageDetector)==null?void 0:u.cacheUserLanguage)==null||d.call(u,l)),this.loadResources(l,h=>{s(h,l)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(e),n}getFixedT(e,t,n){const r=(s,a,...o)=>{let c;typeof a!="object"?c=this.options.overloadTranslationOptionHandler([s,a].concat(o)):c={...a},c.lng=c.lng||r.lng,c.lngs=c.lngs||r.lngs,c.ns=c.ns||r.ns,c.keyPrefix!==""&&(c.keyPrefix=c.keyPrefix||n||r.keyPrefix);const l=this.options.keySeparator||".";let u;return c.keyPrefix&&Array.isArray(s)?u=s.map(d=>(typeof d=="function"&&(d=ke(d,{...this.options,...a})),`${c.keyPrefix}${l}${d}`)):(typeof s=="function"&&(s=ke(s,{...this.options,...a})),u=c.keyPrefix?`${c.keyPrefix}${l}${s}`:s),this.t(u,c)};return x(e)?r.lng=e:r.lngs=e,r.ns=t,r.keyPrefix=n,r}t(...e){var t;return(t=this.translator)==null?void 0:t.translate(...e)}exists(...e){var t;return(t=this.translator)==null?void 0:t.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;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const n=t.lng||this.resolvedLanguage||this.languages[0],r=this.options?this.options.fallbackLng:!1,s=this.languages[this.languages.length-1];if(n.toLowerCase()==="cimode")return!0;const a=(o,c)=>{const l=this.services.backendConnector.state[`${o}|${c}`];return l===-1||l===0||l===2};if(t.precheck){const o=t.precheck(this,a);if(o!==void 0)return o}return!!(this.hasResourceBundle(n,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||a(n,e)&&(!r||a(s,e)))}loadNamespaces(e,t){const n=te();return this.options.ns?(x(e)&&(e=[e]),e.forEach(r=>{this.options.ns.indexOf(r)<0&&this.options.ns.push(r)}),this.loadResources(r=>{n.resolve(),t&&t(r)}),n):(t&&t(),Promise.resolve())}loadLanguages(e,t){const n=te();x(e)&&(e=[e]);const r=this.options.preload||[],s=e.filter(a=>r.indexOf(a)<0&&this.services.languageUtils.isSupportedCode(a));return s.length?(this.options.preload=r.concat(s),this.loadResources(a=>{n.resolve(),t&&t(a)}),n):(t&&t(),Promise.resolve())}dir(e){var r,s;if(e||(e=this.resolvedLanguage||(((r=this.languages)==null?void 0:r.length)>0?this.languages[0]:this.language)),!e)return"rtl";try{const a=new Intl.Locale(e);if(a&&a.getTextInfo){const o=a.getTextInfo();if(o&&o.direction)return o.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"],n=((s=this.services)==null?void 0:s.languageUtils)||new We(Xe());return e.toLowerCase().indexOf("-latn")>1?"ltr":t.indexOf(n.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(e={},t){return new ie(e,t)}cloneInstance(e={},t=le){const n=e.forkResourceStore;n&&delete e.forkResourceStore;const r={...this.options,...e,isClone:!0},s=new ie(r);if((e.debug!==void 0||e.prefix!==void 0)&&(s.logger=s.logger.clone(e)),["store","services","language"].forEach(o=>{s[o]=this[o]}),s.services={...this.services},s.services.utils={hasLoadedNamespace:s.hasLoadedNamespace.bind(s)},n){const o=Object.keys(this.store.data).reduce((c,l)=>(c[l]={...this.store.data[l]},c[l]=Object.keys(c[l]).reduce((u,d)=>(u[d]={...c[l][d]},u),c[l]),c),{});s.store=new Ue(o,r),s.services.resourceStore=s.store}return s.translator=new de(s.services,r),s.translator.on("*",(o,...c)=>{s.emit(o,...c)}),s.init(r,t),s.translator.options=r,s.translator.backendConnector.services.utils={hasLoadedNamespace:s.hasLoadedNamespace.bind(s)},s}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const j=ie.createInstance();j.createInstance=ie.createInstance;j.createInstance;j.dir;j.init;j.loadResources;j.reloadResources;j.use;j.changeLanguage;j.getFixedT;j.t;j.exists;j.setDefaultNamespace;j.hasLoadedNamespace;j.loadNamespaces;j.loadLanguages;const{slice:Lr,forEach:Or}=[];function Er(i){return Or.call(Lr.call(arguments,1),e=>{if(e)for(const t in e)i[t]===void 0&&(i[t]=e[t])}),i}function Pr(i){return typeof i!="string"?!1:[/<\s*script.*?>/i,/<\s*\/\s*script\s*>/i,/<\s*img.*?on\w+\s*=/i,/<\s*\w+\s*on\w+\s*=.*?>/i,/javascript\s*:/i,/vbscript\s*:/i,/expression\s*\(/i,/eval\s*\(/i,/alert\s*\(/i,/document\.cookie/i,/document\.write\s*\(/i,/window\.location/i,/innerHTML/i].some(t=>t.test(i))}const et=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,Cr=function(i,e){const n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{path:"/"},r=encodeURIComponent(e);let s=`${i}=${r}`;if(n.maxAge>0){const a=n.maxAge-0;if(Number.isNaN(a))throw new Error("maxAge should be a Number");s+=`; Max-Age=${Math.floor(a)}`}if(n.domain){if(!et.test(n.domain))throw new TypeError("option domain is invalid");s+=`; Domain=${n.domain}`}if(n.path){if(!et.test(n.path))throw new TypeError("option path is invalid");s+=`; Path=${n.path}`}if(n.expires){if(typeof n.expires.toUTCString!="function")throw new TypeError("option expires is invalid");s+=`; Expires=${n.expires.toUTCString()}`}if(n.httpOnly&&(s+="; HttpOnly"),n.secure&&(s+="; Secure"),n.sameSite)switch(typeof n.sameSite=="string"?n.sameSite.toLowerCase():n.sameSite){case!0:s+="; SameSite=Strict";break;case"lax":s+="; SameSite=Lax";break;case"strict":s+="; SameSite=Strict";break;case"none":s+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return n.partitioned&&(s+="; Partitioned"),s},tt={create(i,e,t,n){let r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:"/",sameSite:"strict"};t&&(r.expires=new Date,r.expires.setTime(r.expires.getTime()+t*60*1e3)),n&&(r.domain=n),document.cookie=Cr(i,e,r)},read(i){const e=`${i}=`,t=document.cookie.split(";");for(let n=0;n<t.length;n++){let r=t[n];for(;r.charAt(0)===" ";)r=r.substring(1,r.length);if(r.indexOf(e)===0)return r.substring(e.length,r.length)}return null},remove(i,e){this.create(i,"",-1,e)}};var Nr={name:"cookie",lookup(i){let{lookupCookie:e}=i;if(e&&typeof document<"u")return tt.read(e)||void 0},cacheUserLanguage(i,e){let{lookupCookie:t,cookieMinutes:n,cookieDomain:r,cookieOptions:s}=e;t&&typeof document<"u"&&tt.create(t,i,n,r,s)}},jr={name:"querystring",lookup(i){var n;let{lookupQuerystring:e}=i,t;if(typeof window<"u"){let{search:r}=window.location;!window.location.search&&((n=window.location.hash)==null?void 0:n.indexOf("?"))>-1&&(r=window.location.hash.substring(window.location.hash.indexOf("?")));const a=r.substring(1).split("&");for(let o=0;o<a.length;o++){const c=a[o].indexOf("=");c>0&&a[o].substring(0,c)===e&&(t=a[o].substring(c+1))}}return t}},$r={name:"hash",lookup(i){var r;let{lookupHash:e,lookupFromHashIndex:t}=i,n;if(typeof window<"u"){const{hash:s}=window.location;if(s&&s.length>2){const a=s.substring(1);if(e){const o=a.split("&");for(let c=0;c<o.length;c++){const l=o[c].indexOf("=");l>0&&o[c].substring(0,l)===e&&(n=o[c].substring(l+1))}}if(n)return n;if(!n&&t>-1){const o=s.match(/\/([a-zA-Z-]*)/g);return Array.isArray(o)?(r=o[typeof t=="number"?t:0])==null?void 0:r.replace("/",""):void 0}}}return n}};let W=null;const nt=()=>{if(W!==null)return W;try{if(W=typeof window<"u"&&window.localStorage!==null,!W)return!1;const i="i18next.translate.boo";window.localStorage.setItem(i,"foo"),window.localStorage.removeItem(i)}catch{W=!1}return W};var Tr={name:"localStorage",lookup(i){let{lookupLocalStorage:e}=i;if(e&&nt())return window.localStorage.getItem(e)||void 0},cacheUserLanguage(i,e){let{lookupLocalStorage:t}=e;t&&nt()&&window.localStorage.setItem(t,i)}};let Z=null;const rt=()=>{if(Z!==null)return Z;try{if(Z=typeof window<"u"&&window.sessionStorage!==null,!Z)return!1;const i="i18next.translate.boo";window.sessionStorage.setItem(i,"foo"),window.sessionStorage.removeItem(i)}catch{Z=!1}return Z};var Rr={name:"sessionStorage",lookup(i){let{lookupSessionStorage:e}=i;if(e&&rt())return window.sessionStorage.getItem(e)||void 0},cacheUserLanguage(i,e){let{lookupSessionStorage:t}=e;t&&rt()&&window.sessionStorage.setItem(t,i)}},Fr={name:"navigator",lookup(i){const e=[];if(typeof navigator<"u"){const{languages:t,userLanguage:n,language:r}=navigator;if(t)for(let s=0;s<t.length;s++)e.push(t[s]);n&&e.push(n),r&&e.push(r)}return e.length>0?e:void 0}},Mr={name:"htmlTag",lookup(i){let{htmlTag:e}=i,t;const n=e||(typeof document<"u"?document.documentElement:null);return n&&typeof n.getAttribute=="function"&&(t=n.getAttribute("lang")),t}},Dr={name:"path",lookup(i){var r;let{lookupFromPathIndex:e}=i;if(typeof window>"u")return;const t=window.location.pathname.match(/\/([a-zA-Z-]*)/g);return Array.isArray(t)?(r=t[typeof e=="number"?e:0])==null?void 0:r.replace("/",""):void 0}},Ar={name:"subdomain",lookup(i){var r,s;let{lookupFromSubdomainIndex:e}=i;const t=typeof e=="number"?e+1:1,n=typeof window<"u"&&((s=(r=window.location)==null?void 0:r.hostname)==null?void 0:s.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i));if(n)return n[t]}};let St=!1;try{document.cookie,St=!0}catch{}const kt=["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"];St||kt.splice(1,1);const Vr=()=>({order:kt,lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:i=>i});class Lt{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.type="languageDetector",this.detectors={},this.init(e,t)}init(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{languageUtils:{}},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=e,this.options=Er(t,this.options||{},Vr()),typeof this.options.convertDetectedLanguage=="string"&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=r=>r.replace("-","_")),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=n,this.addDetector(Nr),this.addDetector(jr),this.addDetector(Tr),this.addDetector(Rr),this.addDetector(Fr),this.addDetector(Mr),this.addDetector(Dr),this.addDetector(Ar),this.addDetector($r)}addDetector(e){return this.detectors[e.name]=e,this}detect(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.options.order,t=[];return e.forEach(n=>{if(this.detectors[n]){let r=this.detectors[n].lookup(this.options);r&&typeof r=="string"&&(r=[r]),r&&(t=t.concat(r))}}),t=t.filter(n=>n!=null&&!Pr(n)).map(n=>this.options.convertDetectedLanguage(n)),this.services&&this.services.languageUtils&&this.services.languageUtils.getBestMatchFromCodes?t:t.length>0?t[0]:null}cacheUserLanguage(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.options.caches;t&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(e)>-1||t.forEach(n=>{this.detectors[n]&&this.detectors[n].cacheUserLanguage(e,this.options)}))}}Lt.type="languageDetector";const Ot={apiBaseUrl:"https://api.nemme.io",debug:!1},Ir="Previous",Hr="Next",Br={Previous:Ir,Next:Hr,"Type your answer here":"Type your answer here","Max {{maxCharacters}} characters":"Max {{maxCharacters}} characters"},qr={};Yn({locale:nr});j.use(Lt).use(Zt).init({debug:Ot.debug,fallbackLng:"en",interpolation:{escapeValue:!1},resources:{en:{translation:Br},nb:{tranlation:qr}}});const it={debug:0,info:1,warn:2,error:3};class Oe{constructor(e={}){S(this,"prefix");S(this,"enabled");S(this,"level");this.prefix=e.prefix||"Nemme SDK",this.enabled=e.enabled!==void 0?e.enabled:!0,this.level=e.level||"info"}shouldLog(e){return this.enabled&&it[e]>=it[this.level]}formatMessage(e){return`[${this.prefix}] ${e}`}debug(e,...t){this.shouldLog("debug")&&console.debug(this.formatMessage(e),...t)}info(e,...t){this.shouldLog("info")&&console.info(this.formatMessage(e),...t)}warn(e,...t){this.shouldLog("warn")&&console.warn(this.formatMessage(e),...t)}error(e,...t){this.shouldLog("error")&&console.error(this.formatMessage(e),...t)}child(e){return new Oe({prefix:`${this.prefix}:${e}`,enabled:this.enabled,level:this.level})}configure(e){e.prefix!==void 0&&(this.prefix=e.prefix),e.enabled!==void 0&&(this.enabled=e.enabled),e.level!==void 0&&(this.level=e.level)}}const Et=new Oe,st=Et.child("network"),zr=3e4,Ur=(i,e)=>{const t=new URL(i,Ot.apiBaseUrl);return e&&Object.entries(e).forEach(([n,r])=>{r!=null&&t.searchParams.append(n,String(r))}),t.toString()},B={async request(i,e={}){const{method:t="GET",headers:n={},body:r,params:s,timeout:a=zr}=e,o=Ur(i,s),c={"Content-Type":"application/json",Accept:"application/json",...n},l={method:t,headers:c,body:r?JSON.stringify(r):void 0},u=new AbortController,d=setTimeout(()=>u.abort(),a);l.signal=u.signal;try{const h=await fetch(o,l);let f;const g=h.headers.get("content-type");if(g&&g.includes("application/json"))f=await h.json();else{const b=await h.text();try{f=JSON.parse(b)}catch{f=b}}const y={data:f,status:h.status,statusText:h.statusText,headers:h.headers,ok:h.ok};if(h.ok)y.ok=!0;else{const b=`Request failed with status ${h.status}: ${h.statusText}`;st.error(b,{url:o,method:t,status:h.status,data:y.data}),y.ok=!1,y.error={message:b,details:y.data}}return y}catch(h){let f="Network request failed",g={};return h instanceof DOMException&&h.name==="AbortError"?(f=`Request timeout after ${a}ms`,g={timeout:a,url:o}):g={message:h instanceof Error?h.message:String(h),url:o,method:t},st.error(f,g),{data:{},status:0,statusText:f,headers:new Headers,ok:!1,error:{message:f,details:g}}}finally{clearTimeout(d)}},async get(i,e={}){return this.request(i,{...e,method:"GET"})},async post(i,e,t={}){return this.request(i,{...t,method:"POST",body:e})},async put(i,e,t={}){return this.request(i,{...t,method:"PUT",body:e})},async patch(i,e,t={}){return this.request(i,{...t,method:"PATCH",body:e})},async delete(i,e={}){return this.request(i,{...e,method:"DELETE"})}};class _r{constructor(e,t){S(this,"logger");S(this,"headers");this.logger=e,this.headers=t}async fetchAndDisplayForm(e,t,n){this.logger.debug(`Fetching form config for: ${e}`);try{const r=await B.get(`/external/forms/${e}`,{headers:this.headers});r.ok&&r.data?(this.logger.info(`Form config loaded for: ${e}`,r.data),this.displayForm(r.data,t,n)):this.logger.warn(`No form config found for: ${e}`)}catch(r){this.logger.error(`Failed to fetch form config for: ${e}`,r)}}displayForm(e,t,n){const r=document.createElement("div");r.id="nm",document.body.appendChild(r);const s=Dt.createRoot(r),a=w.createElement(Xt,{i18n:j},w.createElement(nn,{form:e,onDismiss:async o=>{await t(),await this.postFormResponse(e,o),s.unmount(),r.remove(),this.logger.info("Form dismissed",o)},onComplete:async o=>{await n(),await this.postFormResponse(e,o),s.unmount(),r.remove(),this.logger.info("Form completed",o)}}));s.render(a)}async postFormResponse(e,t){this.logger.info("Posting form response",t);const n=await B.post(`/external/forms/${e.slug}`,t,{headers:this.headers});this.logger.info("Form response posted",n.data)}}class Kr{constructor(e,t){S(this,"logger");S(this,"headers");S(this,"formManager");S(this,"deliveries",[]);this.logger=e,this.headers=t,this.formManager=new _r(e,t)}async loadDeliveries(){try{this.logger.debug("Loading deliveries");const e=await B.get("/external/deliveries",{headers:this.headers});this.deliveries=e.data,this.logger.info(`Loaded ${this.deliveries.length} deliveries`)}catch(e){this.logger.error("Failed to load deliveries",e),this.deliveries=[]}}async evaluateDeliveryTriggers(e){for(const t of this.deliveries)for(const n of t.triggers)if(this.shouldTriggerDelivery(n,e)){if(!await this.isDeliveryValid(t)){this.logger.debug(`Delivery ${t.id} is not valid, skipping`);continue}await this.executeDelivery(t,n);return}}shouldTriggerDelivery(e,t){if(this.hasActiveDelivery())return!1;switch(e.triggerType){case"page_url":return e.urlPattern?this.matchesUrlPattern(t.url,e.urlPattern):!0;case"custom_event":return e.eventName?t.eventName===e.eventName:!1;default:return!1}}hasActiveDelivery(){return document.getElementById("nm")!==null}async executeDelivery(e,t){if(e.productType==="FRM"){this.logger.debug(`Triggering form delivery: ${e.productSlug}`,{triggerType:t.triggerType,urlPattern:t.urlPattern,eventName:t.eventName});try{const r=await this.createDeliveryResponse(e);await this.formManager.fetchAndDisplayForm(e.productSlug,async()=>{this.logger.debug(`Form for delivery: ${e.productSlug} was cancelled`),r&&await this.updateDeliveryResponse(e.id,r.id,!0)},async()=>{this.logger.debug(`Form for delivery: ${e.productSlug} was completed`),r&&await this.updateDeliveryResponse(e.id,r.id,!1,!0)})}catch(r){this.logger.error(`Failed to load form for delivery: ${e.productSlug}`,r)}}}matchesUrlPattern(e,t){let n;try{n=new URL(e).pathname}catch{n=e.startsWith("/")?e:`/${e}`}const r=t.replace(/\*\*/g,"§DOUBLE_STAR§").replace(/\*/g,"[^/]*").replace(/§DOUBLE_STAR§/g,".*").replace(/\?/g,"."),a=new RegExp(`^${r}$`).test(n);return this.logger.debug("URL pattern matching",{originalUrl:e,pathname:n,pattern:t,regexPattern:r,matches:a}),a}async createDeliveryResponse(e){try{return(await B.post(`/external/deliveries/${e.id}/responses`,{},{headers:this.headers})).data}catch(t){this.logger.error(`Failed to create delivery response for delivery: ${e.id}`,t)}}async updateDeliveryResponse(e,t,n=!1,r=!1){try{await B.patch(`/external/deliveries/${e}/responses/${t}`,{wasDismissed:n,wasCompleted:r},{headers:this.headers})}catch(s){this.logger.error(`Failed to update delivery response: ${t} for delivery: ${e}`,s)}}async isDeliveryValid(e){try{return(await B.get(`/external/deliveries/${e.id}/should-deliver`,{headers:this.headers})).data}catch(t){return this.logger.error(`Failed to get delivery should-deliver for delivery: ${e.id}`,t),!1}}}class Wr{constructor({logger:e,headers:t,sessionId:n,eventDefinitions:r,batchConfig:s,onPageView:a}){S(this,"logger");S(this,"headers");S(this,"sessionId");S(this,"eventDefinitions",[]);S(this,"onPageView");S(this,"backlog",[]);S(this,"flushTimeout",null);S(this,"batchConfig",{enabled:!0,size:10,delayMs:1e4,sendOnUnload:!0});S(this,"originalHistoryMethods",null);S(this,"EVENT_PAGE_VIEW","page_view");this.logger=e,this.headers=t,this.sessionId=n,this.eventDefinitions=r,this.onPageView=a,this.flushEvents=this.flushEvents.bind(this),this.handlePopState=this.handlePopState.bind(this),this.handleVisibilityChange=this.handleVisibilityChange.bind(this),this.setupBatching(s)}setupBatching(e){typeof e=="boolean"?this.batchConfig.enabled=e:e&&(this.batchConfig={...this.batchConfig,...e}),this.batchConfig.enabled&&this.batchConfig.sendOnUnload&&typeof window<"u"&&(window.addEventListener("beforeunload",this.flushEvents),window.addEventListener("pagehide",this.flushEvents))}async setupPageViewTracking(){if(typeof window>"u")return;this.originalHistoryMethods={pushState:history.pushState,replaceState:history.replaceState};const e=history.pushState;history.pushState=async(...n)=>{e.apply(history,n),await this.trackPageView()};const t=history.replaceState;history.replaceState=async(...n)=>{t.apply(history,n),await this.trackPageView()},window.addEventListener("popstate",this.handlePopState),document.addEventListener("visibilitychange",this.handleVisibilityChange)}async track(e){if(!this.sessionId){this.logger.warn("Tracking manager not initialized, cannot track event");return}const{eventKey:t,data:n={}}=e;this.logger.debug("Tracking event",{eventKey:t,data:n});const r={sessionId:this.sessionId,eventKey:t,data:n||{},timestamp:new Date().toISOString(),page:window.location.href};this.validateEvent(r),this.batchConfig.enabled?(this.backlog.push(r),this.scheduleFlush()):await this.sendEvents([r])}async trackPageView(){var e;typeof window>"u"||(await this.track({eventKey:this.EVENT_PAGE_VIEW,data:{title:document.title}}),(e=this.onPageView)==null||e.call(this,window.location.href))}async flush(){return this.flushEvents()}destroy(){this.originalHistoryMethods&&(history.pushState=this.originalHistoryMethods.pushState,history.replaceState=this.originalHistoryMethods.replaceState,this.originalHistoryMethods=null),typeof window<"u"&&(window.removeEventListener("popstate",this.handlePopState),document.removeEventListener("visibilitychange",this.handleVisibilityChange),window.removeEventListener("beforeunload",this.flushEvents),window.removeEventListener("pagehide",this.flushEvents)),this.flushTimeout&&(clearTimeout(this.flushTimeout),this.flushTimeout=null)}validateEvent(e){if(e.eventKey===this.EVENT_PAGE_VIEW)return;const t=this.eventDefinitions.find(s=>s.eventKey===e.eventKey);if(!t){this.logger.warn(`Event ${e.eventKey} is not registered`);return}const n=t.properties,r=e.data;if(r)for(const s of Object.keys(r)){const a=r[s],o=n.find(c=>c.name===s);if(!o){this.logger.warn(`Property ${s} is not registered for event ${e.eventKey}`);return}o.type==="string"&&typeof a!="string"&&this.logger.warn(`Property ${o.name} has type ${o.type} but value is of type ${typeof a}`),o.type==="boolean"&&typeof a!="boolean"&&this.logger.warn(`Property ${o.name} has type ${o.type} but value is of type ${typeof a}`),o.type==="number"&&typeof a!="number"&&this.logger.warn(`Property ${o.name} has type ${o.type} but value is of type ${typeof a}`)}}async handlePopState(){await this.trackPageView()}async handleVisibilityChange(){document.visibilityState==="visible"&&await this.trackPageView()}scheduleFlush(){if(this.backlog.length>=this.batchConfig.size){this.flushEvents();return}this.flushTimeout||(this.flushTimeout=window.setTimeout(()=>{this.flushEvents()},this.batchConfig.delayMs))}async flushEvents(){if(this.flushTimeout&&(clearTimeout(this.flushTimeout),this.flushTimeout=null),this.backlog.length===0)return;const e=[...this.backlog];this.backlog=[];try{await this.sendEvents(e)}catch(t){this.backlog.unshift(...e),this.logger.error("Failed to send batched events",t)}}async sendEvents(e){if(e.length!==0)if(e.length===1){const t=e[0];await B.post("/external/trackings/track",t,{headers:this.headers})}else await B.post("/external/trackings/batch",e,{headers:this.headers})}}class ge{constructor(e){S(this,"clientKey");S(this,"userIdentifier");S(this,"initialized",!1);S(this,"clientLogger",Et.child("client"));S(this,"headers",{});S(this,"trackingManager");this.clientKey=e}async init({userIdentifier:e,debug:t=!1,batch:n}){if(!e)throw new Error("userIdentifier is required parameter");this.userIdentifier=e,this.clientLogger.configure({enabled:t,level:t?"debug":"info"}),this.headers={"X-Client-Key":this.clientKey,"X-User-Id":this.userIdentifier};try{const r=await this.initializeSession();await this.initializeManagers(r,n),this.initialized=!0,this.clientLogger.info("Nemme client initialized",{clientKey:this.clientKey,userIdentifier:this.userIdentifier})}catch(r){this.clientLogger.error("Error during initialization:",r)}return this}async flush(){var e;return(e=this.trackingManager)==null?void 0:e.flush()}destroy(){var e;(e=this.trackingManager)==null||e.destroy()}async track(e){if(!this.initialized||!this.trackingManager){this.clientLogger.warn("Nemme client not initialized, some operations may fail");return}return this.trackingManager.track(e)}async initializeSession(){var e;try{const t=await B.post("/external/trackings/initialize",{},{headers:this.headers});if(!t.ok)throw new Error(((e=t.error)==null?void 0:e.message)||"Request for initialising session failed");return t.data}catch(t){throw this.clientLogger.error("Error during initialization",t),t}}async initializeManagers(e,t){const n=new Kr(this.clientLogger,this.headers),r=new Wr({logger:this.clientLogger,headers:this.headers,sessionId:e.sessionId,eventDefinitions:e.eventDefinitions,batchConfig:t,onPageView:async s=>{await n.evaluateDeliveryTriggers({url:s})}});await n.loadDeliveries(),typeof window<"u"&&(await r.setupPageViewTracking(),await r.trackPageView(),await r.flush()),this.trackingManager=r}}const Pt=i=>new ge(i),Ct=w.createContext(void 0),Zr=({clientKey:i,config:e,children:t})=>{const[n,r]=w.useState(null),[s,a]=w.useState(!1),[o,c]=w.useState(null);w.useEffect(()=>{let u=null,d=!1;const h=async()=>{try{const f=new ge(i);if(await f.init(e),d){f.destroy();return}u=f,r(f),a(!0),c(null)}catch(f){d||(c(f instanceof Error?f.message:"Failed to initialize Nemme client"),a(!1))}};return r(null),a(!1),c(null),h(),()=>{d=!0,u&&u.destroy()}},[i,e]);const l={client:n,isInitialized:s,error:o};return m.jsx(Ct.Provider,{value:l,children:t})},Nt=()=>{const i=w.useContext(Ct);if(i===void 0)throw new Error("useNemmeContext must be used within a NemmeProvider");return i},Jr=()=>{const{client:i,isInitialized:e,error:t}=Nt(),n=w.useCallback(async s=>{if(!i||!e){console.warn("Nemme client not initialized");return}return i.track(s)},[i,e]),r=w.useCallback(async()=>{if(!i||!e){console.warn("Nemme client not initialized");return}return i.flush()},[i,e]);return{track:n,flush:r,isInitialized:e,error:t,client:i}},Gr=i=>Pt(i),Yr=async i=>{const{clientKey:e,...t}=i;return await Pt(e).init(t)},Ee=Object.assign(i=>Gr(i),{NemmeClient:ge,init:Yr});typeof window<"u"&&(window.NemmeSDK=Ee);exports.NemmeClient=ge;exports.NemmeProvider=Zr;exports.NemmeSDK=Ee;exports.default=Ee;exports.useNemme=Jr;exports.useNemmeContext=Nt;
25
+ `).map((a,o)=>m.jsx(K,{children:a.trim()},o))]}),r]}),n&&m.jsx("div",{className:"flex flex-col justify-center order-1 md:order-2",children:m.jsx("div",{className:"rounded-lg overflow-hidden mb-6 md:mb-0",children:m.jsx("img",{className:"w-full h-full object-cover aspect-video md:aspect-square",src:n,alt:"image"})})})]}),pn=({title:i,icon:e,description:t,image:n,quitText:r,onQuit:s,externalLink:a})=>m.jsxs(pt,{title:i,icon:e,description:t,image:n,children:[m.jsx("div",{className:"flex justify-end gap-2",children:a?m.jsx(z,{variant:"secondary",text:r,iconAfter:m.jsx(ct,{}),onClick:()=>{window.open(a,"_blank"),s==null||s()}}):m.jsx(z,{variant:"secondary",onClick:s,text:r})}),s&&m.jsx(z,{className:"absolute -top-2 -right-2 md:-top-4 md:-right-4",variant:"secondary",size:"small",onClick:s,iconAfter:m.jsx(de,{}),"aria-label":"quit"})]}),mn=({title:i,icon:e,description:t,image:n,quitText:r,onQuit:s,startText:a,onStart:o})=>m.jsxs(pt,{title:i,icon:e,description:t,image:n,wrapperClassName:"relative",children:[m.jsxs("div",{className:"flex justify-end gap-2",children:[s&&r&&m.jsx(z,{variant:"subtle",text:r,onClick:s}),m.jsx(z,{variant:"secondary",text:a,onClick:o})]}),s&&m.jsx(z,{className:"absolute top-0 right-1 md:top-1",variant:"subtle",size:"small",onClick:s,iconAfter:m.jsx(de,{}),"aria-label":"quit"})]});let mt={};function yn(){return mt}function xn(i){mt=i}const bn={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},wn=(i,e,t)=>{let n;const r=bn[i];return typeof r=="string"?n=r:e===1?n=r.one:n=r.other.replace("{{count}}",e.toString()),t!=null&&t.addSuffix?t.comparison&&t.comparison>0?"in "+n:n+" ago":n};function pe(i){return(e={})=>{const t=e.width?String(e.width):i.defaultWidth;return i.formats[t]||i.formats[i.defaultWidth]}}const vn={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},Sn=(i,e,t,n)=>vn[i];function Q(i){return(e,t)=>{const n=t!=null&&t.context?String(t.context):"standalone";let r;if(n==="formatting"&&i.formattingValues){const a=i.defaultFormattingWidth||i.defaultWidth,o=t!=null&&t.width?String(t.width):a;r=i.formattingValues[o]||i.formattingValues[a]}else{const a=i.defaultWidth,o=t!=null&&t.width?String(t.width):i.defaultWidth;r=i.values[o]||i.values[a]}const s=i.argumentCallback?i.argumentCallback(e):e;return r[s]}}const kn={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},Ln={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},En={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},On={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},Pn={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},Cn={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},Nn=(i,e)=>{const t=Number(i),n=t%100;if(n>20||n<10)switch(n%10){case 1:return t+"st";case 2:return t+"nd";case 3:return t+"rd"}return t+"th"},jn={ordinalNumber:Nn,era:Q({values:kn,defaultWidth:"wide"}),quarter:Q({values:Ln,defaultWidth:"wide",argumentCallback:i=>i-1}),month:Q({values:En,defaultWidth:"wide"}),day:Q({values:On,defaultWidth:"wide"}),dayPeriod:Q({values:Pn,defaultWidth:"wide",formattingValues:Cn,defaultFormattingWidth:"wide"})};function ee(i){return(e,t={})=>{const n=t.width,r=n&&i.matchPatterns[n]||i.matchPatterns[i.defaultMatchWidth],s=e.match(r);if(!s)return null;const a=s[0],o=n&&i.parsePatterns[n]||i.parsePatterns[i.defaultParseWidth],c=Array.isArray(o)?$n(o,d=>d.test(a)):Tn(o,d=>d.test(a));let l;l=i.valueCallback?i.valueCallback(c):c,l=t.valueCallback?t.valueCallback(l):l;const u=e.slice(a.length);return{value:l,rest:u}}}function Tn(i,e){for(const t in i)if(Object.prototype.hasOwnProperty.call(i,t)&&e(i[t]))return t}function $n(i,e){for(let t=0;t<i.length;t++)if(e(i[t]))return t}function Rn(i){return(e,t={})=>{const n=e.match(i.matchPattern);if(!n)return null;const r=n[0],s=e.match(i.parsePattern);if(!s)return null;let a=i.valueCallback?i.valueCallback(s[0]):s[0];a=t.valueCallback?t.valueCallback(a):a;const o=e.slice(r.length);return{value:a,rest:o}}}const Fn=/^(\d+)(th|st|nd|rd)?/i,Mn=/\d+/i,Dn={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},An={any:[/^b/i,/^(a|c)/i]},Vn={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},In={any:[/1/i,/2/i,/3/i,/4/i]},Hn={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},Bn={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},zn={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Kn={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},qn={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},_n={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},Un={ordinalNumber:Rn({matchPattern:Fn,parsePattern:Mn,valueCallback:i=>parseInt(i,10)}),era:ee({matchPatterns:Dn,defaultMatchWidth:"wide",parsePatterns:An,defaultParseWidth:"any"}),quarter:ee({matchPatterns:Vn,defaultMatchWidth:"wide",parsePatterns:In,defaultParseWidth:"any",valueCallback:i=>i+1}),month:ee({matchPatterns:Hn,defaultMatchWidth:"wide",parsePatterns:Bn,defaultParseWidth:"any"}),day:ee({matchPatterns:zn,defaultMatchWidth:"wide",parsePatterns:Kn,defaultParseWidth:"any"}),dayPeriod:ee({matchPatterns:qn,defaultMatchWidth:"any",parsePatterns:_n,defaultParseWidth:"any"})};function Wn(i){const e={},t=yn();for(const n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);for(const n in i)Object.prototype.hasOwnProperty.call(i,n)&&(i[n]===void 0?delete e[n]:e[n]=i[n]);xn(e)}const Zn={full:"EEEE, d MMMM yyyy",long:"d MMMM yyyy",medium:"d MMM yyyy",short:"dd/MM/yyyy"},Jn={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},Gn={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Yn={date:pe({formats:Zn,defaultWidth:"full"}),time:pe({formats:Jn,defaultWidth:"full"}),dateTime:pe({formats:Gn,defaultWidth:"full"})},Xn={code:"en-GB",formatDistance:wn,formatLong:Yn,formatRelative:Sn,localize:jn,match:Un,options:{weekStartsOn:1,firstWeekContainsDate:4}},x=i=>typeof i=="string",te=()=>{let i,e;const t=new Promise((n,r)=>{i=n,e=r});return t.resolve=i,t.reject=e,t},Ve=i=>i==null?"":""+i,Qn=(i,e,t)=>{i.forEach(n=>{e[n]&&(t[n]=e[n])})},er=/###/g,Ie=i=>i&&i.indexOf("###")>-1?i.replace(er,"."):i,He=i=>!i||x(i),ne=(i,e,t)=>{const n=x(e)?e.split("."):e;let r=0;for(;r<n.length-1;){if(He(i))return{};const s=Ie(n[r]);!i[s]&&t&&(i[s]=new t),Object.prototype.hasOwnProperty.call(i,s)?i=i[s]:i={},++r}return He(i)?{}:{obj:i,k:Ie(n[r])}},Be=(i,e,t)=>{const{obj:n,k:r}=ne(i,e,Object);if(n!==void 0||e.length===1){n[r]=t;return}let s=e[e.length-1],a=e.slice(0,e.length-1),o=ne(i,a,Object);for(;o.obj===void 0&&a.length;)s=`${a[a.length-1]}.${s}`,a=a.slice(0,a.length-1),o=ne(i,a,Object),o!=null&&o.obj&&typeof o.obj[`${o.k}.${s}`]<"u"&&(o.obj=void 0);o.obj[`${o.k}.${s}`]=t},tr=(i,e,t,n)=>{const{obj:r,k:s}=ne(i,e,Object);r[s]=r[s]||[],r[s].push(t)},ce=(i,e)=>{const{obj:t,k:n}=ne(i,e);if(t&&Object.prototype.hasOwnProperty.call(t,n))return t[n]},nr=(i,e,t)=>{const n=ce(i,t);return n!==void 0?n:ce(e,t)},yt=(i,e,t)=>{for(const n in e)n!=="__proto__"&&n!=="constructor"&&(n in i?x(i[n])||i[n]instanceof String||x(e[n])||e[n]instanceof String?t&&(i[n]=e[n]):yt(i[n],e[n],t):i[n]=e[n]);return i},U=i=>i.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var rr={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};const ir=i=>x(i)?i.replace(/[&<>"'\/]/g,e=>rr[e]):i;class sr{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 n=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,n),this.regExpQueue.push(e),n}}const ar=[" ",",","?","!",";"],or=new sr(20),lr=(i,e,t)=>{e=e||"",t=t||"";const n=ar.filter(a=>e.indexOf(a)<0&&t.indexOf(a)<0);if(n.length===0)return!0;const r=or.getRegExp(`(${n.map(a=>a==="?"?"\\?":a).join("|")})`);let s=!r.test(i);if(!s){const a=i.indexOf(t);a>0&&!r.test(i.substring(0,a))&&(s=!0)}return s},we=(i,e,t=".")=>{if(!i)return;if(i[e])return Object.prototype.hasOwnProperty.call(i,e)?i[e]:void 0;const n=e.split(t);let r=i;for(let s=0;s<n.length;){if(!r||typeof r!="object")return;let a,o="";for(let c=s;c<n.length;++c)if(c!==s&&(o+=t),o+=n[c],a=r[o],a!==void 0){if(["string","number","boolean"].indexOf(typeof a)>-1&&c<n.length-1)continue;s+=c-s+1;break}r=a}return r},re=i=>i==null?void 0:i.replace("_","-"),cr={type:"logger",log(i){this.output("log",i)},warn(i){this.output("warn",i)},error(i){this.output("error",i)},output(i,e){var t,n;(n=(t=console==null?void 0:console[i])==null?void 0:t.apply)==null||n.call(t,console,e)}};let ur=class ve{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||"i18next:",this.logger=e||cr,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,n,r){return r&&!this.debug?null:(x(e[0])&&(e[0]=`${n}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new ve(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return e=e||this.options,e.prefix=e.prefix||this.prefix,new ve(this.logger,e)}};var V=new ur;class he{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach(n=>{this.observers[n]||(this.observers[n]=new Map);const r=this.observers[n].get(t)||0;this.observers[n].set(t,r+1)}),this}off(e,t){if(this.observers[e]){if(!t){delete this.observers[e];return}this.observers[e].delete(t)}}emit(e,...t){this.observers[e]&&Array.from(this.observers[e].entries()).forEach(([r,s])=>{for(let a=0;a<s;a++)r(...t)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(([r,s])=>{for(let a=0;a<s;a++)r.apply(r,[e,...t])})}}class ze extends he{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.indexOf(e)<0&&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,n,r={}){var l,u;const s=r.keySeparator!==void 0?r.keySeparator:this.options.keySeparator,a=r.ignoreJSONStructure!==void 0?r.ignoreJSONStructure:this.options.ignoreJSONStructure;let o;e.indexOf(".")>-1?o=e.split("."):(o=[e,t],n&&(Array.isArray(n)?o.push(...n):x(n)&&s?o.push(...n.split(s)):o.push(n)));const c=ce(this.data,o);return!c&&!t&&!n&&e.indexOf(".")>-1&&(e=o[0],t=o[1],n=o.slice(2).join(".")),c||!a||!x(n)?c:we((u=(l=this.data)==null?void 0:l[e])==null?void 0:u[t],n,s)}addResource(e,t,n,r,s={silent:!1}){const a=s.keySeparator!==void 0?s.keySeparator:this.options.keySeparator;let o=[e,t];n&&(o=o.concat(a?n.split(a):n)),e.indexOf(".")>-1&&(o=e.split("."),r=t,t=o[1]),this.addNamespaces(t),Be(this.data,o,r),s.silent||this.emit("added",e,t,n,r)}addResources(e,t,n,r={silent:!1}){for(const s in n)(x(n[s])||Array.isArray(n[s]))&&this.addResource(e,t,s,n[s],{silent:!0});r.silent||this.emit("added",e,t,n)}addResourceBundle(e,t,n,r,s,a={silent:!1,skipCopy:!1}){let o=[e,t];e.indexOf(".")>-1&&(o=e.split("."),r=n,n=t,t=o[1]),this.addNamespaces(t);let c=ce(this.data,o)||{};a.skipCopy||(n=JSON.parse(JSON.stringify(n))),r?yt(c,n,s):c={...c,...n},Be(this.data,o,c),a.silent||this.emit("added",e,t,n)}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(r=>t[r]&&Object.keys(t[r]).length>0)}toJSON(){return this.data}}var xt={processors:{},addPostProcessor(i){this.processors[i.name]=i},handle(i,e,t,n,r){return i.forEach(s=>{var a;e=((a=this.processors[s])==null?void 0:a.process(e,t,n,r))??e}),e}};const bt=Symbol("i18next/PATH_KEY");function dr(){const i=[],e=Object.create(null);let t;return e.get=(n,r)=>{var s;return(s=t==null?void 0:t.revoke)==null||s.call(t),r===bt?i:(i.push(r),t=Proxy.revocable(n,e),t.proxy)},Proxy.revocable(Object.create(null),e).proxy}function Se(i,e){const{[bt]:t}=i(dr());return t.join((e==null?void 0:e.keySeparator)??".")}const Ke={},qe=i=>!x(i)&&typeof i!="boolean"&&typeof i!="number";class ue extends he{constructor(e,t={}){super(),Qn(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=V.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e,t={interpolation:{}}){const n={...t};if(e==null)return!1;const r=this.resolve(e,n);return(r==null?void 0:r.res)!==void 0}extractFromKey(e,t){let n=t.nsSeparator!==void 0?t.nsSeparator:this.options.nsSeparator;n===void 0&&(n=":");const r=t.keySeparator!==void 0?t.keySeparator:this.options.keySeparator;let s=t.ns||this.options.defaultNS||[];const a=n&&e.indexOf(n)>-1,o=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!lr(e,n,r);if(a&&!o){const c=e.match(this.interpolator.nestingRegexp);if(c&&c.length>0)return{key:e,namespaces:x(s)?[s]:s};const l=e.split(n);(n!==r||n===r&&this.options.ns.indexOf(l[0])>-1)&&(s=l.shift()),e=l.join(r)}return{key:e,namespaces:x(s)?[s]:s}}translate(e,t,n){let r=typeof t=="object"?{...t}:t;if(typeof r!="object"&&this.options.overloadTranslationOptionHandler&&(r=this.options.overloadTranslationOptionHandler(arguments)),typeof r=="object"&&(r={...r}),r||(r={}),e==null)return"";typeof e=="function"&&(e=Se(e,{...this.options,...r})),Array.isArray(e)||(e=[String(e)]);const s=r.returnDetails!==void 0?r.returnDetails:this.options.returnDetails,a=r.keySeparator!==void 0?r.keySeparator:this.options.keySeparator,{key:o,namespaces:c}=this.extractFromKey(e[e.length-1],r),l=c[c.length-1];let u=r.nsSeparator!==void 0?r.nsSeparator:this.options.nsSeparator;u===void 0&&(u=":");const d=r.lng||this.language,h=r.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if((d==null?void 0:d.toLowerCase())==="cimode")return h?s?{res:`${l}${u}${o}`,usedKey:o,exactUsedKey:o,usedLng:d,usedNS:l,usedParams:this.getUsedParamsDetails(r)}:`${l}${u}${o}`:s?{res:o,usedKey:o,exactUsedKey:o,usedLng:d,usedNS:l,usedParams:this.getUsedParamsDetails(r)}:o;const f=this.resolve(e,r);let g=f==null?void 0:f.res;const y=(f==null?void 0:f.usedKey)||o,b=(f==null?void 0:f.exactUsedKey)||o,S=["[object Number]","[object Function]","[object RegExp]"],L=r.joinArrays!==void 0?r.joinArrays:this.options.joinArrays,E=!this.i18nFormat||this.i18nFormat.handleAsObject,C=r.count!==void 0&&!x(r.count),N=ue.hasDefaultValue(r),I=C?this.pluralResolver.getSuffix(d,r.count,r):"",T=r.ordinal&&C?this.pluralResolver.getSuffix(d,r.count,{ordinal:!1}):"",P=C&&!r.ordinal&&r.count===0,O=P&&r[`defaultValue${this.options.pluralSeparator}zero`]||r[`defaultValue${I}`]||r[`defaultValue${T}`]||r.defaultValue;let k=g;E&&!g&&N&&(k=O);const R=qe(k),Ct=Object.prototype.toString.apply(k);if(E&&k&&R&&S.indexOf(Ct)<0&&!(x(L)&&Array.isArray(k))){if(!r.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const D=this.options.returnedObjectHandler?this.options.returnedObjectHandler(y,k,{...r,ns:c}):`key '${o} (${this.language})' returned an object instead of string.`;return s?(f.res=D,f.usedParams=this.getUsedParamsDetails(r),f):D}if(a){const D=Array.isArray(k),F=D?[]:{},Oe=D?b:y;for(const A in k)if(Object.prototype.hasOwnProperty.call(k,A)){const H=`${Oe}${a}${A}`;N&&!g?F[A]=this.translate(H,{...r,defaultValue:qe(O)?O[A]:void 0,joinArrays:!1,ns:c}):F[A]=this.translate(H,{...r,joinArrays:!1,ns:c}),F[A]===H&&(F[A]=k[A])}g=F}}else if(E&&x(L)&&Array.isArray(g))g=g.join(L),g&&(g=this.extendTranslation(g,e,r,n));else{let D=!1,F=!1;!this.isValidLookup(g)&&N&&(D=!0,g=O),this.isValidLookup(g)||(F=!0,g=o);const A=(r.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&F?void 0:g,H=N&&O!==g&&this.options.updateMissing;if(F||D||H){if(this.logger.log(H?"updateKey":"missingKey",d,l,o,H?O:g),a){const $=this.resolve(o,{...r,keySeparator:!1});$&&$.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 J=[];const ae=this.languageUtils.getFallbackCodes(this.options.fallbackLng,r.lng||this.language);if(this.options.saveMissingTo==="fallback"&&ae&&ae[0])for(let $=0;$<ae.length;$++)J.push(ae[$]);else this.options.saveMissingTo==="all"?J=this.languageUtils.toResolveHierarchy(r.lng||this.language):J.push(r.lng||this.language);const Pe=($,q,G)=>{var Ne;const Ce=N&&G!==g?G:A;this.options.missingKeyHandler?this.options.missingKeyHandler($,l,q,Ce,H,r):(Ne=this.backendConnector)!=null&&Ne.saveMissing&&this.backendConnector.saveMissing($,l,q,Ce,H,r),this.emit("missingKey",$,l,q,g)};this.options.saveMissing&&(this.options.saveMissingPlurals&&C?J.forEach($=>{const q=this.pluralResolver.getSuffixes($,r);P&&r[`defaultValue${this.options.pluralSeparator}zero`]&&q.indexOf(`${this.options.pluralSeparator}zero`)<0&&q.push(`${this.options.pluralSeparator}zero`),q.forEach(G=>{Pe([$],o+G,r[`defaultValue${G}`]||O)})}):Pe(J,o,O))}g=this.extendTranslation(g,e,r,f,n),F&&g===o&&this.options.appendNamespaceToMissingKey&&(g=`${l}${u}${o}`),(F||D)&&this.options.parseMissingKeyHandler&&(g=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}${u}${o}`:o,D?g:void 0,r))}return s?(f.res=g,f.usedParams=this.getUsedParamsDetails(r),f):g}extendTranslation(e,t,n,r,s){var c,l;if((c=this.i18nFormat)!=null&&c.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...n},n.lng||this.language||r.usedLng,r.usedNS,r.usedKey,{resolved:r});else if(!n.skipInterpolation){n.interpolation&&this.interpolator.init({...n,interpolation:{...this.options.interpolation,...n.interpolation}});const u=x(e)&&(((l=n==null?void 0:n.interpolation)==null?void 0:l.skipOnVariables)!==void 0?n.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let d;if(u){const f=e.match(this.interpolator.nestingRegexp);d=f&&f.length}let h=n.replace&&!x(n.replace)?n.replace:n;if(this.options.interpolation.defaultVariables&&(h={...this.options.interpolation.defaultVariables,...h}),e=this.interpolator.interpolate(e,h,n.lng||this.language||r.usedLng,n),u){const f=e.match(this.interpolator.nestingRegexp),g=f&&f.length;d<g&&(n.nest=!1)}!n.lng&&r&&r.res&&(n.lng=this.language||r.usedLng),n.nest!==!1&&(e=this.interpolator.nest(e,(...f)=>(s==null?void 0:s[0])===f[0]&&!n.context?(this.logger.warn(`It seems you are nesting recursively key: ${f[0]} in key: ${t[0]}`),null):this.translate(...f,t),n)),n.interpolation&&this.interpolator.reset()}const a=n.postProcess||this.options.postProcess,o=x(a)?[a]:a;return e!=null&&(o!=null&&o.length)&&n.applyPostProcessor!==!1&&(e=xt.handle(o,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...r,usedParams:this.getUsedParamsDetails(n)},...n}:n,this)),e}resolve(e,t={}){let n,r,s,a,o;return x(e)&&(e=[e]),e.forEach(c=>{if(this.isValidLookup(n))return;const l=this.extractFromKey(c,t),u=l.key;r=u;let d=l.namespaces;this.options.fallbackNS&&(d=d.concat(this.options.fallbackNS));const h=t.count!==void 0&&!x(t.count),f=h&&!t.ordinal&&t.count===0,g=t.context!==void 0&&(x(t.context)||typeof t.context=="number")&&t.context!=="",y=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);d.forEach(b=>{var S,L;this.isValidLookup(n)||(o=b,!Ke[`${y[0]}-${b}`]&&((S=this.utils)!=null&&S.hasLoadedNamespace)&&!((L=this.utils)!=null&&L.hasLoadedNamespace(o))&&(Ke[`${y[0]}-${b}`]=!0,this.logger.warn(`key "${r}" for languages "${y.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!!!")),y.forEach(E=>{var I;if(this.isValidLookup(n))return;a=E;const C=[u];if((I=this.i18nFormat)!=null&&I.addLookupKeys)this.i18nFormat.addLookupKeys(C,u,E,b,t);else{let T;h&&(T=this.pluralResolver.getSuffix(E,t.count,t));const P=`${this.options.pluralSeparator}zero`,O=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(h&&(t.ordinal&&T.indexOf(O)===0&&C.push(u+T.replace(O,this.options.pluralSeparator)),C.push(u+T),f&&C.push(u+P)),g){const k=`${u}${this.options.contextSeparator||"_"}${t.context}`;C.push(k),h&&(t.ordinal&&T.indexOf(O)===0&&C.push(k+T.replace(O,this.options.pluralSeparator)),C.push(k+T),f&&C.push(k+P))}}let N;for(;N=C.pop();)this.isValidLookup(n)||(s=N,n=this.getResource(E,b,N,t))}))})}),{res:n,usedKey:r,exactUsedKey:s,usedLng:a,usedNS:o}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e==="")}getResource(e,t,n,r={}){var s;return(s=this.i18nFormat)!=null&&s.getResource?this.i18nFormat.getResource(e,t,n,r):this.resourceStore.getResource(e,t,n,r)}getUsedParamsDetails(e={}){const t=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],n=e.replace&&!x(e.replace);let r=n?e.replace:e;if(n&&typeof e.count<"u"&&(r.count=e.count),this.options.interpolation.defaultVariables&&(r={...this.options.interpolation.defaultVariables,...r}),!n){r={...r};for(const s of t)delete r[s]}return r}static hasDefaultValue(e){const t="defaultValue";for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t===n.substring(0,t.length)&&e[n]!==void 0)return!0;return!1}}class _e{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=V.create("languageUtils")}getScriptPartFromCode(e){if(e=re(e),!e||e.indexOf("-")<0)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=re(e),!e||e.indexOf("-")<0)return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(x(e)&&e.indexOf("-")>-1){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.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach(n=>{if(t)return;const r=this.formatLanguageCode(n);(!this.options.supportedLngs||this.isSupportedCode(r))&&(t=r)}),!t&&this.options.supportedLngs&&e.forEach(n=>{if(t)return;const r=this.getScriptPartFromCode(n);if(this.isSupportedCode(r))return t=r;const s=this.getLanguagePartFromCode(n);if(this.isSupportedCode(s))return t=s;t=this.options.supportedLngs.find(a=>{if(a===s)return a;if(!(a.indexOf("-")<0&&s.indexOf("-")<0)&&(a.indexOf("-")>0&&s.indexOf("-")<0&&a.substring(0,a.indexOf("-"))===s||a.indexOf(s)===0&&s.length>1))return a})}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,t){if(!e)return[];if(typeof e=="function"&&(e=e(t)),x(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let n=e[t];return n||(n=e[this.getScriptPartFromCode(t)]),n||(n=e[this.formatLanguageCode(t)]),n||(n=e[this.getLanguagePartFromCode(t)]),n||(n=e.default),n||[]}toResolveHierarchy(e,t){const n=this.getFallbackCodes((t===!1?[]:t)||this.options.fallbackLng||[],e),r=[],s=a=>{a&&(this.isSupportedCode(a)?r.push(a):this.logger.warn(`rejecting language code not found in supportedLngs: ${a}`))};return x(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&s(this.formatLanguageCode(e)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&s(this.getScriptPartFromCode(e)),this.options.load!=="currentOnly"&&s(this.getLanguagePartFromCode(e))):x(e)&&s(this.formatLanguageCode(e)),n.forEach(a=>{r.indexOf(a)<0&&s(this.formatLanguageCode(a))}),r}}const Ue={zero:0,one:1,two:2,few:3,many:4,other:5},We={select:i=>i===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class hr{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=V.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,t){this.rules[e]=t}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){const n=re(e==="dev"?"en":e),r=t.ordinal?"ordinal":"cardinal",s=JSON.stringify({cleanedCode:n,type:r});if(s in this.pluralRulesCache)return this.pluralRulesCache[s];let a;try{a=new Intl.PluralRules(n,{type:r})}catch{if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),We;if(!e.match(/-|_/))return We;const c=this.languageUtils.getLanguagePartFromCode(e);a=this.getRule(c,t)}return this.pluralRulesCache[s]=a,a}needsPlural(e,t={}){let n=this.getRule(e,t);return n||(n=this.getRule("dev",t)),(n==null?void 0:n.resolvedOptions().pluralCategories.length)>1}getPluralFormsOfKey(e,t,n={}){return this.getSuffixes(e,n).map(r=>`${t}${r}`)}getSuffixes(e,t={}){let n=this.getRule(e,t);return n||(n=this.getRule("dev",t)),n?n.resolvedOptions().pluralCategories.sort((r,s)=>Ue[r]-Ue[s]).map(r=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${r}`):[]}getSuffix(e,t,n={}){const r=this.getRule(e,n);return r?`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${r.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",t,n))}}const Ze=(i,e,t,n=".",r=!0)=>{let s=nr(i,e,t);return!s&&r&&x(t)&&(s=we(i,t,n),s===void 0&&(s=we(e,t,n))),s},me=i=>i.replace(/\$/g,"$$$$");class fr{constructor(e={}){var t;this.logger=V.create("interpolator"),this.options=e,this.format=((t=e==null?void 0:e.interpolation)==null?void 0:t.format)||(n=>n),this.init(e)}init(e={}){e.interpolation||(e.interpolation={escapeValue:!0});const{escape:t,escapeValue:n,useRawValueToEscape:r,prefix:s,prefixEscaped:a,suffix:o,suffixEscaped:c,formatSeparator:l,unescapeSuffix:u,unescapePrefix:d,nestingPrefix:h,nestingPrefixEscaped:f,nestingSuffix:g,nestingSuffixEscaped:y,nestingOptionsSeparator:b,maxReplaces:S,alwaysFormat:L}=e.interpolation;this.escape=t!==void 0?t:ir,this.escapeValue=n!==void 0?n:!0,this.useRawValueToEscape=r!==void 0?r:!1,this.prefix=s?U(s):a||"{{",this.suffix=o?U(o):c||"}}",this.formatSeparator=l||",",this.unescapePrefix=u?"":d||"-",this.unescapeSuffix=this.unescapePrefix?"":u||"",this.nestingPrefix=h?U(h):f||U("$t("),this.nestingSuffix=g?U(g):y||U(")"),this.nestingOptionsSeparator=b||",",this.maxReplaces=S||1e3,this.alwaysFormat=L!==void 0?L:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(t,n)=>(t==null?void 0:t.source)===n?(t.lastIndex=0,t):new RegExp(n,"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,n,r){var f;let s,a,o;const c=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},l=g=>{if(g.indexOf(this.formatSeparator)<0){const L=Ze(t,c,g,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(L,void 0,n,{...r,...t,interpolationkey:g}):L}const y=g.split(this.formatSeparator),b=y.shift().trim(),S=y.join(this.formatSeparator).trim();return this.format(Ze(t,c,b,this.options.keySeparator,this.options.ignoreJSONStructure),S,n,{...r,...t,interpolationkey:b})};this.resetRegExp();const u=(r==null?void 0:r.missingInterpolationHandler)||this.options.missingInterpolationHandler,d=((f=r==null?void 0:r.interpolation)==null?void 0:f.skipOnVariables)!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:g=>me(g)},{regex:this.regexp,safeValue:g=>this.escapeValue?me(this.escape(g)):me(g)}].forEach(g=>{for(o=0;s=g.regex.exec(e);){const y=s[1].trim();if(a=l(y),a===void 0)if(typeof u=="function"){const S=u(e,s,r);a=x(S)?S:""}else if(r&&Object.prototype.hasOwnProperty.call(r,y))a="";else if(d){a=s[0];continue}else this.logger.warn(`missed to pass in variable ${y} for interpolating ${e}`),a="";else!x(a)&&!this.useRawValueToEscape&&(a=Ve(a));const b=g.safeValue(a);if(e=e.replace(s[0],b),d?(g.regex.lastIndex+=a.length,g.regex.lastIndex-=s[0].length):g.regex.lastIndex=0,o++,o>=this.maxReplaces)break}}),e}nest(e,t,n={}){let r,s,a;const o=(c,l)=>{const u=this.nestingOptionsSeparator;if(c.indexOf(u)<0)return c;const d=c.split(new RegExp(`${u}[ ]*{`));let h=`{${d[1]}`;c=d[0],h=this.interpolate(h,a);const f=h.match(/'/g),g=h.match(/"/g);(((f==null?void 0:f.length)??0)%2===0&&!g||g.length%2!==0)&&(h=h.replace(/'/g,'"'));try{a=JSON.parse(h),l&&(a={...l,...a})}catch(y){return this.logger.warn(`failed parsing options string in nesting for key ${c}`,y),`${c}${u}${h}`}return a.defaultValue&&a.defaultValue.indexOf(this.prefix)>-1&&delete a.defaultValue,c};for(;r=this.nestingRegexp.exec(e);){let c=[];a={...n},a=a.replace&&!x(a.replace)?a.replace:a,a.applyPostProcessor=!1,delete a.defaultValue;const l=/{.*}/.test(r[1])?r[1].lastIndexOf("}")+1:r[1].indexOf(this.formatSeparator);if(l!==-1&&(c=r[1].slice(l).split(this.formatSeparator).map(u=>u.trim()).filter(Boolean),r[1]=r[1].slice(0,l)),s=t(o.call(this,r[1].trim(),a),a),s&&r[0]===e&&!x(s))return s;x(s)||(s=Ve(s)),s||(this.logger.warn(`missed to resolve ${r[1]} for nesting ${e}`),s=""),c.length&&(s=c.reduce((u,d)=>this.format(u,d,n.lng,{...n,interpolationkey:r[1].trim()}),s.trim())),e=e.replace(r[0],s),this.regexp.lastIndex=0}return e}}const gr=i=>{let e=i.toLowerCase().trim();const t={};if(i.indexOf("(")>-1){const n=i.split("(");e=n[0].toLowerCase().trim();const r=n[1].substring(0,n[1].length-1);e==="currency"&&r.indexOf(":")<0?t.currency||(t.currency=r.trim()):e==="relativetime"&&r.indexOf(":")<0?t.range||(t.range=r.trim()):r.split(";").forEach(a=>{if(a){const[o,...c]=a.split(":"),l=c.join(":").trim().replace(/^'+|'+$/g,""),u=o.trim();t[u]||(t[u]=l),l==="false"&&(t[u]=!1),l==="true"&&(t[u]=!0),isNaN(l)||(t[u]=parseInt(l,10))}})}return{formatName:e,formatOptions:t}},Je=i=>{const e={};return(t,n,r)=>{let s=r;r&&r.interpolationkey&&r.formatParams&&r.formatParams[r.interpolationkey]&&r[r.interpolationkey]&&(s={...s,[r.interpolationkey]:void 0});const a=n+JSON.stringify(s);let o=e[a];return o||(o=i(re(n),r),e[a]=o),o(t)}},pr=i=>(e,t,n)=>i(re(t),n)(e);class mr{constructor(e={}){this.logger=V.create("formatter"),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||",";const n=t.cacheInBuiltFormats?Je:pr;this.formats={number:n((r,s)=>{const a=new Intl.NumberFormat(r,{...s});return o=>a.format(o)}),currency:n((r,s)=>{const a=new Intl.NumberFormat(r,{...s,style:"currency"});return o=>a.format(o)}),datetime:n((r,s)=>{const a=new Intl.DateTimeFormat(r,{...s});return o=>a.format(o)}),relativetime:n((r,s)=>{const a=new Intl.RelativeTimeFormat(r,{...s});return o=>a.format(o,s.range||"day")}),list:n((r,s)=>{const a=new Intl.ListFormat(r,{...s});return o=>a.format(o)})}}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=Je(t)}format(e,t,n,r={}){const s=t.split(this.formatSeparator);if(s.length>1&&s[0].indexOf("(")>1&&s[0].indexOf(")")<0&&s.find(o=>o.indexOf(")")>-1)){const o=s.findIndex(c=>c.indexOf(")")>-1);s[0]=[s[0],...s.splice(1,o)].join(this.formatSeparator)}return s.reduce((o,c)=>{var d;const{formatName:l,formatOptions:u}=gr(c);if(this.formats[l]){let h=o;try{const f=((d=r==null?void 0:r.formatParams)==null?void 0:d[r.interpolationkey])||{},g=f.locale||f.lng||r.locale||r.lng||n;h=this.formats[l](o,g,{...u,...r,...f})}catch(f){this.logger.warn(f)}return h}else this.logger.warn(`there was no format function for ${l}`);return o},e)}}const yr=(i,e)=>{i.pending[e]!==void 0&&(delete i.pending[e],i.pendingCount--)};class xr extends he{constructor(e,t,n,r={}){var s,a;super(),this.backend=e,this.store=t,this.services=n,this.languageUtils=n.languageUtils,this.options=r,this.logger=V.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=r.maxParallelReads||10,this.readingCalls=0,this.maxRetries=r.maxRetries>=0?r.maxRetries:5,this.retryTimeout=r.retryTimeout>=1?r.retryTimeout:350,this.state={},this.queue=[],(a=(s=this.backend)==null?void 0:s.init)==null||a.call(s,n,r.backend,r)}queueLoad(e,t,n,r){const s={},a={},o={},c={};return e.forEach(l=>{let u=!0;t.forEach(d=>{const h=`${l}|${d}`;!n.reload&&this.store.hasResourceBundle(l,d)?this.state[h]=2:this.state[h]<0||(this.state[h]===1?a[h]===void 0&&(a[h]=!0):(this.state[h]=1,u=!1,a[h]===void 0&&(a[h]=!0),s[h]===void 0&&(s[h]=!0),c[d]===void 0&&(c[d]=!0)))}),u||(o[l]=!0)}),(Object.keys(s).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(s),pending:Object.keys(a),toLoadLanguages:Object.keys(o),toLoadNamespaces:Object.keys(c)}}loaded(e,t,n){const r=e.split("|"),s=r[0],a=r[1];t&&this.emit("failedLoading",s,a,t),!t&&n&&this.store.addResourceBundle(s,a,n,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&n&&(this.state[e]=0);const o={};this.queue.forEach(c=>{tr(c.loaded,[s],a),yr(c,e),t&&c.errors.push(t),c.pendingCount===0&&!c.done&&(Object.keys(c.loaded).forEach(l=>{o[l]||(o[l]={});const u=c.loaded[l];u.length&&u.forEach(d=>{o[l][d]===void 0&&(o[l][d]=!0)})}),c.done=!0,c.errors.length?c.callback(c.errors):c.callback())}),this.emit("loaded",o),this.queue=this.queue.filter(c=>!c.done)}read(e,t,n,r=0,s=this.retryTimeout,a){if(!e.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:t,fcName:n,tried:r,wait:s,callback:a});return}this.readingCalls++;const o=(l,u)=>{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(l&&u&&r<this.maxRetries){setTimeout(()=>{this.read.call(this,e,t,n,r+1,s*2,a)},s);return}a(l,u)},c=this.backend[n].bind(this.backend);if(c.length===2){try{const l=c(e,t);l&&typeof l.then=="function"?l.then(u=>o(null,u)).catch(o):o(null,l)}catch(l){o(l)}return}return c(e,t,o)}prepareLoading(e,t,n={},r){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),r&&r();x(e)&&(e=this.languageUtils.toResolveHierarchy(e)),x(t)&&(t=[t]);const s=this.queueLoad(e,t,n,r);if(!s.toLoad.length)return s.pending.length||r(),null;s.toLoad.forEach(a=>{this.loadOne(a)})}load(e,t,n){this.prepareLoading(e,t,{},n)}reload(e,t,n){this.prepareLoading(e,t,{reload:!0},n)}loadOne(e,t=""){const n=e.split("|"),r=n[0],s=n[1];this.read(r,s,"read",void 0,void 0,(a,o)=>{a&&this.logger.warn(`${t}loading namespace ${s} for language ${r} failed`,a),!a&&o&&this.logger.log(`${t}loaded namespace ${s} for language ${r}`,o),this.loaded(e,a,o)})}saveMissing(e,t,n,r,s,a={},o=()=>{}){var c,l,u,d,h;if((l=(c=this.services)==null?void 0:c.utils)!=null&&l.hasLoadedNamespace&&!((d=(u=this.services)==null?void 0:u.utils)!=null&&d.hasLoadedNamespace(t))){this.logger.warn(`did not save key "${n}" 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(!(n==null||n==="")){if((h=this.backend)!=null&&h.create){const f={...a,isUpdate:s},g=this.backend.create.bind(this.backend);if(g.length<6)try{let y;g.length===5?y=g(e,t,n,r,f):y=g(e,t,n,r),y&&typeof y.then=="function"?y.then(b=>o(null,b)).catch(o):o(null,y)}catch(y){o(y)}else g(e,t,n,r,o,f)}!e||!e[0]||this.store.addResource(e[0],t,n,r)}}}const Ge=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",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:i=>{let e={};if(typeof i[1]=="object"&&(e=i[1]),x(i[1])&&(e.defaultValue=i[1]),x(i[2])&&(e.tDescription=i[2]),typeof i[2]=="object"||typeof i[3]=="object"){const t=i[3]||i[2];Object.keys(t).forEach(n=>{e[n]=t[n]})}return e},interpolation:{escapeValue:!0,format:i=>i,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),Ye=i=>{var e,t;return x(i.ns)&&(i.ns=[i.ns]),x(i.fallbackLng)&&(i.fallbackLng=[i.fallbackLng]),x(i.fallbackNS)&&(i.fallbackNS=[i.fallbackNS]),((t=(e=i.supportedLngs)==null?void 0:e.indexOf)==null?void 0:t.call(e,"cimode"))<0&&(i.supportedLngs=i.supportedLngs.concat(["cimode"])),typeof i.initImmediate=="boolean"&&(i.initAsync=i.initImmediate),i},oe=()=>{},br=i=>{Object.getOwnPropertyNames(Object.getPrototypeOf(i)).forEach(t=>{typeof i[t]=="function"&&(i[t]=i[t].bind(i))})};class ie extends he{constructor(e={},t){if(super(),this.options=Ye(e),this.services={},this.logger=V,this.modules={external:[]},br(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&&(x(e.ns)?e.defaultNS=e.ns:e.ns.indexOf("translation")<0&&(e.defaultNS=e.ns[0]));const n=Ge();this.options={...n,...this.options,...Ye(e)},this.options.interpolation={...n.interpolation,...this.options.interpolation},e.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=e.keySeparator),e.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=e.nsSeparator);const r=l=>l?typeof l=="function"?new l:l:null;if(!this.options.isClone){this.modules.logger?V.init(r(this.modules.logger),this.options):V.init(null,this.options);let l;this.modules.formatter?l=this.modules.formatter:l=mr;const u=new _e(this.options);this.store=new ze(this.options.resources,this.options);const d=this.services;d.logger=V,d.resourceStore=this.store,d.languageUtils=u,d.pluralResolver=new hr(u,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),this.options.interpolation.format&&this.options.interpolation.format!==n.interpolation.format&&this.logger.deprecate("init: you are still using the legacy format function, please use the new approach: https://www.i18next.com/translation-function/formatting"),l&&(!this.options.interpolation.format||this.options.interpolation.format===n.interpolation.format)&&(d.formatter=r(l),d.formatter.init&&d.formatter.init(d,this.options),this.options.interpolation.format=d.formatter.format.bind(d.formatter)),d.interpolator=new fr(this.options),d.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},d.backendConnector=new xr(r(this.modules.backend),d.resourceStore,d,this.options),d.backendConnector.on("*",(f,...g)=>{this.emit(f,...g)}),this.modules.languageDetector&&(d.languageDetector=r(this.modules.languageDetector),d.languageDetector.init&&d.languageDetector.init(d,this.options.detection,this.options)),this.modules.i18nFormat&&(d.i18nFormat=r(this.modules.i18nFormat),d.i18nFormat.init&&d.i18nFormat.init(this)),this.translator=new ue(this.services,this.options),this.translator.on("*",(f,...g)=>{this.emit(f,...g)}),this.modules.external.forEach(f=>{f.init&&f.init(this)})}if(this.format=this.options.interpolation.format,t||(t=oe),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const l=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);l.length>0&&l[0]!=="dev"&&(this.options.lng=l[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(l=>{this[l]=(...u)=>this.store[l](...u)}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(l=>{this[l]=(...u)=>(this.store[l](...u),this)});const o=te(),c=()=>{const l=(u,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(u,d)};if(this.languages&&!this.isInitialized)return l(null,this.t.bind(this));this.changeLanguage(this.options.lng,l)};return this.options.resources||!this.options.initAsync?c():setTimeout(c,0),o}loadResources(e,t=oe){var s,a;let n=t;const r=x(e)?e:this.language;if(typeof e=="function"&&(n=e),!this.options.resources||this.options.partialBundledLanguages){if((r==null?void 0:r.toLowerCase())==="cimode"&&(!this.options.preload||this.options.preload.length===0))return n();const o=[],c=l=>{if(!l||l==="cimode")return;this.services.languageUtils.toResolveHierarchy(l).forEach(d=>{d!=="cimode"&&o.indexOf(d)<0&&o.push(d)})};r?c(r):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(u=>c(u)),(a=(s=this.options.preload)==null?void 0:s.forEach)==null||a.call(s,l=>c(l)),this.services.backendConnector.load(o,this.options.ns,l=>{!l&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),n(l)})}else n(null)}reloadResources(e,t,n){const r=te();return typeof e=="function"&&(n=e,e=void 0),typeof t=="function"&&(n=t,t=void 0),e||(e=this.languages),t||(t=this.options.ns),n||(n=oe),this.services.backendConnector.reload(e,t,s=>{r.resolve(),n(s)}),r}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"&&xt.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"].indexOf(e)>-1)){for(let t=0;t<this.languages.length;t++){const n=this.languages[t];if(!(["cimode","dev"].indexOf(n)>-1)&&this.store.hasLanguageSomeTranslations(n)){this.resolvedLanguage=n;break}}!this.resolvedLanguage&&this.languages.indexOf(e)<0&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(e,t){this.isLanguageChangingTo=e;const n=te();this.emit("languageChanging",e);const r=o=>{this.language=o,this.languages=this.services.languageUtils.toResolveHierarchy(o),this.resolvedLanguage=void 0,this.setResolvedLanguage(o)},s=(o,c)=>{c?this.isLanguageChangingTo===e&&(r(c),this.translator.changeLanguage(c),this.isLanguageChangingTo=void 0,this.emit("languageChanged",c),this.logger.log("languageChanged",c)):this.isLanguageChangingTo=void 0,n.resolve((...l)=>this.t(...l)),t&&t(o,(...l)=>this.t(...l))},a=o=>{var u,d;!e&&!o&&this.services.languageDetector&&(o=[]);const c=x(o)?o:o&&o[0],l=this.store.hasLanguageSomeTranslations(c)?c:this.services.languageUtils.getBestMatchFromCodes(x(o)?[o]:o);l&&(this.language||r(l),this.translator.language||this.translator.changeLanguage(l),(d=(u=this.services.languageDetector)==null?void 0:u.cacheUserLanguage)==null||d.call(u,l)),this.loadResources(l,h=>{s(h,l)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(e),n}getFixedT(e,t,n){const r=(s,a,...o)=>{let c;typeof a!="object"?c=this.options.overloadTranslationOptionHandler([s,a].concat(o)):c={...a},c.lng=c.lng||r.lng,c.lngs=c.lngs||r.lngs,c.ns=c.ns||r.ns,c.keyPrefix!==""&&(c.keyPrefix=c.keyPrefix||n||r.keyPrefix);const l=this.options.keySeparator||".";let u;return c.keyPrefix&&Array.isArray(s)?u=s.map(d=>(typeof d=="function"&&(d=Se(d,{...this.options,...a})),`${c.keyPrefix}${l}${d}`)):(typeof s=="function"&&(s=Se(s,{...this.options,...a})),u=c.keyPrefix?`${c.keyPrefix}${l}${s}`:s),this.t(u,c)};return x(e)?r.lng=e:r.lngs=e,r.ns=t,r.keyPrefix=n,r}t(...e){var t;return(t=this.translator)==null?void 0:t.translate(...e)}exists(...e){var t;return(t=this.translator)==null?void 0:t.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;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const n=t.lng||this.resolvedLanguage||this.languages[0],r=this.options?this.options.fallbackLng:!1,s=this.languages[this.languages.length-1];if(n.toLowerCase()==="cimode")return!0;const a=(o,c)=>{const l=this.services.backendConnector.state[`${o}|${c}`];return l===-1||l===0||l===2};if(t.precheck){const o=t.precheck(this,a);if(o!==void 0)return o}return!!(this.hasResourceBundle(n,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||a(n,e)&&(!r||a(s,e)))}loadNamespaces(e,t){const n=te();return this.options.ns?(x(e)&&(e=[e]),e.forEach(r=>{this.options.ns.indexOf(r)<0&&this.options.ns.push(r)}),this.loadResources(r=>{n.resolve(),t&&t(r)}),n):(t&&t(),Promise.resolve())}loadLanguages(e,t){const n=te();x(e)&&(e=[e]);const r=this.options.preload||[],s=e.filter(a=>r.indexOf(a)<0&&this.services.languageUtils.isSupportedCode(a));return s.length?(this.options.preload=r.concat(s),this.loadResources(a=>{n.resolve(),t&&t(a)}),n):(t&&t(),Promise.resolve())}dir(e){var r,s;if(e||(e=this.resolvedLanguage||(((r=this.languages)==null?void 0:r.length)>0?this.languages[0]:this.language)),!e)return"rtl";try{const a=new Intl.Locale(e);if(a&&a.getTextInfo){const o=a.getTextInfo();if(o&&o.direction)return o.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"],n=((s=this.services)==null?void 0:s.languageUtils)||new _e(Ge());return e.toLowerCase().indexOf("-latn")>1?"ltr":t.indexOf(n.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(e={},t){return new ie(e,t)}cloneInstance(e={},t=oe){const n=e.forkResourceStore;n&&delete e.forkResourceStore;const r={...this.options,...e,isClone:!0},s=new ie(r);if((e.debug!==void 0||e.prefix!==void 0)&&(s.logger=s.logger.clone(e)),["store","services","language"].forEach(o=>{s[o]=this[o]}),s.services={...this.services},s.services.utils={hasLoadedNamespace:s.hasLoadedNamespace.bind(s)},n){const o=Object.keys(this.store.data).reduce((c,l)=>(c[l]={...this.store.data[l]},c[l]=Object.keys(c[l]).reduce((u,d)=>(u[d]={...c[l][d]},u),c[l]),c),{});s.store=new ze(o,r),s.services.resourceStore=s.store}return s.translator=new ue(s.services,r),s.translator.on("*",(o,...c)=>{s.emit(o,...c)}),s.init(r,t),s.translator.options=r,s.translator.backendConnector.services.utils={hasLoadedNamespace:s.hasLoadedNamespace.bind(s)},s}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const j=ie.createInstance();j.createInstance=ie.createInstance;j.createInstance;j.dir;j.init;j.loadResources;j.reloadResources;j.use;j.changeLanguage;j.getFixedT;j.t;j.exists;j.setDefaultNamespace;j.hasLoadedNamespace;j.loadNamespaces;j.loadLanguages;const{slice:wr,forEach:vr}=[];function Sr(i){return vr.call(wr.call(arguments,1),e=>{if(e)for(const t in e)i[t]===void 0&&(i[t]=e[t])}),i}function kr(i){return typeof i!="string"?!1:[/<\s*script.*?>/i,/<\s*\/\s*script\s*>/i,/<\s*img.*?on\w+\s*=/i,/<\s*\w+\s*on\w+\s*=.*?>/i,/javascript\s*:/i,/vbscript\s*:/i,/expression\s*\(/i,/eval\s*\(/i,/alert\s*\(/i,/document\.cookie/i,/document\.write\s*\(/i,/window\.location/i,/innerHTML/i].some(t=>t.test(i))}const Xe=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,Lr=function(i,e){const n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{path:"/"},r=encodeURIComponent(e);let s=`${i}=${r}`;if(n.maxAge>0){const a=n.maxAge-0;if(Number.isNaN(a))throw new Error("maxAge should be a Number");s+=`; Max-Age=${Math.floor(a)}`}if(n.domain){if(!Xe.test(n.domain))throw new TypeError("option domain is invalid");s+=`; Domain=${n.domain}`}if(n.path){if(!Xe.test(n.path))throw new TypeError("option path is invalid");s+=`; Path=${n.path}`}if(n.expires){if(typeof n.expires.toUTCString!="function")throw new TypeError("option expires is invalid");s+=`; Expires=${n.expires.toUTCString()}`}if(n.httpOnly&&(s+="; HttpOnly"),n.secure&&(s+="; Secure"),n.sameSite)switch(typeof n.sameSite=="string"?n.sameSite.toLowerCase():n.sameSite){case!0:s+="; SameSite=Strict";break;case"lax":s+="; SameSite=Lax";break;case"strict":s+="; SameSite=Strict";break;case"none":s+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return n.partitioned&&(s+="; Partitioned"),s},Qe={create(i,e,t,n){let r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:"/",sameSite:"strict"};t&&(r.expires=new Date,r.expires.setTime(r.expires.getTime()+t*60*1e3)),n&&(r.domain=n),document.cookie=Lr(i,e,r)},read(i){const e=`${i}=`,t=document.cookie.split(";");for(let n=0;n<t.length;n++){let r=t[n];for(;r.charAt(0)===" ";)r=r.substring(1,r.length);if(r.indexOf(e)===0)return r.substring(e.length,r.length)}return null},remove(i,e){this.create(i,"",-1,e)}};var Er={name:"cookie",lookup(i){let{lookupCookie:e}=i;if(e&&typeof document<"u")return Qe.read(e)||void 0},cacheUserLanguage(i,e){let{lookupCookie:t,cookieMinutes:n,cookieDomain:r,cookieOptions:s}=e;t&&typeof document<"u"&&Qe.create(t,i,n,r,s)}},Or={name:"querystring",lookup(i){var n;let{lookupQuerystring:e}=i,t;if(typeof window<"u"){let{search:r}=window.location;!window.location.search&&((n=window.location.hash)==null?void 0:n.indexOf("?"))>-1&&(r=window.location.hash.substring(window.location.hash.indexOf("?")));const a=r.substring(1).split("&");for(let o=0;o<a.length;o++){const c=a[o].indexOf("=");c>0&&a[o].substring(0,c)===e&&(t=a[o].substring(c+1))}}return t}},Pr={name:"hash",lookup(i){var r;let{lookupHash:e,lookupFromHashIndex:t}=i,n;if(typeof window<"u"){const{hash:s}=window.location;if(s&&s.length>2){const a=s.substring(1);if(e){const o=a.split("&");for(let c=0;c<o.length;c++){const l=o[c].indexOf("=");l>0&&o[c].substring(0,l)===e&&(n=o[c].substring(l+1))}}if(n)return n;if(!n&&t>-1){const o=s.match(/\/([a-zA-Z-]*)/g);return Array.isArray(o)?(r=o[typeof t=="number"?t:0])==null?void 0:r.replace("/",""):void 0}}}return n}};let W=null;const et=()=>{if(W!==null)return W;try{if(W=typeof window<"u"&&window.localStorage!==null,!W)return!1;const i="i18next.translate.boo";window.localStorage.setItem(i,"foo"),window.localStorage.removeItem(i)}catch{W=!1}return W};var Cr={name:"localStorage",lookup(i){let{lookupLocalStorage:e}=i;if(e&&et())return window.localStorage.getItem(e)||void 0},cacheUserLanguage(i,e){let{lookupLocalStorage:t}=e;t&&et()&&window.localStorage.setItem(t,i)}};let Z=null;const tt=()=>{if(Z!==null)return Z;try{if(Z=typeof window<"u"&&window.sessionStorage!==null,!Z)return!1;const i="i18next.translate.boo";window.sessionStorage.setItem(i,"foo"),window.sessionStorage.removeItem(i)}catch{Z=!1}return Z};var Nr={name:"sessionStorage",lookup(i){let{lookupSessionStorage:e}=i;if(e&&tt())return window.sessionStorage.getItem(e)||void 0},cacheUserLanguage(i,e){let{lookupSessionStorage:t}=e;t&&tt()&&window.sessionStorage.setItem(t,i)}},jr={name:"navigator",lookup(i){const e=[];if(typeof navigator<"u"){const{languages:t,userLanguage:n,language:r}=navigator;if(t)for(let s=0;s<t.length;s++)e.push(t[s]);n&&e.push(n),r&&e.push(r)}return e.length>0?e:void 0}},Tr={name:"htmlTag",lookup(i){let{htmlTag:e}=i,t;const n=e||(typeof document<"u"?document.documentElement:null);return n&&typeof n.getAttribute=="function"&&(t=n.getAttribute("lang")),t}},$r={name:"path",lookup(i){var r;let{lookupFromPathIndex:e}=i;if(typeof window>"u")return;const t=window.location.pathname.match(/\/([a-zA-Z-]*)/g);return Array.isArray(t)?(r=t[typeof e=="number"?e:0])==null?void 0:r.replace("/",""):void 0}},Rr={name:"subdomain",lookup(i){var r,s;let{lookupFromSubdomainIndex:e}=i;const t=typeof e=="number"?e+1:1,n=typeof window<"u"&&((s=(r=window.location)==null?void 0:r.hostname)==null?void 0:s.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i));if(n)return n[t]}};let wt=!1;try{document.cookie,wt=!0}catch{}const vt=["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"];wt||vt.splice(1,1);const Fr=()=>({order:vt,lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:i=>i});class St{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.type="languageDetector",this.detectors={},this.init(e,t)}init(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{languageUtils:{}},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=e,this.options=Sr(t,this.options||{},Fr()),typeof this.options.convertDetectedLanguage=="string"&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=r=>r.replace("-","_")),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=n,this.addDetector(Er),this.addDetector(Or),this.addDetector(Cr),this.addDetector(Nr),this.addDetector(jr),this.addDetector(Tr),this.addDetector($r),this.addDetector(Rr),this.addDetector(Pr)}addDetector(e){return this.detectors[e.name]=e,this}detect(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.options.order,t=[];return e.forEach(n=>{if(this.detectors[n]){let r=this.detectors[n].lookup(this.options);r&&typeof r=="string"&&(r=[r]),r&&(t=t.concat(r))}}),t=t.filter(n=>n!=null&&!kr(n)).map(n=>this.options.convertDetectedLanguage(n)),this.services&&this.services.languageUtils&&this.services.languageUtils.getBestMatchFromCodes?t:t.length>0?t[0]:null}cacheUserLanguage(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:this.options.caches;t&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(e)>-1||t.forEach(n=>{this.detectors[n]&&this.detectors[n].cacheUserLanguage(e,this.options)}))}}St.type="languageDetector";const kt={apiBaseUrl:"https://api.nemme.io",debug:!1},Mr="Previous",Dr="Next",Ar={Previous:Mr,Next:Dr,"Type your answer here":"Type your answer here","Max {{maxCharacters}} characters":"Max {{maxCharacters}} characters"},Vr={};Wn({locale:Xn});j.use(St).use(qt).init({debug:kt.debug,fallbackLng:"en",interpolation:{escapeValue:!1},resources:{en:{translation:Ar},nb:{tranlation:Vr}}});const nt={debug:0,info:1,warn:2,error:3};class Le{constructor(e={}){v(this,"prefix");v(this,"enabled");v(this,"level");this.prefix=e.prefix||"Nemme SDK",this.enabled=e.enabled!==void 0?e.enabled:!0,this.level=e.level||"info"}shouldLog(e){return this.enabled&&nt[e]>=nt[this.level]}formatMessage(e){return`[${this.prefix}] ${e}`}debug(e,...t){this.shouldLog("debug")&&console.debug(this.formatMessage(e),...t)}info(e,...t){this.shouldLog("info")&&console.info(this.formatMessage(e),...t)}warn(e,...t){this.shouldLog("warn")&&console.warn(this.formatMessage(e),...t)}error(e,...t){this.shouldLog("error")&&console.error(this.formatMessage(e),...t)}child(e){return new Le({prefix:`${this.prefix}:${e}`,enabled:this.enabled,level:this.level})}configure(e){e.prefix!==void 0&&(this.prefix=e.prefix),e.enabled!==void 0&&(this.enabled=e.enabled),e.level!==void 0&&(this.level=e.level)}}const Lt=new Le,rt=Lt.child("network"),Ir=3e4,Hr=(i,e)=>{const t=new URL(i,kt.apiBaseUrl);return e&&Object.entries(e).forEach(([n,r])=>{r!=null&&t.searchParams.append(n,String(r))}),t.toString()},B={async request(i,e={}){const{method:t="GET",headers:n={},body:r,params:s,timeout:a=Ir}=e,o=Hr(i,s),c={"Content-Type":"application/json",Accept:"application/json",...n},l={method:t,headers:c,body:r?JSON.stringify(r):void 0},u=new AbortController,d=setTimeout(()=>u.abort(),a);l.signal=u.signal;try{const h=await fetch(o,l);let f;const g=h.headers.get("content-type");if(g&&g.includes("application/json"))f=await h.json();else{const b=await h.text();try{f=JSON.parse(b)}catch{f=b}}const y={data:f,status:h.status,statusText:h.statusText,headers:h.headers,ok:h.ok};if(h.ok)y.ok=!0;else{const b=`Request failed with status ${h.status}: ${h.statusText}`;rt.error(b,{url:o,method:t,status:h.status,data:y.data}),y.ok=!1,y.error={message:b,details:y.data}}return y}catch(h){let f="Network request failed",g={};return h instanceof DOMException&&h.name==="AbortError"?(f=`Request timeout after ${a}ms`,g={timeout:a,url:o}):g={message:h instanceof Error?h.message:String(h),url:o,method:t},rt.error(f,g),{data:{},status:0,statusText:f,headers:new Headers,ok:!1,error:{message:f,details:g}}}finally{clearTimeout(d)}},async get(i,e={}){return this.request(i,{...e,method:"GET"})},async post(i,e,t={}){return this.request(i,{...t,method:"POST",body:e})},async put(i,e,t={}){return this.request(i,{...t,method:"PUT",body:e})},async patch(i,e,t={}){return this.request(i,{...t,method:"PATCH",body:e})},async delete(i,e={}){return this.request(i,{...e,method:"DELETE"})}};class Br{constructor(e,t,n={}){v(this,"logger");v(this,"headers");v(this,"config");this.logger=e,this.headers=t,this.config=n}async fetchAndDisplayForm(e,t,n){this.logger.debug(`Fetching form config for: ${e}`);try{const r=await B.get(`/external/forms/${e}`,{headers:this.headers});r.ok&&r.data?(this.logger.info(`Form config loaded for: ${e}`,r.data),this.displayForm(r.data,t,n)):this.logger.warn(`No form config found for: ${e}`)}catch(r){this.logger.error(`Failed to fetch form config for: ${e}`,r)}}displayForm(e,t,n){const r=document.createElement("div");r.id="nm",document.body.appendChild(r);const s=Tt.createRoot(r),a=w.createElement(Zt,{i18n:j},w.createElement(Xt,{form:e,onDismiss:async o=>{await t(),s.unmount(),r.remove(),this.logger.info("Form dismissed",o)},onComplete:async o=>{await n(),await this.postFormResponse(e,o),s.unmount(),r.remove(),this.logger.info("Form completed",o)},zIndex:this.config.zIndex}));s.render(a)}async postFormResponse(e,t){this.logger.info("Posting form response",t);const n=await B.post(`/external/forms/${e.slug}`,t,{headers:this.headers});this.logger.info("Form response posted",n.data)}}class zr{constructor(e,t,n){v(this,"logger");v(this,"headers");v(this,"formManager");v(this,"deliveries",[]);this.logger=e,this.headers=t,this.formManager=new Br(e,t,n)}async loadDeliveries(){try{this.logger.debug("Loading deliveries");const e=await B.get("/external/deliveries",{headers:this.headers});this.deliveries=e.data,this.logger.info(`Loaded ${this.deliveries.length} deliveries`)}catch(e){this.logger.error("Failed to load deliveries",e),this.deliveries=[]}}async evaluateDeliveryTriggers(e){for(const t of this.deliveries)for(const n of t.triggers)if(this.shouldTriggerDelivery(n,e)){if(!await this.isDeliveryValid(t)){this.logger.debug(`Delivery ${t.id} is not valid, skipping`);continue}await this.executeDelivery(t,n);return}}shouldTriggerDelivery(e,t){if(this.hasActiveDelivery())return!1;switch(e.triggerType){case"page_url":return e.urlPattern?this.matchesUrlPattern(t.url,e.urlPattern):!0;case"custom_event":return e.eventKey?t.eventKey===e.eventKey:!1;default:return!1}}hasActiveDelivery(){return document.getElementById("nm")!==null}async executeDelivery(e,t){if(e.productType==="FRM"){this.logger.debug(`Triggering form delivery: ${e.productSlug}`,{triggerType:t.triggerType,urlPattern:t.urlPattern,eventKey:t.eventKey});try{const r=await this.createDeliveryResponse(e);await this.formManager.fetchAndDisplayForm(e.productSlug,async()=>{this.logger.debug(`Form for delivery: ${e.productSlug} was cancelled`),r&&await this.updateDeliveryResponse(e.id,r.id,!0)},async()=>{this.logger.debug(`Form for delivery: ${e.productSlug} was completed`),r&&await this.updateDeliveryResponse(e.id,r.id,!1,!0)})}catch(r){this.logger.error(`Failed to load form for delivery: ${e.productSlug}`,r)}}}matchesUrlPattern(e,t){let n;try{n=new URL(e).pathname}catch{n=e.startsWith("/")?e:`/${e}`}const r=u=>{if(!u)return"/";let d=u.startsWith("/")?u:`/${u}`;return d.length>1&&d.endsWith("/")&&(d=d.slice(0,-1)),d},s=r(n),a=r(t),o=a.replace(/\*\*/g,"§DOUBLE_STAR§").replace(/\*/g,"[^/]*").replace(/§DOUBLE_STAR§/g,".*").replace(/\?/g,"."),l=new RegExp(`^${o}$`).test(s);return this.logger.debug("URL pattern matching",{originalUrl:e,pathname:n,normalizedPathname:s,pattern:t,normalizedPattern:a,regexPattern:o,matches:l}),l}async createDeliveryResponse(e){try{return(await B.post(`/external/deliveries/${e.id}/responses`,{},{headers:this.headers})).data}catch(t){this.logger.error(`Failed to create delivery response for delivery: ${e.id}`,t)}}async updateDeliveryResponse(e,t,n=!1,r=!1){try{await B.patch(`/external/deliveries/${e}/responses/${t}`,{wasDismissed:n,wasCompleted:r},{headers:this.headers})}catch(s){this.logger.error(`Failed to update delivery response: ${t} for delivery: ${e}`,s)}}async isDeliveryValid(e){try{return(await B.get(`/external/deliveries/${e.id}/should-deliver`,{headers:this.headers})).data}catch(t){return this.logger.error(`Failed to get delivery should-deliver for delivery: ${e.id}`,t),!1}}}class Kr{constructor({logger:e,headers:t,sessionId:n,eventDefinitions:r,batchConfig:s,onPageView:a,onEvent:o}){v(this,"logger");v(this,"headers");v(this,"sessionId");v(this,"eventDefinitions",[]);v(this,"onPageView");v(this,"onEvent");v(this,"backlog",[]);v(this,"flushTimeout",null);v(this,"batchConfig",{enabled:!0,size:10,delayMs:1e4,sendOnUnload:!0});v(this,"originalHistoryMethods",null);v(this,"EVENT_PAGE_VIEW","page_view");this.logger=e,this.headers=t,this.sessionId=n,this.eventDefinitions=r,this.onPageView=a,this.onEvent=o,this.flushEvents=this.flushEvents.bind(this),this.handlePopState=this.handlePopState.bind(this),this.handleVisibilityChange=this.handleVisibilityChange.bind(this),this.setupBatching(s)}setupBatching(e){typeof e=="boolean"?this.batchConfig.enabled=e:e&&(this.batchConfig={...this.batchConfig,...e}),this.batchConfig.enabled&&this.batchConfig.sendOnUnload&&typeof window<"u"&&(window.addEventListener("beforeunload",this.flushEvents),window.addEventListener("pagehide",this.flushEvents))}async setupPageViewTracking(){if(typeof window>"u")return;this.originalHistoryMethods={pushState:history.pushState,replaceState:history.replaceState};const e=history.pushState;history.pushState=async(...n)=>{e.apply(history,n),await this.trackPageView()};const t=history.replaceState;history.replaceState=async(...n)=>{t.apply(history,n),await this.trackPageView()},window.addEventListener("popstate",this.handlePopState),document.addEventListener("visibilitychange",this.handleVisibilityChange)}async track(e){var a,o;if(!this.sessionId){this.logger.warn("Tracking manager not initialized, cannot track event");return}const{eventKey:t,data:n={}}=e;this.logger.debug("Tracking event",{eventKey:t,data:n});const r=window.location.href,s={sessionId:this.sessionId,eventKey:t,data:n||{},timestamp:new Date().toISOString(),page:r};this.validateEvent(s),this.batchConfig.enabled?(this.backlog.push(s),this.scheduleFlush()):await this.sendEvents([s]),t===this.EVENT_PAGE_VIEW?(a=this.onPageView)==null||a.call(this,window.location.href):(o=this.onEvent)==null||o.call(this,s,r)}async trackPageView(){typeof window>"u"||await this.track({eventKey:this.EVENT_PAGE_VIEW,data:{title:document.title}})}async flush(){return this.flushEvents()}destroy(){this.originalHistoryMethods&&(history.pushState=this.originalHistoryMethods.pushState,history.replaceState=this.originalHistoryMethods.replaceState,this.originalHistoryMethods=null),typeof window<"u"&&(window.removeEventListener("popstate",this.handlePopState),document.removeEventListener("visibilitychange",this.handleVisibilityChange),window.removeEventListener("beforeunload",this.flushEvents),window.removeEventListener("pagehide",this.flushEvents)),this.flushTimeout&&(clearTimeout(this.flushTimeout),this.flushTimeout=null)}validateEvent(e){if(e.eventKey===this.EVENT_PAGE_VIEW)return;const t=this.eventDefinitions.find(s=>s.eventKey===e.eventKey);if(!t){this.logger.warn(`Event ${e.eventKey} is not registered`);return}const n=t.properties,r=e.data;if(r)for(const s of Object.keys(r)){const a=r[s],o=n.find(c=>c.name===s);if(!o){this.logger.warn(`Property ${s} is not registered for event ${e.eventKey}`);return}o.type==="string"&&typeof a!="string"&&this.logger.warn(`Property ${o.name} has type ${o.type} but value is of type ${typeof a}`),o.type==="boolean"&&typeof a!="boolean"&&this.logger.warn(`Property ${o.name} has type ${o.type} but value is of type ${typeof a}`),o.type==="number"&&typeof a!="number"&&this.logger.warn(`Property ${o.name} has type ${o.type} but value is of type ${typeof a}`)}}async handlePopState(){await this.trackPageView()}async handleVisibilityChange(){document.visibilityState==="visible"&&await this.trackPageView()}scheduleFlush(){if(this.backlog.length>=this.batchConfig.size){this.flushEvents();return}this.flushTimeout||(this.flushTimeout=window.setTimeout(()=>{this.flushEvents()},this.batchConfig.delayMs))}async flushEvents(){if(this.flushTimeout&&(clearTimeout(this.flushTimeout),this.flushTimeout=null),this.backlog.length===0)return;const e=[...this.backlog];this.backlog=[];try{await this.sendEvents(e)}catch(t){this.backlog.unshift(...e),this.logger.error("Failed to send batched events",t)}}async sendEvents(e){if(e.length!==0)if(e.length===1){const t=e[0];await B.post("/external/trackings/track",t,{headers:this.headers})}else await B.post("/external/trackings/batch",e,{headers:this.headers})}}class fe{constructor(e){v(this,"clientKey");v(this,"userIdentifier");v(this,"initialized",!1);v(this,"clientLogger",Lt.child("client"));v(this,"headers",{});v(this,"formConfig");v(this,"trackingManager");this.clientKey=e}async init({userIdentifier:e,debug:t=!1,batch:n,formConfig:r}){if(!e)throw new Error("userIdentifier is required parameter");this.userIdentifier=e,this.clientLogger.configure({enabled:t,level:t?"debug":"info"}),this.headers={"X-Client-Key":this.clientKey,"X-User-Id":this.userIdentifier},this.formConfig=r;try{const s=await this.initializeSession();await this.initializeManagers(s,n),this.initialized=!0,this.clientLogger.info("Nemme client initialized",{clientKey:this.clientKey,userIdentifier:this.userIdentifier})}catch(s){this.clientLogger.error("Error during initialization:",s)}return this}async flush(){var e;return(e=this.trackingManager)==null?void 0:e.flush()}destroy(){var e;(e=this.trackingManager)==null||e.destroy()}async track(e){if(!this.initialized||!this.trackingManager){this.clientLogger.warn("Nemme client not initialized, some operations may fail");return}return this.trackingManager.track(e)}async initializeSession(){var e;try{const t=await B.post("/external/trackings/initialize",{},{headers:this.headers});if(!t.ok)throw new Error(((e=t.error)==null?void 0:e.message)||"Request for initialising session failed");return t.data}catch(t){throw this.clientLogger.error("Error during initialization",t),t}}async initializeManagers(e,t){const n=new zr(this.clientLogger,this.headers,this.formConfig),r=new Kr({logger:this.clientLogger,headers:this.headers,sessionId:e.sessionId,eventDefinitions:e.eventDefinitions,batchConfig:t,onPageView:async s=>{await n.evaluateDeliveryTriggers({url:s})},onEvent:async(s,a)=>{await n.evaluateDeliveryTriggers({eventKey:s.eventKey,eventData:s.data,url:a})}});await n.loadDeliveries(),typeof window<"u"&&(await r.setupPageViewTracking(),await r.trackPageView(),await r.flush()),this.trackingManager=r}}const Et=i=>new fe(i),Ot=w.createContext(void 0),qr=({clientKey:i,config:e,children:t})=>{const[n,r]=w.useState(null),[s,a]=w.useState(!1),[o,c]=w.useState(null);w.useEffect(()=>{let u=null,d=!1;const h=async()=>{try{const f=new fe(i);if(await f.init(e),d){f.destroy();return}u=f,r(f),a(!0),c(null)}catch(f){d||(c(f instanceof Error?f.message:"Failed to initialize Nemme client"),a(!1))}};return r(null),a(!1),c(null),h(),()=>{d=!0,u&&u.destroy()}},[i,e]);const l={client:n,isInitialized:s,error:o};return m.jsx(Ot.Provider,{value:l,children:t})},Pt=()=>{const i=w.useContext(Ot);if(i===void 0)throw new Error("useNemmeContext must be used within a NemmeProvider");return i},_r=()=>{const{client:i,isInitialized:e,error:t}=Pt(),n=w.useCallback(async s=>{if(!i||!e){console.warn("Nemme client not initialized");return}return i.track(s)},[i,e]),r=w.useCallback(async()=>{if(!i||!e){console.warn("Nemme client not initialized");return}return i.flush()},[i,e]);return{track:n,flush:r,isInitialized:e,error:t,client:i}},Ur=i=>Et(i),Wr=async i=>{const{clientKey:e,...t}=i;return await Et(e).init(t)},Ee=Object.assign(i=>Ur(i),{NemmeClient:fe,init:Wr});typeof window<"u"&&(window.NemmeSDK=Ee);exports.NemmeClient=fe;exports.NemmeProvider=qr;exports.NemmeSDK=Ee;exports.default=Ee;exports.useNemme=_r;exports.useNemmeContext=Pt;
26
26
  //# sourceMappingURL=index.cjs.map