@nemme/js-sdk 0.2.3 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- (function(C,b){typeof exports=="object"&&typeof module<"u"?b(exports,require("react"),require("react-dom/client")):typeof define=="function"&&define.amd?define(["exports","react","react-dom/client"],b):(C=typeof globalThis<"u"?globalThis:C||self,b(C.NemmeSDK={},C.React,C.ReactDOM))})(this,(function(C,b,W){"use strict";var zi=Object.defineProperty;var Ki=(C,b,W)=>b in C?zi(C,b,{enumerable:!0,configurable:!0,writable:!0,value:W}):C[b]=W;var v=(C,b,W)=>Ki(C,typeof b!="symbol"?b+"":b,W);function jt(r){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,n.get?n:{enumerable:!0,get:()=>r[t]})}}return e.default=r,Object.freeze(e)}const p=jt(b),Tt=(r,e,t,n)=>{var s,a,o,c;const i=[t,{code:e,...n||{}}];if((a=(s=r==null?void 0:r.services)==null?void 0:s.logger)!=null&&a.forward)return r.services.logger.forward(i,"warn","react-i18next::",!0);_(i[0])&&(i[0]=`react-i18next:: ${i[0]}`),(c=(o=r==null?void 0:r.services)==null?void 0:o.logger)!=null&&c.warn?r.services.logger.warn(...i):console!=null&&console.warn&&console.warn(...i)},Ce={},me=(r,e,t,n)=>{_(t)&&Ce[t]||(_(t)&&(Ce[t]=new Date),Tt(r,e,t,n))},Ne=(r,e)=>()=>{if(r.isInitialized)e();else{const t=()=>{setTimeout(()=>{r.off("initialized",t)},0),e()};r.on("initialized",t)}},ye=(r,e,t)=>{r.loadNamespaces(e,Ne(r,t))},je=(r,e,t,n)=>{if(_(t)&&(t=[t]),r.options.preload&&r.options.preload.indexOf(e)>-1)return ye(r,t,n);t.forEach(i=>{r.options.ns.indexOf(i)<0&&r.options.ns.push(i)}),r.loadLanguages(e,Ne(r,n))},Rt=(r,e,t={})=>!e.languages||!e.languages.length?(me(e,"NO_LANGUAGES","i18n.languages were undefined or empty",{languages:e.languages}),!0):e.hasLoadedNamespace(r,{lng:t.lng,precheck:(n,i)=>{if(t.bindI18n&&t.bindI18n.indexOf("languageChanging")>-1&&n.services.backendConnector.backend&&n.isLanguageChangingTo&&!i(n.isLanguageChangingTo,r))return!1}}),_=r=>typeof r=="string",Ft=r=>typeof r=="object"&&r!==null,Mt=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,Dt={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"',"&nbsp;":" ","&#160;":" ","&copy;":"©","&#169;":"©","&reg;":"®","&#174;":"®","&hellip;":"…","&#8230;":"…","&#x2F;":"/","&#47;":"/"},$t=r=>Dt[r];let xe={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:r=>r.replace(Mt,$t)};const At=(r={})=>{xe={...xe,...r}},Vt=()=>xe;let Te;const It=r=>{Te=r},Ht=()=>Te,Bt={type:"3rdParty",init(r){At(r.options.react),It(r)}},Re=b.createContext();class zt{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach(t=>{this.usedNamespaces[t]||(this.usedNamespaces[t]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const Kt=(r,e)=>{const t=b.useRef();return b.useEffect(()=>{t.current=r},[r,e]),t.current},Fe=(r,e,t,n)=>r.getFixedT(e,t,n),qt=(r,e,t,n)=>b.useCallback(Fe(r,e,t,n),[r,e,t,n]),be=(r,e={})=>{var N,j,K,R;const{i18n:t}=e,{i18n:n,defaultNS:i}=b.useContext(Re)||{},s=t||n||Ht();if(s&&!s.reportNamespaces&&(s.reportNamespaces=new zt),!s){me(s,"NO_I18NEXT_INSTANCE","useTranslation: You will need to pass in an i18next instance by using initReactI18next");const P=(k,D)=>_(D)?D:Ft(D)&&_(D.defaultValue)?D.defaultValue:Array.isArray(k)?k[k.length-1]:k,O=[P,{},!1];return O.t=P,O.i18n={},O.ready=!1,O}(N=s.options.react)!=null&&N.wait&&me(s,"DEPRECATED_OPTION","useTranslation: It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const a={...Vt(),...s.options.react,...e},{useSuspense:o,keyPrefix:c}=a;let l=i||((j=s.options)==null?void 0:j.defaultNS);l=_(l)?[l]:l||["translation"],(R=(K=s.reportNamespaces).addUsedNamespaces)==null||R.call(K,l);const u=(s.isInitialized||s.initializedStoreOnce)&&l.every(P=>Rt(P,s,a)),d=qt(s,e.lng||null,a.nsMode==="fallback"?l:l[0],c),h=()=>d,f=()=>Fe(s,e.lng||null,a.nsMode==="fallback"?l:l[0],c),[g,y]=b.useState(h);let w=l.join();e.lng&&(w=`${e.lng}${w}`);const S=Kt(w),L=b.useRef(!0);b.useEffect(()=>{const{bindI18n:P,bindI18nStore:O}=a;L.current=!0,!u&&!o&&(e.lng?je(s,e.lng,l,()=>{L.current&&y(f)}):ye(s,l,()=>{L.current&&y(f)})),u&&S&&S!==w&&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(D=>s.off(D,k))),O&&s&&O.split(" ").forEach(D=>s.store.off(D,k))}},[s,w]),b.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?je(s,e.lng,l,()=>P()):ye(s,l,()=>P())})};function _t({i18n:r,defaultNS:e,children:t}){const n=b.useMemo(()=>({i18n:r,defaultNS:e}),[r,e]);return b.createElement(Re.Provider,{value:n},t)}var we={exports:{}},Y={};/**
1
+ (function(C,b){typeof exports=="object"&&typeof module<"u"?b(exports,require("react"),require("react-dom/client")):typeof define=="function"&&define.amd?define(["exports","react","react-dom/client"],b):(C=typeof globalThis<"u"?globalThis:C||self,b(C.NemmeSDK={},C.React,C.ReactDOM))})(this,(function(C,b,Pt){"use strict";function Ot(r){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,n.get?n:{enumerable:!0,get:()=>r[t]})}}return e.default=r,Object.freeze(e)}const g=Ot(b),Nt=(r,e,t,n)=>{const i=[t,{code:e,...n||{}}];if(r?.services?.logger?.forward)return r.services.logger.forward(i,"warn","react-i18next::",!0);B(i[0])&&(i[0]=`react-i18next:: ${i[0]}`),r?.services?.logger?.warn?r.services.logger.warn(...i):console?.warn&&console.warn(...i)},Le={},he=(r,e,t,n)=>{B(t)&&Le[t]||(B(t)&&(Le[t]=new Date),Nt(r,e,t,n))},Ee=(r,e)=>()=>{if(r.isInitialized)e();else{const t=()=>{setTimeout(()=>{r.off("initialized",t)},0),e()};r.on("initialized",t)}},fe=(r,e,t)=>{r.loadNamespaces(e,Ee(r,t))},Pe=(r,e,t,n)=>{if(B(t)&&(t=[t]),r.options.preload&&r.options.preload.indexOf(e)>-1)return fe(r,t,n);t.forEach(i=>{r.options.ns.indexOf(i)<0&&r.options.ns.push(i)}),r.loadLanguages(e,Ee(r,n))},Ct=(r,e,t={})=>!e.languages||!e.languages.length?(he(e,"NO_LANGUAGES","i18n.languages were undefined or empty",{languages:e.languages}),!0):e.hasLoadedNamespace(r,{lng:t.lng,precheck:(n,i)=>{if(t.bindI18n&&t.bindI18n.indexOf("languageChanging")>-1&&n.services.backendConnector.backend&&n.isLanguageChangingTo&&!i(n.isLanguageChangingTo,r))return!1}}),B=r=>typeof r=="string",jt=r=>typeof r=="object"&&r!==null,Tt=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,Rt={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"',"&nbsp;":" ","&#160;":" ","&copy;":"©","&#169;":"©","&reg;":"®","&#174;":"®","&hellip;":"…","&#8230;":"…","&#x2F;":"/","&#47;":"/"},Ft=r=>Rt[r];let ge={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:r=>r.replace(Tt,Ft)};const Mt=(r={})=>{ge={...ge,...r}},Dt=()=>ge;let Oe;const $t=r=>{Oe=r},At=()=>Oe,It={type:"3rdParty",init(r){Mt(r.options.react),$t(r)}},Ne=b.createContext();class Vt{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach(t=>{this.usedNamespaces[t]||(this.usedNamespaces[t]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const Ht=(r,e)=>{const t=b.useRef();return b.useEffect(()=>{t.current=r},[r,e]),t.current},Ce=(r,e,t,n)=>r.getFixedT(e,t,n),Kt=(r,e,t,n)=>b.useCallback(Ce(r,e,t,n),[r,e,t,n]),pe=(r,e={})=>{const{i18n:t}=e,{i18n:n,defaultNS:i}=b.useContext(Ne)||{},s=t||n||At();if(s&&!s.reportNamespaces&&(s.reportNamespaces=new Vt),!s){he(s,"NO_I18NEXT_INSTANCE","useTranslation: You will need to pass in an i18next instance by using initReactI18next");const k=(P,O)=>B(O)?O:jt(O)&&B(O.defaultValue)?O.defaultValue:Array.isArray(P)?P[P.length-1]:P,L=[k,{},!1];return L.t=k,L.i18n={},L.ready=!1,L}s.options.react?.wait&&he(s,"DEPRECATED_OPTION","useTranslation: It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const a={...Dt(),...s.options.react,...e},{useSuspense:o,keyPrefix:c}=a;let l=i||s.options?.defaultNS;l=B(l)?[l]:l||["translation"],s.reportNamespaces.addUsedNamespaces?.(l);const u=(s.isInitialized||s.initializedStoreOnce)&&l.every(k=>Ct(k,s,a)),d=Kt(s,e.lng||null,a.nsMode==="fallback"?l:l[0],c),h=()=>d,f=()=>Ce(s,e.lng||null,a.nsMode==="fallback"?l:l[0],c),[p,y]=b.useState(h);let v=l.join();e.lng&&(v=`${e.lng}${v}`);const S=Ht(v),w=b.useRef(!0);b.useEffect(()=>{const{bindI18n:k,bindI18nStore:L}=a;w.current=!0,!u&&!o&&(e.lng?Pe(s,e.lng,l,()=>{w.current&&y(f)}):fe(s,l,()=>{w.current&&y(f)})),u&&S&&S!==v&&w.current&&y(f);const P=()=>{w.current&&y(f)};return k&&s?.on(k,P),L&&s?.store.on(L,P),()=>{w.current=!1,s&&k&&k?.split(" ").forEach(O=>s.off(O,P)),L&&s&&L.split(" ").forEach(O=>s.store.off(O,P))}},[s,v]),b.useEffect(()=>{w.current&&u&&y(h)},[s,c,u]);const E=[p,s,u];if(E.t=p,E.i18n=s,E.ready=u,u||!u&&!o)return E;throw new Promise(k=>{e.lng?Pe(s,e.lng,l,()=>k()):fe(s,l,()=>k())})};function Bt({i18n:r,defaultNS:e,children:t}){const n=b.useMemo(()=>({i18n:r,defaultNS:e}),[r,e]);return b.createElement(Ne.Provider,{value:n},t)}var me={exports:{}},W={};/**
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 Me;function Ut(){if(Me)return Y;Me=1;var r=b,e=Symbol.for("react.element"),t=Symbol.for("react.fragment"),n=Object.prototype.hasOwnProperty,i=r.__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:i.current}}return Y.Fragment=t,Y.jsx=a,Y.jsxs=a,Y}var De;function Wt(){return De||(De=1,we.exports=Ut()),we.exports}var m=Wt();const Zt=({step:r,form:e,formState:t,onDismiss:n,onNextStep:i,onPreviousStep:s,onUpdateResponse:a})=>{const{t:o}=be(),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)})(r);if((l==null?void 0:l.type)==="start"){const{title:u,description:d,image:h,includeOptOut:f,customStartButton:g,startButtonText:y,customOptOutButton:w,optOutButtonText:S}=l.transition;return m.jsx(fn,{title:u,description:d,icon:e.icon,image:h,quitText:f?w?S:o("Quit"):void 0,onQuit:f?()=>n(t):void 0,startText:g?y:o("Start"),onStart:i})}if((l==null?void 0:l.type)==="end"){const{title:u,description:d,image:h,customEndButton:f,endButtonText:g,customEndButtonLink:y,endButtonLink:w}=l.transition;return m.jsx(hn,{title:u,description:d,icon:e.icon,image:h,quitText:f?g:o("Done"),onQuit:i,externalLink:y?w: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:w}=u,S=t.responses[u.id]||[],L=(y?S.length<=y||y===4:!0)&&(w?S.length>0:!0);return m.jsx(cn,{title:d,description:h,image:f,alternatives:g,onPrevious:s,onNext:i,icon:e.icon,maxAlternatives:y,onQuit:()=>n(t),selectedAlternatives:S,onAlternativeSelect:E=>{if(y>1){const j=S,K=j.includes(E)?j.filter(R=>R!==E):y&&j.length>=y&&y!=4?j:[...j,E];a(u.id,K)}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:w}=u,S=t.responses[u.id]||"",L=(y&&g?S.length<=g:!0)&&(w?S.length>0:!0);return m.jsx(dn,{title:d,icon:e.icon,description:h,onNext:i,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},Jt=({form:r,onDismiss:e,onComplete:t,zIndex:n=100})=>{const s=(r.startTransition?1:0)+r.questions.length+(r.endTransition?1:0)-1,[a,o]=b.useState({responses:{},currentStep:0,startedAt:new Date}),c=b.useCallback((h,f)=>{o(g=>({...g,responses:{...g.responses,[h]:f}}))},[]),l=b.useCallback(h=>{o(f=>({...f,currentStep:h}))},[]),u=b.useCallback(()=>{if(a.currentStep<s)l(a.currentStep+1);else{const h={...a,completedAt:new Date};t(h)}},[a,s,l,t]),d=b.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(Zt,{step:a.currentStep,form:r,formState:a,onDismiss:e,onNextStep:u,onPreviousStep:d,onUpdateResponse:c})})},Gt=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"}))]]),Yt=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"}))]]),Xt=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"}))]]),Qt=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"}))]]),$e=b.createContext({color:"currentColor",size:"1em",weight:"regular",mirrored:!1}),X=p.forwardRef((r,e)=>{const{alt:t,color:n,size:i,weight:s,mirrored:a,children:o,weights:c,...l}=r,{color:u="currentColor",size:d,weight:h="regular",mirrored:f=!1,...g}=p.useContext($e);return p.createElement("svg",{ref:e,xmlns:"http://www.w3.org/2000/svg",width:i??d,height:i??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))});X.displayName="IconBase";const Ae=p.forwardRef((r,e)=>p.createElement(X,{ref:e,...r,weights:Gt}));Ae.displayName="ArrowSquareOutIcon";const Ve=p.forwardRef((r,e)=>p.createElement(X,{ref:e,...r,weights:Yt}));Ve.displayName="CaretLeftIcon";const Ie=p.forwardRef((r,e)=>p.createElement(X,{ref:e,...r,weights:Xt}));Ie.displayName="CaretRightIcon";const le=p.forwardRef((r,e)=>p.createElement(X,{ref:e,...r,weights:Qt}));le.displayName="XIcon";var He={exports:{}},Q={};/**
9
+ */var je;function qt(){if(je)return W;je=1;var r=b,e=Symbol.for("react.element"),t=Symbol.for("react.fragment"),n=Object.prototype.hasOwnProperty,i=r.__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:i.current}}return W.Fragment=t,W.jsx=a,W.jsxs=a,W}var Te;function zt(){return Te||(Te=1,me.exports=qt()),me.exports}var m=zt();const _t=({step:r,form:e,formState:t,onDismiss:n,onNextStep:i,onPreviousStep:s,onUpdateResponse:a})=>{const{t:o}=pe(),l=(u=>{let d=0;if(e.startTransition){if(u===d)return{type:"start",transition:e.startTransition,hasPreviousStep:!1,hasNextStep:e.questions.length>0||!!e.endTransition};d++}const h=u-d;if(h>=0&&h<e.questions.length)return{type:"question",questionIndex:h,question:e.questions[h],hasPreviousStep:u>0,hasNextStep:u<e.questions.length-1||!!e.endTransition};if(d+=e.questions.length,e.endTransition&&u===d)return{type:"end",transition:e.endTransition,hasPreviousStep:u>0,hasNextStep:!1};throw new Error("Invalid step order")})(r);if(l.type==="start"){const{title:u,description:d,image:h,includeOptOut:f,customStartButton:p,startButtonText:y,customOptOutButton:v,optOutButtonText:S}=l.transition;return m.jsx(un,{title:u,description:d,icon:e.icon,image:h,quitText:f?v?S:o("Quit"):void 0,onQuit:f?()=>n(t):void 0,startText:p?y:o("Start"),onStart:i})}if(l.type==="end"){const{title:u,description:d,image:h,customEndButton:f,endButtonText:p,customEndButtonLink:y,endButtonLink:v}=l.transition;return m.jsx(cn,{title:u,description:d,icon:e.icon,image:h,quitText:f?p:o("Done"),onQuit:i,externalLink:y?v:void 0})}if(l.type==="question"){const{question:u}=l;if(!u)throw new Error("No question found");if(u.questionType==="choice"){const{title:d,description:h,image:f,alternatives:p,maxSelections:y,required:v}=u,S=t.responses[u.id]||[],w=(y?S.length<=y||y===4:!0)&&(v?S.length>0:!0);return m.jsx(an,{title:d,description:h,image:f,alternatives:p,onPrevious:s,onNext:i,icon:e.icon,maxAlternatives:y,onQuit:()=>n(t),selectedAlternatives:S,onAlternativeSelect:E=>{if(y>1){const L=S,P=L.includes(E)?L.filter(O=>O!==E):y&&L.length>=y&&y!=4?L:[...L,E];a(u.id,P)}else S.includes(E)?a(u.id,[]):a(u.id,[E])},isValid:w,hasPreviousStep:l.hasPreviousStep,hasNextStep:l.hasNextStep})}if(u.questionType==="text"){const{title:d,description:h,image:f,maxChars:p,limited:y,required:v}=u,S=t.responses[u.id]||"",w=(y&&p?S.length<=p:!0)&&(v?S.length>0:!0);return m.jsx(ln,{title:d,icon:e.icon,description:h,onNext:i,onPrevious:s,onQuit:()=>n(t),image:f,maxCharacters:y?p:void 0,inputText:S,setInputText:E=>{y&&p&&E.length>p||a(u.id,E)},isValid:w,hasPreviousStep:l.hasPreviousStep,hasNextStep:l.hasNextStep})}}return null},Ut=({form:r,onDismiss:e,onComplete:t,zIndex:n=100})=>{const s=(r.startTransition?1:0)+r.questions.length+(r.endTransition?1:0)-1,[a,o]=b.useState({responses:{},currentStep:0,startedAt:new Date}),c=b.useCallback((h,f)=>{o(p=>({...p,responses:{...p.responses,[h]:f}}))},[]),l=b.useCallback(h=>{o(f=>({...f,currentStep:h}))},[]),u=b.useCallback(()=>{if(a.currentStep<s)l(a.currentStep+1);else{const h={...a,completedAt:new Date};t(h)}},[a,s,l,t]),d=b.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(_t,{step:a.currentStep,form:r,formState:a,onDismiss:e,onNextStep:u,onPreviousStep:d,onUpdateResponse:c})})},Wt=new Map([["bold",g.createElement(g.Fragment,null,g.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",g.createElement(g.Fragment,null,g.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"}),g.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",g.createElement(g.Fragment,null,g.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",g.createElement(g.Fragment,null,g.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",g.createElement(g.Fragment,null,g.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",g.createElement(g.Fragment,null,g.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"}))]]),Zt=new Map([["bold",g.createElement(g.Fragment,null,g.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",g.createElement(g.Fragment,null,g.createElement("path",{d:"M160,48V208L80,128Z",opacity:"0.2"}),g.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",g.createElement(g.Fragment,null,g.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",g.createElement(g.Fragment,null,g.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",g.createElement(g.Fragment,null,g.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",g.createElement(g.Fragment,null,g.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"}))]]),Jt=new Map([["bold",g.createElement(g.Fragment,null,g.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",g.createElement(g.Fragment,null,g.createElement("path",{d:"M176,128,96,208V48Z",opacity:"0.2"}),g.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",g.createElement(g.Fragment,null,g.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",g.createElement(g.Fragment,null,g.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",g.createElement(g.Fragment,null,g.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",g.createElement(g.Fragment,null,g.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"}))]]),Qt=new Map([["bold",g.createElement(g.Fragment,null,g.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",g.createElement(g.Fragment,null,g.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"}),g.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",g.createElement(g.Fragment,null,g.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",g.createElement(g.Fragment,null,g.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",g.createElement(g.Fragment,null,g.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",g.createElement(g.Fragment,null,g.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"}))]]),Re=b.createContext({color:"currentColor",size:"1em",weight:"regular",mirrored:!1}),Z=g.forwardRef((r,e)=>{const{alt:t,color:n,size:i,weight:s,mirrored:a,children:o,weights:c,...l}=r,{color:u="currentColor",size:d,weight:h="regular",mirrored:f=!1,...p}=g.useContext(Re);return g.createElement("svg",{ref:e,xmlns:"http://www.w3.org/2000/svg",width:i??d,height:i??d,fill:n??u,viewBox:"0 0 256 256",transform:a||f?"scale(-1, 1)":void 0,...p,...l},!!t&&g.createElement("title",null,t),o,c.get(s??h))});Z.displayName="IconBase";const Fe=g.forwardRef((r,e)=>g.createElement(Z,{ref:e,...r,weights:Wt}));Fe.displayName="ArrowSquareOutIcon";const Me=g.forwardRef((r,e)=>g.createElement(Z,{ref:e,...r,weights:Zt}));Me.displayName="CaretLeftIcon";const De=g.forwardRef((r,e)=>g.createElement(Z,{ref:e,...r,weights:Jt}));De.displayName="CaretRightIcon";const re=g.forwardRef((r,e)=>g.createElement(Z,{ref:e,...r,weights:Qt}));re.displayName="XIcon";var $e={exports:{}},J={};/**
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 Be;function en(){if(Be)return Q;Be=1;var r=b,e=Symbol.for("react.element"),t=Symbol.for("react.fragment"),n=Object.prototype.hasOwnProperty,i=r.__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:i.current}}return Q.Fragment=t,Q.jsx=a,Q.jsxs=a,Q}var ze;function tn(){return ze||(ze=1,He.exports=en()),He.exports}var ce=tn();const H=({variant:r="primary",size:e="medium",text:t,iconBefore:n,iconAfter:i,className:s,disabled:a=!1,...o})=>ce.jsx("button",{className:M("flex gap-2 justify-center items-center rounded-lg disabled:pointer-events-none",nn(r),rn(e),s),disabled:a,...o,children:ce.jsxs($e.Provider,{value:{size:e==="xsmall"?8:16,weight:"regular",className:M(Ke(r,a))},children:[n&&n,t&&ce.jsx("span",{className:M(Ke(r,a),sn(e)),children:t}),i&&i]})}),nn=r=>{switch(r){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"}},Ke=(r,e)=>{if(e)return"text-label-tertiary-light dark:text-label-tertiary-dark";switch(r){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"}},rn=r=>{switch(r){case"xsmall":return"p-1";case"small":return"p-2";case"medium":return"p-3"}},sn=r=>{switch(r){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 qe(r){var e,t,n="";if(typeof r=="string"||typeof r=="number")n+=r;else if(typeof r=="object")if(Array.isArray(r)){var i=r.length;for(e=0;e<i;e++)r[e]&&(t=qe(r[e]))&&(n&&(n+=" "),n+=t)}else for(t in r)r[t]&&(n&&(n+=" "),n+=t);return n}function an(){for(var r,e,t=0,n="",i=arguments.length;t<i;t++)(r=arguments[t])&&(e=qe(r))&&(n&&(n+=" "),n+=e);return n}const M=an,B=({children:r,className:e,variant:t="B1",significance:n="primary",as:i})=>{const s=i??on[t],a=_e[t];return ce.jsx(s,{className:M("font-sans",ln[n],e,a),children:r})},_e={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]"},on={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"},ln={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"},Ue=({title:r,icon:e,description:t,image:n,children:i,onPrevious:s,onNext:a,onQuit:o,isValid:c})=>{const{t:l}=be();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(B,{variant:"H2",children:r}),t&&t.trim().replace(/\n{3,}/g,`
17
+ */var Ae;function Gt(){if(Ae)return J;Ae=1;var r=b,e=Symbol.for("react.element"),t=Symbol.for("react.fragment"),n=Object.prototype.hasOwnProperty,i=r.__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:i.current}}return J.Fragment=t,J.jsx=a,J.jsxs=a,J}var Ie;function Yt(){return Ie||(Ie=1,$e.exports=Gt()),$e.exports}var se=Yt();const A=({variant:r="primary",size:e="medium",text:t,iconBefore:n,iconAfter:i,className:s,disabled:a=!1,...o})=>se.jsx("button",{className:T("flex gap-2 justify-center items-center rounded-lg disabled:pointer-events-none",Xt(r),en(e),s),disabled:a,...o,children:se.jsxs(Re.Provider,{value:{size:e==="xsmall"?8:16,weight:"regular",className:T(Ve(r,a))},children:[n&&n,t&&se.jsx("span",{className:T(Ve(r,a),tn(e)),children:t}),i&&i]})}),Xt=r=>{switch(r){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"}},Ve=(r,e)=>{if(e)return"text-label-tertiary-light dark:text-label-tertiary-dark";switch(r){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"}},en=r=>{switch(r){case"xsmall":return"p-1";case"small":return"p-2";case"medium":return"p-3"}},tn=r=>{switch(r){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 He(r){var e,t,n="";if(typeof r=="string"||typeof r=="number")n+=r;else if(typeof r=="object")if(Array.isArray(r)){var i=r.length;for(e=0;e<i;e++)r[e]&&(t=He(r[e]))&&(n&&(n+=" "),n+=t)}else for(t in r)r[t]&&(n&&(n+=" "),n+=t);return n}function nn(){for(var r,e,t=0,n="",i=arguments.length;t<i;t++)(r=arguments[t])&&(e=He(r))&&(n&&(n+=" "),n+=e);return n}const T=nn,I=({children:r,className:e,variant:t="B1",significance:n="primary",as:i})=>{const s=i??rn[t],a=Ke[t];return se.jsx(s,{className:T("font-sans",sn[n],e,a),children:r})},Ke={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]"},rn={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"},sn={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"},Be=({title:r,icon:e,description:t,image:n,children:i,onPrevious:s,onNext:a,onQuit:o,isValid:c,hasPreviousStep:l,hasNextStep:u})=>{const{t:d}=pe();return m.jsxs("div",{className:T("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:T("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(I,{variant:"H2",children:r}),t&&t.trim().replace(/\n{3,}/g,`
18
18
 
19
19
  `).split(`
20
20
 
21
- `).map((u,d)=>m.jsx(B,{significance:"secondary",children:u.trim()},d))]}),i]}),m.jsxs("div",{className:"flex justify-end pt-4 gap-2",children:[m.jsx(H,{variant:"subtle",onClick:s,iconBefore:m.jsx(Ve,{}),disabled:!s,text:l("Previous")}),m.jsx(H,{variant:"subtle",onClick:a,iconAfter:m.jsx(Ie,{}),disabled:!a||!c,text:l("Next")})]}),o&&m.jsx(H,{className:"absolute top-0 right-1 md:top-1",variant:"subtle",size:"small",onClick:o,iconAfter:m.jsx(le,{}),"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"})})})]})},cn=({title:r,icon:e,description:t,image:n,onPrevious:i,onNext:s,onQuit:a,alternatives:o=[],onAlternativeSelect:c,selectedAlternatives:l,maxAlternatives:u,isValid:d})=>m.jsx(Ue,{title:r,icon:e,description:t,image:n,onPrevious:i,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(B,{variant:"B1Button",children:h.text}),m.jsx(un,{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(B,{variant:"B1Button",significance:l.includes(h.id)?"quaternary":"primary",children:h.text})},h.id))})})}),un=({size:r=16,strokeColor:e="currentColor",fillColor:t="none",selected:n=!1})=>{const i=r+1,s=i/2,a=(r-2)/2;return m.jsxs("svg",{width:r,height:r,viewBox:`0 0 ${i} ${i}`,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})]})},dn=({title:r,icon:e,description:t,image:n,onPrevious:i,onNext:s,onQuit:a,inputText:o,setInputText:c,maxCharacters:l,isValid:u})=>{const{t:d}=be();return m.jsx(Ue,{title:r,icon:e,description:t,image:n,onPrevious:i,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(B,{significance:"secondary",children:d("Max {{maxCharacters}} characters",{maxCharacters:l})}),m.jsx(B,{significance:"secondary",children:`${o.length}/${l}`})]}),m.jsxs("div",{className:"flex flex-col relative",children:[m.jsx(B,{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",_e.B1),value:o,onChange:h=>c(h.target.value)})]})]})})},We=({title:r,icon:e,description:t,image:n,children:i,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(B,{variant:"H2",children:r})]}),t&&t.trim().replace(/\n{3,}/g,`
21
+ `).map((h,f)=>m.jsx(I,{significance:"secondary",children:h.trim()},f))]}),i]}),m.jsxs("div",{className:"flex justify-end pt-4 gap-2",children:[l&&m.jsx(A,{variant:"subtle",onClick:s,iconBefore:m.jsx(Me,{}),disabled:!s,text:d("Previous")}),m.jsx(A,{variant:"subtle",onClick:a,iconAfter:m.jsx(De,{}),disabled:!a||!c,text:d(u?"Next":"Submit")})]}),o&&m.jsx(A,{className:"absolute top-0 right-1 md:top-1",variant:"subtle",size:"small",onClick:o,iconAfter:m.jsx(re,{}),"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"})})})]})},an=({title:r,icon:e,description:t,image:n,onPrevious:i,onNext:s,onQuit:a,alternatives:o=[],onAlternativeSelect:c,selectedAlternatives:l,maxAlternatives:u,isValid:d,hasPreviousStep:h,hasNextStep:f})=>m.jsx(Be,{title:r,icon:e,description:t,image:n,onPrevious:i,onNext:s,onQuit:a,isValid:d,hasPreviousStep:h,hasNextStep:f,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(p=>m.jsxs("button",{onClick:()=>c(p.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(I,{variant:"B1Button",children:p.text}),m.jsx(on,{size:20,selected:l.includes(p.id)})]},p.id))}):m.jsx("div",{className:"flex py-3 md:py-4 gap-2 justify-end md:justify-start flex-wrap",children:o.map(p=>m.jsx("button",{onClick:()=>c(p.id),className:T("flex items-center gap-2 p-3 justify-end rounded-lg border",l.includes(p.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(I,{variant:"B1Button",significance:l.includes(p.id)?"quaternary":"primary",children:p.text})},p.id))})})}),on=({size:r=16,strokeColor:e="currentColor",fillColor:t="none",selected:n=!1})=>{const i=r+1,s=i/2,a=(r-2)/2;return m.jsxs("svg",{width:r,height:r,viewBox:`0 0 ${i} ${i}`,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})]})},ln=({title:r,icon:e,description:t,image:n,onPrevious:i,onNext:s,onQuit:a,inputText:o,setInputText:c,maxCharacters:l,isValid:u,hasPreviousStep:d,hasNextStep:h})=>{const{t:f}=pe();return m.jsx(Be,{title:r,icon:e,description:t,image:n,onPrevious:i,onNext:s,onQuit:a,isValid:u,hasPreviousStep:d,hasNextStep:h,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(I,{significance:"secondary",children:f("Max {{maxCharacters}} characters",{maxCharacters:l})}),m.jsx(I,{significance:"secondary",children:`${o.length}/${l}`})]}),m.jsxs("div",{className:"flex flex-col relative",children:[m.jsx(I,{as:"div",className:T("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:f("Type your answer here"),className:T("absolute inset-0 resize-none","overflow-hidden break-words outline-hidden 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",Ke.B1),value:o,onChange:p=>c(p.target.value)})]})]})})},qe=({title:r,icon:e,description:t,image:n,children:i,wrapperClassName:s})=>m.jsxs("div",{className:T("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:T("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(I,{variant:"H2",children:r})]}),t&&t.trim().replace(/\n{3,}/g,`
22
22
 
23
23
  `).split(`
24
24
 
25
- `).map((a,o)=>m.jsx(B,{children:a.trim()},o))]}),i]}),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:r,icon:e,description:t,image:n,quitText:i,onQuit:s,externalLink:a})=>m.jsxs(We,{title:r,icon:e,description:t,image:n,children:[m.jsx("div",{className:"flex justify-end gap-2",children:a?m.jsx(H,{variant:"secondary",text:i,iconAfter:m.jsx(Ae,{}),onClick:()=>{window.open(a,"_blank"),s==null||s()}}):m.jsx(H,{variant:"secondary",onClick:s,text:i})}),s&&m.jsx(H,{className:"absolute -top-2 -right-2 md:-top-4 md:-right-4",variant:"secondary",size:"small",onClick:s,iconAfter:m.jsx(le,{}),"aria-label":"quit"})]}),fn=({title:r,icon:e,description:t,image:n,quitText:i,onQuit:s,startText:a,onStart:o})=>m.jsxs(We,{title:r,icon:e,description:t,image:n,wrapperClassName:"relative",children:[m.jsxs("div",{className:"flex justify-end gap-2",children:[s&&i&&m.jsx(H,{variant:"subtle",text:i,onClick:s}),m.jsx(H,{variant:"secondary",text:a,onClick:o})]}),s&&m.jsx(H,{className:"absolute top-0 right-1 md:top-1",variant:"subtle",size:"small",onClick:s,iconAfter:m.jsx(le,{}),"aria-label":"quit"})]});let Ze={};function gn(){return Ze}function pn(r){Ze=r}const mn={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"}},yn=(r,e,t)=>{let n;const i=mn[r];return typeof i=="string"?n=i:e===1?n=i.one:n=i.other.replace("{{count}}",e.toString()),t!=null&&t.addSuffix?t.comparison&&t.comparison>0?"in "+n:n+" ago":n};function ve(r){return(e={})=>{const t=e.width?String(e.width):r.defaultWidth;return r.formats[t]||r.formats[r.defaultWidth]}}const xn={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},bn=(r,e,t,n)=>xn[r];function ee(r){return(e,t)=>{const n=t!=null&&t.context?String(t.context):"standalone";let i;if(n==="formatting"&&r.formattingValues){const a=r.defaultFormattingWidth||r.defaultWidth,o=t!=null&&t.width?String(t.width):a;i=r.formattingValues[o]||r.formattingValues[a]}else{const a=r.defaultWidth,o=t!=null&&t.width?String(t.width):r.defaultWidth;i=r.values[o]||r.values[a]}const s=r.argumentCallback?r.argumentCallback(e):e;return i[s]}}const wn={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},vn={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},Sn={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"]},kn={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"]},Ln={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"}},En={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"}},On={ordinalNumber:(r,e)=>{const t=Number(r),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"},era:ee({values:wn,defaultWidth:"wide"}),quarter:ee({values:vn,defaultWidth:"wide",argumentCallback:r=>r-1}),month:ee({values:Sn,defaultWidth:"wide"}),day:ee({values:kn,defaultWidth:"wide"}),dayPeriod:ee({values:Ln,defaultWidth:"wide",formattingValues:En,defaultFormattingWidth:"wide"})};function te(r){return(e,t={})=>{const n=t.width,i=n&&r.matchPatterns[n]||r.matchPatterns[r.defaultMatchWidth],s=e.match(i);if(!s)return null;const a=s[0],o=n&&r.parsePatterns[n]||r.parsePatterns[r.defaultParseWidth],c=Array.isArray(o)?Cn(o,d=>d.test(a)):Pn(o,d=>d.test(a));let l;l=r.valueCallback?r.valueCallback(c):c,l=t.valueCallback?t.valueCallback(l):l;const u=e.slice(a.length);return{value:l,rest:u}}}function Pn(r,e){for(const t in r)if(Object.prototype.hasOwnProperty.call(r,t)&&e(r[t]))return t}function Cn(r,e){for(let t=0;t<r.length;t++)if(e(r[t]))return t}function Nn(r){return(e,t={})=>{const n=e.match(r.matchPattern);if(!n)return null;const i=n[0],s=e.match(r.parsePattern);if(!s)return null;let a=r.valueCallback?r.valueCallback(s[0]):s[0];a=t.valueCallback?t.valueCallback(a):a;const o=e.slice(i.length);return{value:a,rest:o}}}const jn=/^(\d+)(th|st|nd|rd)?/i,Tn=/\d+/i,Rn={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},Fn={any:[/^b/i,/^(a|c)/i]},Mn={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},Dn={any:[/1/i,/2/i,/3/i,/4/i]},$n={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},An={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]},Vn={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},In={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]},Hn={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},Bn={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}},zn={ordinalNumber:Nn({matchPattern:jn,parsePattern:Tn,valueCallback:r=>parseInt(r,10)}),era:te({matchPatterns:Rn,defaultMatchWidth:"wide",parsePatterns:Fn,defaultParseWidth:"any"}),quarter:te({matchPatterns:Mn,defaultMatchWidth:"wide",parsePatterns:Dn,defaultParseWidth:"any",valueCallback:r=>r+1}),month:te({matchPatterns:$n,defaultMatchWidth:"wide",parsePatterns:An,defaultParseWidth:"any"}),day:te({matchPatterns:Vn,defaultMatchWidth:"wide",parsePatterns:In,defaultParseWidth:"any"}),dayPeriod:te({matchPatterns:Hn,defaultMatchWidth:"any",parsePatterns:Bn,defaultParseWidth:"any"})};function Kn(r){const e={},t=gn();for(const n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);for(const n in r)Object.prototype.hasOwnProperty.call(r,n)&&(r[n]===void 0?delete e[n]:e[n]=r[n]);pn(e)}const qn={full:"EEEE, d MMMM yyyy",long:"d MMMM yyyy",medium:"d MMM yyyy",short:"dd/MM/yyyy"},_n={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},Un={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Wn={date:ve({formats:qn,defaultWidth:"full"}),time:ve({formats:_n,defaultWidth:"full"}),dateTime:ve({formats:Un,defaultWidth:"full"})},Zn={code:"en-GB",formatDistance:yn,formatLong:Wn,formatRelative:bn,localize:On,match:zn,options:{weekStartsOn:1,firstWeekContainsDate:4}},x=r=>typeof r=="string",ne=()=>{let r,e;const t=new Promise((n,i)=>{r=n,e=i});return t.resolve=r,t.reject=e,t},Je=r=>r==null?"":""+r,Jn=(r,e,t)=>{r.forEach(n=>{e[n]&&(t[n]=e[n])})},Gn=/###/g,Ge=r=>r&&r.indexOf("###")>-1?r.replace(Gn,"."):r,Ye=r=>!r||x(r),ie=(r,e,t)=>{const n=x(e)?e.split("."):e;let i=0;for(;i<n.length-1;){if(Ye(r))return{};const s=Ge(n[i]);!r[s]&&t&&(r[s]=new t),Object.prototype.hasOwnProperty.call(r,s)?r=r[s]:r={},++i}return Ye(r)?{}:{obj:r,k:Ge(n[i])}},Xe=(r,e,t)=>{const{obj:n,k:i}=ie(r,e,Object);if(n!==void 0||e.length===1){n[i]=t;return}let s=e[e.length-1],a=e.slice(0,e.length-1),o=ie(r,a,Object);for(;o.obj===void 0&&a.length;)s=`${a[a.length-1]}.${s}`,a=a.slice(0,a.length-1),o=ie(r,a,Object),o!=null&&o.obj&&typeof o.obj[`${o.k}.${s}`]<"u"&&(o.obj=void 0);o.obj[`${o.k}.${s}`]=t},Yn=(r,e,t,n)=>{const{obj:i,k:s}=ie(r,e,Object);i[s]=i[s]||[],i[s].push(t)},ue=(r,e)=>{const{obj:t,k:n}=ie(r,e);if(t&&Object.prototype.hasOwnProperty.call(t,n))return t[n]},Xn=(r,e,t)=>{const n=ue(r,t);return n!==void 0?n:ue(e,t)},Qe=(r,e,t)=>{for(const n in e)n!=="__proto__"&&n!=="constructor"&&(n in r?x(r[n])||r[n]instanceof String||x(e[n])||e[n]instanceof String?t&&(r[n]=e[n]):Qe(r[n],e[n],t):r[n]=e[n]);return r},Z=r=>r.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var Qn={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};const ei=r=>x(r)?r.replace(/[&<>"'\/]/g,e=>Qn[e]):r;class ti{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 ni=[" ",",","?","!",";"],ii=new ti(20),ri=(r,e,t)=>{e=e||"",t=t||"";const n=ni.filter(a=>e.indexOf(a)<0&&t.indexOf(a)<0);if(n.length===0)return!0;const i=ii.getRegExp(`(${n.map(a=>a==="?"?"\\?":a).join("|")})`);let s=!i.test(r);if(!s){const a=r.indexOf(t);a>0&&!i.test(r.substring(0,a))&&(s=!0)}return s},Se=(r,e,t=".")=>{if(!r)return;if(r[e])return Object.prototype.hasOwnProperty.call(r,e)?r[e]:void 0;const n=e.split(t);let i=r;for(let s=0;s<n.length;){if(!i||typeof i!="object")return;let a,o="";for(let c=s;c<n.length;++c)if(c!==s&&(o+=t),o+=n[c],a=i[o],a!==void 0){if(["string","number","boolean"].indexOf(typeof a)>-1&&c<n.length-1)continue;s+=c-s+1;break}i=a}return i},re=r=>r==null?void 0:r.replace("_","-"),si={type:"logger",log(r){this.output("log",r)},warn(r){this.output("warn",r)},error(r){this.output("error",r)},output(r,e){var t,n;(n=(t=console==null?void 0:console[r])==null?void 0:t.apply)==null||n.call(t,console,e)}};let ai=class Pe{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||"i18next:",this.logger=e||si,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,i){return i&&!this.debug?null:(x(e[0])&&(e[0]=`${n}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new Pe(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return e=e||this.options,e.prefix=e.prefix||this.prefix,new Pe(this.logger,e)}};var A=new ai;class de{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach(n=>{this.observers[n]||(this.observers[n]=new Map);const i=this.observers[n].get(t)||0;this.observers[n].set(t,i+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(([i,s])=>{for(let a=0;a<s;a++)i(...t)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(([i,s])=>{for(let a=0;a<s;a++)i.apply(i,[e,...t])})}}class et extends de{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,i={}){var l,u;const s=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,a=i.ignoreJSONStructure!==void 0?i.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:Se((u=(l=this.data)==null?void 0:l[e])==null?void 0:u[t],n,s)}addResource(e,t,n,i,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("."),i=t,t=o[1]),this.addNamespaces(t),Xe(this.data,o,i),s.silent||this.emit("added",e,t,n,i)}addResources(e,t,n,i={silent:!1}){for(const s in n)(x(n[s])||Array.isArray(n[s]))&&this.addResource(e,t,s,n[s],{silent:!0});i.silent||this.emit("added",e,t,n)}addResourceBundle(e,t,n,i,s,a={silent:!1,skipCopy:!1}){let o=[e,t];e.indexOf(".")>-1&&(o=e.split("."),i=n,n=t,t=o[1]),this.addNamespaces(t);let c=ue(this.data,o)||{};a.skipCopy||(n=JSON.parse(JSON.stringify(n))),i?Qe(c,n,s):c={...c,...n},Xe(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(i=>t[i]&&Object.keys(t[i]).length>0)}toJSON(){return this.data}}var tt={processors:{},addPostProcessor(r){this.processors[r.name]=r},handle(r,e,t,n,i){return r.forEach(s=>{var a;e=((a=this.processors[s])==null?void 0:a.process(e,t,n,i))??e}),e}};const nt=Symbol("i18next/PATH_KEY");function oi(){const r=[],e=Object.create(null);let t;return e.get=(n,i)=>{var s;return(s=t==null?void 0:t.revoke)==null||s.call(t),i===nt?r:(r.push(i),t=Proxy.revocable(n,e),t.proxy)},Proxy.revocable(Object.create(null),e).proxy}function ke(r,e){const{[nt]:t}=r(oi());return t.join((e==null?void 0:e.keySeparator)??".")}const it={},rt=r=>!x(r)&&typeof r!="boolean"&&typeof r!="number";class he extends de{constructor(e,t={}){super(),Jn(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=A.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e,t={interpolation:{}}){const n={...t};if(e==null)return!1;const i=this.resolve(e,n);return(i==null?void 0:i.res)!==void 0}extractFromKey(e,t){let n=t.nsSeparator!==void 0?t.nsSeparator:this.options.nsSeparator;n===void 0&&(n=":");const i=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&&!ri(e,n,i);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!==i||n===i&&this.options.ns.indexOf(l[0])>-1)&&(s=l.shift()),e=l.join(i)}return{key:e,namespaces:x(s)?[s]:s}}translate(e,t,n){let i=typeof t=="object"?{...t}:t;if(typeof i!="object"&&this.options.overloadTranslationOptionHandler&&(i=this.options.overloadTranslationOptionHandler(arguments)),typeof i=="object"&&(i={...i}),i||(i={}),e==null)return"";typeof e=="function"&&(e=ke(e,{...this.options,...i})),Array.isArray(e)||(e=[String(e)]);const s=i.returnDetails!==void 0?i.returnDetails:this.options.returnDetails,a=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,{key:o,namespaces:c}=this.extractFromKey(e[e.length-1],i),l=c[c.length-1];let u=i.nsSeparator!==void 0?i.nsSeparator:this.options.nsSeparator;u===void 0&&(u=":");const d=i.lng||this.language,h=i.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(i)}:`${l}${u}${o}`:s?{res:o,usedKey:o,exactUsedKey:o,usedLng:d,usedNS:l,usedParams:this.getUsedParamsDetails(i)}:o;const f=this.resolve(e,i);let g=f==null?void 0:f.res;const y=(f==null?void 0:f.usedKey)||o,w=(f==null?void 0:f.exactUsedKey)||o,S=["[object Number]","[object Function]","[object RegExp]"],L=i.joinArrays!==void 0?i.joinArrays:this.options.joinArrays,E=!this.i18nFormat||this.i18nFormat.handleAsObject,N=i.count!==void 0&&!x(i.count),j=he.hasDefaultValue(i),K=N?this.pluralResolver.getSuffix(d,i.count,i):"",R=i.ordinal&&N?this.pluralResolver.getSuffix(d,i.count,{ordinal:!1}):"",P=N&&!i.ordinal&&i.count===0,O=P&&i[`defaultValue${this.options.pluralSeparator}zero`]||i[`defaultValue${K}`]||i[`defaultValue${R}`]||i.defaultValue;let k=g;E&&!g&&j&&(k=O);const D=rt(k),Bi=Object.prototype.toString.apply(k);if(E&&k&&D&&S.indexOf(Bi)<0&&!(x(L)&&Array.isArray(k))){if(!i.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const V=this.options.returnedObjectHandler?this.options.returnedObjectHandler(y,k,{...i,ns:c}):`key '${o} (${this.language})' returned an object instead of string.`;return s?(f.res=V,f.usedParams=this.getUsedParamsDetails(i),f):V}if(a){const V=Array.isArray(k),$=V?[]:{},Ot=V?w:y;for(const I in k)if(Object.prototype.hasOwnProperty.call(k,I)){const q=`${Ot}${a}${I}`;j&&!g?$[I]=this.translate(q,{...i,defaultValue:rt(O)?O[I]:void 0,joinArrays:!1,ns:c}):$[I]=this.translate(q,{...i,joinArrays:!1,ns:c}),$[I]===q&&($[I]=k[I])}g=$}}else if(E&&x(L)&&Array.isArray(g))g=g.join(L),g&&(g=this.extendTranslation(g,e,i,n));else{let V=!1,$=!1;!this.isValidLookup(g)&&j&&(V=!0,g=O),this.isValidLookup(g)||($=!0,g=o);const I=(i.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&$?void 0:g,q=j&&O!==g&&this.options.updateMissing;if($||V||q){if(this.logger.log(q?"updateKey":"missingKey",d,l,o,q?O:g),a){const F=this.resolve(o,{...i,keySeparator:!1});F&&F.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 ae=[];const pe=this.languageUtils.getFallbackCodes(this.options.fallbackLng,i.lng||this.language);if(this.options.saveMissingTo==="fallback"&&pe&&pe[0])for(let F=0;F<pe.length;F++)ae.push(pe[F]);else this.options.saveMissingTo==="all"?ae=this.languageUtils.toResolveHierarchy(i.lng||this.language):ae.push(i.lng||this.language);const Pt=(F,U,oe)=>{var Nt;const Ct=j&&oe!==g?oe:I;this.options.missingKeyHandler?this.options.missingKeyHandler(F,l,U,Ct,q,i):(Nt=this.backendConnector)!=null&&Nt.saveMissing&&this.backendConnector.saveMissing(F,l,U,Ct,q,i),this.emit("missingKey",F,l,U,g)};this.options.saveMissing&&(this.options.saveMissingPlurals&&N?ae.forEach(F=>{const U=this.pluralResolver.getSuffixes(F,i);P&&i[`defaultValue${this.options.pluralSeparator}zero`]&&U.indexOf(`${this.options.pluralSeparator}zero`)<0&&U.push(`${this.options.pluralSeparator}zero`),U.forEach(oe=>{Pt([F],o+oe,i[`defaultValue${oe}`]||O)})}):Pt(ae,o,O))}g=this.extendTranslation(g,e,i,f,n),$&&g===o&&this.options.appendNamespaceToMissingKey&&(g=`${l}${u}${o}`),($||V)&&this.options.parseMissingKeyHandler&&(g=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}${u}${o}`:o,V?g:void 0,i))}return s?(f.res=g,f.usedParams=this.getUsedParamsDetails(i),f):g}extendTranslation(e,t,n,i,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||i.usedLng,i.usedNS,i.usedKey,{resolved:i});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||i.usedLng,n),u){const f=e.match(this.interpolator.nestingRegexp),g=f&&f.length;d<g&&(n.nest=!1)}!n.lng&&i&&i.res&&(n.lng=this.language||i.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=tt.handle(o,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...i,usedParams:this.getUsedParamsDetails(n)},...n}:n,this)),e}resolve(e,t={}){let n,i,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;i=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(w=>{var S,L;this.isValidLookup(n)||(o=w,!it[`${y[0]}-${w}`]&&((S=this.utils)!=null&&S.hasLoadedNamespace)&&!((L=this.utils)!=null&&L.hasLoadedNamespace(o))&&(it[`${y[0]}-${w}`]=!0,this.logger.warn(`key "${i}" 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 K;if(this.isValidLookup(n))return;a=E;const N=[u];if((K=this.i18nFormat)!=null&&K.addLookupKeys)this.i18nFormat.addLookupKeys(N,u,E,w,t);else{let R;h&&(R=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&&R.indexOf(O)===0&&N.push(u+R.replace(O,this.options.pluralSeparator)),N.push(u+R),f&&N.push(u+P)),g){const k=`${u}${this.options.contextSeparator||"_"}${t.context}`;N.push(k),h&&(t.ordinal&&R.indexOf(O)===0&&N.push(k+R.replace(O,this.options.pluralSeparator)),N.push(k+R),f&&N.push(k+P))}}let j;for(;j=N.pop();)this.isValidLookup(n)||(s=j,n=this.getResource(E,w,j,t))}))})}),{res:n,usedKey:i,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,i={}){var s;return(s=this.i18nFormat)!=null&&s.getResource?this.i18nFormat.getResource(e,t,n,i):this.resourceStore.getResource(e,t,n,i)}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 i=n?e.replace:e;if(n&&typeof e.count<"u"&&(i.count=e.count),this.options.interpolation.defaultVariables&&(i={...this.options.interpolation.defaultVariables,...i}),!n){i={...i};for(const s of t)delete i[s]}return i}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 st{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=A.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 i=this.formatLanguageCode(n);(!this.options.supportedLngs||this.isSupportedCode(i))&&(t=i)}),!t&&this.options.supportedLngs&&e.forEach(n=>{if(t)return;const i=this.getScriptPartFromCode(n);if(this.isSupportedCode(i))return t=i;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),i=[],s=a=>{a&&(this.isSupportedCode(a)?i.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=>{i.indexOf(a)<0&&s(this.formatLanguageCode(a))}),i}}const at={zero:0,one:1,two:2,few:3,many:4,other:5},ot={select:r=>r===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class li{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=A.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,t){this.rules[e]=t}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){const n=re(e==="dev"?"en":e),i=t.ordinal?"ordinal":"cardinal",s=JSON.stringify({cleanedCode:n,type:i});if(s in this.pluralRulesCache)return this.pluralRulesCache[s];let a;try{a=new Intl.PluralRules(n,{type:i})}catch{if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),ot;if(!e.match(/-|_/))return ot;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(i=>`${t}${i}`)}getSuffixes(e,t={}){let n=this.getRule(e,t);return n||(n=this.getRule("dev",t)),n?n.resolvedOptions().pluralCategories.sort((i,s)=>at[i]-at[s]).map(i=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${i}`):[]}getSuffix(e,t,n={}){const i=this.getRule(e,n);return i?`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${i.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",t,n))}}const lt=(r,e,t,n=".",i=!0)=>{let s=Xn(r,e,t);return!s&&i&&x(t)&&(s=Se(r,t,n),s===void 0&&(s=Se(e,t,n))),s},Le=r=>r.replace(/\$/g,"$$$$");class ci{constructor(e={}){var t;this.logger=A.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:i,prefix:s,prefixEscaped:a,suffix:o,suffixEscaped:c,formatSeparator:l,unescapeSuffix:u,unescapePrefix:d,nestingPrefix:h,nestingPrefixEscaped:f,nestingSuffix:g,nestingSuffixEscaped:y,nestingOptionsSeparator:w,maxReplaces:S,alwaysFormat:L}=e.interpolation;this.escape=t!==void 0?t:ei,this.escapeValue=n!==void 0?n:!0,this.useRawValueToEscape=i!==void 0?i:!1,this.prefix=s?Z(s):a||"{{",this.suffix=o?Z(o):c||"}}",this.formatSeparator=l||",",this.unescapePrefix=u?"":d||"-",this.unescapeSuffix=this.unescapePrefix?"":u||"",this.nestingPrefix=h?Z(h):f||Z("$t("),this.nestingSuffix=g?Z(g):y||Z(")"),this.nestingOptionsSeparator=w||",",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,i){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=lt(t,c,g,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(L,void 0,n,{...i,...t,interpolationkey:g}):L}const y=g.split(this.formatSeparator),w=y.shift().trim(),S=y.join(this.formatSeparator).trim();return this.format(lt(t,c,w,this.options.keySeparator,this.options.ignoreJSONStructure),S,n,{...i,...t,interpolationkey:w})};this.resetRegExp();const u=(i==null?void 0:i.missingInterpolationHandler)||this.options.missingInterpolationHandler,d=((f=i==null?void 0:i.interpolation)==null?void 0:f.skipOnVariables)!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:g=>Le(g)},{regex:this.regexp,safeValue:g=>this.escapeValue?Le(this.escape(g)):Le(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,i);a=x(S)?S:""}else if(i&&Object.prototype.hasOwnProperty.call(i,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=Je(a));const w=g.safeValue(a);if(e=e.replace(s[0],w),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 i,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(;i=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(i[1])?i[1].lastIndexOf("}")+1:i[1].indexOf(this.formatSeparator);if(l!==-1&&(c=i[1].slice(l).split(this.formatSeparator).map(u=>u.trim()).filter(Boolean),i[1]=i[1].slice(0,l)),s=t(o.call(this,i[1].trim(),a),a),s&&i[0]===e&&!x(s))return s;x(s)||(s=Je(s)),s||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${e}`),s=""),c.length&&(s=c.reduce((u,d)=>this.format(u,d,n.lng,{...n,interpolationkey:i[1].trim()}),s.trim())),e=e.replace(i[0],s),this.regexp.lastIndex=0}return e}}const ui=r=>{let e=r.toLowerCase().trim();const t={};if(r.indexOf("(")>-1){const n=r.split("(");e=n[0].toLowerCase().trim();const i=n[1].substring(0,n[1].length-1);e==="currency"&&i.indexOf(":")<0?t.currency||(t.currency=i.trim()):e==="relativetime"&&i.indexOf(":")<0?t.range||(t.range=i.trim()):i.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}},ct=r=>{const e={};return(t,n,i)=>{let s=i;i&&i.interpolationkey&&i.formatParams&&i.formatParams[i.interpolationkey]&&i[i.interpolationkey]&&(s={...s,[i.interpolationkey]:void 0});const a=n+JSON.stringify(s);let o=e[a];return o||(o=r(re(n),i),e[a]=o),o(t)}},di=r=>(e,t,n)=>r(re(t),n)(e);class hi{constructor(e={}){this.logger=A.create("formatter"),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||",";const n=t.cacheInBuiltFormats?ct:di;this.formats={number:n((i,s)=>{const a=new Intl.NumberFormat(i,{...s});return o=>a.format(o)}),currency:n((i,s)=>{const a=new Intl.NumberFormat(i,{...s,style:"currency"});return o=>a.format(o)}),datetime:n((i,s)=>{const a=new Intl.DateTimeFormat(i,{...s});return o=>a.format(o)}),relativetime:n((i,s)=>{const a=new Intl.RelativeTimeFormat(i,{...s});return o=>a.format(o,s.range||"day")}),list:n((i,s)=>{const a=new Intl.ListFormat(i,{...s});return o=>a.format(o)})}}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=ct(t)}format(e,t,n,i={}){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}=ui(c);if(this.formats[l]){let h=o;try{const f=((d=i==null?void 0:i.formatParams)==null?void 0:d[i.interpolationkey])||{},g=f.locale||f.lng||i.locale||i.lng||n;h=this.formats[l](o,g,{...u,...i,...f})}catch(f){this.logger.warn(f)}return h}else this.logger.warn(`there was no format function for ${l}`);return o},e)}}const fi=(r,e)=>{r.pending[e]!==void 0&&(delete r.pending[e],r.pendingCount--)};class gi extends de{constructor(e,t,n,i={}){var s,a;super(),this.backend=e,this.store=t,this.services=n,this.languageUtils=n.languageUtils,this.options=i,this.logger=A.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],(a=(s=this.backend)==null?void 0:s.init)==null||a.call(s,n,i.backend,i)}queueLoad(e,t,n,i){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:i}),{toLoad:Object.keys(s),pending:Object.keys(a),toLoadLanguages:Object.keys(o),toLoadNamespaces:Object.keys(c)}}loaded(e,t,n){const i=e.split("|"),s=i[0],a=i[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=>{Yn(c.loaded,[s],a),fi(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,i=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:i,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&&i<this.maxRetries){setTimeout(()=>{this.read.call(this,e,t,n,i+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={},i){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();x(e)&&(e=this.languageUtils.toResolveHierarchy(e)),x(t)&&(t=[t]);const s=this.queueLoad(e,t,n,i);if(!s.toLoad.length)return s.pending.length||i(),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("|"),i=n[0],s=n[1];this.read(i,s,"read",void 0,void 0,(a,o)=>{a&&this.logger.warn(`${t}loading namespace ${s} for language ${i} failed`,a),!a&&o&&this.logger.log(`${t}loaded namespace ${s} for language ${i}`,o),this.loaded(e,a,o)})}saveMissing(e,t,n,i,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,i,f):y=g(e,t,n,i),y&&typeof y.then=="function"?y.then(w=>o(null,w)).catch(o):o(null,y)}catch(y){o(y)}else g(e,t,n,i,o,f)}!e||!e[0]||this.store.addResource(e[0],t,n,i)}}}const ut=()=>({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:r=>{let e={};if(typeof r[1]=="object"&&(e=r[1]),x(r[1])&&(e.defaultValue=r[1]),x(r[2])&&(e.tDescription=r[2]),typeof r[2]=="object"||typeof r[3]=="object"){const t=r[3]||r[2];Object.keys(t).forEach(n=>{e[n]=t[n]})}return e},interpolation:{escapeValue:!0,format:r=>r,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),dt=r=>{var e,t;return x(r.ns)&&(r.ns=[r.ns]),x(r.fallbackLng)&&(r.fallbackLng=[r.fallbackLng]),x(r.fallbackNS)&&(r.fallbackNS=[r.fallbackNS]),((t=(e=r.supportedLngs)==null?void 0:e.indexOf)==null?void 0:t.call(e,"cimode"))<0&&(r.supportedLngs=r.supportedLngs.concat(["cimode"])),typeof r.initImmediate=="boolean"&&(r.initAsync=r.initImmediate),r},fe=()=>{},pi=r=>{Object.getOwnPropertyNames(Object.getPrototypeOf(r)).forEach(t=>{typeof r[t]=="function"&&(r[t]=r[t].bind(r))})};class se extends de{constructor(e={},t){if(super(),this.options=dt(e),this.services={},this.logger=A,this.modules={external:[]},pi(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=ut();this.options={...n,...this.options,...dt(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 i=l=>l?typeof l=="function"?new l:l:null;if(!this.options.isClone){this.modules.logger?A.init(i(this.modules.logger),this.options):A.init(null,this.options);let l;this.modules.formatter?l=this.modules.formatter:l=hi;const u=new st(this.options);this.store=new et(this.options.resources,this.options);const d=this.services;d.logger=A,d.resourceStore=this.store,d.languageUtils=u,d.pluralResolver=new li(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=i(l),d.formatter.init&&d.formatter.init(d,this.options),this.options.interpolation.format=d.formatter.format.bind(d.formatter)),d.interpolator=new ci(this.options),d.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},d.backendConnector=new gi(i(this.modules.backend),d.resourceStore,d,this.options),d.backendConnector.on("*",(f,...g)=>{this.emit(f,...g)}),this.modules.languageDetector&&(d.languageDetector=i(this.modules.languageDetector),d.languageDetector.init&&d.languageDetector.init(d,this.options.detection,this.options)),this.modules.i18nFormat&&(d.i18nFormat=i(this.modules.i18nFormat),d.i18nFormat.init&&d.i18nFormat.init(this)),this.translator=new he(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=fe),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=ne(),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=fe){var s,a;let n=t;const i=x(e)?e:this.language;if(typeof e=="function"&&(n=e),!this.options.resources||this.options.partialBundledLanguages){if((i==null?void 0:i.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)})};i?c(i):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 i=ne();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=fe),this.services.backendConnector.reload(e,t,s=>{i.resolve(),n(s)}),i}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return e.type==="backend"&&(this.modules.backend=e),(e.type==="logger"||e.log&&e.warn&&e.error)&&(this.modules.logger=e),e.type==="languageDetector"&&(this.modules.languageDetector=e),e.type==="i18nFormat"&&(this.modules.i18nFormat=e),e.type==="postProcessor"&&tt.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=ne();this.emit("languageChanging",e);const i=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&&(i(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||i(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 i=(s,a,...o)=>{let c;typeof a!="object"?c=this.options.overloadTranslationOptionHandler([s,a].concat(o)):c={...a},c.lng=c.lng||i.lng,c.lngs=c.lngs||i.lngs,c.ns=c.ns||i.ns,c.keyPrefix!==""&&(c.keyPrefix=c.keyPrefix||n||i.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)?i.lng=e:i.lngs=e,i.ns=t,i.keyPrefix=n,i}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],i=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)&&(!i||a(s,e)))}loadNamespaces(e,t){const n=ne();return this.options.ns?(x(e)&&(e=[e]),e.forEach(i=>{this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}),this.loadResources(i=>{n.resolve(),t&&t(i)}),n):(t&&t(),Promise.resolve())}loadLanguages(e,t){const n=ne();x(e)&&(e=[e]);const i=this.options.preload||[],s=e.filter(a=>i.indexOf(a)<0&&this.services.languageUtils.isSupportedCode(a));return s.length?(this.options.preload=i.concat(s),this.loadResources(a=>{n.resolve(),t&&t(a)}),n):(t&&t(),Promise.resolve())}dir(e){var i,s;if(e||(e=this.resolvedLanguage||(((i=this.languages)==null?void 0:i.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 st(ut());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 se(e,t)}cloneInstance(e={},t=fe){const n=e.forkResourceStore;n&&delete e.forkResourceStore;const i={...this.options,...e,isClone:!0},s=new se(i);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 et(o,i),s.services.resourceStore=s.store}return s.translator=new he(s.services,i),s.translator.on("*",(o,...c)=>{s.emit(o,...c)}),s.init(i,t),s.translator.options=i,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 T=se.createInstance();T.createInstance=se.createInstance,T.createInstance,T.dir,T.init,T.loadResources,T.reloadResources,T.use,T.changeLanguage,T.getFixedT,T.t,T.exists,T.setDefaultNamespace,T.hasLoadedNamespace,T.loadNamespaces,T.loadLanguages;const{slice:mi,forEach:yi}=[];function xi(r){return yi.call(mi.call(arguments,1),e=>{if(e)for(const t in e)r[t]===void 0&&(r[t]=e[t])}),r}function bi(r){return typeof r!="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(r))}const ht=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,wi=function(r,e){const n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{path:"/"},i=encodeURIComponent(e);let s=`${r}=${i}`;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(!ht.test(n.domain))throw new TypeError("option domain is invalid");s+=`; Domain=${n.domain}`}if(n.path){if(!ht.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},ft={create(r,e,t,n){let i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:"/",sameSite:"strict"};t&&(i.expires=new Date,i.expires.setTime(i.expires.getTime()+t*60*1e3)),n&&(i.domain=n),document.cookie=wi(r,e,i)},read(r){const e=`${r}=`,t=document.cookie.split(";");for(let n=0;n<t.length;n++){let i=t[n];for(;i.charAt(0)===" ";)i=i.substring(1,i.length);if(i.indexOf(e)===0)return i.substring(e.length,i.length)}return null},remove(r,e){this.create(r,"",-1,e)}};var vi={name:"cookie",lookup(r){let{lookupCookie:e}=r;if(e&&typeof document<"u")return ft.read(e)||void 0},cacheUserLanguage(r,e){let{lookupCookie:t,cookieMinutes:n,cookieDomain:i,cookieOptions:s}=e;t&&typeof document<"u"&&ft.create(t,r,n,i,s)}},Si={name:"querystring",lookup(r){var n;let{lookupQuerystring:e}=r,t;if(typeof window<"u"){let{search:i}=window.location;!window.location.search&&((n=window.location.hash)==null?void 0:n.indexOf("?"))>-1&&(i=window.location.hash.substring(window.location.hash.indexOf("?")));const a=i.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}},ki={name:"hash",lookup(r){var i;let{lookupHash:e,lookupFromHashIndex:t}=r,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)?(i=o[typeof t=="number"?t:0])==null?void 0:i.replace("/",""):void 0}}}return n}};let J=null;const gt=()=>{if(J!==null)return J;try{if(J=typeof window<"u"&&window.localStorage!==null,!J)return!1;const r="i18next.translate.boo";window.localStorage.setItem(r,"foo"),window.localStorage.removeItem(r)}catch{J=!1}return J};var Li={name:"localStorage",lookup(r){let{lookupLocalStorage:e}=r;if(e&&gt())return window.localStorage.getItem(e)||void 0},cacheUserLanguage(r,e){let{lookupLocalStorage:t}=e;t&&gt()&&window.localStorage.setItem(t,r)}};let G=null;const pt=()=>{if(G!==null)return G;try{if(G=typeof window<"u"&&window.sessionStorage!==null,!G)return!1;const r="i18next.translate.boo";window.sessionStorage.setItem(r,"foo"),window.sessionStorage.removeItem(r)}catch{G=!1}return G};var Ei={name:"sessionStorage",lookup(r){let{lookupSessionStorage:e}=r;if(e&&pt())return window.sessionStorage.getItem(e)||void 0},cacheUserLanguage(r,e){let{lookupSessionStorage:t}=e;t&&pt()&&window.sessionStorage.setItem(t,r)}},Oi={name:"navigator",lookup(r){const e=[];if(typeof navigator<"u"){const{languages:t,userLanguage:n,language:i}=navigator;if(t)for(let s=0;s<t.length;s++)e.push(t[s]);n&&e.push(n),i&&e.push(i)}return e.length>0?e:void 0}},Pi={name:"htmlTag",lookup(r){let{htmlTag:e}=r,t;const n=e||(typeof document<"u"?document.documentElement:null);return n&&typeof n.getAttribute=="function"&&(t=n.getAttribute("lang")),t}},Ci={name:"path",lookup(r){var i;let{lookupFromPathIndex:e}=r;if(typeof window>"u")return;const t=window.location.pathname.match(/\/([a-zA-Z-]*)/g);return Array.isArray(t)?(i=t[typeof e=="number"?e:0])==null?void 0:i.replace("/",""):void 0}},Ni={name:"subdomain",lookup(r){var i,s;let{lookupFromSubdomainIndex:e}=r;const t=typeof e=="number"?e+1:1,n=typeof window<"u"&&((s=(i=window.location)==null?void 0:i.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 mt=!1;try{document.cookie,mt=!0}catch{}const yt=["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"];mt||yt.splice(1,1);const ji=()=>({order:yt,lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:r=>r});class xt{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=xi(t,this.options||{},ji()),typeof this.options.convertDetectedLanguage=="string"&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=i=>i.replace("-","_")),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=n,this.addDetector(vi),this.addDetector(Si),this.addDetector(Li),this.addDetector(Ei),this.addDetector(Oi),this.addDetector(Pi),this.addDetector(Ci),this.addDetector(Ni),this.addDetector(ki)}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 i=this.detectors[n].lookup(this.options);i&&typeof i=="string"&&(i=[i]),i&&(t=t.concat(i))}}),t=t.filter(n=>n!=null&&!bi(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)}))}}xt.type="languageDetector";const bt={apiBaseUrl:"https://api.nemme.io",debug:!1},Ti={Previous:"Previous",Next:"Next","Type your answer here":"Type your answer here","Max {{maxCharacters}} characters":"Max {{maxCharacters}} characters"},Ri={};Kn({locale:Zn}),T.use(xt).use(Bt).init({debug:bt.debug,fallbackLng:"en",interpolation:{escapeValue:!1},resources:{en:{translation:Ti},nb:{tranlation:Ri}}});const wt={debug:0,info:1,warn:2,error:3};class Ee{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&&wt[e]>=wt[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 Ee({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 vt=new Ee,St=vt.child("network"),Fi=3e4,Mi=(r,e)=>{const t=new URL(r,bt.apiBaseUrl);return e&&Object.entries(e).forEach(([n,i])=>{i!=null&&t.searchParams.append(n,String(i))}),t.toString()},z={async request(r,e={}){const{method:t="GET",headers:n={},body:i,params:s,timeout:a=Fi}=e,o=Mi(r,s),c={"Content-Type":"application/json",Accept:"application/json",...n},l={method:t,headers:c,body:i?JSON.stringify(i):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 w=await h.text();try{f=JSON.parse(w)}catch{f=w}}const y={data:f,status:h.status,statusText:h.statusText,headers:h.headers,ok:h.ok};if(h.ok)y.ok=!0;else{const w=`Request failed with status ${h.status}: ${h.statusText}`;St.error(w,{url:o,method:t,status:h.status,data:y.data}),y.ok=!1,y.error={message:w,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(r,e={}){return this.request(r,{...e,method:"GET"})},async post(r,e,t={}){return this.request(r,{...t,method:"POST",body:e})},async put(r,e,t={}){return this.request(r,{...t,method:"PUT",body:e})},async patch(r,e,t={}){return this.request(r,{...t,method:"PATCH",body:e})},async delete(r,e={}){return this.request(r,{...e,method:"DELETE"})}};class Di{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 i=await z.get(`/external/forms/${e}`,{headers:this.headers});i.ok&&i.data?(this.logger.info(`Form config loaded for: ${e}`,i.data),this.displayForm(i.data,t,n)):this.logger.warn(`No form config found for: ${e}`)}catch(i){this.logger.error(`Failed to fetch form config for: ${e}`,i)}}displayForm(e,t,n){const i=document.createElement("div");i.id="nm",document.body.appendChild(i);const s=W.createRoot(i),a=b.createElement(_t,{i18n:T},b.createElement(Jt,{form:e,onDismiss:async o=>{await t(),s.unmount(),i.remove(),this.logger.info("Form dismissed",o)},onComplete:async o=>{await n(),await this.postFormResponse(e,o),s.unmount(),i.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 z.post(`/external/forms/${e.slug}`,t,{headers:this.headers});this.logger.info("Form response posted",n.data)}}class $i{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 Di(e,t,n)}async loadDeliveries(){try{this.logger.debug("Loading deliveries");const e=await z.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 i=await this.createDeliveryResponse(e);await this.formManager.fetchAndDisplayForm(e.productSlug,async()=>{this.logger.debug(`Form for delivery: ${e.productSlug} was cancelled`),i&&await this.updateDeliveryResponse(e.id,i.id,!0)},async()=>{this.logger.debug(`Form for delivery: ${e.productSlug} was completed`),i&&await this.updateDeliveryResponse(e.id,i.id,!1,!0)})}catch(i){this.logger.error(`Failed to load form for delivery: ${e.productSlug}`,i)}}}matchesUrlPattern(e,t){let n;try{n=new URL(e).pathname}catch{n=e.startsWith("/")?e:`/${e}`}const i=u=>{if(!u)return"/";let d=u.startsWith("/")?u:`/${u}`;return d.length>1&&d.endsWith("/")&&(d=d.slice(0,-1)),d},s=i(n),a=i(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 z.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,i=!1){try{await z.patch(`/external/deliveries/${e}/responses/${t}`,{wasDismissed:n,wasCompleted:i},{headers:this.headers})}catch(s){this.logger.error(`Failed to update delivery response: ${t} for delivery: ${e}`,s)}}async isDeliveryValid(e){try{return(await z.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 Ai{constructor({logger:e,headers:t,sessionId:n,eventDefinitions:i,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=i,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 i=window.location.href,s={sessionId:this.sessionId,eventKey:t,data:n||{},timestamp:new Date().toISOString(),page:i};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,i)}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,i=e.data;if(i)for(const s of Object.keys(i)){const a=i[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 z.post("/external/trackings/track",t,{headers:this.headers})}else await z.post("/external/trackings/batch",e,{headers:this.headers})}}class ge{constructor(e){v(this,"clientKey");v(this,"userIdentifier");v(this,"initialized",!1);v(this,"clientLogger",vt.child("client"));v(this,"headers",{});v(this,"formConfig");v(this,"trackingManager");this.clientKey=e}async init({userIdentifier:e,debug:t=!1,batch:n,formConfig:i}){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=i;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 z.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 $i(this.clientLogger,this.headers,this.formConfig),i=new Ai({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 i.setupPageViewTracking(),await i.trackPageView(),await i.flush()),this.trackingManager=i}}const kt=r=>new ge(r),Lt=b.createContext(void 0),Vi=({clientKey:r,config:e,children:t})=>{const[n,i]=b.useState(null),[s,a]=b.useState(!1),[o,c]=b.useState(null);b.useEffect(()=>{let u=null,d=!1;const h=async()=>{try{const f=new ge(r);if(await f.init(e),d){f.destroy();return}u=f,i(f),a(!0),c(null)}catch(f){d||(c(f instanceof Error?f.message:"Failed to initialize Nemme client"),a(!1))}};return i(null),a(!1),c(null),h(),()=>{d=!0,u&&u.destroy()}},[r,e]);const l={client:n,isInitialized:s,error:o};return m.jsx(Lt.Provider,{value:l,children:t})},Et=()=>{const r=b.useContext(Lt);if(r===void 0)throw new Error("useNemmeContext must be used within a NemmeProvider");return r},Ii=()=>{const{client:r,isInitialized:e,error:t}=Et(),n=b.useCallback(async s=>{if(!r||!e){console.warn("Nemme client not initialized");return}return r.track(s)},[r,e]),i=b.useCallback(async()=>{if(!r||!e){console.warn("Nemme client not initialized");return}return r.flush()},[r,e]);return{track:n,flush:i,isInitialized:e,error:t,client:r}},Hi=r=>kt(r),Oe=Object.assign(r=>Hi(r),{NemmeClient:ge,init:async r=>{const{clientKey:e,...t}=r;return await kt(e).init(t)}});typeof window<"u"&&(window.NemmeSDK=Oe),C.NemmeClient=ge,C.NemmeProvider=Vi,C.NemmeSDK=Oe,C.default=Oe,C.useNemme=Ii,C.useNemmeContext=Et,Object.defineProperties(C,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
25
+ `).map((a,o)=>m.jsx(I,{children:a.trim()},o))]}),i]}),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"})})})]}),cn=({title:r,icon:e,description:t,image:n,quitText:i,onQuit:s,externalLink:a})=>m.jsxs(qe,{title:r,icon:e,description:t,image:n,children:[m.jsx("div",{className:"flex justify-end gap-2",children:a?m.jsx(A,{variant:"secondary",text:i,iconAfter:m.jsx(Fe,{}),onClick:()=>{window.open(a,"_blank"),s()}}):m.jsx(A,{variant:"secondary",onClick:s,text:i})}),a&&m.jsx(A,{className:"absolute -top-2 -right-2 md:-top-4 md:-right-4",variant:"secondary",size:"small",onClick:s,iconAfter:m.jsx(re,{}),"aria-label":"quit"})]}),un=({title:r,icon:e,description:t,image:n,quitText:i,onQuit:s,startText:a,onStart:o})=>m.jsxs(qe,{title:r,icon:e,description:t,image:n,wrapperClassName:"relative",children:[m.jsxs("div",{className:"flex justify-end gap-2",children:[s&&i&&m.jsx(A,{variant:"subtle",text:i,onClick:s}),m.jsx(A,{variant:"secondary",text:a,onClick:o})]}),s&&m.jsx(A,{className:"absolute top-0 right-1 md:top-1",variant:"subtle",size:"small",onClick:s,iconAfter:m.jsx(re,{}),"aria-label":"quit"})]});let ze={};function dn(){return ze}function hn(r){ze=r}const fn={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"}},gn=(r,e,t)=>{let n;const i=fn[r];return typeof i=="string"?n=i:e===1?n=i.one:n=i.other.replace("{{count}}",e.toString()),t?.addSuffix?t.comparison&&t.comparison>0?"in "+n:n+" ago":n};function ye(r){return(e={})=>{const t=e.width?String(e.width):r.defaultWidth;return r.formats[t]||r.formats[r.defaultWidth]}}const pn={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},mn=(r,e,t,n)=>pn[r];function Q(r){return(e,t)=>{const n=t?.context?String(t.context):"standalone";let i;if(n==="formatting"&&r.formattingValues){const a=r.defaultFormattingWidth||r.defaultWidth,o=t?.width?String(t.width):a;i=r.formattingValues[o]||r.formattingValues[a]}else{const a=r.defaultWidth,o=t?.width?String(t.width):r.defaultWidth;i=r.values[o]||r.values[a]}const s=r.argumentCallback?r.argumentCallback(e):e;return i[s]}}const yn={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},xn={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},bn={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"]},vn={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"]},wn={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"}},Sn={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"}},kn={ordinalNumber:(r,e)=>{const t=Number(r),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"},era:Q({values:yn,defaultWidth:"wide"}),quarter:Q({values:xn,defaultWidth:"wide",argumentCallback:r=>r-1}),month:Q({values:bn,defaultWidth:"wide"}),day:Q({values:vn,defaultWidth:"wide"}),dayPeriod:Q({values:wn,defaultWidth:"wide",formattingValues:Sn,defaultFormattingWidth:"wide"})};function G(r){return(e,t={})=>{const n=t.width,i=n&&r.matchPatterns[n]||r.matchPatterns[r.defaultMatchWidth],s=e.match(i);if(!s)return null;const a=s[0],o=n&&r.parsePatterns[n]||r.parsePatterns[r.defaultParseWidth],c=Array.isArray(o)?En(o,d=>d.test(a)):Ln(o,d=>d.test(a));let l;l=r.valueCallback?r.valueCallback(c):c,l=t.valueCallback?t.valueCallback(l):l;const u=e.slice(a.length);return{value:l,rest:u}}}function Ln(r,e){for(const t in r)if(Object.prototype.hasOwnProperty.call(r,t)&&e(r[t]))return t}function En(r,e){for(let t=0;t<r.length;t++)if(e(r[t]))return t}function Pn(r){return(e,t={})=>{const n=e.match(r.matchPattern);if(!n)return null;const i=n[0],s=e.match(r.parsePattern);if(!s)return null;let a=r.valueCallback?r.valueCallback(s[0]):s[0];a=t.valueCallback?t.valueCallback(a):a;const o=e.slice(i.length);return{value:a,rest:o}}}const On=/^(\d+)(th|st|nd|rd)?/i,Nn=/\d+/i,Cn={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},jn={any:[/^b/i,/^(a|c)/i]},Tn={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},Rn={any:[/1/i,/2/i,/3/i,/4/i]},Fn={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},Mn={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]},Dn={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},$n={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]},An={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},In={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}},Vn={ordinalNumber:Pn({matchPattern:On,parsePattern:Nn,valueCallback:r=>parseInt(r,10)}),era:G({matchPatterns:Cn,defaultMatchWidth:"wide",parsePatterns:jn,defaultParseWidth:"any"}),quarter:G({matchPatterns:Tn,defaultMatchWidth:"wide",parsePatterns:Rn,defaultParseWidth:"any",valueCallback:r=>r+1}),month:G({matchPatterns:Fn,defaultMatchWidth:"wide",parsePatterns:Mn,defaultParseWidth:"any"}),day:G({matchPatterns:Dn,defaultMatchWidth:"wide",parsePatterns:$n,defaultParseWidth:"any"}),dayPeriod:G({matchPatterns:An,defaultMatchWidth:"any",parsePatterns:In,defaultParseWidth:"any"})};function Hn(r){const e={},t=dn();for(const n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);for(const n in r)Object.prototype.hasOwnProperty.call(r,n)&&(r[n]===void 0?delete e[n]:e[n]=r[n]);hn(e)}const Kn={full:"EEEE, d MMMM yyyy",long:"d MMMM yyyy",medium:"d MMM yyyy",short:"dd/MM/yyyy"},Bn={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},qn={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},zn={date:ye({formats:Kn,defaultWidth:"full"}),time:ye({formats:Bn,defaultWidth:"full"}),dateTime:ye({formats:qn,defaultWidth:"full"})},_n={code:"en-GB",formatDistance:gn,formatLong:zn,formatRelative:mn,localize:kn,match:Vn,options:{weekStartsOn:1,firstWeekContainsDate:4}},x=r=>typeof r=="string",Y=()=>{let r,e;const t=new Promise((n,i)=>{r=n,e=i});return t.resolve=r,t.reject=e,t},_e=r=>r==null?"":""+r,Un=(r,e,t)=>{r.forEach(n=>{e[n]&&(t[n]=e[n])})},Wn=/###/g,Ue=r=>r&&r.indexOf("###")>-1?r.replace(Wn,"."):r,We=r=>!r||x(r),X=(r,e,t)=>{const n=x(e)?e.split("."):e;let i=0;for(;i<n.length-1;){if(We(r))return{};const s=Ue(n[i]);!r[s]&&t&&(r[s]=new t),Object.prototype.hasOwnProperty.call(r,s)?r=r[s]:r={},++i}return We(r)?{}:{obj:r,k:Ue(n[i])}},Ze=(r,e,t)=>{const{obj:n,k:i}=X(r,e,Object);if(n!==void 0||e.length===1){n[i]=t;return}let s=e[e.length-1],a=e.slice(0,e.length-1),o=X(r,a,Object);for(;o.obj===void 0&&a.length;)s=`${a[a.length-1]}.${s}`,a=a.slice(0,a.length-1),o=X(r,a,Object),o?.obj&&typeof o.obj[`${o.k}.${s}`]<"u"&&(o.obj=void 0);o.obj[`${o.k}.${s}`]=t},Zn=(r,e,t,n)=>{const{obj:i,k:s}=X(r,e,Object);i[s]=i[s]||[],i[s].push(t)},ae=(r,e)=>{const{obj:t,k:n}=X(r,e);if(t&&Object.prototype.hasOwnProperty.call(t,n))return t[n]},Jn=(r,e,t)=>{const n=ae(r,t);return n!==void 0?n:ae(e,t)},Je=(r,e,t)=>{for(const n in e)n!=="__proto__"&&n!=="constructor"&&(n in r?x(r[n])||r[n]instanceof String||x(e[n])||e[n]instanceof String?t&&(r[n]=e[n]):Je(r[n],e[n],t):r[n]=e[n]);return r},z=r=>r.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var Qn={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};const Gn=r=>x(r)?r.replace(/[&<>"'\/]/g,e=>Qn[e]):r;class Yn{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 Xn=[" ",",","?","!",";"],ei=new Yn(20),ti=(r,e,t)=>{e=e||"",t=t||"";const n=Xn.filter(a=>e.indexOf(a)<0&&t.indexOf(a)<0);if(n.length===0)return!0;const i=ei.getRegExp(`(${n.map(a=>a==="?"?"\\?":a).join("|")})`);let s=!i.test(r);if(!s){const a=r.indexOf(t);a>0&&!i.test(r.substring(0,a))&&(s=!0)}return s},xe=(r,e,t=".")=>{if(!r)return;if(r[e])return Object.prototype.hasOwnProperty.call(r,e)?r[e]:void 0;const n=e.split(t);let i=r;for(let s=0;s<n.length;){if(!i||typeof i!="object")return;let a,o="";for(let c=s;c<n.length;++c)if(c!==s&&(o+=t),o+=n[c],a=i[o],a!==void 0){if(["string","number","boolean"].indexOf(typeof a)>-1&&c<n.length-1)continue;s+=c-s+1;break}i=a}return i},ee=r=>r?.replace("_","-"),ni={type:"logger",log(r){this.output("log",r)},warn(r){this.output("warn",r)},error(r){this.output("error",r)},output(r,e){console?.[r]?.apply?.(console,e)}};let ii=class ke{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||"i18next:",this.logger=e||ni,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,i){return i&&!this.debug?null:(x(e[0])&&(e[0]=`${n}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new ke(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return e=e||this.options,e.prefix=e.prefix||this.prefix,new ke(this.logger,e)}};var F=new ii;class oe{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach(n=>{this.observers[n]||(this.observers[n]=new Map);const i=this.observers[n].get(t)||0;this.observers[n].set(t,i+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(([i,s])=>{for(let a=0;a<s;a++)i(...t)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(([i,s])=>{for(let a=0;a<s;a++)i.apply(i,[e,...t])})}}class Qe extends oe{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,i={}){const s=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,a=i.ignoreJSONStructure!==void 0?i.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=ae(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:xe(this.data?.[e]?.[t],n,s)}addResource(e,t,n,i,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("."),i=t,t=o[1]),this.addNamespaces(t),Ze(this.data,o,i),s.silent||this.emit("added",e,t,n,i)}addResources(e,t,n,i={silent:!1}){for(const s in n)(x(n[s])||Array.isArray(n[s]))&&this.addResource(e,t,s,n[s],{silent:!0});i.silent||this.emit("added",e,t,n)}addResourceBundle(e,t,n,i,s,a={silent:!1,skipCopy:!1}){let o=[e,t];e.indexOf(".")>-1&&(o=e.split("."),i=n,n=t,t=o[1]),this.addNamespaces(t);let c=ae(this.data,o)||{};a.skipCopy||(n=JSON.parse(JSON.stringify(n))),i?Je(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(i=>t[i]&&Object.keys(t[i]).length>0)}toJSON(){return this.data}}var Ge={processors:{},addPostProcessor(r){this.processors[r.name]=r},handle(r,e,t,n,i){return r.forEach(s=>{e=this.processors[s]?.process(e,t,n,i)??e}),e}};const Ye=Symbol("i18next/PATH_KEY");function ri(){const r=[],e=Object.create(null);let t;return e.get=(n,i)=>(t?.revoke?.(),i===Ye?r:(r.push(i),t=Proxy.revocable(n,e),t.proxy)),Proxy.revocable(Object.create(null),e).proxy}function be(r,e){const{[Ye]:t}=r(ri());return t.join(e?.keySeparator??".")}const Xe={},et=r=>!x(r)&&typeof r!="boolean"&&typeof r!="number";class le extends oe{constructor(e,t={}){super(),Un(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=F.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e,t={interpolation:{}}){const n={...t};return e==null?!1:this.resolve(e,n)?.res!==void 0}extractFromKey(e,t){let n=t.nsSeparator!==void 0?t.nsSeparator:this.options.nsSeparator;n===void 0&&(n=":");const i=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&&!ti(e,n,i);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!==i||n===i&&this.options.ns.indexOf(l[0])>-1)&&(s=l.shift()),e=l.join(i)}return{key:e,namespaces:x(s)?[s]:s}}translate(e,t,n){let i=typeof t=="object"?{...t}:t;if(typeof i!="object"&&this.options.overloadTranslationOptionHandler&&(i=this.options.overloadTranslationOptionHandler(arguments)),typeof i=="object"&&(i={...i}),i||(i={}),e==null)return"";typeof e=="function"&&(e=be(e,{...this.options,...i})),Array.isArray(e)||(e=[String(e)]);const s=i.returnDetails!==void 0?i.returnDetails:this.options.returnDetails,a=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator,{key:o,namespaces:c}=this.extractFromKey(e[e.length-1],i),l=c[c.length-1];let u=i.nsSeparator!==void 0?i.nsSeparator:this.options.nsSeparator;u===void 0&&(u=":");const d=i.lng||this.language,h=i.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(d?.toLowerCase()==="cimode")return h?s?{res:`${l}${u}${o}`,usedKey:o,exactUsedKey:o,usedLng:d,usedNS:l,usedParams:this.getUsedParamsDetails(i)}:`${l}${u}${o}`:s?{res:o,usedKey:o,exactUsedKey:o,usedLng:d,usedNS:l,usedParams:this.getUsedParamsDetails(i)}:o;const f=this.resolve(e,i);let p=f?.res;const y=f?.usedKey||o,v=f?.exactUsedKey||o,S=["[object Number]","[object Function]","[object RegExp]"],w=i.joinArrays!==void 0?i.joinArrays:this.options.joinArrays,E=!this.i18nFormat||this.i18nFormat.handleAsObject,k=i.count!==void 0&&!x(i.count),L=le.hasDefaultValue(i),P=k?this.pluralResolver.getSuffix(d,i.count,i):"",O=i.ordinal&&k?this.pluralResolver.getSuffix(d,i.count,{ordinal:!1}):"",St=k&&!i.ordinal&&i.count===0,K=St&&i[`defaultValue${this.options.pluralSeparator}zero`]||i[`defaultValue${P}`]||i[`defaultValue${O}`]||i.defaultValue;let M=p;E&&!p&&L&&(M=K);const Ii=et(M),Vi=Object.prototype.toString.apply(M);if(E&&M&&Ii&&S.indexOf(Vi)<0&&!(x(w)&&Array.isArray(M))){if(!i.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,M,{...i,ns:c}):`key '${o} (${this.language})' returned an object instead of string.`;return s?(f.res=D,f.usedParams=this.getUsedParamsDetails(i),f):D}if(a){const D=Array.isArray(M),R=D?[]:{},kt=D?v:y;for(const $ in M)if(Object.prototype.hasOwnProperty.call(M,$)){const H=`${kt}${a}${$}`;L&&!p?R[$]=this.translate(H,{...i,defaultValue:et(K)?K[$]:void 0,joinArrays:!1,ns:c}):R[$]=this.translate(H,{...i,joinArrays:!1,ns:c}),R[$]===H&&(R[$]=M[$])}p=R}}else if(E&&x(w)&&Array.isArray(p))p=p.join(w),p&&(p=this.extendTranslation(p,e,i,n));else{let D=!1,R=!1;!this.isValidLookup(p)&&L&&(D=!0,p=K),this.isValidLookup(p)||(R=!0,p=o);const $=(i.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&R?void 0:p,H=L&&K!==p&&this.options.updateMissing;if(R||D||H){if(this.logger.log(H?"updateKey":"missingKey",d,l,o,H?K:p),a){const j=this.resolve(o,{...i,keySeparator:!1});j&&j.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 ne=[];const de=this.languageUtils.getFallbackCodes(this.options.fallbackLng,i.lng||this.language);if(this.options.saveMissingTo==="fallback"&&de&&de[0])for(let j=0;j<de.length;j++)ne.push(de[j]);else this.options.saveMissingTo==="all"?ne=this.languageUtils.toResolveHierarchy(i.lng||this.language):ne.push(i.lng||this.language);const Lt=(j,q,ie)=>{const Et=L&&ie!==p?ie:$;this.options.missingKeyHandler?this.options.missingKeyHandler(j,l,q,Et,H,i):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(j,l,q,Et,H,i),this.emit("missingKey",j,l,q,p)};this.options.saveMissing&&(this.options.saveMissingPlurals&&k?ne.forEach(j=>{const q=this.pluralResolver.getSuffixes(j,i);St&&i[`defaultValue${this.options.pluralSeparator}zero`]&&q.indexOf(`${this.options.pluralSeparator}zero`)<0&&q.push(`${this.options.pluralSeparator}zero`),q.forEach(ie=>{Lt([j],o+ie,i[`defaultValue${ie}`]||K)})}):Lt(ne,o,K))}p=this.extendTranslation(p,e,i,f,n),R&&p===o&&this.options.appendNamespaceToMissingKey&&(p=`${l}${u}${o}`),(R||D)&&this.options.parseMissingKeyHandler&&(p=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}${u}${o}`:o,D?p:void 0,i))}return s?(f.res=p,f.usedParams=this.getUsedParamsDetails(i),f):p}extendTranslation(e,t,n,i,s){if(this.i18nFormat?.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...n},n.lng||this.language||i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!n.skipInterpolation){n.interpolation&&this.interpolator.init({...n,interpolation:{...this.options.interpolation,...n.interpolation}});const c=x(e)&&(n?.interpolation?.skipOnVariables!==void 0?n.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let l;if(c){const d=e.match(this.interpolator.nestingRegexp);l=d&&d.length}let u=n.replace&&!x(n.replace)?n.replace:n;if(this.options.interpolation.defaultVariables&&(u={...this.options.interpolation.defaultVariables,...u}),e=this.interpolator.interpolate(e,u,n.lng||this.language||i.usedLng,n),c){const d=e.match(this.interpolator.nestingRegexp),h=d&&d.length;l<h&&(n.nest=!1)}!n.lng&&i&&i.res&&(n.lng=this.language||i.usedLng),n.nest!==!1&&(e=this.interpolator.nest(e,(...d)=>s?.[0]===d[0]&&!n.context?(this.logger.warn(`It seems you are nesting recursively key: ${d[0]} in key: ${t[0]}`),null):this.translate(...d,t),n)),n.interpolation&&this.interpolator.reset()}const a=n.postProcess||this.options.postProcess,o=x(a)?[a]:a;return e!=null&&o?.length&&n.applyPostProcessor!==!1&&(e=Ge.handle(o,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...i,usedParams:this.getUsedParamsDetails(n)},...n}:n,this)),e}resolve(e,t={}){let n,i,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;i=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,p=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(v=>{this.isValidLookup(n)||(o=v,!Xe[`${y[0]}-${v}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(o)&&(Xe[`${y[0]}-${v}`]=!0,this.logger.warn(`key "${i}" 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(S=>{if(this.isValidLookup(n))return;a=S;const w=[u];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(w,u,S,v,t);else{let k;h&&(k=this.pluralResolver.getSuffix(S,t.count,t));const L=`${this.options.pluralSeparator}zero`,P=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(h&&(t.ordinal&&k.indexOf(P)===0&&w.push(u+k.replace(P,this.options.pluralSeparator)),w.push(u+k),f&&w.push(u+L)),p){const O=`${u}${this.options.contextSeparator||"_"}${t.context}`;w.push(O),h&&(t.ordinal&&k.indexOf(P)===0&&w.push(O+k.replace(P,this.options.pluralSeparator)),w.push(O+k),f&&w.push(O+L))}}let E;for(;E=w.pop();)this.isValidLookup(n)||(s=E,n=this.getResource(S,v,E,t))}))})}),{res:n,usedKey:i,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,i={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,t,n,i):this.resourceStore.getResource(e,t,n,i)}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 i=n?e.replace:e;if(n&&typeof e.count<"u"&&(i.count=e.count),this.options.interpolation.defaultVariables&&(i={...this.options.interpolation.defaultVariables,...i}),!n){i={...i};for(const s of t)delete i[s]}return i}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 tt{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=F.create("languageUtils")}getScriptPartFromCode(e){if(e=ee(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=ee(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 i=this.formatLanguageCode(n);(!this.options.supportedLngs||this.isSupportedCode(i))&&(t=i)}),!t&&this.options.supportedLngs&&e.forEach(n=>{if(t)return;const i=this.getScriptPartFromCode(n);if(this.isSupportedCode(i))return t=i;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),i=[],s=a=>{a&&(this.isSupportedCode(a)?i.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=>{i.indexOf(a)<0&&s(this.formatLanguageCode(a))}),i}}const nt={zero:0,one:1,two:2,few:3,many:4,other:5},it={select:r=>r===1?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class si{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=F.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,t){this.rules[e]=t}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){const n=ee(e==="dev"?"en":e),i=t.ordinal?"ordinal":"cardinal",s=JSON.stringify({cleanedCode:n,type:i});if(s in this.pluralRulesCache)return this.pluralRulesCache[s];let a;try{a=new Intl.PluralRules(n,{type:i})}catch{if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),it;if(!e.match(/-|_/))return it;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?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(e,t,n={}){return this.getSuffixes(e,n).map(i=>`${t}${i}`)}getSuffixes(e,t={}){let n=this.getRule(e,t);return n||(n=this.getRule("dev",t)),n?n.resolvedOptions().pluralCategories.sort((i,s)=>nt[i]-nt[s]).map(i=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${i}`):[]}getSuffix(e,t,n={}){const i=this.getRule(e,n);return i?`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${i.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",t,n))}}const rt=(r,e,t,n=".",i=!0)=>{let s=Jn(r,e,t);return!s&&i&&x(t)&&(s=xe(r,t,n),s===void 0&&(s=xe(e,t,n))),s},ve=r=>r.replace(/\$/g,"$$$$");class ai{constructor(e={}){this.logger=F.create("interpolator"),this.options=e,this.format=e?.interpolation?.format||(t=>t),this.init(e)}init(e={}){e.interpolation||(e.interpolation={escapeValue:!0});const{escape:t,escapeValue:n,useRawValueToEscape:i,prefix:s,prefixEscaped:a,suffix:o,suffixEscaped:c,formatSeparator:l,unescapeSuffix:u,unescapePrefix:d,nestingPrefix:h,nestingPrefixEscaped:f,nestingSuffix:p,nestingSuffixEscaped:y,nestingOptionsSeparator:v,maxReplaces:S,alwaysFormat:w}=e.interpolation;this.escape=t!==void 0?t:Gn,this.escapeValue=n!==void 0?n:!0,this.useRawValueToEscape=i!==void 0?i:!1,this.prefix=s?z(s):a||"{{",this.suffix=o?z(o):c||"}}",this.formatSeparator=l||",",this.unescapePrefix=u?"":d||"-",this.unescapeSuffix=this.unescapePrefix?"":u||"",this.nestingPrefix=h?z(h):f||z("$t("),this.nestingSuffix=p?z(p):y||z(")"),this.nestingOptionsSeparator=v||",",this.maxReplaces=S||1e3,this.alwaysFormat=w!==void 0?w:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(t,n)=>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,i){let s,a,o;const c=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},l=f=>{if(f.indexOf(this.formatSeparator)<0){const S=rt(t,c,f,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(S,void 0,n,{...i,...t,interpolationkey:f}):S}const p=f.split(this.formatSeparator),y=p.shift().trim(),v=p.join(this.formatSeparator).trim();return this.format(rt(t,c,y,this.options.keySeparator,this.options.ignoreJSONStructure),v,n,{...i,...t,interpolationkey:y})};this.resetRegExp();const u=i?.missingInterpolationHandler||this.options.missingInterpolationHandler,d=i?.interpolation?.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:f=>ve(f)},{regex:this.regexp,safeValue:f=>this.escapeValue?ve(this.escape(f)):ve(f)}].forEach(f=>{for(o=0;s=f.regex.exec(e);){const p=s[1].trim();if(a=l(p),a===void 0)if(typeof u=="function"){const v=u(e,s,i);a=x(v)?v:""}else if(i&&Object.prototype.hasOwnProperty.call(i,p))a="";else if(d){a=s[0];continue}else this.logger.warn(`missed to pass in variable ${p} for interpolating ${e}`),a="";else!x(a)&&!this.useRawValueToEscape&&(a=_e(a));const y=f.safeValue(a);if(e=e.replace(s[0],y),d?(f.regex.lastIndex+=a.length,f.regex.lastIndex-=s[0].length):f.regex.lastIndex=0,o++,o>=this.maxReplaces)break}}),e}nest(e,t,n={}){let i,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),p=h.match(/"/g);((f?.length??0)%2===0&&!p||p.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(;i=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(i[1])?i[1].lastIndexOf("}")+1:i[1].indexOf(this.formatSeparator);if(l!==-1&&(c=i[1].slice(l).split(this.formatSeparator).map(u=>u.trim()).filter(Boolean),i[1]=i[1].slice(0,l)),s=t(o.call(this,i[1].trim(),a),a),s&&i[0]===e&&!x(s))return s;x(s)||(s=_e(s)),s||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${e}`),s=""),c.length&&(s=c.reduce((u,d)=>this.format(u,d,n.lng,{...n,interpolationkey:i[1].trim()}),s.trim())),e=e.replace(i[0],s),this.regexp.lastIndex=0}return e}}const oi=r=>{let e=r.toLowerCase().trim();const t={};if(r.indexOf("(")>-1){const n=r.split("(");e=n[0].toLowerCase().trim();const i=n[1].substring(0,n[1].length-1);e==="currency"&&i.indexOf(":")<0?t.currency||(t.currency=i.trim()):e==="relativetime"&&i.indexOf(":")<0?t.range||(t.range=i.trim()):i.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}},st=r=>{const e={};return(t,n,i)=>{let s=i;i&&i.interpolationkey&&i.formatParams&&i.formatParams[i.interpolationkey]&&i[i.interpolationkey]&&(s={...s,[i.interpolationkey]:void 0});const a=n+JSON.stringify(s);let o=e[a];return o||(o=r(ee(n),i),e[a]=o),o(t)}},li=r=>(e,t,n)=>r(ee(t),n)(e);class ci{constructor(e={}){this.logger=F.create("formatter"),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||",";const n=t.cacheInBuiltFormats?st:li;this.formats={number:n((i,s)=>{const a=new Intl.NumberFormat(i,{...s});return o=>a.format(o)}),currency:n((i,s)=>{const a=new Intl.NumberFormat(i,{...s,style:"currency"});return o=>a.format(o)}),datetime:n((i,s)=>{const a=new Intl.DateTimeFormat(i,{...s});return o=>a.format(o)}),relativetime:n((i,s)=>{const a=new Intl.RelativeTimeFormat(i,{...s});return o=>a.format(o,s.range||"day")}),list:n((i,s)=>{const a=new Intl.ListFormat(i,{...s});return o=>a.format(o)})}}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=st(t)}format(e,t,n,i={}){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)=>{const{formatName:l,formatOptions:u}=oi(c);if(this.formats[l]){let d=o;try{const h=i?.formatParams?.[i.interpolationkey]||{},f=h.locale||h.lng||i.locale||i.lng||n;d=this.formats[l](o,f,{...u,...i,...h})}catch(h){this.logger.warn(h)}return d}else this.logger.warn(`there was no format function for ${l}`);return o},e)}}const ui=(r,e)=>{r.pending[e]!==void 0&&(delete r.pending[e],r.pendingCount--)};class di extends oe{constructor(e,t,n,i={}){super(),this.backend=e,this.store=t,this.services=n,this.languageUtils=n.languageUtils,this.options=i,this.logger=F.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(n,i.backend,i)}queueLoad(e,t,n,i){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:i}),{toLoad:Object.keys(s),pending:Object.keys(a),toLoadLanguages:Object.keys(o),toLoadNamespaces:Object.keys(c)}}loaded(e,t,n){const i=e.split("|"),s=i[0],a=i[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=>{Zn(c.loaded,[s],a),ui(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,i=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:i,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&&i<this.maxRetries){setTimeout(()=>{this.read.call(this,e,t,n,i+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={},i){if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();x(e)&&(e=this.languageUtils.toResolveHierarchy(e)),x(t)&&(t=[t]);const s=this.queueLoad(e,t,n,i);if(!s.toLoad.length)return s.pending.length||i(),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("|"),i=n[0],s=n[1];this.read(i,s,"read",void 0,void 0,(a,o)=>{a&&this.logger.warn(`${t}loading namespace ${s} for language ${i} failed`,a),!a&&o&&this.logger.log(`${t}loaded namespace ${s} for language ${i}`,o),this.loaded(e,a,o)})}saveMissing(e,t,n,i,s,a={},o=()=>{}){if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.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(this.backend?.create){const c={...a,isUpdate:s},l=this.backend.create.bind(this.backend);if(l.length<6)try{let u;l.length===5?u=l(e,t,n,i,c):u=l(e,t,n,i),u&&typeof u.then=="function"?u.then(d=>o(null,d)).catch(o):o(null,u)}catch(u){o(u)}else l(e,t,n,i,o,c)}!e||!e[0]||this.store.addResource(e[0],t,n,i)}}}const at=()=>({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:r=>{let e={};if(typeof r[1]=="object"&&(e=r[1]),x(r[1])&&(e.defaultValue=r[1]),x(r[2])&&(e.tDescription=r[2]),typeof r[2]=="object"||typeof r[3]=="object"){const t=r[3]||r[2];Object.keys(t).forEach(n=>{e[n]=t[n]})}return e},interpolation:{escapeValue:!0,format:r=>r,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),ot=r=>(x(r.ns)&&(r.ns=[r.ns]),x(r.fallbackLng)&&(r.fallbackLng=[r.fallbackLng]),x(r.fallbackNS)&&(r.fallbackNS=[r.fallbackNS]),r.supportedLngs?.indexOf?.("cimode")<0&&(r.supportedLngs=r.supportedLngs.concat(["cimode"])),typeof r.initImmediate=="boolean"&&(r.initAsync=r.initImmediate),r),ce=()=>{},hi=r=>{Object.getOwnPropertyNames(Object.getPrototypeOf(r)).forEach(t=>{typeof r[t]=="function"&&(r[t]=r[t].bind(r))})};class te extends oe{constructor(e={},t){if(super(),this.options=ot(e),this.services={},this.logger=F,this.modules={external:[]},hi(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=at();this.options={...n,...this.options,...ot(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 i=l=>l?typeof l=="function"?new l:l:null;if(!this.options.isClone){this.modules.logger?F.init(i(this.modules.logger),this.options):F.init(null,this.options);let l;this.modules.formatter?l=this.modules.formatter:l=ci;const u=new tt(this.options);this.store=new Qe(this.options.resources,this.options);const d=this.services;d.logger=F,d.resourceStore=this.store,d.languageUtils=u,d.pluralResolver=new si(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=i(l),d.formatter.init&&d.formatter.init(d,this.options),this.options.interpolation.format=d.formatter.format.bind(d.formatter)),d.interpolator=new ai(this.options),d.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},d.backendConnector=new di(i(this.modules.backend),d.resourceStore,d,this.options),d.backendConnector.on("*",(f,...p)=>{this.emit(f,...p)}),this.modules.languageDetector&&(d.languageDetector=i(this.modules.languageDetector),d.languageDetector.init&&d.languageDetector.init(d,this.options.detection,this.options)),this.modules.i18nFormat&&(d.i18nFormat=i(this.modules.i18nFormat),d.i18nFormat.init&&d.i18nFormat.init(this)),this.translator=new le(this.services,this.options),this.translator.on("*",(f,...p)=>{this.emit(f,...p)}),this.modules.external.forEach(f=>{f.init&&f.init(this)})}if(this.format=this.options.interpolation.format,t||(t=ce),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=Y(),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=ce){let n=t;const i=x(e)?e:this.language;if(typeof e=="function"&&(n=e),!this.options.resources||this.options.partialBundledLanguages){if(i?.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return n();const s=[],a=o=>{if(!o||o==="cimode")return;this.services.languageUtils.toResolveHierarchy(o).forEach(l=>{l!=="cimode"&&s.indexOf(l)<0&&s.push(l)})};i?a(i):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(c=>a(c)),this.options.preload?.forEach?.(o=>a(o)),this.services.backendConnector.load(s,this.options.ns,o=>{!o&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),n(o)})}else n(null)}reloadResources(e,t,n){const i=Y();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=ce),this.services.backendConnector.reload(e,t,s=>{i.resolve(),n(s)}),i}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return e.type==="backend"&&(this.modules.backend=e),(e.type==="logger"||e.log&&e.warn&&e.error)&&(this.modules.logger=e),e.type==="languageDetector"&&(this.modules.languageDetector=e),e.type==="i18nFormat"&&(this.modules.i18nFormat=e),e.type==="postProcessor"&&Ge.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=Y();this.emit("languageChanging",e);const i=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&&(i(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=>{!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||i(l),this.translator.language||this.translator.changeLanguage(l),this.services.languageDetector?.cacheUserLanguage?.(l)),this.loadResources(l,u=>{s(u,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 i=(s,a,...o)=>{let c;typeof a!="object"?c=this.options.overloadTranslationOptionHandler([s,a].concat(o)):c={...a},c.lng=c.lng||i.lng,c.lngs=c.lngs||i.lngs,c.ns=c.ns||i.ns,c.keyPrefix!==""&&(c.keyPrefix=c.keyPrefix||n||i.keyPrefix);const l=this.options.keySeparator||".";let u;return c.keyPrefix&&Array.isArray(s)?u=s.map(d=>(typeof d=="function"&&(d=be(d,{...this.options,...a})),`${c.keyPrefix}${l}${d}`)):(typeof s=="function"&&(s=be(s,{...this.options,...a})),u=c.keyPrefix?`${c.keyPrefix}${l}${s}`:s),this.t(u,c)};return x(e)?i.lng=e:i.lngs=e,i.ns=t,i.keyPrefix=n,i}t(...e){return this.translator?.translate(...e)}exists(...e){return this.translator?.exists(...e)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e,t={}){if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;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],i=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)&&(!i||a(s,e)))}loadNamespaces(e,t){const n=Y();return this.options.ns?(x(e)&&(e=[e]),e.forEach(i=>{this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}),this.loadResources(i=>{n.resolve(),t&&t(i)}),n):(t&&t(),Promise.resolve())}loadLanguages(e,t){const n=Y();x(e)&&(e=[e]);const i=this.options.preload||[],s=e.filter(a=>i.indexOf(a)<0&&this.services.languageUtils.isSupportedCode(a));return s.length?(this.options.preload=i.concat(s),this.loadResources(a=>{n.resolve(),t&&t(a)}),n):(t&&t(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!e)return"rtl";try{const i=new Intl.Locale(e);if(i&&i.getTextInfo){const s=i.getTextInfo();if(s&&s.direction)return s.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=this.services?.languageUtils||new tt(at());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 te(e,t)}cloneInstance(e={},t=ce){const n=e.forkResourceStore;n&&delete e.forkResourceStore;const i={...this.options,...e,isClone:!0},s=new te(i);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 Qe(o,i),s.services.resourceStore=s.store}return s.translator=new le(s.services,i),s.translator.on("*",(o,...c)=>{s.emit(o,...c)}),s.init(i,t),s.translator.options=i,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 N=te.createInstance();N.createInstance=te.createInstance,N.createInstance,N.dir,N.init,N.loadResources,N.reloadResources,N.use,N.changeLanguage,N.getFixedT,N.t,N.exists,N.setDefaultNamespace,N.hasLoadedNamespace,N.loadNamespaces,N.loadLanguages;const{slice:fi,forEach:gi}=[];function pi(r){return gi.call(fi.call(arguments,1),e=>{if(e)for(const t in e)r[t]===void 0&&(r[t]=e[t])}),r}function mi(r){return typeof r!="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(r))}const lt=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,yi=function(r,e){const n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{path:"/"},i=encodeURIComponent(e);let s=`${r}=${i}`;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(!lt.test(n.domain))throw new TypeError("option domain is invalid");s+=`; Domain=${n.domain}`}if(n.path){if(!lt.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},ct={create(r,e,t,n){let i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:"/",sameSite:"strict"};t&&(i.expires=new Date,i.expires.setTime(i.expires.getTime()+t*60*1e3)),n&&(i.domain=n),document.cookie=yi(r,e,i)},read(r){const e=`${r}=`,t=document.cookie.split(";");for(let n=0;n<t.length;n++){let i=t[n];for(;i.charAt(0)===" ";)i=i.substring(1,i.length);if(i.indexOf(e)===0)return i.substring(e.length,i.length)}return null},remove(r,e){this.create(r,"",-1,e)}};var xi={name:"cookie",lookup(r){let{lookupCookie:e}=r;if(e&&typeof document<"u")return ct.read(e)||void 0},cacheUserLanguage(r,e){let{lookupCookie:t,cookieMinutes:n,cookieDomain:i,cookieOptions:s}=e;t&&typeof document<"u"&&ct.create(t,r,n,i,s)}},bi={name:"querystring",lookup(r){let{lookupQuerystring:e}=r,t;if(typeof window<"u"){let{search:n}=window.location;!window.location.search&&window.location.hash?.indexOf("?")>-1&&(n=window.location.hash.substring(window.location.hash.indexOf("?")));const s=n.substring(1).split("&");for(let a=0;a<s.length;a++){const o=s[a].indexOf("=");o>0&&s[a].substring(0,o)===e&&(t=s[a].substring(o+1))}}return t}},vi={name:"hash",lookup(r){let{lookupHash:e,lookupFromHashIndex:t}=r,n;if(typeof window<"u"){const{hash:i}=window.location;if(i&&i.length>2){const s=i.substring(1);if(e){const a=s.split("&");for(let o=0;o<a.length;o++){const c=a[o].indexOf("=");c>0&&a[o].substring(0,c)===e&&(n=a[o].substring(c+1))}}if(n)return n;if(!n&&t>-1){const a=i.match(/\/([a-zA-Z-]*)/g);return Array.isArray(a)?a[typeof t=="number"?t:0]?.replace("/",""):void 0}}}return n}};let _=null;const ut=()=>{if(_!==null)return _;try{if(_=typeof window<"u"&&window.localStorage!==null,!_)return!1;const r="i18next.translate.boo";window.localStorage.setItem(r,"foo"),window.localStorage.removeItem(r)}catch{_=!1}return _};var wi={name:"localStorage",lookup(r){let{lookupLocalStorage:e}=r;if(e&&ut())return window.localStorage.getItem(e)||void 0},cacheUserLanguage(r,e){let{lookupLocalStorage:t}=e;t&&ut()&&window.localStorage.setItem(t,r)}};let U=null;const dt=()=>{if(U!==null)return U;try{if(U=typeof window<"u"&&window.sessionStorage!==null,!U)return!1;const r="i18next.translate.boo";window.sessionStorage.setItem(r,"foo"),window.sessionStorage.removeItem(r)}catch{U=!1}return U};var Si={name:"sessionStorage",lookup(r){let{lookupSessionStorage:e}=r;if(e&&dt())return window.sessionStorage.getItem(e)||void 0},cacheUserLanguage(r,e){let{lookupSessionStorage:t}=e;t&&dt()&&window.sessionStorage.setItem(t,r)}},ki={name:"navigator",lookup(r){const e=[];if(typeof navigator<"u"){const{languages:t,userLanguage:n,language:i}=navigator;if(t)for(let s=0;s<t.length;s++)e.push(t[s]);n&&e.push(n),i&&e.push(i)}return e.length>0?e:void 0}},Li={name:"htmlTag",lookup(r){let{htmlTag:e}=r,t;const n=e||(typeof document<"u"?document.documentElement:null);return n&&typeof n.getAttribute=="function"&&(t=n.getAttribute("lang")),t}},Ei={name:"path",lookup(r){let{lookupFromPathIndex:e}=r;if(typeof window>"u")return;const t=window.location.pathname.match(/\/([a-zA-Z-]*)/g);return Array.isArray(t)?t[typeof e=="number"?e:0]?.replace("/",""):void 0}},Pi={name:"subdomain",lookup(r){let{lookupFromSubdomainIndex:e}=r;const t=typeof e=="number"?e+1:1,n=typeof window<"u"&&window.location?.hostname?.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i);if(n)return n[t]}};let ht=!1;try{document.cookie,ht=!0}catch{}const ft=["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"];ht||ft.splice(1,1);const Oi=()=>({order:ft,lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:r=>r});class gt{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=pi(t,this.options||{},Oi()),typeof this.options.convertDetectedLanguage=="string"&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=i=>i.replace("-","_")),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=n,this.addDetector(xi),this.addDetector(bi),this.addDetector(wi),this.addDetector(Si),this.addDetector(ki),this.addDetector(Li),this.addDetector(Ei),this.addDetector(Pi),this.addDetector(vi)}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 i=this.detectors[n].lookup(this.options);i&&typeof i=="string"&&(i=[i]),i&&(t=t.concat(i))}}),t=t.filter(n=>n!=null&&!mi(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)}))}}gt.type="languageDetector";const pt={apiBaseUrl:"https://api.nemme.io",debug:!1},Ni={Previous:"Previous",Next:"Next",Done:"Done",Submit:"Submit","Type your answer here":"Type your answer here","Max {{maxCharacters}} characters":"Max {{maxCharacters}} characters"},Ci={};Hn({locale:_n}),N.use(gt).use(It).init({debug:pt.debug,fallbackLng:"en",interpolation:{escapeValue:!1},resources:{en:{translation:Ni},nb:{tranlation:Ci}}});const mt={debug:0,info:1,warn:2,error:3};class we{prefix;enabled;level;constructor(e={}){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&&mt[e]>=mt[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 we({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 yt=new we,xt=yt.child("network"),ji=3e4,Ti=(r,e)=>{const t=new URL(r,pt.apiBaseUrl);return e&&Object.entries(e).forEach(([n,i])=>{i!=null&&t.searchParams.append(n,String(i))}),t.toString()},V={async request(r,e={}){const{method:t="GET",headers:n={},body:i,params:s,timeout:a=ji}=e,o=Ti(r,s),c={"Content-Type":"application/json",Accept:"application/json",...n},l={method:t,headers:c,body:i?JSON.stringify(i):void 0},u=new AbortController,d=setTimeout(()=>u.abort(),a);l.signal=u.signal;try{const h=await fetch(o,l);let f;const p=h.headers.get("content-type");if(p&&p.includes("application/json"))f=await h.json();else{const v=await h.text();try{f=JSON.parse(v)}catch{f=v}}const y={data:f,status:h.status,statusText:h.statusText,headers:h.headers,ok:h.ok};if(h.ok)y.ok=!0;else{const v=`Request failed with status ${h.status}: ${h.statusText}`;xt.error(v,{url:o,method:t,status:h.status,data:y.data}),y.ok=!1,y.error={message:v,details:y.data}}return y}catch(h){let f="Network request failed",p={};return h instanceof DOMException&&h.name==="AbortError"?(f=`Request timeout after ${a}ms`,p={timeout:a,url:o}):p={message:h instanceof Error?h.message:String(h),url:o,method:t},xt.error(f,p),{data:{},status:0,statusText:f,headers:new Headers,ok:!1,error:{message:f,details:p}}}finally{clearTimeout(d)}},async get(r,e={}){return this.request(r,{...e,method:"GET"})},async post(r,e,t={}){return this.request(r,{...t,method:"POST",body:e})},async put(r,e,t={}){return this.request(r,{...t,method:"PUT",body:e})},async patch(r,e,t={}){return this.request(r,{...t,method:"PATCH",body:e})},async delete(r,e={}){return this.request(r,{...e,method:"DELETE"})}};class Ri{logger;headers;config;constructor(e,t,n={}){this.logger=e,this.headers=t,this.config=n}async fetchAndDisplayForm(e,t,n){this.logger.debug(`Fetching form config for: ${e}`);try{const i=await V.get(`/external/forms/${e}`,{headers:this.headers});i.ok&&i.data?(this.logger.info(`Form config loaded for: ${e}`,i.data),this.displayForm(i.data,t,n)):this.logger.warn(`No form config found for: ${e}`)}catch(i){this.logger.error(`Failed to fetch form config for: ${e}`,i)}}displayForm(e,t,n){const i=document.createElement("div");i.id="nm",i.className=this.config.theme==="dark"||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"",document.body.appendChild(i);const s=Pt.createRoot(i),a=b.createElement(Bt,{i18n:N},b.createElement(Ut,{form:e,onDismiss:async o=>{await t(),s.unmount(),i.remove(),this.logger.info("Form dismissed",o)},onComplete:async o=>{await n(),await this.postFormResponse(e,o),s.unmount(),i.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 V.post(`/external/forms/${e.slug}`,t,{headers:this.headers});this.logger.info("Form response posted",n.data)}}class Fi{logger;headers;formManager;deliveries=[];constructor(e,t,n){this.logger=e,this.headers=t,this.formManager=new Ri(e,t,n)}async loadDeliveries(){try{this.logger.debug("Loading deliveries");const e=await V.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 i=await this.createDeliveryResponse(e);await this.formManager.fetchAndDisplayForm(e.productSlug,async()=>{this.logger.debug(`Form for delivery: ${e.productSlug} was cancelled`),i&&await this.updateDeliveryResponse(e.id,i.id,!0)},async()=>{this.logger.debug(`Form for delivery: ${e.productSlug} was completed`),i&&await this.updateDeliveryResponse(e.id,i.id,!1,!0)})}catch(i){this.logger.error(`Failed to load form for delivery: ${e.productSlug}`,i)}}}matchesUrlPattern(e,t){let n;try{n=new URL(e).pathname}catch{n=e.startsWith("/")?e:`/${e}`}const i=u=>{if(!u)return"/";let d=u.startsWith("/")?u:`/${u}`;return d.length>1&&d.endsWith("/")&&(d=d.slice(0,-1)),d},s=i(n),a=i(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 V.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,i=!1){try{await V.patch(`/external/deliveries/${e}/responses/${t}`,{wasDismissed:n,wasCompleted:i},{headers:this.headers})}catch(s){this.logger.error(`Failed to update delivery response: ${t} for delivery: ${e}`,s)}}async isDeliveryValid(e){try{return(await V.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 Mi{logger;headers;sessionId;eventDefinitions=[];onPageView;onEvent;backlog=[];flushTimeout=null;batchConfig={enabled:!0,size:10,delayMs:1e4,sendOnUnload:!0};originalHistoryMethods=null;EVENT_PAGE_VIEW="page_view";constructor({logger:e,headers:t,sessionId:n,eventDefinitions:i,batchConfig:s,onPageView:a,onEvent:o}){this.logger=e,this.headers=t,this.sessionId=n,this.eventDefinitions=i,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){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 i=window.location.href,s={sessionId:this.sessionId,eventKey:t,data:n||{},timestamp:new Date().toISOString(),page:i};this.validateEvent(s),this.batchConfig.enabled?(this.backlog.push(s),this.scheduleFlush()):await this.sendEvents([s]),t===this.EVENT_PAGE_VIEW?this.onPageView?.(window.location.href):this.onEvent?.(s,i)}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,i=e.data;if(i)for(const s of Object.keys(i)){const a=i[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 V.post("/external/trackings/track",t,{headers:this.headers})}else await V.post("/external/trackings/batch",e,{headers:this.headers})}}class ue{clientKey;userIdentifier;initialized=!1;clientLogger=yt.child("client");headers={};formConfig;constructor(e){this.clientKey=e}trackingManager;async init({userIdentifier:e,debug:t=!1,batch:n,formConfig:i}){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=i;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(){return this.trackingManager?.flush()}destroy(){this.trackingManager?.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(){try{const e=await V.post("/external/trackings/initialize",{},{headers:this.headers});if(!e.ok)throw new Error(e.error?.message||"Request for initialising session failed");return e.data}catch(e){throw this.clientLogger.error("Error during initialization",e),e}}async initializeManagers(e,t){const n=new Fi(this.clientLogger,this.headers,this.formConfig),i=new Mi({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 i.setupPageViewTracking(),await i.trackPageView(),await i.flush()),this.trackingManager=i}}const bt=r=>new ue(r),vt=b.createContext(void 0),Di=({clientKey:r,config:e,children:t})=>{const[n,i]=b.useState(null),[s,a]=b.useState(!1),[o,c]=b.useState(null);b.useEffect(()=>{let u=null,d=!1;const h=async()=>{try{const f=new ue(r);if(await f.init(e),d){f.destroy();return}u=f,i(f),a(!0),c(null)}catch(f){d||(c(f instanceof Error?f.message:"Failed to initialize Nemme client"),a(!1))}};return i(null),a(!1),c(null),h(),()=>{d=!0,u&&u.destroy()}},[r,e]);const l={client:n,isInitialized:s,error:o};return m.jsx(vt.Provider,{value:l,children:t})},wt=()=>{const r=b.useContext(vt);if(r===void 0)throw new Error("useNemmeContext must be used within a NemmeProvider");return r},$i=()=>{const{client:r,isInitialized:e,error:t}=wt(),n=b.useCallback(async s=>{if(!r||!e){console.warn("Nemme client not initialized");return}return r.track(s)},[r,e]),i=b.useCallback(async()=>{if(!r||!e){console.warn("Nemme client not initialized");return}return r.flush()},[r,e]);return{track:n,flush:i,isInitialized:e,error:t,client:r}},Ai=r=>bt(r),Se=Object.assign(r=>Ai(r),{NemmeClient:ue,init:async r=>{const{clientKey:e,...t}=r;return await bt(e).init(t)}});typeof window<"u"&&(window.NemmeSDK=Se),C.NemmeClient=ue,C.NemmeProvider=Di,C.NemmeSDK=Se,C.default=Se,C.useNemme=$i,C.useNemmeContext=wt,Object.defineProperties(C,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
26
26
  //# sourceMappingURL=nemme-sdk.umd.js.map