@chenpu17/cc-gw 0.8.30 → 0.9.0-beta.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.
- package/package.json +8 -8
- package/src/web/dist/assets/About-DY21fypB.js +1 -0
- package/src/web/dist/assets/ApiKeys-FWkRLPTy.js +1 -0
- package/src/web/dist/assets/{ConfirmDialog-VrbumD7j.js → ConfirmDialog-CyTpXZeT.js} +1 -1
- package/src/web/dist/assets/Dashboard-FKM-9UNt.js +1 -0
- package/src/web/dist/assets/DialogShell-CM92wXHo.js +1 -0
- package/src/web/dist/assets/Events-x_fSf1mz.js +1 -0
- package/src/web/dist/assets/{Help-BiuR792b.js → Help-BMgllYJq.js} +1 -1
- package/src/web/dist/assets/Login-DrtDFqbk.js +1 -0
- package/src/web/dist/assets/Logs-18flgbiW.js +1 -0
- package/src/web/dist/assets/{PageSection-D1vbxAKK.js → PageSection-N34Nu8NO.js} +1 -1
- package/src/web/dist/assets/PageState-CFLrRswm.js +1 -0
- package/src/web/dist/assets/{PageToolbar-DzpjQ7SY.js → PageToolbar-CWw40AFL.js} +1 -1
- package/src/web/dist/assets/ProvidersWorkbench-aHO5-ApY.js +1 -0
- package/src/web/dist/assets/Settings-iEjCAGgm.js +1 -0
- package/src/web/dist/assets/Setup-B1j2zExa.js +2 -0
- package/src/web/dist/assets/{apiKeys-Dl_vgy_U.js → apiKeys-k1jIJuDa.js} +1 -1
- package/src/web/dist/assets/app-Citq5KW4.js +61 -0
- package/src/web/dist/assets/badge-DpUlf_NW.js +1 -0
- package/src/web/dist/assets/{card-DS9KKz-k.js → card-D4YOc5eB.js} +1 -1
- package/src/web/dist/assets/{charts-core-CAVUzIcU.js → charts-core-BTTtAoo-.js} +1 -1
- package/src/web/dist/assets/{charts-engine-BRCKiVl4.js → charts-engine-CFhx8nba.js} +1 -1
- package/src/web/dist/assets/{charts-react-B-D6Gq0w.js → charts-react-BQP6-BFp.js} +1 -1
- package/src/web/dist/assets/{disclosure-CqU8C-ET.js → disclosure-l5qsWhr7.js} +1 -1
- package/src/web/dist/assets/{gateway-Bt6lPuXq.js → gateway-i49olSPp.js} +1 -1
- package/src/web/dist/assets/{global-zt8jbW7F.js → global-BCehxTGJ.js} +1 -1
- package/src/web/dist/assets/global-CIVH6GQV.css +1 -0
- package/src/web/dist/assets/{i18n-DWfLgqoF.js → i18n-PeX9kBVO.js} +1 -1
- package/src/web/dist/assets/{label-CWq3wWgE.js → label-DSVzZIex.js} +1 -1
- package/src/web/dist/assets/landing-W4f2Nx8j.js +17 -0
- package/src/web/dist/assets/metric-card-G1bbpbiR.js +1 -0
- package/src/web/dist/assets/package-B2CgmdJ7.js +1 -0
- package/src/web/dist/assets/popover-QZXvcPr8.js +1 -0
- package/src/web/dist/assets/{query-CZuclkQv.js → query-DZF7K6hv.js} +1 -1
- package/src/web/dist/assets/radix-Bux_1C5J.js +5 -0
- package/src/web/dist/assets/{router-C1-ppOz7.js → router-BoBrmro7.js} +2 -2
- package/src/web/dist/assets/segmented-control-13KTib6k.js +1 -0
- package/src/web/dist/assets/{select-CxIEo3DN.js → select-sOwKYsgI.js} +1 -1
- package/src/web/dist/assets/shared-Cuakym23.js +1 -0
- package/src/web/dist/assets/switch-7PH_rDz6.js +1 -0
- package/src/web/dist/assets/table-CVuTTP1s.js +1 -0
- package/src/web/dist/assets/{tabs-BOjStrRw.js → tabs-UWyz9J_W.js} +1 -1
- package/src/web/dist/assets/types-DYz12j32.js +1 -0
- package/src/web/dist/assets/useAppMutation-CEN5Oa4S.js +1 -0
- package/src/web/dist/assets/{useEventStream-DeEWwZq0.js → useEventStream-BYg6oKvQ.js} +1 -1
- package/src/web/dist/assets/useProviderForm-DZEYuRhD.js +1 -0
- package/src/web/dist/assets/utils-B_Q3Hhgb.js +3 -0
- package/src/web/dist/assets/vendor-CITafuNQ.js +409 -0
- package/src/web/dist/index.html +15 -9
- package/src/web/dist/landing.html +5 -5
- package/src/web/dist/assets/About-CGQXnQXw.js +0 -1
- package/src/web/dist/assets/ApiKeys-Cse0CWpH.js +0 -1
- package/src/web/dist/assets/Dashboard-CtOgjfmM.js +0 -1
- package/src/web/dist/assets/DialogShell-TRFN3c58.js +0 -1
- package/src/web/dist/assets/EChart-CZqGiync.js +0 -1
- package/src/web/dist/assets/Events-C14a-qPg.js +0 -1
- package/src/web/dist/assets/Login-B-xiAusP.js +0 -1
- package/src/web/dist/assets/Logs-oNopHEDO.js +0 -1
- package/src/web/dist/assets/PageState-CPKqNFG7.js +0 -1
- package/src/web/dist/assets/ProvidersWorkbench-B5g4UvTf.js +0 -1
- package/src/web/dist/assets/Settings-CPpQt_UL.js +0 -1
- package/src/web/dist/assets/Setup-DNJ1W4sK.js +0 -2
- package/src/web/dist/assets/app-CeLCVbqy.js +0 -61
- package/src/web/dist/assets/global-B1Xg1dWA.css +0 -1
- package/src/web/dist/assets/landing-D6Ek28oa.js +0 -17
- package/src/web/dist/assets/metric-card-CueQ0u3Z.js +0 -1
- package/src/web/dist/assets/package-CdOrNWtP.js +0 -1
- package/src/web/dist/assets/popover-0fHMO-3Y.js +0 -1
- package/src/web/dist/assets/queryKeys-BlGm18Nk.js +0 -1
- package/src/web/dist/assets/radix-OaJStcH-.js +0 -5
- package/src/web/dist/assets/segmented-control-do2mQidJ.js +0 -1
- package/src/web/dist/assets/shared-fOyVvn5H.js +0 -1
- package/src/web/dist/assets/switch-B2cQk2bS.js +0 -1
- package/src/web/dist/assets/table-BxCEZcKF.js +0 -1
- package/src/web/dist/assets/useAppMutation-DY1JJByx.js +0 -1
- package/src/web/dist/assets/useProviderForm-DlALMLaD.js +0 -1
- package/src/web/dist/assets/utils-DrKJJFzS.js +0 -3
- package/src/web/dist/assets/vendor-m8O77Czp.js +0 -390
|
@@ -1 +1 @@
|
|
|
1
|
-
var Ne=Object.defineProperty;var Ce=(n,e,t)=>e in n?Ne(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var se=(n,e,t)=>Ce(n,typeof e!="symbol"?e+"":e,t);import{r as R}from"./vendor-m8O77Czp.js";function Re(){if(console&&console.warn){for(var n=arguments.length,e=new Array(n),t=0;t<n;t++)e[t]=arguments[t];k(e[0])&&(e[0]=`react-i18next:: ${e[0]}`),console.warn(...e)}}const ne={};function Z(){for(var n=arguments.length,e=new Array(n),t=0;t<n;t++)e[t]=arguments[t];k(e[0])&&ne[e[0]]||(k(e[0])&&(ne[e[0]]=new Date),Re(...e))}const be=(n,e)=>()=>{if(n.isInitialized)e();else{const t=()=>{setTimeout(()=>{n.off("initialized",t)},0),e()};n.on("initialized",t)}},ie=(n,e,t)=>{n.loadNamespaces(e,be(n,t))},re=(n,e,t,s)=>{k(t)&&(t=[t]),t.forEach(i=>{n.options.ns.indexOf(i)<0&&n.options.ns.push(i)}),n.loadLanguages(e,be(n,s))},Pe=function(n,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const s=e.languages[0],i=e.options?e.options.fallbackLng:!1,r=e.languages[e.languages.length-1];if(s.toLowerCase()==="cimode")return!0;const a=(o,l)=>{const u=e.services.backendConnector.state[`${o}|${l}`];return u===-1||u===2};return t.bindI18n&&t.bindI18n.indexOf("languageChanging")>-1&&e.services.backendConnector.backend&&e.isLanguageChangingTo&&!a(e.isLanguageChangingTo,n)?!1:!!(e.hasResourceBundle(s,n)||!e.services.backendConnector.backend||e.options.resources&&!e.options.partialBundledLanguages||a(s,n)&&(!i||a(r,n)))},$e=function(n,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return!e.languages||!e.languages.length?(Z("i18n.languages were undefined or empty",e.languages),!0):e.options.ignoreJSONStructure!==void 0?e.hasLoadedNamespace(n,{lng:t.lng,precheck:(i,r)=>{if(t.bindI18n&&t.bindI18n.indexOf("languageChanging")>-1&&i.services.backendConnector.backend&&i.isLanguageChangingTo&&!r(i.isLanguageChangingTo,n))return!1}}):Pe(n,e,t)},k=n=>typeof n=="string",ke=n=>typeof n=="object"&&n!==null,Ie=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,Ee={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},Fe=n=>Ee[n],je=n=>n.replace(Ie,Fe);let q={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:je};const Te=function(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};q={...q,...n}},Ae=()=>q;let xe;const De=n=>{xe=n},Ue=()=>xe,dt={type:"3rdParty",init(n){Te(n.options.react),De(n)}},ye=R.createContext();class Ve{constructor(){se(this,"getUsedNamespaces",()=>Object.keys(this.usedNamespaces));this.usedNamespaces={}}addUsedNamespaces(e){e.forEach(t=>{this.usedNamespaces[t]||(this.usedNamespaces[t]=!0)})}}const Ke=(n,e)=>{const t=R.useRef();return R.useEffect(()=>{t.current=n},[n,e]),t.current},Se=(n,e,t,s)=>n.getFixedT(e,t,s),Me=(n,e,t,s)=>R.useCallback(Se(n,e,t,s),[n,e,t,s]),pt=function(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{i18n:t}=e,{i18n:s,defaultNS:i}=R.useContext(ye)||{},r=t||s||Ue();if(r&&!r.reportNamespaces&&(r.reportNamespaces=new Ve),!r){Z("You will need to pass in an i18next instance by using initReactI18next");const m=(v,y)=>k(y)?y:ke(y)&&k(y.defaultValue)?y.defaultValue:Array.isArray(v)?v[v.length-1]:v,L=[m,{},!1];return L.t=m,L.i18n={},L.ready=!1,L}r.options.react&&r.options.react.wait!==void 0&&Z("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const a={...Ae(),...r.options.react,...e},{useSuspense:o,keyPrefix:l}=a;let u=i||r.options&&r.options.defaultNS;u=k(u)?[u]:u||["translation"],r.reportNamespaces.addUsedNamespaces&&r.reportNamespaces.addUsedNamespaces(u);const c=(r.isInitialized||r.initializedStoreOnce)&&u.every(m=>$e(m,r,a)),g=Me(r,e.lng||null,a.nsMode==="fallback"?u:u[0],l),f=()=>g,h=()=>Se(r,e.lng||null,a.nsMode==="fallback"?u:u[0],l),[p,x]=R.useState(f);let b=u.join();e.lng&&(b=`${e.lng}${b}`);const O=Ke(b),S=R.useRef(!0);R.useEffect(()=>{const{bindI18n:m,bindI18nStore:L}=a;S.current=!0,!c&&!o&&(e.lng?re(r,e.lng,u,()=>{S.current&&x(h)}):ie(r,u,()=>{S.current&&x(h)})),c&&O&&O!==b&&S.current&&x(h);const v=()=>{S.current&&x(h)};return m&&r&&r.on(m,v),L&&r&&r.store.on(L,v),()=>{S.current=!1,m&&r&&m.split(" ").forEach(y=>r.off(y,v)),L&&r&&L.split(" ").forEach(y=>r.store.off(y,v))}},[r,b]),R.useEffect(()=>{S.current&&c&&x(f)},[r,l,c]);const C=[p,r,c];if(C.t=p,C.i18n=r,C.ready=c,c||!c&&!o)return C;throw new Promise(m=>{e.lng?re(r,e.lng,u,()=>m()):ie(r,u,()=>m())})};function mt(n){let{i18n:e,defaultNS:t,children:s}=n;const i=R.useMemo(()=>({i18n:e,defaultNS:t}),[e,t]);return R.createElement(ye.Provider,{value:i},s)}const d=n=>typeof n=="string",D=()=>{let n,e;const t=new Promise((s,i)=>{n=s,e=i});return t.resolve=n,t.reject=e,t},ae=n=>n==null?"":""+n,ze=(n,e,t)=>{n.forEach(s=>{e[s]&&(t[s]=e[s])})},He=/###/g,oe=n=>n&&n.indexOf("###")>-1?n.replace(He,"."):n,le=n=>!n||d(n),U=(n,e,t)=>{const s=d(e)?e.split("."):e;let i=0;for(;i<s.length-1;){if(le(n))return{};const r=oe(s[i]);!n[r]&&t&&(n[r]=new t),Object.prototype.hasOwnProperty.call(n,r)?n=n[r]:n={},++i}return le(n)?{}:{obj:n,k:oe(s[i])}},ue=(n,e,t)=>{const{obj:s,k:i}=U(n,e,Object);if(s!==void 0||e.length===1){s[i]=t;return}let r=e[e.length-1],a=e.slice(0,e.length-1),o=U(n,a,Object);for(;o.obj===void 0&&a.length;)r=`${a[a.length-1]}.${r}`,a=a.slice(0,a.length-1),o=U(n,a,Object),o&&o.obj&&typeof o.obj[`${o.k}.${r}`]<"u"&&(o.obj=void 0);o.obj[`${o.k}.${r}`]=t},Je=(n,e,t,s)=>{const{obj:i,k:r}=U(n,e,Object);i[r]=i[r]||[],i[r].push(t)},H=(n,e)=>{const{obj:t,k:s}=U(n,e);if(t)return t[s]},Be=(n,e,t)=>{const s=H(n,t);return s!==void 0?s:H(e,t)},Le=(n,e,t)=>{for(const s in e)s!=="__proto__"&&s!=="constructor"&&(s in n?d(n[s])||n[s]instanceof String||d(e[s])||e[s]instanceof String?t&&(n[s]=e[s]):Le(n[s],e[s],t):n[s]=e[s]);return n},I=n=>n.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var We={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};const Ye=n=>d(n)?n.replace(/[&<>"'\/]/g,e=>We[e]):n;class Qe{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const t=this.regExpMap.get(e);if(t!==void 0)return t;const s=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,s),this.regExpQueue.push(e),s}}const Ge=[" ",",","?","!",";"],Ze=new Qe(20),qe=(n,e,t)=>{e=e||"",t=t||"";const s=Ge.filter(a=>e.indexOf(a)<0&&t.indexOf(a)<0);if(s.length===0)return!0;const i=Ze.getRegExp(`(${s.map(a=>a==="?"?"\\?":a).join("|")})`);let r=!i.test(n);if(!r){const a=n.indexOf(t);a>0&&!i.test(n.substring(0,a))&&(r=!0)}return r},X=function(n,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!n)return;if(n[e])return n[e];const s=e.split(t);let i=n;for(let r=0;r<s.length;){if(!i||typeof i!="object")return;let a,o="";for(let l=r;l<s.length;++l)if(l!==r&&(o+=t),o+=s[l],a=i[o],a!==void 0){if(["string","number","boolean"].indexOf(typeof a)>-1&&l<s.length-1)continue;r+=l-r+1;break}i=a}return i},J=n=>n&&n.replace("_","-"),Xe={type:"logger",log(n){this.output("log",n)},warn(n){this.output("warn",n)},error(n){this.output("error",n)},output(n,e){console&&console[n]&&console[n].apply(console,e)}};class B{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(e,t)}init(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||Xe,this.options=t,this.debug=t.debug}log(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.forward(t,"log","",!0)}warn(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.forward(t,"warn","",!0)}error(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.forward(t,"error","")}deprecate(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}forward(e,t,s,i){return i&&!this.debug?null:(d(e[0])&&(e[0]=`${s}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new B(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return e=e||this.options,e.prefix=e.prefix||this.prefix,new B(this.logger,e)}}var P=new B;class Y{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach(s=>{this.observers[s]||(this.observers[s]=new Map);const i=this.observers[s].get(t)||0;this.observers[s].set(t,i+1)}),this}off(e,t){if(this.observers[e]){if(!t){delete this.observers[e];return}this.observers[e].delete(t)}}emit(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),i=1;i<t;i++)s[i-1]=arguments[i];this.observers[e]&&Array.from(this.observers[e].entries()).forEach(a=>{let[o,l]=a;for(let u=0;u<l;u++)o(...s)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(a=>{let[o,l]=a;for(let u=0;u<l;u++)o.apply(o,[e,...s])})}}class fe extends Y{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{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,s){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const r=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],s&&(Array.isArray(s)?o.push(...s):d(s)&&r?o.push(...s.split(r)):o.push(s)));const l=H(this.data,o);return!l&&!t&&!s&&e.indexOf(".")>-1&&(e=o[0],t=o[1],s=o.slice(2).join(".")),l||!a||!d(s)?l:X(this.data&&this.data[e]&&this.data[e][t],s,r)}addResource(e,t,s,i){let r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const a=r.keySeparator!==void 0?r.keySeparator:this.options.keySeparator;let o=[e,t];s&&(o=o.concat(a?s.split(a):s)),e.indexOf(".")>-1&&(o=e.split("."),i=t,t=o[1]),this.addNamespaces(t),ue(this.data,o,i),r.silent||this.emit("added",e,t,s,i)}addResources(e,t,s){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const r in s)(d(s[r])||Array.isArray(s[r]))&&this.addResource(e,t,r,s[r],{silent:!0});i.silent||this.emit("added",e,t,s)}addResourceBundle(e,t,s,i,r){let a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1,skipCopy:!1},o=[e,t];e.indexOf(".")>-1&&(o=e.split("."),i=s,s=t,t=o[1]),this.addNamespaces(t);let l=H(this.data,o)||{};a.skipCopy||(s=JSON.parse(JSON.stringify(s))),i?Le(l,s,r):l={...l,...s},ue(this.data,o,l),a.silent||this.emit("added",e,t,s)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return this.getResource(e,t)!==void 0}getResourceBundle(e,t){return t||(t=this.options.defaultNS),this.options.compatibilityAPI==="v1"?{...this.getResource(e,t)}: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 ve={processors:{},addPostProcessor(n){this.processors[n.name]=n},handle(n,e,t,s,i){return n.forEach(r=>{this.processors[r]&&(e=this.processors[r].process(e,t,s,i))}),e}};const ce={};class W extends Y{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),ze(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=P.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(e==null)return!1;const s=this.resolve(e,t);return s&&s.res!==void 0}extractFromKey(e,t){let s=t.nsSeparator!==void 0?t.nsSeparator:this.options.nsSeparator;s===void 0&&(s=":");const i=t.keySeparator!==void 0?t.keySeparator:this.options.keySeparator;let r=t.ns||this.options.defaultNS||[];const a=s&&e.indexOf(s)>-1,o=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!qe(e,s,i);if(a&&!o){const l=e.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:e,namespaces:d(r)?[r]:r};const u=e.split(s);(s!==i||s===i&&this.options.ns.indexOf(u[0])>-1)&&(r=u.shift()),e=u.join(i)}return{key:e,namespaces:d(r)?[r]:r}}translate(e,t,s){if(typeof t!="object"&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),typeof t=="object"&&(t={...t}),t||(t={}),e==null)return"";Array.isArray(e)||(e=[String(e)]);const i=t.returnDetails!==void 0?t.returnDetails:this.options.returnDetails,r=t.keySeparator!==void 0?t.keySeparator:this.options.keySeparator,{key:a,namespaces:o}=this.extractFromKey(e[e.length-1],t),l=o[o.length-1],u=t.lng||this.language,c=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(u&&u.toLowerCase()==="cimode"){if(c){const m=t.nsSeparator||this.options.nsSeparator;return i?{res:`${l}${m}${a}`,usedKey:a,exactUsedKey:a,usedLng:u,usedNS:l,usedParams:this.getUsedParamsDetails(t)}:`${l}${m}${a}`}return i?{res:a,usedKey:a,exactUsedKey:a,usedLng:u,usedNS:l,usedParams:this.getUsedParamsDetails(t)}:a}const g=this.resolve(e,t);let f=g&&g.res;const h=g&&g.usedKey||a,p=g&&g.exactUsedKey||a,x=Object.prototype.toString.apply(f),b=["[object Number]","[object Function]","[object RegExp]"],O=t.joinArrays!==void 0?t.joinArrays:this.options.joinArrays,S=!this.i18nFormat||this.i18nFormat.handleAsObject,C=!d(f)&&typeof f!="boolean"&&typeof f!="number";if(S&&f&&C&&b.indexOf(x)<0&&!(d(O)&&Array.isArray(f))){if(!t.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const m=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,f,{...t,ns:o}):`key '${a} (${this.language})' returned an object instead of string.`;return i?(g.res=m,g.usedParams=this.getUsedParamsDetails(t),g):m}if(r){const m=Array.isArray(f),L=m?[]:{},v=m?p:h;for(const y in f)if(Object.prototype.hasOwnProperty.call(f,y)){const K=`${v}${r}${y}`;L[y]=this.translate(K,{...t,joinArrays:!1,ns:o}),L[y]===K&&(L[y]=f[y])}f=L}}else if(S&&d(O)&&Array.isArray(f))f=f.join(O),f&&(f=this.extendTranslation(f,e,t,s));else{let m=!1,L=!1;const v=t.count!==void 0&&!d(t.count),y=W.hasDefaultValue(t),K=v?this.pluralResolver.getSuffix(u,t.count,t):"",Oe=t.ordinal&&v?this.pluralResolver.getSuffix(u,t.count,{ordinal:!1}):"",_=v&&!t.ordinal&&t.count===0&&this.pluralResolver.shouldUseIntlApi(),F=_&&t[`defaultValue${this.options.pluralSeparator}zero`]||t[`defaultValue${K}`]||t[`defaultValue${Oe}`]||t.defaultValue;!this.isValidLookup(f)&&y&&(m=!0,f=F),this.isValidLookup(f)||(L=!0,f=a);const we=(t.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&L?void 0:f,j=y&&F!==f&&this.options.updateMissing;if(L||m||j){if(this.logger.log(j?"updateKey":"missingKey",u,l,a,j?F:f),r){const N=this.resolve(a,{...t,keySeparator:!1});N&&N.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 T=[];const M=this.languageUtils.getFallbackCodes(this.options.fallbackLng,t.lng||this.language);if(this.options.saveMissingTo==="fallback"&&M&&M[0])for(let N=0;N<M.length;N++)T.push(M[N]);else this.options.saveMissingTo==="all"?T=this.languageUtils.toResolveHierarchy(t.lng||this.language):T.push(t.lng||this.language);const ee=(N,$,A)=>{const te=y&&A!==f?A:we;this.options.missingKeyHandler?this.options.missingKeyHandler(N,l,$,te,j,t):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(N,l,$,te,j,t),this.emit("missingKey",N,l,$,f)};this.options.saveMissing&&(this.options.saveMissingPlurals&&v?T.forEach(N=>{const $=this.pluralResolver.getSuffixes(N,t);_&&t[`defaultValue${this.options.pluralSeparator}zero`]&&$.indexOf(`${this.options.pluralSeparator}zero`)<0&&$.push(`${this.options.pluralSeparator}zero`),$.forEach(A=>{ee([N],a+A,t[`defaultValue${A}`]||F)})}):ee(T,a,F))}f=this.extendTranslation(f,e,t,g,s),L&&f===a&&this.options.appendNamespaceToMissingKey&&(f=`${l}:${a}`),(L||m)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?f=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${a}`:a,m?f:void 0):f=this.options.parseMissingKeyHandler(f))}return i?(g.res=f,g.usedParams=this.getUsedParamsDetails(t),g):f}extendTranslation(e,t,s,i,r){var a=this;if(this.i18nFormat&&this.i18nFormat.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...s},s.lng||this.language||i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!s.skipInterpolation){s.interpolation&&this.interpolator.init({...s,interpolation:{...this.options.interpolation,...s.interpolation}});const u=d(e)&&(s&&s.interpolation&&s.interpolation.skipOnVariables!==void 0?s.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let c;if(u){const f=e.match(this.interpolator.nestingRegexp);c=f&&f.length}let g=s.replace&&!d(s.replace)?s.replace:s;if(this.options.interpolation.defaultVariables&&(g={...this.options.interpolation.defaultVariables,...g}),e=this.interpolator.interpolate(e,g,s.lng||this.language||i.usedLng,s),u){const f=e.match(this.interpolator.nestingRegexp),h=f&&f.length;c<h&&(s.nest=!1)}!s.lng&&this.options.compatibilityAPI!=="v1"&&i&&i.res&&(s.lng=this.language||i.usedLng),s.nest!==!1&&(e=this.interpolator.nest(e,function(){for(var f=arguments.length,h=new Array(f),p=0;p<f;p++)h[p]=arguments[p];return r&&r[0]===h[0]&&!s.context?(a.logger.warn(`It seems you are nesting recursively key: ${h[0]} in key: ${t[0]}`),null):a.translate(...h,t)},s)),s.interpolation&&this.interpolator.reset()}const o=s.postProcess||this.options.postProcess,l=d(o)?[o]:o;return e!=null&&l&&l.length&&s.applyPostProcessor!==!1&&(e=ve.handle(l,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...i,usedParams:this.getUsedParamsDetails(s)},...s}:s,this)),e}resolve(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s,i,r,a,o;return d(e)&&(e=[e]),e.forEach(l=>{if(this.isValidLookup(s))return;const u=this.extractFromKey(l,t),c=u.key;i=c;let g=u.namespaces;this.options.fallbackNS&&(g=g.concat(this.options.fallbackNS));const f=t.count!==void 0&&!d(t.count),h=f&&!t.ordinal&&t.count===0&&this.pluralResolver.shouldUseIntlApi(),p=t.context!==void 0&&(d(t.context)||typeof t.context=="number")&&t.context!=="",x=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);g.forEach(b=>{this.isValidLookup(s)||(o=b,!ce[`${x[0]}-${b}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(o)&&(ce[`${x[0]}-${b}`]=!0,this.logger.warn(`key "${i}" for languages "${x.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!!!")),x.forEach(O=>{if(this.isValidLookup(s))return;a=O;const S=[c];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(S,c,O,b,t);else{let m;f&&(m=this.pluralResolver.getSuffix(O,t.count,t));const L=`${this.options.pluralSeparator}zero`,v=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(f&&(S.push(c+m),t.ordinal&&m.indexOf(v)===0&&S.push(c+m.replace(v,this.options.pluralSeparator)),h&&S.push(c+L)),p){const y=`${c}${this.options.contextSeparator}${t.context}`;S.push(y),f&&(S.push(y+m),t.ordinal&&m.indexOf(v)===0&&S.push(y+m.replace(v,this.options.pluralSeparator)),h&&S.push(y+L))}}let C;for(;C=S.pop();)this.isValidLookup(s)||(r=C,s=this.getResource(O,b,C,t))}))})}),{res:s,usedKey:i,exactUsedKey:r,usedLng:a,usedNS:o}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e==="")}getResource(e,t,s){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,t,s,i):this.resourceStore.getResource(e,t,s,i)}getUsedParamsDetails(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const t=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],s=e.replace&&!d(e.replace);let i=s?e.replace:e;if(s&&typeof e.count<"u"&&(i.count=e.count),this.options.interpolation.defaultVariables&&(i={...this.options.interpolation.defaultVariables,...i}),!s){i={...i};for(const r of t)delete i[r]}return i}static hasDefaultValue(e){const t="defaultValue";for(const s in e)if(Object.prototype.hasOwnProperty.call(e,s)&&t===s.substring(0,t.length)&&e[s]!==void 0)return!0;return!1}}const Q=n=>n.charAt(0).toUpperCase()+n.slice(1);class ge{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=P.create("languageUtils")}getScriptPartFromCode(e){if(e=J(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=J(e),!e||e.indexOf("-")<0)return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(d(e)&&e.indexOf("-")>-1){if(typeof Intl<"u"&&typeof Intl.getCanonicalLocales<"u")try{let i=Intl.getCanonicalLocales(e)[0];if(i&&this.options.lowerCaseLng&&(i=i.toLowerCase()),i)return i}catch{}const t=["hans","hant","latn","cyrl","cans","mong","arab"];let s=e.split("-");return this.options.lowerCaseLng?s=s.map(i=>i.toLowerCase()):s.length===2?(s[0]=s[0].toLowerCase(),s[1]=s[1].toUpperCase(),t.indexOf(s[1].toLowerCase())>-1&&(s[1]=Q(s[1].toLowerCase()))):s.length===3&&(s[0]=s[0].toLowerCase(),s[1].length===2&&(s[1]=s[1].toUpperCase()),s[0]!=="sgn"&&s[2].length===2&&(s[2]=s[2].toUpperCase()),t.indexOf(s[1].toLowerCase())>-1&&(s[1]=Q(s[1].toLowerCase())),t.indexOf(s[2].toLowerCase())>-1&&(s[2]=Q(s[2].toLowerCase()))),s.join("-")}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(s=>{if(t)return;const i=this.formatLanguageCode(s);(!this.options.supportedLngs||this.isSupportedCode(i))&&(t=i)}),!t&&this.options.supportedLngs&&e.forEach(s=>{if(t)return;const i=this.getLanguagePartFromCode(s);if(this.isSupportedCode(i))return t=i;t=this.options.supportedLngs.find(r=>{if(r===i)return r;if(!(r.indexOf("-")<0&&i.indexOf("-")<0)&&(r.indexOf("-")>0&&i.indexOf("-")<0&&r.substring(0,r.indexOf("-"))===i||r.indexOf(i)===0&&i.length>1))return r})}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,t){if(!e)return[];if(typeof e=="function"&&(e=e(t)),d(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let s=e[t];return s||(s=e[this.getScriptPartFromCode(t)]),s||(s=e[this.formatLanguageCode(t)]),s||(s=e[this.getLanguagePartFromCode(t)]),s||(s=e.default),s||[]}toResolveHierarchy(e,t){const s=this.getFallbackCodes(t||this.options.fallbackLng||[],e),i=[],r=a=>{a&&(this.isSupportedCode(a)?i.push(a):this.logger.warn(`rejecting language code not found in supportedLngs: ${a}`))};return d(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&r(this.formatLanguageCode(e)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&r(this.getScriptPartFromCode(e)),this.options.load!=="currentOnly"&&r(this.getLanguagePartFromCode(e))):d(e)&&r(this.formatLanguageCode(e)),s.forEach(a=>{i.indexOf(a)<0&&r(this.formatLanguageCode(a))}),i}}let _e=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],et={1:n=>+(n>1),2:n=>+(n!=1),3:n=>0,4:n=>n%10==1&&n%100!=11?0:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?1:2,5:n=>n==0?0:n==1?1:n==2?2:n%100>=3&&n%100<=10?3:n%100>=11?4:5,6:n=>n==1?0:n>=2&&n<=4?1:2,7:n=>n==1?0:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?1:2,8:n=>n==1?0:n==2?1:n!=8&&n!=11?2:3,9:n=>+(n>=2),10:n=>n==1?0:n==2?1:n<7?2:n<11?3:4,11:n=>n==1||n==11?0:n==2||n==12?1:n>2&&n<20?2:3,12:n=>+(n%10!=1||n%100==11),13:n=>+(n!==0),14:n=>n==1?0:n==2?1:n==3?2:3,15:n=>n%10==1&&n%100!=11?0:n%10>=2&&(n%100<10||n%100>=20)?1:2,16:n=>n%10==1&&n%100!=11?0:n!==0?1:2,17:n=>n==1||n%10==1&&n%100!=11?0:1,18:n=>n==0?0:n==1?1:2,19:n=>n==1?0:n==0||n%100>1&&n%100<11?1:n%100>10&&n%100<20?2:3,20:n=>n==1?0:n==0||n%100>0&&n%100<20?1:2,21:n=>n%100==1?1:n%100==2?2:n%100==3||n%100==4?3:0,22:n=>n==1?0:n==2?1:(n<0||n>10)&&n%10==0?2:3};const tt=["v1","v2","v3"],st=["v4"],he={zero:0,one:1,two:2,few:3,many:4,other:5},nt=()=>{const n={};return _e.forEach(e=>{e.lngs.forEach(t=>{n[t]={numbers:e.nr,plurals:et[e.fc]}})}),n};class it{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=e,this.options=t,this.logger=P.create("pluralResolver"),(!this.options.compatibilityJSON||st.includes(this.options.compatibilityJSON))&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=nt(),this.pluralRulesCache={}}addRule(e,t){this.rules[e]=t}clearCache(){this.pluralRulesCache={}}getRule(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi()){const s=J(e==="dev"?"en":e),i=t.ordinal?"ordinal":"cardinal",r=JSON.stringify({cleanedCode:s,type:i});if(r in this.pluralRulesCache)return this.pluralRulesCache[r];let a;try{a=new Intl.PluralRules(s,{type:i})}catch{if(!e.match(/-|_/))return;const l=this.languageUtils.getLanguagePartFromCode(e);a=this.getRule(l,t)}return this.pluralRulesCache[r]=a,a}return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}needsPlural(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const s=this.getRule(e,t);return this.shouldUseIntlApi()?s&&s.resolvedOptions().pluralCategories.length>1:s&&s.numbers.length>1}getPluralFormsOfKey(e,t){let s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(e,s).map(i=>`${t}${i}`)}getSuffixes(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const s=this.getRule(e,t);return s?this.shouldUseIntlApi()?s.resolvedOptions().pluralCategories.sort((i,r)=>he[i]-he[r]).map(i=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${i}`):s.numbers.map(i=>this.getSuffix(e,i,t)):[]}getSuffix(e,t){let s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const i=this.getRule(e,s);return i?this.shouldUseIntlApi()?`${this.options.prepend}${s.ordinal?`ordinal${this.options.prepend}`:""}${i.select(t)}`:this.getSuffixRetroCompatible(i,t):(this.logger.warn(`no plural rule found for: ${e}`),"")}getSuffixRetroCompatible(e,t){const s=e.noAbs?e.plurals(t):e.plurals(Math.abs(t));let i=e.numbers[s];this.options.simplifyPluralSuffix&&e.numbers.length===2&&e.numbers[0]===1&&(i===2?i="plural":i===1&&(i=""));const r=()=>this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString();return this.options.compatibilityJSON==="v1"?i===1?"":typeof i=="number"?`_plural_${i.toString()}`:r():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&e.numbers.length===2&&e.numbers[0]===1?r():this.options.prepend&&s.toString()?this.options.prepend+s.toString():s.toString()}shouldUseIntlApi(){return!tt.includes(this.options.compatibilityJSON)}}const de=function(n,e,t){let s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,r=Be(n,e,t);return!r&&i&&d(t)&&(r=X(n,t,s),r===void 0&&(r=X(e,t,s))),r},G=n=>n.replace(/\$/g,"$$$$");class rt{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=P.create("interpolator"),this.options=e,this.format=e.interpolation&&e.interpolation.format||(t=>t),this.init(e)}init(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});const{escape:t,escapeValue:s,useRawValueToEscape:i,prefix:r,prefixEscaped:a,suffix:o,suffixEscaped:l,formatSeparator:u,unescapeSuffix:c,unescapePrefix:g,nestingPrefix:f,nestingPrefixEscaped:h,nestingSuffix:p,nestingSuffixEscaped:x,nestingOptionsSeparator:b,maxReplaces:O,alwaysFormat:S}=e.interpolation;this.escape=t!==void 0?t:Ye,this.escapeValue=s!==void 0?s:!0,this.useRawValueToEscape=i!==void 0?i:!1,this.prefix=r?I(r):a||"{{",this.suffix=o?I(o):l||"}}",this.formatSeparator=u||",",this.unescapePrefix=c?"":g||"-",this.unescapeSuffix=this.unescapePrefix?"":c||"",this.nestingPrefix=f?I(f):h||I("$t("),this.nestingSuffix=p?I(p):x||I(")"),this.nestingOptionsSeparator=b||",",this.maxReplaces=O||1e3,this.alwaysFormat=S!==void 0?S:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(t,s)=>t&&t.source===s?(t.lastIndex=0,t):new RegExp(s,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(e,t,s,i){let r,a,o;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},u=h=>{if(h.indexOf(this.formatSeparator)<0){const O=de(t,l,h,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(O,void 0,s,{...i,...t,interpolationkey:h}):O}const p=h.split(this.formatSeparator),x=p.shift().trim(),b=p.join(this.formatSeparator).trim();return this.format(de(t,l,x,this.options.keySeparator,this.options.ignoreJSONStructure),b,s,{...i,...t,interpolationkey:x})};this.resetRegExp();const c=i&&i.missingInterpolationHandler||this.options.missingInterpolationHandler,g=i&&i.interpolation&&i.interpolation.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:h=>G(h)},{regex:this.regexp,safeValue:h=>this.escapeValue?G(this.escape(h)):G(h)}].forEach(h=>{for(o=0;r=h.regex.exec(e);){const p=r[1].trim();if(a=u(p),a===void 0)if(typeof c=="function"){const b=c(e,r,i);a=d(b)?b:""}else if(i&&Object.prototype.hasOwnProperty.call(i,p))a="";else if(g){a=r[0];continue}else this.logger.warn(`missed to pass in variable ${p} for interpolating ${e}`),a="";else!d(a)&&!this.useRawValueToEscape&&(a=ae(a));const x=h.safeValue(a);if(e=e.replace(r[0],x),g?(h.regex.lastIndex+=a.length,h.regex.lastIndex-=r[0].length):h.regex.lastIndex=0,o++,o>=this.maxReplaces)break}}),e}nest(e,t){let s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i,r,a;const o=(l,u)=>{const c=this.nestingOptionsSeparator;if(l.indexOf(c)<0)return l;const g=l.split(new RegExp(`${c}[ ]*{`));let f=`{${g[1]}`;l=g[0],f=this.interpolate(f,a);const h=f.match(/'/g),p=f.match(/"/g);(h&&h.length%2===0&&!p||p.length%2!==0)&&(f=f.replace(/'/g,'"'));try{a=JSON.parse(f),u&&(a={...u,...a})}catch(x){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,x),`${l}${c}${f}`}return a.defaultValue&&a.defaultValue.indexOf(this.prefix)>-1&&delete a.defaultValue,l};for(;i=this.nestingRegexp.exec(e);){let l=[];a={...s},a=a.replace&&!d(a.replace)?a.replace:a,a.applyPostProcessor=!1,delete a.defaultValue;let u=!1;if(i[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(i[1])){const c=i[1].split(this.formatSeparator).map(g=>g.trim());i[1]=c.shift(),l=c,u=!0}if(r=t(o.call(this,i[1].trim(),a),a),r&&i[0]===e&&!d(r))return r;d(r)||(r=ae(r)),r||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${e}`),r=""),u&&(r=l.reduce((c,g)=>this.format(c,g,s.lng,{...s,interpolationkey:i[1].trim()}),r.trim())),e=e.replace(i[0],r),this.regexp.lastIndex=0}return e}}const at=n=>{let e=n.toLowerCase().trim();const t={};if(n.indexOf("(")>-1){const s=n.split("(");e=s[0].toLowerCase().trim();const i=s[1].substring(0,s[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,...l]=a.split(":"),u=l.join(":").trim().replace(/^'+|'+$/g,""),c=o.trim();t[c]||(t[c]=u),u==="false"&&(t[c]=!1),u==="true"&&(t[c]=!0),isNaN(u)||(t[c]=parseInt(u,10))}})}return{formatName:e,formatOptions:t}},E=n=>{const e={};return(t,s,i)=>{let r=i;i&&i.interpolationkey&&i.formatParams&&i.formatParams[i.interpolationkey]&&i[i.interpolationkey]&&(r={...r,[i.interpolationkey]:void 0});const a=s+JSON.stringify(r);let o=e[a];return o||(o=n(J(s),i),e[a]=o),o(t)}};class ot{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=P.create("formatter"),this.options=e,this.formats={number:E((t,s)=>{const i=new Intl.NumberFormat(t,{...s});return r=>i.format(r)}),currency:E((t,s)=>{const i=new Intl.NumberFormat(t,{...s,style:"currency"});return r=>i.format(r)}),datetime:E((t,s)=>{const i=new Intl.DateTimeFormat(t,{...s});return r=>i.format(r)}),relativetime:E((t,s)=>{const i=new Intl.RelativeTimeFormat(t,{...s});return r=>i.format(r,s.range||"day")}),list:E((t,s)=>{const i=new Intl.ListFormat(t,{...s});return r=>i.format(r)})},this.init(e)}init(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};this.formatSeparator=t.interpolation.formatSeparator||","}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=E(t)}format(e,t,s){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const r=t.split(this.formatSeparator);if(r.length>1&&r[0].indexOf("(")>1&&r[0].indexOf(")")<0&&r.find(o=>o.indexOf(")")>-1)){const o=r.findIndex(l=>l.indexOf(")")>-1);r[0]=[r[0],...r.splice(1,o)].join(this.formatSeparator)}return r.reduce((o,l)=>{const{formatName:u,formatOptions:c}=at(l);if(this.formats[u]){let g=o;try{const f=i&&i.formatParams&&i.formatParams[i.interpolationkey]||{},h=f.locale||f.lng||i.locale||i.lng||s;g=this.formats[u](o,h,{...c,...i,...f})}catch(f){this.logger.warn(f)}return g}else this.logger.warn(`there was no format function for ${u}`);return o},e)}}const lt=(n,e)=>{n.pending[e]!==void 0&&(delete n.pending[e],n.pendingCount--)};class ut extends Y{constructor(e,t,s){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=e,this.store=t,this.services=s,this.languageUtils=s.languageUtils,this.options=i,this.logger=P.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&&this.backend.init&&this.backend.init(s,i.backend,i)}queueLoad(e,t,s,i){const r={},a={},o={},l={};return e.forEach(u=>{let c=!0;t.forEach(g=>{const f=`${u}|${g}`;!s.reload&&this.store.hasResourceBundle(u,g)?this.state[f]=2:this.state[f]<0||(this.state[f]===1?a[f]===void 0&&(a[f]=!0):(this.state[f]=1,c=!1,a[f]===void 0&&(a[f]=!0),r[f]===void 0&&(r[f]=!0),l[g]===void 0&&(l[g]=!0)))}),c||(o[u]=!0)}),(Object.keys(r).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(r),pending:Object.keys(a),toLoadLanguages:Object.keys(o),toLoadNamespaces:Object.keys(l)}}loaded(e,t,s){const i=e.split("|"),r=i[0],a=i[1];t&&this.emit("failedLoading",r,a,t),!t&&s&&this.store.addResourceBundle(r,a,s,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&s&&(this.state[e]=0);const o={};this.queue.forEach(l=>{Je(l.loaded,[r],a),lt(l,e),t&&l.errors.push(t),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(u=>{o[u]||(o[u]={});const c=l.loaded[u];c.length&&c.forEach(g=>{o[u][g]===void 0&&(o[u][g]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",o),this.queue=this.queue.filter(l=>!l.done)}read(e,t,s){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,a=arguments.length>5?arguments[5]:void 0;if(!e.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:t,fcName:s,tried:i,wait:r,callback:a});return}this.readingCalls++;const o=(u,c)=>{if(this.readingCalls--,this.waitingReads.length>0){const g=this.waitingReads.shift();this.read(g.lng,g.ns,g.fcName,g.tried,g.wait,g.callback)}if(u&&c&&i<this.maxRetries){setTimeout(()=>{this.read.call(this,e,t,s,i+1,r*2,a)},r);return}a(u,c)},l=this.backend[s].bind(this.backend);if(l.length===2){try{const u=l(e,t);u&&typeof u.then=="function"?u.then(c=>o(null,c)).catch(o):o(null,u)}catch(u){o(u)}return}return l(e,t,o)}prepareLoading(e,t){let s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();d(e)&&(e=this.languageUtils.toResolveHierarchy(e)),d(t)&&(t=[t]);const r=this.queueLoad(e,t,s,i);if(!r.toLoad.length)return r.pending.length||i(),null;r.toLoad.forEach(a=>{this.loadOne(a)})}load(e,t,s){this.prepareLoading(e,t,{},s)}reload(e,t,s){this.prepareLoading(e,t,{reload:!0},s)}loadOne(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const s=e.split("|"),i=s[0],r=s[1];this.read(i,r,"read",void 0,void 0,(a,o)=>{a&&this.logger.warn(`${t}loading namespace ${r} for language ${i} failed`,a),!a&&o&&this.logger.log(`${t}loaded namespace ${r} for language ${i}`,o),this.loaded(e,a,o)})}saveMissing(e,t,s,i,r){let a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},o=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(t)){this.logger.warn(`did not save key "${s}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(s==null||s==="")){if(this.backend&&this.backend.create){const l={...a,isUpdate:r},u=this.backend.create.bind(this.backend);if(u.length<6)try{let c;u.length===5?c=u(e,t,s,i,l):c=u(e,t,s,i),c&&typeof c.then=="function"?c.then(g=>o(null,g)).catch(o):o(null,c)}catch(c){o(c)}else u(e,t,s,i,o,l)}!e||!e[0]||this.store.addResource(e[0],t,s,i)}}}const pe=()=>({debug:!1,initImmediate:!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:n=>{let e={};if(typeof n[1]=="object"&&(e=n[1]),d(n[1])&&(e.defaultValue=n[1]),d(n[2])&&(e.tDescription=n[2]),typeof n[2]=="object"||typeof n[3]=="object"){const t=n[3]||n[2];Object.keys(t).forEach(s=>{e[s]=t[s]})}return e},interpolation:{escapeValue:!0,format:n=>n,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}),me=n=>(d(n.ns)&&(n.ns=[n.ns]),d(n.fallbackLng)&&(n.fallbackLng=[n.fallbackLng]),d(n.fallbackNS)&&(n.fallbackNS=[n.fallbackNS]),n.supportedLngs&&n.supportedLngs.indexOf("cimode")<0&&(n.supportedLngs=n.supportedLngs.concat(["cimode"])),n),z=()=>{},ft=n=>{Object.getOwnPropertyNames(Object.getPrototypeOf(n)).forEach(t=>{typeof n[t]=="function"&&(n[t]=n[t].bind(n))})};class V extends Y{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;if(super(),this.options=me(e),this.services={},this.logger=P,this.modules={external:[]},ft(this),t&&!this.isInitialized&&!e.isClone){if(!this.options.initImmediate)return this.init(e,t),this;setTimeout(()=>{this.init(e,t)},0)}}init(){var e=this;let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},s=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,typeof t=="function"&&(s=t,t={}),!t.defaultNS&&t.defaultNS!==!1&&t.ns&&(d(t.ns)?t.defaultNS=t.ns:t.ns.indexOf("translation")<0&&(t.defaultNS=t.ns[0]));const i=pe();this.options={...i,...this.options,...me(t)},this.options.compatibilityAPI!=="v1"&&(this.options.interpolation={...i.interpolation,...this.options.interpolation}),t.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=t.keySeparator),t.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=t.nsSeparator);const r=c=>c?typeof c=="function"?new c:c:null;if(!this.options.isClone){this.modules.logger?P.init(r(this.modules.logger),this.options):P.init(null,this.options);let c;this.modules.formatter?c=this.modules.formatter:typeof Intl<"u"&&(c=ot);const g=new ge(this.options);this.store=new fe(this.options.resources,this.options);const f=this.services;f.logger=P,f.resourceStore=this.store,f.languageUtils=g,f.pluralResolver=new it(g,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),c&&(!this.options.interpolation.format||this.options.interpolation.format===i.interpolation.format)&&(f.formatter=r(c),f.formatter.init(f,this.options),this.options.interpolation.format=f.formatter.format.bind(f.formatter)),f.interpolator=new rt(this.options),f.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},f.backendConnector=new ut(r(this.modules.backend),f.resourceStore,f,this.options),f.backendConnector.on("*",function(h){for(var p=arguments.length,x=new Array(p>1?p-1:0),b=1;b<p;b++)x[b-1]=arguments[b];e.emit(h,...x)}),this.modules.languageDetector&&(f.languageDetector=r(this.modules.languageDetector),f.languageDetector.init&&f.languageDetector.init(f,this.options.detection,this.options)),this.modules.i18nFormat&&(f.i18nFormat=r(this.modules.i18nFormat),f.i18nFormat.init&&f.i18nFormat.init(this)),this.translator=new W(this.services,this.options),this.translator.on("*",function(h){for(var p=arguments.length,x=new Array(p>1?p-1:0),b=1;b<p;b++)x[b-1]=arguments[b];e.emit(h,...x)}),this.modules.external.forEach(h=>{h.init&&h.init(this)})}if(this.format=this.options.interpolation.format,s||(s=z),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const c=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);c.length>0&&c[0]!=="dev"&&(this.options.lng=c[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(c=>{this[c]=function(){return e.store[c](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(c=>{this[c]=function(){return e.store[c](...arguments),e}});const l=D(),u=()=>{const c=(g,f)=>{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),l.resolve(f),s(g,f)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return c(null,this.t.bind(this));this.changeLanguage(this.options.lng,c)};return this.options.resources||!this.options.initImmediate?u():setTimeout(u,0),l}loadResources(e){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:z;const i=d(e)?e:this.language;if(typeof e=="function"&&(s=e),!this.options.resources||this.options.partialBundledLanguages){if(i&&i.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return s();const r=[],a=o=>{if(!o||o==="cimode")return;this.services.languageUtils.toResolveHierarchy(o).forEach(u=>{u!=="cimode"&&r.indexOf(u)<0&&r.push(u)})};i?a(i):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(l=>a(l)),this.options.preload&&this.options.preload.forEach(o=>a(o)),this.services.backendConnector.load(r,this.options.ns,o=>{!o&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),s(o)})}else s(null)}reloadResources(e,t,s){const i=D();return typeof e=="function"&&(s=e,e=void 0),typeof t=="function"&&(s=t,t=void 0),e||(e=this.languages),t||(t=this.options.ns),s||(s=z),this.services.backendConnector.reload(e,t,r=>{i.resolve(),s(r)}),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"&&ve.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 s=this.languages[t];if(!(["cimode","dev"].indexOf(s)>-1)&&this.store.hasLanguageSomeTranslations(s)){this.resolvedLanguage=s;break}}}changeLanguage(e,t){var s=this;this.isLanguageChangingTo=e;const i=D();this.emit("languageChanging",e);const r=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},a=(l,u)=>{u?(r(u),this.translator.changeLanguage(u),this.isLanguageChangingTo=void 0,this.emit("languageChanged",u),this.logger.log("languageChanged",u)):this.isLanguageChangingTo=void 0,i.resolve(function(){return s.t(...arguments)}),t&&t(l,function(){return s.t(...arguments)})},o=l=>{!e&&!l&&this.services.languageDetector&&(l=[]);const u=d(l)?l:this.services.languageUtils.getBestMatchFromCodes(l);u&&(this.language||r(u),this.translator.language||this.translator.changeLanguage(u),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(u)),this.loadResources(u,c=>{a(c,u)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?o(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(o):this.services.languageDetector.detect(o):o(e),i}getFixedT(e,t,s){var i=this;const r=function(a,o){let l;if(typeof o!="object"){for(var u=arguments.length,c=new Array(u>2?u-2:0),g=2;g<u;g++)c[g-2]=arguments[g];l=i.options.overloadTranslationOptionHandler([a,o].concat(c))}else l={...o};l.lng=l.lng||r.lng,l.lngs=l.lngs||r.lngs,l.ns=l.ns||r.ns,l.keyPrefix!==""&&(l.keyPrefix=l.keyPrefix||s||r.keyPrefix);const f=i.options.keySeparator||".";let h;return l.keyPrefix&&Array.isArray(a)?h=a.map(p=>`${l.keyPrefix}${f}${p}`):h=l.keyPrefix?`${l.keyPrefix}${f}${a}`:a,i.t(h,l)};return d(e)?r.lng=e:r.lngs=e,r.ns=t,r.keyPrefix=s,r}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};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 s=t.lng||this.resolvedLanguage||this.languages[0],i=this.options?this.options.fallbackLng:!1,r=this.languages[this.languages.length-1];if(s.toLowerCase()==="cimode")return!0;const a=(o,l)=>{const u=this.services.backendConnector.state[`${o}|${l}`];return u===-1||u===0||u===2};if(t.precheck){const o=t.precheck(this,a);if(o!==void 0)return o}return!!(this.hasResourceBundle(s,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||a(s,e)&&(!i||a(r,e)))}loadNamespaces(e,t){const s=D();return this.options.ns?(d(e)&&(e=[e]),e.forEach(i=>{this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}),this.loadResources(i=>{s.resolve(),t&&t(i)}),s):(t&&t(),Promise.resolve())}loadLanguages(e,t){const s=D();d(e)&&(e=[e]);const i=this.options.preload||[],r=e.filter(a=>i.indexOf(a)<0&&this.services.languageUtils.isSupportedCode(a));return r.length?(this.options.preload=i.concat(r),this.loadResources(a=>{s.resolve(),t&&t(a)}),s):(t&&t(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!e)return"rtl";const t=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],s=this.services&&this.services.languageUtils||new ge(pe());return t.indexOf(s.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return new V(e,t)}cloneInstance(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:z;const s=e.forkResourceStore;s&&delete e.forkResourceStore;const i={...this.options,...e,isClone:!0},r=new V(i);return(e.debug!==void 0||e.prefix!==void 0)&&(r.logger=r.logger.clone(e)),["store","services","language"].forEach(o=>{r[o]=this[o]}),r.services={...this.services},r.services.utils={hasLoadedNamespace:r.hasLoadedNamespace.bind(r)},s&&(r.store=new fe(this.store.data,i),r.services.resourceStore=r.store),r.translator=new W(r.services,i),r.translator.on("*",function(o){for(var l=arguments.length,u=new Array(l>1?l-1:0),c=1;c<l;c++)u[c-1]=arguments[c];r.emit(o,...u)}),r.init(i,t),r.translator.options=i,r.translator.backendConnector.services.utils={hasLoadedNamespace:r.hasLoadedNamespace.bind(r)},r}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const w=V.createInstance();w.createInstance=V.createInstance;w.createInstance;w.dir;w.init;w.loadResources;w.reloadResources;w.use;w.changeLanguage;w.getFixedT;w.t;w.exists;w.setDefaultNamespace;w.hasLoadedNamespace;w.loadNamespaces;w.loadLanguages;export{mt as I,dt as a,w as i,pt as u};
|
|
1
|
+
var Ne=Object.defineProperty;var Ce=(n,e,t)=>e in n?Ne(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var se=(n,e,t)=>Ce(n,typeof e!="symbol"?e+"":e,t);import{r as R}from"./vendor-CITafuNQ.js";function Re(){if(console&&console.warn){for(var n=arguments.length,e=new Array(n),t=0;t<n;t++)e[t]=arguments[t];k(e[0])&&(e[0]=`react-i18next:: ${e[0]}`),console.warn(...e)}}const ne={};function Z(){for(var n=arguments.length,e=new Array(n),t=0;t<n;t++)e[t]=arguments[t];k(e[0])&&ne[e[0]]||(k(e[0])&&(ne[e[0]]=new Date),Re(...e))}const be=(n,e)=>()=>{if(n.isInitialized)e();else{const t=()=>{setTimeout(()=>{n.off("initialized",t)},0),e()};n.on("initialized",t)}},ie=(n,e,t)=>{n.loadNamespaces(e,be(n,t))},re=(n,e,t,s)=>{k(t)&&(t=[t]),t.forEach(i=>{n.options.ns.indexOf(i)<0&&n.options.ns.push(i)}),n.loadLanguages(e,be(n,s))},Pe=function(n,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const s=e.languages[0],i=e.options?e.options.fallbackLng:!1,r=e.languages[e.languages.length-1];if(s.toLowerCase()==="cimode")return!0;const a=(o,l)=>{const u=e.services.backendConnector.state[`${o}|${l}`];return u===-1||u===2};return t.bindI18n&&t.bindI18n.indexOf("languageChanging")>-1&&e.services.backendConnector.backend&&e.isLanguageChangingTo&&!a(e.isLanguageChangingTo,n)?!1:!!(e.hasResourceBundle(s,n)||!e.services.backendConnector.backend||e.options.resources&&!e.options.partialBundledLanguages||a(s,n)&&(!i||a(r,n)))},$e=function(n,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return!e.languages||!e.languages.length?(Z("i18n.languages were undefined or empty",e.languages),!0):e.options.ignoreJSONStructure!==void 0?e.hasLoadedNamespace(n,{lng:t.lng,precheck:(i,r)=>{if(t.bindI18n&&t.bindI18n.indexOf("languageChanging")>-1&&i.services.backendConnector.backend&&i.isLanguageChangingTo&&!r(i.isLanguageChangingTo,n))return!1}}):Pe(n,e,t)},k=n=>typeof n=="string",ke=n=>typeof n=="object"&&n!==null,Ie=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,Ee={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},Fe=n=>Ee[n],je=n=>n.replace(Ie,Fe);let q={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:je};const Te=function(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};q={...q,...n}},Ae=()=>q;let xe;const De=n=>{xe=n},Ue=()=>xe,dt={type:"3rdParty",init(n){Te(n.options.react),De(n)}},ye=R.createContext();class Ve{constructor(){se(this,"getUsedNamespaces",()=>Object.keys(this.usedNamespaces));this.usedNamespaces={}}addUsedNamespaces(e){e.forEach(t=>{this.usedNamespaces[t]||(this.usedNamespaces[t]=!0)})}}const Ke=(n,e)=>{const t=R.useRef();return R.useEffect(()=>{t.current=n},[n,e]),t.current},Se=(n,e,t,s)=>n.getFixedT(e,t,s),Me=(n,e,t,s)=>R.useCallback(Se(n,e,t,s),[n,e,t,s]),pt=function(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{i18n:t}=e,{i18n:s,defaultNS:i}=R.useContext(ye)||{},r=t||s||Ue();if(r&&!r.reportNamespaces&&(r.reportNamespaces=new Ve),!r){Z("You will need to pass in an i18next instance by using initReactI18next");const m=(v,y)=>k(y)?y:ke(y)&&k(y.defaultValue)?y.defaultValue:Array.isArray(v)?v[v.length-1]:v,L=[m,{},!1];return L.t=m,L.i18n={},L.ready=!1,L}r.options.react&&r.options.react.wait!==void 0&&Z("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const a={...Ae(),...r.options.react,...e},{useSuspense:o,keyPrefix:l}=a;let u=i||r.options&&r.options.defaultNS;u=k(u)?[u]:u||["translation"],r.reportNamespaces.addUsedNamespaces&&r.reportNamespaces.addUsedNamespaces(u);const c=(r.isInitialized||r.initializedStoreOnce)&&u.every(m=>$e(m,r,a)),g=Me(r,e.lng||null,a.nsMode==="fallback"?u:u[0],l),f=()=>g,h=()=>Se(r,e.lng||null,a.nsMode==="fallback"?u:u[0],l),[p,x]=R.useState(f);let b=u.join();e.lng&&(b=`${e.lng}${b}`);const O=Ke(b),S=R.useRef(!0);R.useEffect(()=>{const{bindI18n:m,bindI18nStore:L}=a;S.current=!0,!c&&!o&&(e.lng?re(r,e.lng,u,()=>{S.current&&x(h)}):ie(r,u,()=>{S.current&&x(h)})),c&&O&&O!==b&&S.current&&x(h);const v=()=>{S.current&&x(h)};return m&&r&&r.on(m,v),L&&r&&r.store.on(L,v),()=>{S.current=!1,m&&r&&m.split(" ").forEach(y=>r.off(y,v)),L&&r&&L.split(" ").forEach(y=>r.store.off(y,v))}},[r,b]),R.useEffect(()=>{S.current&&c&&x(f)},[r,l,c]);const C=[p,r,c];if(C.t=p,C.i18n=r,C.ready=c,c||!c&&!o)return C;throw new Promise(m=>{e.lng?re(r,e.lng,u,()=>m()):ie(r,u,()=>m())})};function mt(n){let{i18n:e,defaultNS:t,children:s}=n;const i=R.useMemo(()=>({i18n:e,defaultNS:t}),[e,t]);return R.createElement(ye.Provider,{value:i},s)}const d=n=>typeof n=="string",D=()=>{let n,e;const t=new Promise((s,i)=>{n=s,e=i});return t.resolve=n,t.reject=e,t},ae=n=>n==null?"":""+n,ze=(n,e,t)=>{n.forEach(s=>{e[s]&&(t[s]=e[s])})},He=/###/g,oe=n=>n&&n.indexOf("###")>-1?n.replace(He,"."):n,le=n=>!n||d(n),U=(n,e,t)=>{const s=d(e)?e.split("."):e;let i=0;for(;i<s.length-1;){if(le(n))return{};const r=oe(s[i]);!n[r]&&t&&(n[r]=new t),Object.prototype.hasOwnProperty.call(n,r)?n=n[r]:n={},++i}return le(n)?{}:{obj:n,k:oe(s[i])}},ue=(n,e,t)=>{const{obj:s,k:i}=U(n,e,Object);if(s!==void 0||e.length===1){s[i]=t;return}let r=e[e.length-1],a=e.slice(0,e.length-1),o=U(n,a,Object);for(;o.obj===void 0&&a.length;)r=`${a[a.length-1]}.${r}`,a=a.slice(0,a.length-1),o=U(n,a,Object),o&&o.obj&&typeof o.obj[`${o.k}.${r}`]<"u"&&(o.obj=void 0);o.obj[`${o.k}.${r}`]=t},Je=(n,e,t,s)=>{const{obj:i,k:r}=U(n,e,Object);i[r]=i[r]||[],i[r].push(t)},H=(n,e)=>{const{obj:t,k:s}=U(n,e);if(t)return t[s]},Be=(n,e,t)=>{const s=H(n,t);return s!==void 0?s:H(e,t)},Le=(n,e,t)=>{for(const s in e)s!=="__proto__"&&s!=="constructor"&&(s in n?d(n[s])||n[s]instanceof String||d(e[s])||e[s]instanceof String?t&&(n[s]=e[s]):Le(n[s],e[s],t):n[s]=e[s]);return n},I=n=>n.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var We={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};const Ye=n=>d(n)?n.replace(/[&<>"'\/]/g,e=>We[e]):n;class Qe{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const t=this.regExpMap.get(e);if(t!==void 0)return t;const s=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,s),this.regExpQueue.push(e),s}}const Ge=[" ",",","?","!",";"],Ze=new Qe(20),qe=(n,e,t)=>{e=e||"",t=t||"";const s=Ge.filter(a=>e.indexOf(a)<0&&t.indexOf(a)<0);if(s.length===0)return!0;const i=Ze.getRegExp(`(${s.map(a=>a==="?"?"\\?":a).join("|")})`);let r=!i.test(n);if(!r){const a=n.indexOf(t);a>0&&!i.test(n.substring(0,a))&&(r=!0)}return r},X=function(n,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!n)return;if(n[e])return n[e];const s=e.split(t);let i=n;for(let r=0;r<s.length;){if(!i||typeof i!="object")return;let a,o="";for(let l=r;l<s.length;++l)if(l!==r&&(o+=t),o+=s[l],a=i[o],a!==void 0){if(["string","number","boolean"].indexOf(typeof a)>-1&&l<s.length-1)continue;r+=l-r+1;break}i=a}return i},J=n=>n&&n.replace("_","-"),Xe={type:"logger",log(n){this.output("log",n)},warn(n){this.output("warn",n)},error(n){this.output("error",n)},output(n,e){console&&console[n]&&console[n].apply(console,e)}};class B{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(e,t)}init(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||Xe,this.options=t,this.debug=t.debug}log(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.forward(t,"log","",!0)}warn(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.forward(t,"warn","",!0)}error(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.forward(t,"error","")}deprecate(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}forward(e,t,s,i){return i&&!this.debug?null:(d(e[0])&&(e[0]=`${s}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new B(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return e=e||this.options,e.prefix=e.prefix||this.prefix,new B(this.logger,e)}}var P=new B;class Y{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach(s=>{this.observers[s]||(this.observers[s]=new Map);const i=this.observers[s].get(t)||0;this.observers[s].set(t,i+1)}),this}off(e,t){if(this.observers[e]){if(!t){delete this.observers[e];return}this.observers[e].delete(t)}}emit(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),i=1;i<t;i++)s[i-1]=arguments[i];this.observers[e]&&Array.from(this.observers[e].entries()).forEach(a=>{let[o,l]=a;for(let u=0;u<l;u++)o(...s)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(a=>{let[o,l]=a;for(let u=0;u<l;u++)o.apply(o,[e,...s])})}}class fe extends Y{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{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,s){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const r=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],s&&(Array.isArray(s)?o.push(...s):d(s)&&r?o.push(...s.split(r)):o.push(s)));const l=H(this.data,o);return!l&&!t&&!s&&e.indexOf(".")>-1&&(e=o[0],t=o[1],s=o.slice(2).join(".")),l||!a||!d(s)?l:X(this.data&&this.data[e]&&this.data[e][t],s,r)}addResource(e,t,s,i){let r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const a=r.keySeparator!==void 0?r.keySeparator:this.options.keySeparator;let o=[e,t];s&&(o=o.concat(a?s.split(a):s)),e.indexOf(".")>-1&&(o=e.split("."),i=t,t=o[1]),this.addNamespaces(t),ue(this.data,o,i),r.silent||this.emit("added",e,t,s,i)}addResources(e,t,s){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const r in s)(d(s[r])||Array.isArray(s[r]))&&this.addResource(e,t,r,s[r],{silent:!0});i.silent||this.emit("added",e,t,s)}addResourceBundle(e,t,s,i,r){let a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1,skipCopy:!1},o=[e,t];e.indexOf(".")>-1&&(o=e.split("."),i=s,s=t,t=o[1]),this.addNamespaces(t);let l=H(this.data,o)||{};a.skipCopy||(s=JSON.parse(JSON.stringify(s))),i?Le(l,s,r):l={...l,...s},ue(this.data,o,l),a.silent||this.emit("added",e,t,s)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return this.getResource(e,t)!==void 0}getResourceBundle(e,t){return t||(t=this.options.defaultNS),this.options.compatibilityAPI==="v1"?{...this.getResource(e,t)}: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 ve={processors:{},addPostProcessor(n){this.processors[n.name]=n},handle(n,e,t,s,i){return n.forEach(r=>{this.processors[r]&&(e=this.processors[r].process(e,t,s,i))}),e}};const ce={};class W extends Y{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),ze(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=P.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(e==null)return!1;const s=this.resolve(e,t);return s&&s.res!==void 0}extractFromKey(e,t){let s=t.nsSeparator!==void 0?t.nsSeparator:this.options.nsSeparator;s===void 0&&(s=":");const i=t.keySeparator!==void 0?t.keySeparator:this.options.keySeparator;let r=t.ns||this.options.defaultNS||[];const a=s&&e.indexOf(s)>-1,o=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!qe(e,s,i);if(a&&!o){const l=e.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:e,namespaces:d(r)?[r]:r};const u=e.split(s);(s!==i||s===i&&this.options.ns.indexOf(u[0])>-1)&&(r=u.shift()),e=u.join(i)}return{key:e,namespaces:d(r)?[r]:r}}translate(e,t,s){if(typeof t!="object"&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),typeof t=="object"&&(t={...t}),t||(t={}),e==null)return"";Array.isArray(e)||(e=[String(e)]);const i=t.returnDetails!==void 0?t.returnDetails:this.options.returnDetails,r=t.keySeparator!==void 0?t.keySeparator:this.options.keySeparator,{key:a,namespaces:o}=this.extractFromKey(e[e.length-1],t),l=o[o.length-1],u=t.lng||this.language,c=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(u&&u.toLowerCase()==="cimode"){if(c){const m=t.nsSeparator||this.options.nsSeparator;return i?{res:`${l}${m}${a}`,usedKey:a,exactUsedKey:a,usedLng:u,usedNS:l,usedParams:this.getUsedParamsDetails(t)}:`${l}${m}${a}`}return i?{res:a,usedKey:a,exactUsedKey:a,usedLng:u,usedNS:l,usedParams:this.getUsedParamsDetails(t)}:a}const g=this.resolve(e,t);let f=g&&g.res;const h=g&&g.usedKey||a,p=g&&g.exactUsedKey||a,x=Object.prototype.toString.apply(f),b=["[object Number]","[object Function]","[object RegExp]"],O=t.joinArrays!==void 0?t.joinArrays:this.options.joinArrays,S=!this.i18nFormat||this.i18nFormat.handleAsObject,C=!d(f)&&typeof f!="boolean"&&typeof f!="number";if(S&&f&&C&&b.indexOf(x)<0&&!(d(O)&&Array.isArray(f))){if(!t.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const m=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,f,{...t,ns:o}):`key '${a} (${this.language})' returned an object instead of string.`;return i?(g.res=m,g.usedParams=this.getUsedParamsDetails(t),g):m}if(r){const m=Array.isArray(f),L=m?[]:{},v=m?p:h;for(const y in f)if(Object.prototype.hasOwnProperty.call(f,y)){const K=`${v}${r}${y}`;L[y]=this.translate(K,{...t,joinArrays:!1,ns:o}),L[y]===K&&(L[y]=f[y])}f=L}}else if(S&&d(O)&&Array.isArray(f))f=f.join(O),f&&(f=this.extendTranslation(f,e,t,s));else{let m=!1,L=!1;const v=t.count!==void 0&&!d(t.count),y=W.hasDefaultValue(t),K=v?this.pluralResolver.getSuffix(u,t.count,t):"",Oe=t.ordinal&&v?this.pluralResolver.getSuffix(u,t.count,{ordinal:!1}):"",_=v&&!t.ordinal&&t.count===0&&this.pluralResolver.shouldUseIntlApi(),F=_&&t[`defaultValue${this.options.pluralSeparator}zero`]||t[`defaultValue${K}`]||t[`defaultValue${Oe}`]||t.defaultValue;!this.isValidLookup(f)&&y&&(m=!0,f=F),this.isValidLookup(f)||(L=!0,f=a);const we=(t.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&L?void 0:f,j=y&&F!==f&&this.options.updateMissing;if(L||m||j){if(this.logger.log(j?"updateKey":"missingKey",u,l,a,j?F:f),r){const N=this.resolve(a,{...t,keySeparator:!1});N&&N.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 T=[];const M=this.languageUtils.getFallbackCodes(this.options.fallbackLng,t.lng||this.language);if(this.options.saveMissingTo==="fallback"&&M&&M[0])for(let N=0;N<M.length;N++)T.push(M[N]);else this.options.saveMissingTo==="all"?T=this.languageUtils.toResolveHierarchy(t.lng||this.language):T.push(t.lng||this.language);const ee=(N,$,A)=>{const te=y&&A!==f?A:we;this.options.missingKeyHandler?this.options.missingKeyHandler(N,l,$,te,j,t):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(N,l,$,te,j,t),this.emit("missingKey",N,l,$,f)};this.options.saveMissing&&(this.options.saveMissingPlurals&&v?T.forEach(N=>{const $=this.pluralResolver.getSuffixes(N,t);_&&t[`defaultValue${this.options.pluralSeparator}zero`]&&$.indexOf(`${this.options.pluralSeparator}zero`)<0&&$.push(`${this.options.pluralSeparator}zero`),$.forEach(A=>{ee([N],a+A,t[`defaultValue${A}`]||F)})}):ee(T,a,F))}f=this.extendTranslation(f,e,t,g,s),L&&f===a&&this.options.appendNamespaceToMissingKey&&(f=`${l}:${a}`),(L||m)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?f=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${a}`:a,m?f:void 0):f=this.options.parseMissingKeyHandler(f))}return i?(g.res=f,g.usedParams=this.getUsedParamsDetails(t),g):f}extendTranslation(e,t,s,i,r){var a=this;if(this.i18nFormat&&this.i18nFormat.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...s},s.lng||this.language||i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!s.skipInterpolation){s.interpolation&&this.interpolator.init({...s,interpolation:{...this.options.interpolation,...s.interpolation}});const u=d(e)&&(s&&s.interpolation&&s.interpolation.skipOnVariables!==void 0?s.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let c;if(u){const f=e.match(this.interpolator.nestingRegexp);c=f&&f.length}let g=s.replace&&!d(s.replace)?s.replace:s;if(this.options.interpolation.defaultVariables&&(g={...this.options.interpolation.defaultVariables,...g}),e=this.interpolator.interpolate(e,g,s.lng||this.language||i.usedLng,s),u){const f=e.match(this.interpolator.nestingRegexp),h=f&&f.length;c<h&&(s.nest=!1)}!s.lng&&this.options.compatibilityAPI!=="v1"&&i&&i.res&&(s.lng=this.language||i.usedLng),s.nest!==!1&&(e=this.interpolator.nest(e,function(){for(var f=arguments.length,h=new Array(f),p=0;p<f;p++)h[p]=arguments[p];return r&&r[0]===h[0]&&!s.context?(a.logger.warn(`It seems you are nesting recursively key: ${h[0]} in key: ${t[0]}`),null):a.translate(...h,t)},s)),s.interpolation&&this.interpolator.reset()}const o=s.postProcess||this.options.postProcess,l=d(o)?[o]:o;return e!=null&&l&&l.length&&s.applyPostProcessor!==!1&&(e=ve.handle(l,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...i,usedParams:this.getUsedParamsDetails(s)},...s}:s,this)),e}resolve(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s,i,r,a,o;return d(e)&&(e=[e]),e.forEach(l=>{if(this.isValidLookup(s))return;const u=this.extractFromKey(l,t),c=u.key;i=c;let g=u.namespaces;this.options.fallbackNS&&(g=g.concat(this.options.fallbackNS));const f=t.count!==void 0&&!d(t.count),h=f&&!t.ordinal&&t.count===0&&this.pluralResolver.shouldUseIntlApi(),p=t.context!==void 0&&(d(t.context)||typeof t.context=="number")&&t.context!=="",x=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);g.forEach(b=>{this.isValidLookup(s)||(o=b,!ce[`${x[0]}-${b}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(o)&&(ce[`${x[0]}-${b}`]=!0,this.logger.warn(`key "${i}" for languages "${x.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!!!")),x.forEach(O=>{if(this.isValidLookup(s))return;a=O;const S=[c];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(S,c,O,b,t);else{let m;f&&(m=this.pluralResolver.getSuffix(O,t.count,t));const L=`${this.options.pluralSeparator}zero`,v=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(f&&(S.push(c+m),t.ordinal&&m.indexOf(v)===0&&S.push(c+m.replace(v,this.options.pluralSeparator)),h&&S.push(c+L)),p){const y=`${c}${this.options.contextSeparator}${t.context}`;S.push(y),f&&(S.push(y+m),t.ordinal&&m.indexOf(v)===0&&S.push(y+m.replace(v,this.options.pluralSeparator)),h&&S.push(y+L))}}let C;for(;C=S.pop();)this.isValidLookup(s)||(r=C,s=this.getResource(O,b,C,t))}))})}),{res:s,usedKey:i,exactUsedKey:r,usedLng:a,usedNS:o}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e==="")}getResource(e,t,s){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,t,s,i):this.resourceStore.getResource(e,t,s,i)}getUsedParamsDetails(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const t=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],s=e.replace&&!d(e.replace);let i=s?e.replace:e;if(s&&typeof e.count<"u"&&(i.count=e.count),this.options.interpolation.defaultVariables&&(i={...this.options.interpolation.defaultVariables,...i}),!s){i={...i};for(const r of t)delete i[r]}return i}static hasDefaultValue(e){const t="defaultValue";for(const s in e)if(Object.prototype.hasOwnProperty.call(e,s)&&t===s.substring(0,t.length)&&e[s]!==void 0)return!0;return!1}}const Q=n=>n.charAt(0).toUpperCase()+n.slice(1);class ge{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=P.create("languageUtils")}getScriptPartFromCode(e){if(e=J(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=J(e),!e||e.indexOf("-")<0)return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(d(e)&&e.indexOf("-")>-1){if(typeof Intl<"u"&&typeof Intl.getCanonicalLocales<"u")try{let i=Intl.getCanonicalLocales(e)[0];if(i&&this.options.lowerCaseLng&&(i=i.toLowerCase()),i)return i}catch{}const t=["hans","hant","latn","cyrl","cans","mong","arab"];let s=e.split("-");return this.options.lowerCaseLng?s=s.map(i=>i.toLowerCase()):s.length===2?(s[0]=s[0].toLowerCase(),s[1]=s[1].toUpperCase(),t.indexOf(s[1].toLowerCase())>-1&&(s[1]=Q(s[1].toLowerCase()))):s.length===3&&(s[0]=s[0].toLowerCase(),s[1].length===2&&(s[1]=s[1].toUpperCase()),s[0]!=="sgn"&&s[2].length===2&&(s[2]=s[2].toUpperCase()),t.indexOf(s[1].toLowerCase())>-1&&(s[1]=Q(s[1].toLowerCase())),t.indexOf(s[2].toLowerCase())>-1&&(s[2]=Q(s[2].toLowerCase()))),s.join("-")}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(s=>{if(t)return;const i=this.formatLanguageCode(s);(!this.options.supportedLngs||this.isSupportedCode(i))&&(t=i)}),!t&&this.options.supportedLngs&&e.forEach(s=>{if(t)return;const i=this.getLanguagePartFromCode(s);if(this.isSupportedCode(i))return t=i;t=this.options.supportedLngs.find(r=>{if(r===i)return r;if(!(r.indexOf("-")<0&&i.indexOf("-")<0)&&(r.indexOf("-")>0&&i.indexOf("-")<0&&r.substring(0,r.indexOf("-"))===i||r.indexOf(i)===0&&i.length>1))return r})}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,t){if(!e)return[];if(typeof e=="function"&&(e=e(t)),d(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let s=e[t];return s||(s=e[this.getScriptPartFromCode(t)]),s||(s=e[this.formatLanguageCode(t)]),s||(s=e[this.getLanguagePartFromCode(t)]),s||(s=e.default),s||[]}toResolveHierarchy(e,t){const s=this.getFallbackCodes(t||this.options.fallbackLng||[],e),i=[],r=a=>{a&&(this.isSupportedCode(a)?i.push(a):this.logger.warn(`rejecting language code not found in supportedLngs: ${a}`))};return d(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&r(this.formatLanguageCode(e)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&r(this.getScriptPartFromCode(e)),this.options.load!=="currentOnly"&&r(this.getLanguagePartFromCode(e))):d(e)&&r(this.formatLanguageCode(e)),s.forEach(a=>{i.indexOf(a)<0&&r(this.formatLanguageCode(a))}),i}}let _e=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],et={1:n=>+(n>1),2:n=>+(n!=1),3:n=>0,4:n=>n%10==1&&n%100!=11?0:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?1:2,5:n=>n==0?0:n==1?1:n==2?2:n%100>=3&&n%100<=10?3:n%100>=11?4:5,6:n=>n==1?0:n>=2&&n<=4?1:2,7:n=>n==1?0:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?1:2,8:n=>n==1?0:n==2?1:n!=8&&n!=11?2:3,9:n=>+(n>=2),10:n=>n==1?0:n==2?1:n<7?2:n<11?3:4,11:n=>n==1||n==11?0:n==2||n==12?1:n>2&&n<20?2:3,12:n=>+(n%10!=1||n%100==11),13:n=>+(n!==0),14:n=>n==1?0:n==2?1:n==3?2:3,15:n=>n%10==1&&n%100!=11?0:n%10>=2&&(n%100<10||n%100>=20)?1:2,16:n=>n%10==1&&n%100!=11?0:n!==0?1:2,17:n=>n==1||n%10==1&&n%100!=11?0:1,18:n=>n==0?0:n==1?1:2,19:n=>n==1?0:n==0||n%100>1&&n%100<11?1:n%100>10&&n%100<20?2:3,20:n=>n==1?0:n==0||n%100>0&&n%100<20?1:2,21:n=>n%100==1?1:n%100==2?2:n%100==3||n%100==4?3:0,22:n=>n==1?0:n==2?1:(n<0||n>10)&&n%10==0?2:3};const tt=["v1","v2","v3"],st=["v4"],he={zero:0,one:1,two:2,few:3,many:4,other:5},nt=()=>{const n={};return _e.forEach(e=>{e.lngs.forEach(t=>{n[t]={numbers:e.nr,plurals:et[e.fc]}})}),n};class it{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=e,this.options=t,this.logger=P.create("pluralResolver"),(!this.options.compatibilityJSON||st.includes(this.options.compatibilityJSON))&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=nt(),this.pluralRulesCache={}}addRule(e,t){this.rules[e]=t}clearCache(){this.pluralRulesCache={}}getRule(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi()){const s=J(e==="dev"?"en":e),i=t.ordinal?"ordinal":"cardinal",r=JSON.stringify({cleanedCode:s,type:i});if(r in this.pluralRulesCache)return this.pluralRulesCache[r];let a;try{a=new Intl.PluralRules(s,{type:i})}catch{if(!e.match(/-|_/))return;const l=this.languageUtils.getLanguagePartFromCode(e);a=this.getRule(l,t)}return this.pluralRulesCache[r]=a,a}return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]}needsPlural(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const s=this.getRule(e,t);return this.shouldUseIntlApi()?s&&s.resolvedOptions().pluralCategories.length>1:s&&s.numbers.length>1}getPluralFormsOfKey(e,t){let s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(e,s).map(i=>`${t}${i}`)}getSuffixes(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const s=this.getRule(e,t);return s?this.shouldUseIntlApi()?s.resolvedOptions().pluralCategories.sort((i,r)=>he[i]-he[r]).map(i=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${i}`):s.numbers.map(i=>this.getSuffix(e,i,t)):[]}getSuffix(e,t){let s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const i=this.getRule(e,s);return i?this.shouldUseIntlApi()?`${this.options.prepend}${s.ordinal?`ordinal${this.options.prepend}`:""}${i.select(t)}`:this.getSuffixRetroCompatible(i,t):(this.logger.warn(`no plural rule found for: ${e}`),"")}getSuffixRetroCompatible(e,t){const s=e.noAbs?e.plurals(t):e.plurals(Math.abs(t));let i=e.numbers[s];this.options.simplifyPluralSuffix&&e.numbers.length===2&&e.numbers[0]===1&&(i===2?i="plural":i===1&&(i=""));const r=()=>this.options.prepend&&i.toString()?this.options.prepend+i.toString():i.toString();return this.options.compatibilityJSON==="v1"?i===1?"":typeof i=="number"?`_plural_${i.toString()}`:r():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&e.numbers.length===2&&e.numbers[0]===1?r():this.options.prepend&&s.toString()?this.options.prepend+s.toString():s.toString()}shouldUseIntlApi(){return!tt.includes(this.options.compatibilityJSON)}}const de=function(n,e,t){let s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,r=Be(n,e,t);return!r&&i&&d(t)&&(r=X(n,t,s),r===void 0&&(r=X(e,t,s))),r},G=n=>n.replace(/\$/g,"$$$$");class rt{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=P.create("interpolator"),this.options=e,this.format=e.interpolation&&e.interpolation.format||(t=>t),this.init(e)}init(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});const{escape:t,escapeValue:s,useRawValueToEscape:i,prefix:r,prefixEscaped:a,suffix:o,suffixEscaped:l,formatSeparator:u,unescapeSuffix:c,unescapePrefix:g,nestingPrefix:f,nestingPrefixEscaped:h,nestingSuffix:p,nestingSuffixEscaped:x,nestingOptionsSeparator:b,maxReplaces:O,alwaysFormat:S}=e.interpolation;this.escape=t!==void 0?t:Ye,this.escapeValue=s!==void 0?s:!0,this.useRawValueToEscape=i!==void 0?i:!1,this.prefix=r?I(r):a||"{{",this.suffix=o?I(o):l||"}}",this.formatSeparator=u||",",this.unescapePrefix=c?"":g||"-",this.unescapeSuffix=this.unescapePrefix?"":c||"",this.nestingPrefix=f?I(f):h||I("$t("),this.nestingSuffix=p?I(p):x||I(")"),this.nestingOptionsSeparator=b||",",this.maxReplaces=O||1e3,this.alwaysFormat=S!==void 0?S:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(t,s)=>t&&t.source===s?(t.lastIndex=0,t):new RegExp(s,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(e,t,s,i){let r,a,o;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},u=h=>{if(h.indexOf(this.formatSeparator)<0){const O=de(t,l,h,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(O,void 0,s,{...i,...t,interpolationkey:h}):O}const p=h.split(this.formatSeparator),x=p.shift().trim(),b=p.join(this.formatSeparator).trim();return this.format(de(t,l,x,this.options.keySeparator,this.options.ignoreJSONStructure),b,s,{...i,...t,interpolationkey:x})};this.resetRegExp();const c=i&&i.missingInterpolationHandler||this.options.missingInterpolationHandler,g=i&&i.interpolation&&i.interpolation.skipOnVariables!==void 0?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:h=>G(h)},{regex:this.regexp,safeValue:h=>this.escapeValue?G(this.escape(h)):G(h)}].forEach(h=>{for(o=0;r=h.regex.exec(e);){const p=r[1].trim();if(a=u(p),a===void 0)if(typeof c=="function"){const b=c(e,r,i);a=d(b)?b:""}else if(i&&Object.prototype.hasOwnProperty.call(i,p))a="";else if(g){a=r[0];continue}else this.logger.warn(`missed to pass in variable ${p} for interpolating ${e}`),a="";else!d(a)&&!this.useRawValueToEscape&&(a=ae(a));const x=h.safeValue(a);if(e=e.replace(r[0],x),g?(h.regex.lastIndex+=a.length,h.regex.lastIndex-=r[0].length):h.regex.lastIndex=0,o++,o>=this.maxReplaces)break}}),e}nest(e,t){let s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i,r,a;const o=(l,u)=>{const c=this.nestingOptionsSeparator;if(l.indexOf(c)<0)return l;const g=l.split(new RegExp(`${c}[ ]*{`));let f=`{${g[1]}`;l=g[0],f=this.interpolate(f,a);const h=f.match(/'/g),p=f.match(/"/g);(h&&h.length%2===0&&!p||p.length%2!==0)&&(f=f.replace(/'/g,'"'));try{a=JSON.parse(f),u&&(a={...u,...a})}catch(x){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,x),`${l}${c}${f}`}return a.defaultValue&&a.defaultValue.indexOf(this.prefix)>-1&&delete a.defaultValue,l};for(;i=this.nestingRegexp.exec(e);){let l=[];a={...s},a=a.replace&&!d(a.replace)?a.replace:a,a.applyPostProcessor=!1,delete a.defaultValue;let u=!1;if(i[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(i[1])){const c=i[1].split(this.formatSeparator).map(g=>g.trim());i[1]=c.shift(),l=c,u=!0}if(r=t(o.call(this,i[1].trim(),a),a),r&&i[0]===e&&!d(r))return r;d(r)||(r=ae(r)),r||(this.logger.warn(`missed to resolve ${i[1]} for nesting ${e}`),r=""),u&&(r=l.reduce((c,g)=>this.format(c,g,s.lng,{...s,interpolationkey:i[1].trim()}),r.trim())),e=e.replace(i[0],r),this.regexp.lastIndex=0}return e}}const at=n=>{let e=n.toLowerCase().trim();const t={};if(n.indexOf("(")>-1){const s=n.split("(");e=s[0].toLowerCase().trim();const i=s[1].substring(0,s[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,...l]=a.split(":"),u=l.join(":").trim().replace(/^'+|'+$/g,""),c=o.trim();t[c]||(t[c]=u),u==="false"&&(t[c]=!1),u==="true"&&(t[c]=!0),isNaN(u)||(t[c]=parseInt(u,10))}})}return{formatName:e,formatOptions:t}},E=n=>{const e={};return(t,s,i)=>{let r=i;i&&i.interpolationkey&&i.formatParams&&i.formatParams[i.interpolationkey]&&i[i.interpolationkey]&&(r={...r,[i.interpolationkey]:void 0});const a=s+JSON.stringify(r);let o=e[a];return o||(o=n(J(s),i),e[a]=o),o(t)}};class ot{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=P.create("formatter"),this.options=e,this.formats={number:E((t,s)=>{const i=new Intl.NumberFormat(t,{...s});return r=>i.format(r)}),currency:E((t,s)=>{const i=new Intl.NumberFormat(t,{...s,style:"currency"});return r=>i.format(r)}),datetime:E((t,s)=>{const i=new Intl.DateTimeFormat(t,{...s});return r=>i.format(r)}),relativetime:E((t,s)=>{const i=new Intl.RelativeTimeFormat(t,{...s});return r=>i.format(r,s.range||"day")}),list:E((t,s)=>{const i=new Intl.ListFormat(t,{...s});return r=>i.format(r)})},this.init(e)}init(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};this.formatSeparator=t.interpolation.formatSeparator||","}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=E(t)}format(e,t,s){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const r=t.split(this.formatSeparator);if(r.length>1&&r[0].indexOf("(")>1&&r[0].indexOf(")")<0&&r.find(o=>o.indexOf(")")>-1)){const o=r.findIndex(l=>l.indexOf(")")>-1);r[0]=[r[0],...r.splice(1,o)].join(this.formatSeparator)}return r.reduce((o,l)=>{const{formatName:u,formatOptions:c}=at(l);if(this.formats[u]){let g=o;try{const f=i&&i.formatParams&&i.formatParams[i.interpolationkey]||{},h=f.locale||f.lng||i.locale||i.lng||s;g=this.formats[u](o,h,{...c,...i,...f})}catch(f){this.logger.warn(f)}return g}else this.logger.warn(`there was no format function for ${u}`);return o},e)}}const lt=(n,e)=>{n.pending[e]!==void 0&&(delete n.pending[e],n.pendingCount--)};class ut extends Y{constructor(e,t,s){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=e,this.store=t,this.services=s,this.languageUtils=s.languageUtils,this.options=i,this.logger=P.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&&this.backend.init&&this.backend.init(s,i.backend,i)}queueLoad(e,t,s,i){const r={},a={},o={},l={};return e.forEach(u=>{let c=!0;t.forEach(g=>{const f=`${u}|${g}`;!s.reload&&this.store.hasResourceBundle(u,g)?this.state[f]=2:this.state[f]<0||(this.state[f]===1?a[f]===void 0&&(a[f]=!0):(this.state[f]=1,c=!1,a[f]===void 0&&(a[f]=!0),r[f]===void 0&&(r[f]=!0),l[g]===void 0&&(l[g]=!0)))}),c||(o[u]=!0)}),(Object.keys(r).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(r),pending:Object.keys(a),toLoadLanguages:Object.keys(o),toLoadNamespaces:Object.keys(l)}}loaded(e,t,s){const i=e.split("|"),r=i[0],a=i[1];t&&this.emit("failedLoading",r,a,t),!t&&s&&this.store.addResourceBundle(r,a,s,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&s&&(this.state[e]=0);const o={};this.queue.forEach(l=>{Je(l.loaded,[r],a),lt(l,e),t&&l.errors.push(t),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(u=>{o[u]||(o[u]={});const c=l.loaded[u];c.length&&c.forEach(g=>{o[u][g]===void 0&&(o[u][g]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",o),this.queue=this.queue.filter(l=>!l.done)}read(e,t,s){let i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,a=arguments.length>5?arguments[5]:void 0;if(!e.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:t,fcName:s,tried:i,wait:r,callback:a});return}this.readingCalls++;const o=(u,c)=>{if(this.readingCalls--,this.waitingReads.length>0){const g=this.waitingReads.shift();this.read(g.lng,g.ns,g.fcName,g.tried,g.wait,g.callback)}if(u&&c&&i<this.maxRetries){setTimeout(()=>{this.read.call(this,e,t,s,i+1,r*2,a)},r);return}a(u,c)},l=this.backend[s].bind(this.backend);if(l.length===2){try{const u=l(e,t);u&&typeof u.then=="function"?u.then(c=>o(null,c)).catch(o):o(null,u)}catch(u){o(u)}return}return l(e,t,o)}prepareLoading(e,t){let s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();d(e)&&(e=this.languageUtils.toResolveHierarchy(e)),d(t)&&(t=[t]);const r=this.queueLoad(e,t,s,i);if(!r.toLoad.length)return r.pending.length||i(),null;r.toLoad.forEach(a=>{this.loadOne(a)})}load(e,t,s){this.prepareLoading(e,t,{},s)}reload(e,t,s){this.prepareLoading(e,t,{reload:!0},s)}loadOne(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const s=e.split("|"),i=s[0],r=s[1];this.read(i,r,"read",void 0,void 0,(a,o)=>{a&&this.logger.warn(`${t}loading namespace ${r} for language ${i} failed`,a),!a&&o&&this.logger.log(`${t}loaded namespace ${r} for language ${i}`,o),this.loaded(e,a,o)})}saveMissing(e,t,s,i,r){let a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},o=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(t)){this.logger.warn(`did not save key "${s}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(s==null||s==="")){if(this.backend&&this.backend.create){const l={...a,isUpdate:r},u=this.backend.create.bind(this.backend);if(u.length<6)try{let c;u.length===5?c=u(e,t,s,i,l):c=u(e,t,s,i),c&&typeof c.then=="function"?c.then(g=>o(null,g)).catch(o):o(null,c)}catch(c){o(c)}else u(e,t,s,i,o,l)}!e||!e[0]||this.store.addResource(e[0],t,s,i)}}}const pe=()=>({debug:!1,initImmediate:!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:n=>{let e={};if(typeof n[1]=="object"&&(e=n[1]),d(n[1])&&(e.defaultValue=n[1]),d(n[2])&&(e.tDescription=n[2]),typeof n[2]=="object"||typeof n[3]=="object"){const t=n[3]||n[2];Object.keys(t).forEach(s=>{e[s]=t[s]})}return e},interpolation:{escapeValue:!0,format:n=>n,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}),me=n=>(d(n.ns)&&(n.ns=[n.ns]),d(n.fallbackLng)&&(n.fallbackLng=[n.fallbackLng]),d(n.fallbackNS)&&(n.fallbackNS=[n.fallbackNS]),n.supportedLngs&&n.supportedLngs.indexOf("cimode")<0&&(n.supportedLngs=n.supportedLngs.concat(["cimode"])),n),z=()=>{},ft=n=>{Object.getOwnPropertyNames(Object.getPrototypeOf(n)).forEach(t=>{typeof n[t]=="function"&&(n[t]=n[t].bind(n))})};class V extends Y{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;if(super(),this.options=me(e),this.services={},this.logger=P,this.modules={external:[]},ft(this),t&&!this.isInitialized&&!e.isClone){if(!this.options.initImmediate)return this.init(e,t),this;setTimeout(()=>{this.init(e,t)},0)}}init(){var e=this;let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},s=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,typeof t=="function"&&(s=t,t={}),!t.defaultNS&&t.defaultNS!==!1&&t.ns&&(d(t.ns)?t.defaultNS=t.ns:t.ns.indexOf("translation")<0&&(t.defaultNS=t.ns[0]));const i=pe();this.options={...i,...this.options,...me(t)},this.options.compatibilityAPI!=="v1"&&(this.options.interpolation={...i.interpolation,...this.options.interpolation}),t.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=t.keySeparator),t.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=t.nsSeparator);const r=c=>c?typeof c=="function"?new c:c:null;if(!this.options.isClone){this.modules.logger?P.init(r(this.modules.logger),this.options):P.init(null,this.options);let c;this.modules.formatter?c=this.modules.formatter:typeof Intl<"u"&&(c=ot);const g=new ge(this.options);this.store=new fe(this.options.resources,this.options);const f=this.services;f.logger=P,f.resourceStore=this.store,f.languageUtils=g,f.pluralResolver=new it(g,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),c&&(!this.options.interpolation.format||this.options.interpolation.format===i.interpolation.format)&&(f.formatter=r(c),f.formatter.init(f,this.options),this.options.interpolation.format=f.formatter.format.bind(f.formatter)),f.interpolator=new rt(this.options),f.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},f.backendConnector=new ut(r(this.modules.backend),f.resourceStore,f,this.options),f.backendConnector.on("*",function(h){for(var p=arguments.length,x=new Array(p>1?p-1:0),b=1;b<p;b++)x[b-1]=arguments[b];e.emit(h,...x)}),this.modules.languageDetector&&(f.languageDetector=r(this.modules.languageDetector),f.languageDetector.init&&f.languageDetector.init(f,this.options.detection,this.options)),this.modules.i18nFormat&&(f.i18nFormat=r(this.modules.i18nFormat),f.i18nFormat.init&&f.i18nFormat.init(this)),this.translator=new W(this.services,this.options),this.translator.on("*",function(h){for(var p=arguments.length,x=new Array(p>1?p-1:0),b=1;b<p;b++)x[b-1]=arguments[b];e.emit(h,...x)}),this.modules.external.forEach(h=>{h.init&&h.init(this)})}if(this.format=this.options.interpolation.format,s||(s=z),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const c=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);c.length>0&&c[0]!=="dev"&&(this.options.lng=c[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(c=>{this[c]=function(){return e.store[c](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(c=>{this[c]=function(){return e.store[c](...arguments),e}});const l=D(),u=()=>{const c=(g,f)=>{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),l.resolve(f),s(g,f)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return c(null,this.t.bind(this));this.changeLanguage(this.options.lng,c)};return this.options.resources||!this.options.initImmediate?u():setTimeout(u,0),l}loadResources(e){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:z;const i=d(e)?e:this.language;if(typeof e=="function"&&(s=e),!this.options.resources||this.options.partialBundledLanguages){if(i&&i.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return s();const r=[],a=o=>{if(!o||o==="cimode")return;this.services.languageUtils.toResolveHierarchy(o).forEach(u=>{u!=="cimode"&&r.indexOf(u)<0&&r.push(u)})};i?a(i):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(l=>a(l)),this.options.preload&&this.options.preload.forEach(o=>a(o)),this.services.backendConnector.load(r,this.options.ns,o=>{!o&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),s(o)})}else s(null)}reloadResources(e,t,s){const i=D();return typeof e=="function"&&(s=e,e=void 0),typeof t=="function"&&(s=t,t=void 0),e||(e=this.languages),t||(t=this.options.ns),s||(s=z),this.services.backendConnector.reload(e,t,r=>{i.resolve(),s(r)}),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"&&ve.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 s=this.languages[t];if(!(["cimode","dev"].indexOf(s)>-1)&&this.store.hasLanguageSomeTranslations(s)){this.resolvedLanguage=s;break}}}changeLanguage(e,t){var s=this;this.isLanguageChangingTo=e;const i=D();this.emit("languageChanging",e);const r=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},a=(l,u)=>{u?(r(u),this.translator.changeLanguage(u),this.isLanguageChangingTo=void 0,this.emit("languageChanged",u),this.logger.log("languageChanged",u)):this.isLanguageChangingTo=void 0,i.resolve(function(){return s.t(...arguments)}),t&&t(l,function(){return s.t(...arguments)})},o=l=>{!e&&!l&&this.services.languageDetector&&(l=[]);const u=d(l)?l:this.services.languageUtils.getBestMatchFromCodes(l);u&&(this.language||r(u),this.translator.language||this.translator.changeLanguage(u),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(u)),this.loadResources(u,c=>{a(c,u)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?o(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(o):this.services.languageDetector.detect(o):o(e),i}getFixedT(e,t,s){var i=this;const r=function(a,o){let l;if(typeof o!="object"){for(var u=arguments.length,c=new Array(u>2?u-2:0),g=2;g<u;g++)c[g-2]=arguments[g];l=i.options.overloadTranslationOptionHandler([a,o].concat(c))}else l={...o};l.lng=l.lng||r.lng,l.lngs=l.lngs||r.lngs,l.ns=l.ns||r.ns,l.keyPrefix!==""&&(l.keyPrefix=l.keyPrefix||s||r.keyPrefix);const f=i.options.keySeparator||".";let h;return l.keyPrefix&&Array.isArray(a)?h=a.map(p=>`${l.keyPrefix}${f}${p}`):h=l.keyPrefix?`${l.keyPrefix}${f}${a}`:a,i.t(h,l)};return d(e)?r.lng=e:r.lngs=e,r.ns=t,r.keyPrefix=s,r}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};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 s=t.lng||this.resolvedLanguage||this.languages[0],i=this.options?this.options.fallbackLng:!1,r=this.languages[this.languages.length-1];if(s.toLowerCase()==="cimode")return!0;const a=(o,l)=>{const u=this.services.backendConnector.state[`${o}|${l}`];return u===-1||u===0||u===2};if(t.precheck){const o=t.precheck(this,a);if(o!==void 0)return o}return!!(this.hasResourceBundle(s,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||a(s,e)&&(!i||a(r,e)))}loadNamespaces(e,t){const s=D();return this.options.ns?(d(e)&&(e=[e]),e.forEach(i=>{this.options.ns.indexOf(i)<0&&this.options.ns.push(i)}),this.loadResources(i=>{s.resolve(),t&&t(i)}),s):(t&&t(),Promise.resolve())}loadLanguages(e,t){const s=D();d(e)&&(e=[e]);const i=this.options.preload||[],r=e.filter(a=>i.indexOf(a)<0&&this.services.languageUtils.isSupportedCode(a));return r.length?(this.options.preload=i.concat(r),this.loadResources(a=>{s.resolve(),t&&t(a)}),s):(t&&t(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!e)return"rtl";const t=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],s=this.services&&this.services.languageUtils||new ge(pe());return t.indexOf(s.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return new V(e,t)}cloneInstance(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:z;const s=e.forkResourceStore;s&&delete e.forkResourceStore;const i={...this.options,...e,isClone:!0},r=new V(i);return(e.debug!==void 0||e.prefix!==void 0)&&(r.logger=r.logger.clone(e)),["store","services","language"].forEach(o=>{r[o]=this[o]}),r.services={...this.services},r.services.utils={hasLoadedNamespace:r.hasLoadedNamespace.bind(r)},s&&(r.store=new fe(this.store.data,i),r.services.resourceStore=r.store),r.translator=new W(r.services,i),r.translator.on("*",function(o){for(var l=arguments.length,u=new Array(l>1?l-1:0),c=1;c<l;c++)u[c-1]=arguments[c];r.emit(o,...u)}),r.init(i,t),r.translator.options=i,r.translator.backendConnector.services.utils={hasLoadedNamespace:r.hasLoadedNamespace.bind(r)},r}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const w=V.createInstance();w.createInstance=V.createInstance;w.createInstance;w.dir;w.init;w.loadResources;w.reloadResources;w.use;w.changeLanguage;w.getFixedT;w.t;w.exists;w.setDefaultNamespace;w.hasLoadedNamespace;w.loadNamespaces;w.loadLanguages;export{mt as I,dt as a,w as i,pt as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as s,j as t}from"./vendor-
|
|
1
|
+
import{r as s,j as t}from"./vendor-CITafuNQ.js";import{c as i}from"./global-BCehxTGJ.js";const l=s.forwardRef(({className:e,type:r,...o},a)=>t.jsx("input",{type:r,className:i("flex h-9 w-full rounded-lg border border-border bg-card px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground",e),ref:a,...o}));l.displayName="Input";const d=s.forwardRef(({className:e,...r},o)=>t.jsx("label",{ref:o,className:i("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",e),...r}));d.displayName="Label";export{l as I,d as L};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import{B as v,c as g}from"./global-BCehxTGJ.js";import{r as u,j as e,a4 as O,a9 as L,aa as N,ab as p,ac as b,ad as j,P as K,ae as T,af as P,ag as R,ah as E,ai as D,aj as q,ak as k,a8 as U,q as B}from"./vendor-CITafuNQ.js";import{c as A}from"./clipboard-BnAnBk_-.js";import{p as G}from"./package-B2CgmdJ7.js";const S="/assets/live-dashboard-B7vLOY_S.png",_="/assets/live-logs-PRpgTV6S.png",F="/assets/live-model-management-xkBDeuLk.png",W="/assets/live-api-keys-CJUuaCev.png",C="/assets/live-en-dashboard-CJoX7IQT.png",Y="/assets/live-en-logs-BGGL53ab.png",H="/assets/live-en-model-management-BpjNblfR.png",$="/assets/live-en-api-keys-Bx8N-eoh.png",w=G.version,Q=(o,a)=>a[o],t={nav:{why:{zh:"现状",en:"The mess"},how:{zh:"怎么用",en:"How"},debug:{zh:"排查",en:"Debug"},local:{zh:"本地优先",en:"Local-first"},start:{zh:"开始",en:"Start"},faq:{zh:"FAQ",en:"FAQ"}},ctaConsole:{zh:"打开控制台",en:"Open console"},ctaInstall:{zh:"立即安装",en:"Install now"},ctaPreview:{zh:"看看控制台长什么样",en:"Preview the console"},hero:{badge:{zh:"v"+w+" · Rust 内核 · 完全开源",en:"v"+w+" · Rust core · Open source"},h1Top:{zh:"你的 API Key",en:"Your API key"},h1Bottom:{zh:"不该躺在 30 个 .env 里",en:"shouldn’t live in 30 .env files"},lead:{zh:"cc-gw 在你的机器上跑一个本地网关。Claude Code、OpenAI SDK、Anthropic SDK 全部指向同一个地址。换模型、换 provider、查日志,再也不用翻业务代码。",en:"cc-gw runs a small gateway right on your machine. Point Claude Code, the OpenAI SDK, and the Anthropic SDK at one address — then swap models, switch providers, and trace requests without touching your app code."},note:{zh:"不需要本机有 Rust 环境,npm 自动拉对应平台的预编译二进制。",en:"No Rust toolchain needed — npm pulls the right prebuilt binary for your platform."},proof:[{zh:"一条命令装好,本机就能跑",en:"One command to install, runs on your laptop"},{zh:"客户端只改 baseURL,不动业务逻辑",en:"Clients only change baseURL — your code stays put"},{zh:"所有数据都在 ~/.cc-gw 下,不走云",en:"Everything lives under ~/.cc-gw — nothing leaves your box"}],works:{zh:"已经在以下客户端里跑通",en:"Tested with"}},why:{eyebrow:{zh:"现状",en:"The mess"},title:{zh:"AI 接进来不难,难的是接进来之后",en:"Wiring up AI is easy. Living with it isn’t."},description:{zh:"你大概率已经踩过下面这三件事里的至少两件。这就是为什么有了 cc-gw。",en:"You’ve probably hit at least two of these. That’s why cc-gw exists."},cards:[{title:{zh:"Key 散在各个 .env 里",en:"Keys scattered across .env files"},body:{zh:"每个项目自己一份 baseURL、自己一份 key、自己一份模型名。时间一长,没人敢动,也没人记得清。",en:"Every project keeps its own baseURL, its own key, its own model name. Six months in, nobody dares touch it."},sample:`OPENAI_BASE_URL=https://...
|
|
2
|
+
ANTHROPIC_API_KEY=sk-ant-...
|
|
3
|
+
MODEL=gpt-4o-2024-08-06`},{title:{zh:"出错只能猜",en:"Debugging is just guessing"},body:{zh:"是 payload 错?协议不对?上游挂了?key 被收回了?没有统一日志,只能 curl 一遍试一遍。",en:"Bad payload? Wrong protocol? Upstream down? Key revoked? Without one log to look at, you curl your way through every theory."},sample:`$ curl ... 401
|
|
4
|
+
# 是 key 过期?还是 endpoint 写错了?
|
|
5
|
+
# Or has the key been rotated?`},{title:{zh:"换模型像拆地雷",en:"Swapping models is a minefield"},body:{zh:"想从 GPT-4o 换 Claude Sonnet?要么 grep 30 个文件挨个改,要么改一堆环境变量然后祈祷。",en:"Want to try Claude Sonnet instead of GPT-4o? Either grep 30 files or rotate a pile of env vars and pray."},sample:`- model: gpt-4o
|
|
6
|
+
+ model: claude-sonnet-4-5
|
|
7
|
+
// 30 处需要同步修改…`}]},how:{eyebrow:{zh:"怎么解决",en:"The fix"},title:{zh:"一个本地入口,背后什么都能换",en:"One local endpoint. Anything behind it can change."},description:{zh:"客户端只认 cc-gw。模型、provider、路由策略,全都在网关里调,业务代码不动。",en:"Your clients only know cc-gw. Models, providers, routing rules — all live in the gateway. Your code never moves."},diagramLabels:{clients:{zh:"你的客户端",en:"Your clients"},gateway:{zh:"本地网关",en:"Local gateway"},providers:{zh:"上游 Provider",en:"Upstream providers"}},differentiator:{eyebrow:{zh:"一个真正的差异化",en:"A real superpower"},title:{zh:"用 Anthropic 的代码,调 GPT-4o;反过来也行",en:"Write Anthropic code, route to GPT-4o. Or the other way around."},body:{zh:"cc-gw 在网关层完成 Anthropic ↔ OpenAI Chat ↔ OpenAI Responses 三端六方向的协议转换,包括 SSE 流式。所以 Claude Code 里写的代码可以路由到 GPT-4o,OpenAI SDK 写的代码也可以路由到 Claude。",en:"cc-gw does full bidirectional translation across Anthropic, OpenAI Chat, and OpenAI Responses — including SSE streaming. So your Claude Code can run on GPT-4o, and your OpenAI SDK can run on Claude."},example:{zh:"示例:客户端协议 → 上游模型",en:"Example: client protocol → upstream model"}},flowSteps:[{zh:"客户端发起请求",en:"Client sends request"},{zh:"按规则匹配 Provider",en:"Routes to the right provider"},{zh:"协议转换 + 流式透传",en:"Translates protocol + streams through"},{zh:"回包同时落日志",en:"Logs the round-trip on the way back"}]},debug:{eyebrow:{zh:"排查",en:"Observability"},title:{zh:"出了事,能看到一整段对话",en:"When things break, see the whole conversation"},description:{zh:"不只是看一条请求成功没成功。完整的请求与响应都被保留下来,跨协议转换哪里出了问题,两侧一对照就清楚。",en:"More than a success or failure flag. Full requests and responses are retained, so when cross-protocol translation goes wrong you can diff both sides and see exactly where."},payload:{title:{zh:"四段 payload,分开存",en:"Four payloads, stored separately"},body:{zh:"每个请求都会保留:客户端发出的、网关转给上游的、上游回来的、再转回客户端的。跨协议有 bug?两侧对照一下就清楚了。",en:"For every request we keep four blobs: what the client sent, what we sent upstream, what came back, and what the client finally received. Cross-protocol bug? Compare both sides — done."},stages:[{zh:"客户端请求",en:"Client request"},{zh:"上游请求",en:"Upstream request"},{zh:"上游响应",en:"Upstream response"},{zh:"客户端响应",en:"Client response"}],clientSide:{zh:"客户端侧",en:"client side"},upstreamSide:{zh:"上游侧",en:"upstream side"}},pillars:[{icon:K,title:{zh:"Logs",en:"Logs"},body:{zh:"按 endpoint / Key / 状态码筛选,定位失败请求只要几秒。可选保留完整 payload。",en:"Filter by endpoint, key, or status code. Optional full-payload capture."}},{icon:T,title:{zh:"Events",en:"Events"},body:{zh:"配置变更、Key 增删、鉴权失败、并发拒绝,全部以事件形式可追溯。",en:"Config changes, key edits, auth failures, concurrency rejects — all auditable as events."}}]},local:{eyebrow:{zh:"本地优先",en:"Local-first"},title:{zh:"所有东西都在你机器的 ~/.cc-gw 下",en:"Everything lives under ~/.cc-gw on your machine"},description:{zh:"没有云端,没有遥测,没有外部依赖。配置可以版本管理,数据库可以直接打开,要离线跑就离线跑。",en:"No cloud. No telemetry. No external dependencies. Version-control your config, open the SQLite file with any tool, run it offline if you want to."},pillars:[{icon:P,title:{zh:"Key 加密落库",en:"Keys encrypted at rest"},body:{zh:"API Key 用 AES-256-GCM 加密存储,索引只走 SHA-256 哈希,明文永不落盘。",en:"API keys encrypted with AES-256-GCM. Lookups go through SHA-256 hashes — plaintext never hits disk."}},{icon:R,title:{zh:"按客户端独立 Key",en:"Per-client API keys"},body:{zh:"为不同客户端、环境、成员发独立 Key。可设并发上限,可配 endpoint 白名单,停用即时生效。",en:"Issue separate keys per client, env, or teammate. Set concurrency caps, restrict to specific endpoints, revoke instantly."}},{icon:E,title:{zh:"配置热改,无需重启",en:"Hot reload — no restart"},body:{zh:"改路由、加自定义 endpoint、调默认模型,控制台保存即生效。Rust 后端常驻,开发机也能长期挂着。",en:"Edit routing, add custom endpoints, change defaults — saves apply live. The Rust process is light enough to leave running on your laptop."}},{icon:D,title:{zh:"老用户数据无痛迁移",en:"Old data just works"},body:{zh:"从旧 Node 版本升级?config.json 和 gateway.db 直接继承,自动做 schema 迁移,历史日志一条不丢。",en:"Upgrading from the old Node build? Your config.json and gateway.db carry over — schema is migrated in place, no log loss."}}],treeCaption:{zh:"一切都在这个目录下,备份它就等于备份了整个 cc-gw。",en:"Back up this folder and you’ve backed up your entire cc-gw setup."}},start:{eyebrow:{zh:"开始",en:"Get started"},title:{zh:"4 步跑起来",en:"Up and running in four steps"},description:{zh:"不用先改团队流程。先让一个客户端走通,看到价值再往后扩。",en:"No team-wide migration. Get one client through first — expand from there."},steps:[{title:{zh:"安装",en:"Install"},body:{zh:"一条命令搞定,npm 会自动拉对应平台的预编译二进制。",en:"One command. npm grabs the prebuilt binary for your platform automatically."},code:"npm install -g @chenpu17/cc-gw"},{title:{zh:"启动",en:"Start"},body:{zh:"前台模式方便观察日志;想常驻就 `--daemon`。默认绑定 127.0.0.1:4100。",en:"Foreground for live logs, or `--daemon` to keep it running. Binds to 127.0.0.1:4100 by default."},code:"cc-gw start --foreground --port 4100"},{title:{zh:"加 Provider",en:"Add a provider"},body:{zh:"打开控制台,把你的 OpenAI / Anthropic / 兼容 provider 填进去。",en:"Open the console and plug in your OpenAI, Anthropic, or any compatible provider."},code:"open http://127.0.0.1:4100/ui"},{title:{zh:"指过去",en:"Point your client"},body:{zh:"客户端只改 baseURL。Anthropic 协议走根路径,OpenAI 协议加 /openai/v1 前缀。",en:"Just change baseURL. Anthropic protocol uses the root path; OpenAI uses /openai/v1."},code:`ANTHROPIC_BASE_URL='http://127.0.0.1:4100'
|
|
8
|
+
OPENAI_BASE_URL='http://127.0.0.1:4100/openai/v1'`}]},console:{eyebrow:{zh:"控制台",en:"Console"},title:{zh:"不是摆设,是你每天用的地方",en:"Not for show — you’ll be in here daily"},description:{zh:"请求进来之后,趋势、日志、路由、Key 都在同一个台子里。",en:"Once requests start flowing, trends, logs, routing, and keys all live under one roof."}},fit:{eyebrow:{zh:"适合谁",en:"Who it’s for"},title:{zh:"诚实地说:它不是为所有人做的",en:"Honestly: it’s not for everyone"},description:{zh:"如果你的 AI 调用已经开始扩张,但又没到要上组织级治理平台的程度,cc-gw 多半正好卡在合适的位置。",en:"If your AI usage is growing but you’re not ready for an enterprise governance platform, cc-gw probably sits right where you need it."},yesTitle:{zh:"适合",en:"Good fit"},noTitle:{zh:"不适合",en:"Not a fit"},yes:[{zh:"同时在用 Claude Code、OpenAI SDK、Anthropic SDK",en:"Already juggling Claude Code, OpenAI SDK, and Anthropic SDK"},{zh:"2-10 人 AI 小队,需要共享入口和日志",en:"A 2–10 person AI team that needs a shared entrypoint and shared logs"},{zh:"10-100 人研发团队,开始多人共享模型调用",en:"A 10–100 dev team starting to share model calls across people"},{zh:"想自托管,对数据归属敏感",en:"You self-host. Data sovereignty matters."},{zh:"受不了把 key、baseURL 散在每个项目里",en:"You’re tired of keys and baseURLs sprinkled across every repo"}],no:[{zh:"需要跨 BU 治理、复杂审批流",en:"You need cross-BU governance and complex approval flows"},{zh:"需要企业 SSO 与组织级策略中台",en:"Enterprise SSO and org-level policy hubs"},{zh:"需要多副本 HA 集群",en:"High-availability multi-replica clusters"},{zh:"强 Compliance 场景(金融、医疗等)",en:"Heavily regulated industries (finance, healthcare)"},{zh:"希望一套大平台囊括所有 AI 成本结算",en:"A single platform to handle all AI cost reconciliation"}]},faq:{eyebrow:{zh:"FAQ",en:"FAQ"},title:{zh:"你可能想问",en:"You probably want to ask"},description:{zh:"从是否值得装、会不会绑死、数据放哪几个最常见的疑问开始。",en:"Starting with the questions people ask most: is it worth it, does it lock me in, where does my data live."},items:[{q:{zh:"我一个人用,也值得装吗?",en:"I’m a solo dev — is it still worth it?"},a:{zh:"只用一个 provider、一个项目,可能不需要。但只要你同时在用 Claude Code 和 OpenAI SDK,或者经常切模型,统一入口能省下来的维护时间会很可观。",en:"If you use one provider and one project, probably not. But the moment you’re juggling Claude Code and the OpenAI SDK — or switching models often — having one entrypoint pays back fast."}},{q:{zh:"会不会被 cc-gw 绑死?",en:"Will I get locked into cc-gw?"},a:{zh:"不会。客户端用的还是 OpenAI / Anthropic 标准协议,不要 cc-gw 也能工作。配置和数据都是 JSON + SQLite,可以直接读、直接迁。",en:"No. Your clients still speak standard OpenAI / Anthropic protocols and work fine without cc-gw. Your config is plain JSON, your data is plain SQLite — read or migrate it any time."}},{q:{zh:"数据存在哪里?会上传吗?",en:"Where does my data live? Does anything get uploaded?"},a:{zh:"全部在本机 ~/.cc-gw/ 下:config.json、SQLite 数据库、加密密钥、日志文件。请求只在你和上游 provider 之间转发,cc-gw 自己不发遥测。",en:"Everything is local under ~/.cc-gw/: config.json, the SQLite database, the encryption key, and log files. Requests flow only between you and the upstream provider — cc-gw sends no telemetry."}},{q:{zh:"它和 LiteLLM、One API 这些有啥区别?",en:"How is it different from LiteLLM or One API?"},a:{zh:"主要三点:(1) 默认本地优先、零云依赖;(2) 跨协议三端六方向真正双向转换,包括 SSE 流式;(3) 内置四段 payload 存储,专门给跨协议排查用。",en:"Three things: (1) local-first by default, zero cloud dependency; (2) true bidirectional translation across Anthropic, OpenAI Chat, and OpenAI Responses — streaming included; (3) built-in four-segment payload storage purpose-built for cross-protocol debugging."}},{q:{zh:"安装需要本机有 Rust 吗?",en:"Do I need Rust installed?"},a:{zh:"不需要。npm 包通过 optionalDependencies 自动拉对应平台的预编译二进制:macOS arm64、Linux x64/arm64、Windows x64。",en:"No. The npm package uses optionalDependencies to pull the right prebuilt binary for your platform: macOS arm64, Linux x64/arm64, and Windows x64."}}]},cta:{title:{zh:"今天就把这件事处理掉",en:"Take care of this today"},body:{zh:"一条命令就能装好。先在本地跑通一个客户端,看到价值再往后扩。",en:"One command to install. Get one client running locally, see if it pays back, then keep going."}},footer:{tagline:{zh:"cc-gw · 给开发者和小团队的本地优先 AI 网关",en:"cc-gw · A local-first AI gateway for developers and small teams"},console:{zh:"控制台",en:"Console"},changelog:{zh:"更新日志",en:"Changelog"}}},M=["Claude Code","OpenAI SDK","Anthropic SDK","cURL","LangChain","Vercel AI SDK"],J=[{client:"Anthropic SDK",upstream:{zh:"OpenAI · GPT-4o",en:"OpenAI · GPT-4o"}},{client:"OpenAI SDK",upstream:{zh:"Anthropic · Claude Sonnet",en:"Anthropic · Claude Sonnet"}},{client:"Claude Code",upstream:{zh:"本地 Ollama / 自建模型",en:"Local Ollama / self-hosted"}}],Z={zh:"兼容 provider · 自建模型",en:"Compatible providers · self-hosted"},z={copy:{zh:"复制",en:"Copy"},copied:{zh:"已复制",en:"Copied"}},V=`~/.cc-gw/
|
|
9
|
+
├── config.json # 直接编辑也行 / edit by hand if you like
|
|
10
|
+
├── encryption.key # 自动生成 / auto-generated
|
|
11
|
+
├── cc-gw.pid
|
|
12
|
+
├── data/
|
|
13
|
+
│ └── gateway.db # SQLite (WAL) — 直接 sqlite3 打开
|
|
14
|
+
└── logs/
|
|
15
|
+
└── cc-gw.log`,y=[{id:"dashboard",shot:{zh:S,en:C},label:{zh:"总览",en:"Dashboard"},blurb:{zh:"今天的请求量、延迟、健康状态,一屏看完。",en:"Today’s request volume, latency, and health — at a glance."}},{id:"logs",shot:{zh:_,en:Y},label:{zh:"请求日志",en:"Logs"},blurb:{zh:"按 endpoint / Key / 状态码筛,几秒定位。",en:"Filter by endpoint, key, or status. Find issues in seconds."}},{id:"routing",shot:{zh:F,en:H},label:{zh:"模型路由",en:"Routing"},blurb:{zh:"别名、通配匹配、fallback 链全在 UI 里维护。",en:"Aliases, wildcards, and fallback chains — all in the UI."}},{id:"keys",shot:{zh:W,en:$},label:{zh:"API Keys",en:"API Keys"},blurb:{zh:"按客户端发独立 Key,可设并发上限。",en:"Per-client keys with concurrency caps."}}];function X(o){if(o.trim().startsWith("#"))return e.jsx("span",{className:"text-muted-foreground",children:o});if(o.startsWith("$ "))return e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"select-none text-primary",children:"$ "}),e.jsx("span",{className:"text-foreground",children:o.slice(2)})]});const a=o.match(/^(\s*)([A-Z_][\w]*)(\s*=\s*)(.+)$/);if(a){const[,l,x,h,i]=a,s=i.startsWith("'")||i.startsWith('"');return e.jsxs(e.Fragment,{children:[e.jsx("span",{children:l}),e.jsx("span",{className:"text-foreground",children:x}),e.jsx("span",{className:"text-muted-foreground",children:h}),e.jsx("span",{className:s?"text-primary":"text-foreground",children:i})]})}return e.jsx("span",{className:"text-foreground",children:o})}function ee({code:o,label:a,className:l,copyLabel:x,copiedLabel:h}){const[i,s]=u.useState(!1);async function c(){await A(o),s(!0),window.setTimeout(()=>s(!1),1800)}return e.jsxs("div",{className:g("relative min-w-0",l),children:[e.jsxs("button",{type:"button","aria-label":`Copy ${a}`,onClick:c,className:"absolute right-3 top-3 z-10 inline-flex items-center gap-1.5 rounded-lg border border-border bg-card px-2.5 py-1 text-[11px] font-medium text-foreground transition hover:bg-secondary",children:[i?e.jsx(b,{className:"h-3.5 w-3.5"}):e.jsx(k,{className:"h-3.5 w-3.5"}),i?h:x]}),e.jsx("pre",{className:"max-w-full overflow-x-auto rounded-2xl border border-border bg-secondary p-5 font-mono text-[13px] leading-7 text-foreground",children:e.jsx("code",{children:o.split(`
|
|
16
|
+
`).map((f,r)=>e.jsx("span",{className:"block",children:X(f)??" "},r))})})]})}function se(){const[o,a]=u.useState(!1),l="npm install -g @chenpu17/cc-gw";async function x(){await A(l),a(!0),window.setTimeout(()=>a(!1),1800)}return e.jsxs("div",{className:"inline-flex w-full max-w-md items-center gap-2 rounded-2xl border border-border bg-card py-2 pl-4 pr-2",children:[e.jsx("span",{className:"select-none font-mono text-primary",children:"$"}),e.jsx("span",{className:"select-all truncate font-mono text-sm text-foreground",children:l}),e.jsx("button",{type:"button","aria-label":"Copy install command",onClick:x,className:"ml-auto inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-lg bg-secondary text-foreground transition hover:bg-muted",children:o?e.jsx(b,{className:"h-3.5 w-3.5 text-primary"}):e.jsx(k,{className:"h-3.5 w-3.5"})})]})}function m({eyebrow:o,title:a,description:l}){return e.jsxs("div",{className:"max-w-3xl",children:[e.jsx("div",{className:"font-mono text-xs font-semibold uppercase tracking-[0.22em] text-primary",children:o}),e.jsx("h2",{className:"mt-4 text-3xl font-semibold tracking-[-0.02em] text-foreground sm:text-4xl",children:a}),e.jsx("p",{className:"mt-4 text-base leading-8 text-muted-foreground sm:text-lg",children:l})]})}function te(){const[o,a]=u.useState("zh"),[l,x]=u.useState(y[0].id),[h,i]=u.useState(0),s=r=>Q(o,r),c=y.find(r=>r.id===l)??y[0],f=[{href:"#why",label:s(t.nav.why)},{href:"#how",label:s(t.nav.how)},{href:"#debug",label:s(t.nav.debug)},{href:"#local",label:s(t.nav.local)},{href:"#start",label:s(t.nav.start)},{href:"#faq",label:s(t.nav.faq)}];return e.jsxs("div",{className:"min-h-screen bg-background text-foreground antialiased",children:[e.jsxs("header",{className:"sticky top-0 z-30 border-b border-border bg-card",children:[e.jsxs("div",{className:"mx-auto flex w-full max-w-6xl items-center justify-between gap-4 px-6 py-3.5 sm:px-8 lg:px-10",children:[e.jsxs("a",{href:"#top",className:"flex items-center gap-2.5",children:[e.jsx(v,{className:"h-9 w-9",title:"cc-gw"}),e.jsxs("div",{className:"leading-tight",children:[e.jsx("div",{className:"text-[15px] font-semibold tracking-tight",children:"cc-gw"}),e.jsx("div",{className:"font-mono text-[10px] uppercase tracking-[0.18em] text-muted-foreground",children:"local-first ai gateway"})]})]}),e.jsx("nav",{className:"hidden items-center gap-1 lg:flex",children:f.map(r=>e.jsx("a",{href:r.href,className:"rounded-lg px-3 py-1.5 text-sm text-muted-foreground transition hover:bg-secondary hover:text-foreground",children:r.label},r.href))}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("button",{type:"button",onClick:()=>a(o==="zh"?"en":"zh"),"aria-label":"Toggle language",className:"inline-flex items-center gap-1.5 rounded-lg border border-border bg-card px-2.5 py-1.5 text-xs font-semibold text-foreground transition hover:border-primary",children:[e.jsx(O,{className:"h-3.5 w-3.5"}),o==="zh"?"EN":"中文"]}),e.jsx("a",{href:"/ui/",className:"hidden rounded-lg border border-border bg-card px-3.5 py-1.5 text-sm font-medium text-foreground transition hover:border-primary hover:text-foreground sm:inline-flex",children:s(t.ctaConsole)}),e.jsxs("a",{href:"https://github.com/chenpu17/cc-gw2",className:"inline-flex items-center gap-1.5 rounded-lg bg-foreground px-3.5 py-1.5 text-sm font-medium text-background transition hover:bg-muted",children:[e.jsx(L,{className:"h-4 w-4"}),"GitHub"]})]})]}),e.jsx("nav",{"aria-label":"Mobile section navigation",className:"flex gap-1.5 overflow-x-auto border-t border-border px-4 py-2 lg:hidden",children:[...f,{href:"/ui/",label:s(t.ctaConsole)}].map(r=>e.jsx("a",{href:r.href,className:"shrink-0 rounded-lg bg-secondary px-3 py-1 text-xs font-medium text-foreground",children:r.label},r.href))})]}),e.jsxs("main",{id:"top",children:[e.jsx("section",{className:"relative overflow-hidden bg-foreground text-background",children:e.jsxs("div",{className:"relative mx-auto w-full max-w-6xl px-6 pb-24 pt-20 sm:px-8 lg:px-10 lg:pt-28",children:[e.jsxs("div",{className:"mx-auto max-w-3xl text-center",children:[e.jsxs("span",{className:"inline-flex items-center gap-2 rounded-lg border border-border bg-card px-3.5 py-1 text-xs font-medium text-foreground",children:[e.jsx("span",{"aria-hidden":"true",className:"inline-flex h-1.5 w-1.5 rounded-full bg-success"}),s(t.hero.badge)]}),e.jsxs("h1",{className:"mt-7 text-[2.4rem] font-bold leading-[1.05] tracking-[-0.035em] sm:text-6xl",children:[s(t.hero.h1Top),e.jsx("span",{className:"mt-2 block text-primary",children:s(t.hero.h1Bottom)})]}),e.jsx("p",{className:"mx-auto mt-6 max-w-2xl text-base leading-8 text-background/80 sm:text-lg",children:s(t.hero.lead)}),e.jsxs("div",{className:"mt-9 flex flex-col items-center justify-center gap-3 sm:flex-row",children:[e.jsxs("a",{href:"#start",className:"group inline-flex items-center justify-center gap-2 rounded-xl bg-background px-5 py-3 text-sm font-semibold text-foreground transition hover:bg-secondary",children:[e.jsx(N,{className:"h-4 w-4"}),s(t.ctaInstall),e.jsx(p,{className:"h-4 w-4 transition-transform group-hover:translate-x-0.5"})]}),e.jsx("a",{href:"#console",className:"inline-flex items-center justify-center gap-2 rounded-xl border border-border bg-transparent px-5 py-3 text-sm font-semibold text-background transition hover:bg-background hover:text-foreground",children:s(t.ctaPreview)})]}),e.jsxs("div",{className:"mt-7 flex flex-col items-center gap-2",children:[e.jsx(se,{}),e.jsx("p",{className:"font-mono text-[11px] text-background/60",children:s(t.hero.note)})]}),e.jsx("ul",{className:"mt-10 grid gap-3 text-left sm:grid-cols-3",children:t.hero.proof.map((r,n)=>e.jsxs("li",{className:"flex items-start gap-2 rounded-xl border border-border bg-card px-4 py-3 text-[13px] leading-6 text-foreground",children:[e.jsx(b,{className:"mt-0.5 h-4 w-4 shrink-0 text-success"}),e.jsx("span",{children:s(r)})]},n))})]}),e.jsx("div",{className:"relative mx-auto mt-16 max-w-5xl",children:e.jsxs("div",{className:"relative overflow-hidden rounded-2xl border border-border bg-secondary p-1.5",children:[e.jsxs("div",{className:"flex items-center gap-1.5 border-b border-border px-4 py-2.5",children:[e.jsx("span",{"aria-hidden":"true",className:"h-2.5 w-2.5 rounded-full bg-muted-foreground"}),e.jsx("span",{"aria-hidden":"true",className:"h-2.5 w-2.5 rounded-full bg-muted-foreground"}),e.jsx("span",{"aria-hidden":"true",className:"h-2.5 w-2.5 rounded-full bg-muted-foreground"}),e.jsx("div",{className:"ml-3 flex-1 truncate rounded-md bg-card px-3 py-1 text-center font-mono text-[11px] text-muted-foreground",children:"127.0.0.1:4100/ui/"})]}),e.jsx("img",{src:o==="en"?C:S,alt:"cc-gw dashboard screenshot",className:"block w-full rounded-b-xl",loading:"eager"})]})}),e.jsxs("div",{className:"mt-16",children:[e.jsx("p",{className:"text-center font-mono text-[11px] uppercase tracking-[0.22em] text-background/60",children:s(t.hero.works)}),e.jsx("div",{className:"mt-5 flex flex-wrap items-center justify-center gap-2",children:M.map(r=>e.jsx("span",{className:"rounded-lg border border-border bg-card px-3.5 py-1.5 text-sm text-foreground",children:r},r))})]})]})}),e.jsxs("section",{id:"why",className:"mx-auto w-full max-w-6xl px-6 py-20 sm:px-8 lg:px-10 lg:py-24",children:[e.jsx(m,{eyebrow:s(t.why.eyebrow),title:s(t.why.title),description:s(t.why.description)}),e.jsx("div",{className:"mt-12 grid gap-5 md:grid-cols-3",children:t.why.cards.map(r=>e.jsxs("div",{className:"group relative overflow-hidden rounded-2xl border border-border bg-card p-6 transition hover:border-primary",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(j,{className:"h-4 w-4 text-error"}),e.jsx("h3",{className:"text-base font-semibold text-foreground",children:s(r.title)})]}),e.jsx("p",{className:"mt-3 text-sm leading-7 text-muted-foreground",children:s(r.body)}),e.jsx("pre",{className:"mt-5 overflow-hidden rounded-lg bg-secondary p-3 font-mono text-[11.5px] leading-6 text-muted-foreground ring-1 ring-border",children:r.sample})]},r.title.en))})]}),e.jsx("section",{id:"how",className:"border-y border-border bg-secondary",children:e.jsxs("div",{className:"mx-auto w-full max-w-6xl px-6 py-20 sm:px-8 lg:px-10 lg:py-24",children:[e.jsx(m,{eyebrow:s(t.how.eyebrow),title:s(t.how.title),description:s(t.how.description)}),e.jsxs("div",{className:"mt-12 grid gap-6 lg:grid-cols-[1fr_auto_1fr_auto_1fr] lg:items-stretch",children:[e.jsxs("div",{className:"rounded-2xl border border-border bg-card p-5",children:[e.jsx("div",{className:"font-mono text-[11px] font-semibold uppercase tracking-[0.18em] text-muted-foreground",children:s(t.how.diagramLabels.clients)}),e.jsxs("ul",{className:"mt-3 space-y-2 text-sm text-foreground",children:[e.jsx("li",{className:"rounded-lg bg-secondary px-3 py-2",children:"Claude Code"}),e.jsx("li",{className:"rounded-lg bg-secondary px-3 py-2",children:"OpenAI SDK"}),e.jsx("li",{className:"rounded-lg bg-secondary px-3 py-2",children:"Anthropic SDK"}),e.jsx("li",{className:"rounded-lg bg-secondary px-3 py-2 text-muted-foreground",children:"cURL · LangChain · …"})]})]}),e.jsx("div",{className:"hidden flex-col items-center justify-center text-muted-foreground lg:flex",children:e.jsx(p,{className:"h-6 w-6"})}),e.jsxs("div",{className:"rounded-2xl border border-border bg-card p-5",children:[e.jsx("div",{className:"font-mono text-[11px] font-semibold uppercase tracking-[0.18em] text-primary",children:s(t.how.diagramLabels.gateway)}),e.jsx("div",{className:"mt-3 rounded-xl bg-foreground px-4 py-3 font-mono text-[12px] text-background",children:"127.0.0.1:4100"}),e.jsx("ul",{className:"mt-3 space-y-1.5 text-[13px] text-foreground",children:t.how.flowSteps.map((r,n)=>e.jsxs("li",{className:"flex items-start gap-2",children:[e.jsx("span",{className:"mt-1 inline-flex h-4 w-4 shrink-0 items-center justify-center rounded-lg bg-primary font-mono text-[10px] font-semibold text-primary-foreground",children:n+1}),e.jsx("span",{children:s(r)})]},n))})]}),e.jsx("div",{className:"hidden flex-col items-center justify-center text-muted-foreground lg:flex",children:e.jsx(p,{className:"h-6 w-6"})}),e.jsxs("div",{className:"rounded-2xl border border-border bg-card p-5",children:[e.jsx("div",{className:"font-mono text-[11px] font-semibold uppercase tracking-[0.18em] text-muted-foreground",children:s(t.how.diagramLabels.providers)}),e.jsxs("ul",{className:"mt-3 space-y-2 text-sm text-foreground",children:[e.jsx("li",{className:"rounded-lg bg-secondary px-3 py-2",children:"OpenAI"}),e.jsx("li",{className:"rounded-lg bg-secondary px-3 py-2",children:"Anthropic"}),e.jsx("li",{className:"rounded-lg bg-secondary px-3 py-2",children:"Azure / Bedrock"}),e.jsx("li",{className:"rounded-lg bg-secondary px-3 py-2 text-muted-foreground",children:s(Z)})]})]})]}),e.jsx("div",{className:"mt-14 overflow-hidden rounded-3xl border border-border bg-card",children:e.jsxs("div",{className:"grid gap-0 lg:grid-cols-[minmax(0,1fr)_minmax(0,1.05fr)]",children:[e.jsxs("div",{className:"border-b border-border p-8 lg:border-b-0 lg:border-r lg:p-10",children:[e.jsx("div",{className:"font-mono text-[11px] font-semibold uppercase tracking-[0.22em] text-primary",children:s(t.how.differentiator.eyebrow)}),e.jsx("h3",{className:"mt-3 text-2xl font-semibold tracking-[-0.01em] text-foreground",children:s(t.how.differentiator.title)}),e.jsx("p",{className:"mt-4 text-sm leading-7 text-muted-foreground",children:s(t.how.differentiator.body)})]}),e.jsxs("div",{className:"bg-secondary p-8 lg:p-10",children:[e.jsx("div",{className:"font-mono text-[11px] font-semibold uppercase tracking-[0.18em] text-muted-foreground",children:s(t.how.differentiator.example)}),e.jsx("ul",{className:"mt-4 space-y-3",children:J.map(r=>e.jsxs("li",{className:"flex items-center gap-3 rounded-xl bg-card px-4 py-3 ring-1 ring-border",children:[e.jsx("span",{className:"rounded-md bg-secondary px-2 py-1 font-mono text-xs text-foreground",children:r.client}),e.jsx(p,{className:"h-3.5 w-3.5 text-muted-foreground"}),e.jsx("span",{className:"rounded-md bg-foreground px-2 py-1 font-mono text-xs text-background",children:s(r.upstream)})]},r.client))})]})]})})]})}),e.jsxs("section",{id:"debug",className:"mx-auto w-full max-w-6xl px-6 py-20 sm:px-8 lg:px-10 lg:py-24",children:[e.jsx(m,{eyebrow:s(t.debug.eyebrow),title:s(t.debug.title),description:s(t.debug.description)}),e.jsx("div",{className:"mt-12 grid gap-px overflow-hidden rounded-2xl bg-border ring-1 ring-border md:grid-cols-3",children:t.debug.pillars.map(({icon:r,title:n,body:d})=>e.jsxs("div",{className:"bg-card p-7",children:[e.jsx("div",{className:"inline-flex h-10 w-10 items-center justify-center rounded-xl bg-secondary text-foreground",children:e.jsx(r,{className:"h-5 w-5"})}),e.jsx("h3",{className:"mt-5 text-base font-semibold text-foreground",children:s(n)}),e.jsx("p",{className:"mt-2 text-sm leading-7 text-muted-foreground",children:s(d)})]},n.en))}),e.jsxs("div",{className:"mt-10 overflow-hidden rounded-2xl border border-border bg-secondary p-8",children:[e.jsx("h3",{className:"text-xl font-semibold text-foreground",children:s(t.debug.payload.title)}),e.jsx("p",{className:"mt-3 max-w-3xl text-sm leading-7 text-muted-foreground",children:s(t.debug.payload.body)}),e.jsx("div",{className:"mt-6 grid gap-3 sm:grid-cols-2 lg:grid-cols-4",children:t.debug.payload.stages.map((r,n)=>{const d=n===0||n===3;return e.jsxs("div",{className:g("rounded-xl border px-4 py-4",d?"border-border bg-card":"border-border bg-muted"),children:[e.jsxs("div",{className:"font-mono text-[10px] font-semibold uppercase tracking-[0.18em] text-muted-foreground",children:["payload [",n+1,"/4]"]}),e.jsx("div",{className:"mt-2 text-sm font-semibold text-foreground",children:s(r)}),e.jsx("div",{className:"mt-1 font-mono text-[11px] text-muted-foreground",children:s(d?t.debug.payload.clientSide:t.debug.payload.upstreamSide)})]},n)})})]})]}),e.jsx("section",{id:"local",className:"border-y border-border bg-secondary",children:e.jsxs("div",{className:"mx-auto w-full max-w-6xl px-6 py-20 sm:px-8 lg:px-10 lg:py-24",children:[e.jsx(m,{eyebrow:s(t.local.eyebrow),title:s(t.local.title),description:s(t.local.description)}),e.jsxs("div",{className:"mt-12 grid gap-8 lg:grid-cols-[minmax(0,1.05fr)_minmax(0,0.95fr)] lg:items-start",children:[e.jsx("div",{className:"grid gap-px overflow-hidden rounded-2xl bg-border ring-1 ring-border sm:grid-cols-2",children:t.local.pillars.map(({icon:r,title:n,body:d})=>e.jsxs("div",{className:"bg-card p-6",children:[e.jsx("div",{className:"inline-flex h-10 w-10 items-center justify-center rounded-xl bg-secondary text-foreground",children:e.jsx(r,{className:"h-5 w-5"})}),e.jsx("h3",{className:"mt-4 text-base font-semibold text-foreground",children:s(n)}),e.jsx("p",{className:"mt-2 text-sm leading-7 text-muted-foreground",children:s(d)})]},n.en))}),e.jsxs("div",{children:[e.jsxs("div",{className:"overflow-hidden rounded-2xl border border-border bg-secondary p-1.5",children:[e.jsxs("div",{className:"flex items-center gap-1.5 px-3 py-2",children:[e.jsx("span",{"aria-hidden":"true",className:"h-2.5 w-2.5 rounded-full bg-muted-foreground"}),e.jsx("span",{"aria-hidden":"true",className:"h-2.5 w-2.5 rounded-full bg-muted-foreground"}),e.jsx("span",{"aria-hidden":"true",className:"h-2.5 w-2.5 rounded-full bg-muted-foreground"}),e.jsx("div",{className:"ml-3 flex-1 truncate rounded-md bg-card px-3 py-1 font-mono text-[11px] text-muted-foreground",children:"~/.cc-gw"})]}),e.jsx("pre",{className:"overflow-x-auto px-5 pb-5 pt-2 font-mono text-[12.5px] leading-7 text-foreground",children:e.jsx("code",{children:V.split(`
|
|
17
|
+
`).map((r,n)=>e.jsx("span",{className:"block",children:r.includes("#")?e.jsxs(e.Fragment,{children:[e.jsx("span",{children:r.slice(0,r.indexOf("#"))}),e.jsx("span",{className:"text-muted-foreground",children:r.slice(r.indexOf("#"))})]}):r},n))})})]}),e.jsx("p",{className:"mt-4 px-1 text-sm leading-7 text-muted-foreground",children:s(t.local.treeCaption)})]})]})]})}),e.jsxs("section",{id:"start",className:"mx-auto w-full max-w-6xl px-6 py-20 sm:px-8 lg:px-10 lg:py-24",children:[e.jsx(m,{eyebrow:s(t.start.eyebrow),title:s(t.start.title),description:s(t.start.description)}),e.jsx("ol",{className:"mt-12 grid gap-5 md:grid-cols-2",children:t.start.steps.map((r,n)=>e.jsxs("li",{className:"flex flex-col rounded-2xl border border-border bg-card p-6",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("span",{className:"inline-flex h-8 min-w-[2rem] items-center justify-center rounded-lg bg-foreground px-2 font-mono text-xs font-semibold text-background",children:String(n+1).padStart(2,"0")}),e.jsx("h3",{className:"text-base font-semibold text-foreground",children:s(r.title)})]}),e.jsx("p",{className:"mt-3 text-sm leading-7 text-muted-foreground",children:s(r.body)}),e.jsx("div",{className:"mt-5",children:e.jsx(ee,{label:`step ${n+1}: ${r.title.en}`,code:r.code,copyLabel:s(z.copy),copiedLabel:s(z.copied)})})]},r.title.en))})]}),e.jsx("section",{id:"console",className:"border-y border-border bg-secondary",children:e.jsxs("div",{className:"mx-auto w-full max-w-6xl px-6 py-20 sm:px-8 lg:px-10 lg:py-24",children:[e.jsx(m,{eyebrow:s(t.console.eyebrow),title:s(t.console.title),description:s(t.console.description)}),e.jsxs("div",{className:"mt-12 grid gap-8 lg:grid-cols-[280px_minmax(0,1fr)]",children:[e.jsx("div",{role:"tablist","aria-orientation":"vertical",className:"flex flex-col gap-1.5",children:y.map(r=>{const n=r.id===l;return e.jsxs("button",{type:"button",role:"tab",id:`console-tab-${r.id}`,"aria-selected":n,"aria-controls":`console-panel-${r.id}`,onClick:()=>x(r.id),className:g("rounded-xl border px-4 py-3 text-left transition",n?"border-primary bg-card":"border-transparent bg-transparent hover:bg-secondary"),children:[e.jsx("div",{className:g("text-sm font-semibold",n?"text-foreground":"text-muted-foreground"),children:s(r.label)}),e.jsx("div",{className:"mt-1 text-xs leading-5 text-muted-foreground",children:s(r.blurb)})]},r.id)})}),e.jsxs("div",{role:"tabpanel",id:`console-panel-${c.id}`,"aria-labelledby":`console-tab-${c.id}`,className:"overflow-hidden rounded-2xl border border-border bg-secondary p-1.5",children:[e.jsxs("div",{className:"flex items-center gap-1.5 px-3 py-2",children:[e.jsx("span",{"aria-hidden":"true",className:"h-2.5 w-2.5 rounded-full bg-muted-foreground"}),e.jsx("span",{"aria-hidden":"true",className:"h-2.5 w-2.5 rounded-full bg-muted-foreground"}),e.jsx("span",{"aria-hidden":"true",className:"h-2.5 w-2.5 rounded-full bg-muted-foreground"}),e.jsxs("div",{className:"ml-3 flex-1 truncate rounded-md bg-card px-3 py-1 font-mono text-[11px] text-muted-foreground",children:["127.0.0.1:4100/ui/",c.id]})]}),e.jsx("img",{src:s(c.shot),alt:`${s(c.label)} screenshot`,className:"block w-full rounded-b-xl"},c.id+o)]})]})]})}),e.jsxs("section",{id:"fit",className:"mx-auto w-full max-w-6xl px-6 py-20 sm:px-8 lg:px-10 lg:py-24",children:[e.jsx(m,{eyebrow:s(t.fit.eyebrow),title:s(t.fit.title),description:s(t.fit.description)}),e.jsxs("div",{className:"mt-12 grid gap-5 md:grid-cols-2",children:[e.jsxs("div",{className:"rounded-2xl border border-border bg-success-bg p-7",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"flex h-8 w-8 items-center justify-center rounded-lg bg-success-bg text-success",children:e.jsx(b,{className:"h-4 w-4"})}),e.jsx("h3",{className:"text-base font-semibold text-foreground",children:s(t.fit.yesTitle)})]}),e.jsx("ul",{className:"mt-5 space-y-3",children:t.fit.yes.map((r,n)=>e.jsxs("li",{className:"flex items-start gap-3 text-sm leading-7 text-foreground",children:[e.jsx(b,{className:"mt-1 h-4 w-4 shrink-0 text-success"}),s(r)]},n))})]}),e.jsxs("div",{className:"rounded-2xl border border-border bg-card p-7",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"flex h-8 w-8 items-center justify-center rounded-lg bg-muted text-muted-foreground",children:e.jsx(j,{className:"h-4 w-4"})}),e.jsx("h3",{className:"text-base font-semibold text-foreground",children:s(t.fit.noTitle)})]}),e.jsx("ul",{className:"mt-5 space-y-3",children:t.fit.no.map((r,n)=>e.jsxs("li",{className:"flex items-start gap-3 text-sm leading-7 text-muted-foreground",children:[e.jsx(j,{className:"mt-1 h-4 w-4 shrink-0 text-muted-foreground"}),s(r)]},n))})]})]})]}),e.jsx("section",{id:"faq",className:"border-y border-border bg-secondary",children:e.jsxs("div",{className:"mx-auto w-full max-w-6xl px-6 py-20 sm:px-8 lg:px-10 lg:py-24",children:[e.jsx(m,{eyebrow:s(t.faq.eyebrow),title:s(t.faq.title),description:s(t.faq.description)}),e.jsx("div",{className:"mx-auto mt-12 max-w-3xl divide-y divide-border rounded-2xl border border-border bg-card",children:t.faq.items.map((r,n)=>{const d=h===n;return e.jsxs("div",{children:[e.jsxs("button",{type:"button",onClick:()=>i(d?null:n),"aria-expanded":d,className:"flex w-full items-center justify-between gap-6 px-6 py-5 text-left",children:[e.jsx("span",{className:"text-base font-semibold text-foreground",children:s(r.q)}),e.jsx(q,{className:g("h-5 w-5 shrink-0 text-muted-foreground transition-transform",d&&"rotate-180 text-foreground")})]}),d&&e.jsx("div",{className:"px-6 pb-6 text-sm leading-7 text-muted-foreground",children:s(r.a)})]},n)})})]})}),e.jsx("section",{className:"px-6 py-24 sm:px-8 lg:px-10",children:e.jsx("div",{className:"relative mx-auto w-full max-w-6xl overflow-hidden rounded-3xl bg-foreground px-8 py-14 text-background sm:px-12",children:e.jsxs("div",{className:"relative grid gap-10 lg:grid-cols-[1.2fr_auto] lg:items-end",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-3xl font-semibold tracking-[-0.02em] sm:text-4xl",children:s(t.cta.title)}),e.jsx("p",{className:"mt-5 max-w-xl text-base leading-8 text-background/80",children:s(t.cta.body)})]}),e.jsxs("div",{className:"flex flex-col gap-3 sm:flex-row lg:flex-col lg:items-end",children:[e.jsxs("a",{href:"https://www.npmjs.com/package/@chenpu17/cc-gw",className:"inline-flex items-center justify-center gap-2 rounded-xl bg-background px-5 py-3 text-sm font-semibold text-foreground transition hover:bg-secondary",children:[e.jsx(N,{className:"h-4 w-4"}),s(t.ctaInstall)]}),e.jsxs("a",{href:"/ui/",className:"inline-flex items-center justify-center gap-2 rounded-xl border border-border bg-transparent px-5 py-3 text-sm font-semibold text-background transition hover:bg-background hover:text-foreground",children:[s(t.ctaConsole),e.jsx(p,{className:"h-4 w-4"})]})]})]})})})]}),e.jsx("footer",{className:"border-t border-border bg-card",children:e.jsxs("div",{className:"mx-auto flex w-full max-w-6xl flex-col gap-4 px-6 py-10 text-sm text-muted-foreground sm:px-8 lg:flex-row lg:items-center lg:justify-between lg:px-10",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(v,{className:"h-7 w-7",title:"cc-gw"}),e.jsxs("div",{children:[e.jsx("div",{className:"text-foreground",children:s(t.footer.tagline)}),e.jsxs("div",{className:"font-mono text-[11px] text-muted-foreground",children:["v",w]})]})]}),e.jsxs("div",{className:"flex flex-wrap gap-5",children:[e.jsx("a",{href:"/ui/",className:"hover:text-foreground",children:s(t.footer.console)}),e.jsx("a",{href:"https://www.npmjs.com/package/@chenpu17/cc-gw",className:"hover:text-foreground",children:"npm"}),e.jsx("a",{href:"https://github.com/chenpu17/cc-gw2",className:"hover:text-foreground",children:"GitHub"}),e.jsx("a",{href:"https://github.com/chenpu17/cc-gw2/releases",className:"hover:text-foreground",children:s(t.footer.changelog)})]})]})})]})}const I=document.getElementById("landing-root");if(!I)throw new Error("Root element #landing-root not found");U.createRoot(I).render(e.jsx(B.StrictMode,{children:e.jsx(te,{})}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as g,j as t,aU as y,aV as N}from"./vendor-CITafuNQ.js";import{c as M}from"./card-D4YOc5eB.js";import{c as d}from"./global-BCehxTGJ.js";const $=e=>1-Math.pow(1-e,3);function R(){return typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}const A=e=>Math.round(e).toLocaleString();function F({value:e,duration:i=600,format:n=A,className:s}){const r=g.useRef(R()).current,[u,m]=g.useState(e),o=g.useRef(e),a=g.useRef(void 0);return g.useEffect(()=>{const c=o.current,l=e;if(o.current=e,r||!Number.isFinite(l)||c===l){m(l);return}const x=performance.now(),f=p=>{const h=Math.min(1,(p-x)/i);m(c+(l-c)*$(h)),h<1&&(a.current=requestAnimationFrame(f))};return a.current=requestAnimationFrame(f),()=>{a.current!==void 0&&cancelAnimationFrame(a.current)}},[e,i,r]),t.jsx("span",{className:s,children:n(u)})}const L={sm:{wrap:"p-3.5",value:"text-xl",label:"text-[11px]",body:"mt-1"},md:{wrap:"p-5",value:"text-2xl",label:"text-xs",body:"mt-2"},lg:{wrap:"p-5",value:"text-3xl",label:"text-xs",body:"mt-2.5"}};function C(e,i){if(!e||e.length<2)return null;const n=100,s=28,r=Math.min(...e),m=Math.max(...e)-r||1,o=n/(e.length-1),c=`M ${e.map((x,f)=>{const p=f*o,h=s-(x-r)/m*(s-4)-2;return`${p.toFixed(2)},${h.toFixed(2)}`}).join(" L ")}`,l=`${c} L ${n},${s} L 0,${s} Z`;return t.jsxs("svg",{viewBox:`0 0 ${n} ${s}`,preserveAspectRatio:"none","aria-hidden":!0,className:"h-8 w-full",children:[t.jsx("path",{d:l,className:"fill-primary/5"}),t.jsx("path",{d:c,fill:"none",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",className:d(i)})]})}function k({delta:e}){const i=e.value>=0,n=!e.invertColor,s=i===n,r=e.format?e.format(e.value):`${e.value>0?"+":""}${e.value}`,u=i?y:N;return t.jsxs("span",{className:d("inline-flex items-center gap-0.5 px-1.5 py-0.5 text-[11px] font-medium",s?"bg-success-bg text-success":"bg-error-bg text-error"),children:[t.jsx(u,{className:"h-3 w-3","aria-hidden":!0}),r]})}function U({label:e,value:i,rawValue:n,format:s,suffix:r,icon:u,delta:m,sparkline:o,hint:a,size:c="md",featured:l=!1,dotClassName:x,className:f,valueTestId:p,interactive:h=!0,style:w}){const j=L[c],b=n!==void 0?t.jsx(F,{value:n,format:s}):i,v=(o==null?void 0:o.strokeClassName)??"text-primary/60";return t.jsxs("div",{className:d(M({variant:h?"interactive":"default"}),"motion-surface relative flex flex-col",j.wrap,l&&"bg-primary/[0.03]",f),style:w,children:[t.jsxs("div",{className:"flex items-center gap-2",children:[x?t.jsx("span",{className:d("h-[7px] w-[7px] rounded-full",x),"aria-hidden":!0}):null,u?t.jsx("span",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-lg bg-secondary text-muted-foreground",children:u}):null,t.jsx("span",{className:d("font-medium uppercase tracking-wider text-muted-foreground",j.label),children:e})]}),t.jsxs("div",{className:d("flex items-end gap-2",j.body),children:[t.jsxs("span",{...p?{"data-testid":p}:{},className:d("metric-number font-semibold tracking-tight text-foreground",j.value),children:[b,r?t.jsx("span",{className:"ml-0.5 text-sm font-medium text-muted-foreground",children:r}):null]}),m?t.jsx(k,{delta:m}):null]}),a?t.jsx("p",{className:"mt-1.5 text-xs text-muted-foreground/70",children:a}):null,o?t.jsx("div",{className:"mt-2.5",children:C(o.data,v)}):null]})}export{U as M};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const o="0.9.0-beta.0",s={version:o};export{s as p};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as n,j as o}from"./vendor-CITafuNQ.js";import{p as i,q as p,r as c,s as t,A as m}from"./radix-Bux_1C5J.js";import{c as l}from"./global-BCehxTGJ.js";const x=i,b=p,h=m,f=n.forwardRef(({className:a,align:e="center",sideOffset:r=4,...s},d)=>o.jsx(c,{children:o.jsx(t,{ref:d,align:e,sideOffset:r,className:l("z-50 w-72 rounded-xl border border-[color:var(--surface-border)] bg-popover p-4 text-popover-foreground shadow-[var(--surface-shadow-lg)] outline-none data-[state=open]:animate-in data-[state=closed]:pointer-events-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a),...s})}));f.displayName=t.displayName;export{x as P,b as a,f as b,h as c};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as o,j as w,s as m,n as v,a as C,i as Q,Q as I,M as T}from"./vendor-
|
|
1
|
+
import{r as o,j as w,s as m,n as v,a as C,i as Q,Q as I,M as T}from"./vendor-CITafuNQ.js";var b=o.createContext(void 0),x=e=>{const s=o.useContext(b);if(!s)throw new Error("No QueryClient set, use QueryClientProvider to set one");return s},L=({client:e,children:s})=>(o.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),w.jsx(b.Provider,{value:e,children:s})),p=o.createContext(!1),O=()=>o.useContext(p);p.Provider;function P(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var N=o.createContext(P()),d=()=>o.useContext(N),B=(e,s,a)=>{const r=a!=null&&a.state.error&&typeof e.throwOnError=="function"?m(e.throwOnError,[a.state.error,a]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(s.isReset()||(e.retryOnMount=!1))},k=e=>{o.useEffect(()=>{e.clearReset()},[e])},U=({result:e,errorResetBoundary:s,throwOnError:a,query:r,suspense:n})=>e.isError&&!s.isReset()&&!e.isFetching&&r&&(n&&e.data===void 0||m(a,[e.error,r])),j=e=>{if(e.suspense){const a=n=>n==="static"?n:Math.max(n??1e3,1e3),r=e.staleTime;e.staleTime=typeof r=="function"?(...n)=>a(r(...n)):a(r),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3))}},F=(e,s)=>e.isLoading&&e.isFetching&&!s,H=(e,s)=>(e==null?void 0:e.suspense)&&s.isPending,g=(e,s,a)=>s.fetchOptimistic(e).catch(()=>{a.clearReset()});function D(e,s,a){var E,R,h,S;const r=O(),n=d(),i=x(),t=i.defaultQueryOptions(e);(R=(E=i.getDefaultOptions().queries)==null?void 0:E._experimental_beforeQuery)==null||R.call(E,t);const c=i.getQueryCache().get(t.queryHash);t._optimisticResults=r?"isRestoring":"optimistic",j(t),B(t,n,c),k(n);const M=!i.getQueryCache().get(t.queryHash),[u]=o.useState(()=>new s(i,t)),l=u.getOptimisticResult(t),y=!r&&e.subscribed!==!1;if(o.useSyncExternalStore(o.useCallback(f=>{const _=y?u.subscribe(v.batchCalls(f)):C;return u.updateResult(),_},[u,y]),()=>u.getCurrentResult(),()=>u.getCurrentResult()),o.useEffect(()=>{u.setOptions(t)},[t,u]),H(t,l))throw g(t,u,n);if(U({result:l,errorResetBoundary:n,throwOnError:t.throwOnError,query:c,suspense:t.suspense}))throw l.error;if((S=(h=i.getDefaultOptions().queries)==null?void 0:h._experimental_afterQuery)==null||S.call(h,t,l),t.experimental_prefetchInRender&&!Q&&F(l,r)){const f=M?g(t,u,n):c==null?void 0:c.promise;f==null||f.catch(C).finally(()=>{u.updateResult()})}return t.notifyOnChangeProps?l:u.trackResult(l)}function V(e,s){return D(e,I)}function q(e,s){const a=x(),[r]=o.useState(()=>new T(a,e));o.useEffect(()=>{r.setOptions(e)},[r,e]);const n=o.useSyncExternalStore(o.useCallback(t=>r.subscribe(v.batchCalls(t)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),i=o.useCallback((t,c)=>{r.mutate(t,c).catch(C)},[r]);if(n.error&&m(r.options.throwOnError,[n.error]))throw n.error;return{...n,mutate:i,mutateAsync:n.mutate}}export{L as Q,x as a,q as b,V as u};
|