@edenapp/sdk 0.6.2 → 0.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/dist/app-frame/frame-injector.js +6 -6
  2. package/dist/app-frame/frame-injector.js.map +3 -3
  3. package/dist/app-runtime/app-preload.js +2 -2
  4. package/dist/app-runtime/app-preload.js.map +3 -3
  5. package/dist/app-runtime/backend-preload.js +3 -3
  6. package/dist/app-runtime/backend-preload.js.map +3 -3
  7. package/dist/apps/prebuilt/com.eden.calculator/CHANGELOG.md +6 -0
  8. package/dist/apps/prebuilt/com.eden.calculator/package.json +1 -1
  9. package/dist/apps/prebuilt/com.eden.context-menu/dist/assets/{index-PflHQ4jS.css → index-B3l0_BgM.css} +1 -1
  10. package/dist/apps/prebuilt/com.eden.context-menu/dist/assets/index-CQD24gQV.js +1 -0
  11. package/dist/apps/prebuilt/com.eden.context-menu/dist/index.html +2 -2
  12. package/dist/apps/prebuilt/com.eden.context-menu/manifest.json +1 -1
  13. package/dist/apps/prebuilt/com.eden.eveshell/dist/assets/index-bsf9U6_1.js +1 -0
  14. package/dist/apps/prebuilt/com.eden.eveshell/dist/index.html +1 -1
  15. package/dist/apps/prebuilt/com.eden.example.hello/backend/node_modules/@edenapp/types/CHANGELOG.md +6 -0
  16. package/dist/apps/prebuilt/com.eden.example.hello/backend/node_modules/@edenapp/types/ContextMenu.d.ts +7 -1
  17. package/dist/apps/prebuilt/com.eden.example.hello/backend/node_modules/@edenapp/types/commands.generated.d.ts +1 -1
  18. package/dist/apps/prebuilt/com.eden.example.hello/backend/node_modules/@edenapp/types/events.generated.d.ts +1 -1
  19. package/dist/apps/prebuilt/com.eden.example.hello/backend/node_modules/@edenapp/types/index.d.ts +5 -1
  20. package/dist/apps/prebuilt/com.eden.example.hello/backend/node_modules/@edenapp/types/ipc/appbus.d.ts +2 -12
  21. package/dist/apps/prebuilt/com.eden.example.hello/backend/node_modules/@edenapp/types/package.json +1 -1
  22. package/dist/apps/prebuilt/com.eden.example.hello/frontend/node_modules/@edenapp/types/CHANGELOG.md +6 -0
  23. package/dist/apps/prebuilt/com.eden.example.hello/frontend/node_modules/@edenapp/types/ContextMenu.d.ts +7 -1
  24. package/dist/apps/prebuilt/com.eden.example.hello/frontend/node_modules/@edenapp/types/commands.generated.d.ts +1 -1
  25. package/dist/apps/prebuilt/com.eden.example.hello/frontend/node_modules/@edenapp/types/events.generated.d.ts +1 -1
  26. package/dist/apps/prebuilt/com.eden.example.hello/frontend/node_modules/@edenapp/types/index.d.ts +5 -1
  27. package/dist/apps/prebuilt/com.eden.example.hello/frontend/node_modules/@edenapp/types/ipc/appbus.d.ts +2 -12
  28. package/dist/apps/prebuilt/com.eden.example.hello/frontend/node_modules/@edenapp/types/package.json +1 -1
  29. package/dist/apps/prebuilt/com.eden.files/CHANGELOG.md +9 -0
  30. package/dist/apps/prebuilt/com.eden.files/dist/assets/index-bw-C9AMI.js +1 -0
  31. package/dist/apps/prebuilt/com.eden.files/dist/index.html +1 -1
  32. package/dist/apps/prebuilt/com.eden.files/package.json +1 -1
  33. package/dist/apps/prebuilt/com.eden.login/CHANGELOG.md +6 -0
  34. package/dist/apps/prebuilt/com.eden.login/package.json +1 -1
  35. package/dist/apps/prebuilt/com.eden.process-manager/CHANGELOG.md +6 -0
  36. package/dist/apps/prebuilt/com.eden.process-manager/package.json +1 -1
  37. package/dist/i18n/I18nHandler.d.ts +2 -1
  38. package/dist/i18n/I18nHandler.d.ts.map +1 -1
  39. package/dist/i18n/I18nHandler.js.map +1 -1
  40. package/dist/i18n/I18nManager.d.ts +3 -1
  41. package/dist/i18n/I18nManager.d.ts.map +1 -1
  42. package/dist/i18n/I18nManager.js.map +1 -1
  43. package/dist/ipc/CommandDecorators.d.ts +2 -4
  44. package/dist/ipc/CommandDecorators.d.ts.map +1 -1
  45. package/dist/ipc/CommandDecorators.js +1 -1
  46. package/dist/ipc/CommandDecorators.js.map +1 -1
  47. package/dist/ipc/CommandMetadata.d.ts +7 -3
  48. package/dist/ipc/CommandMetadata.d.ts.map +1 -1
  49. package/dist/ipc/CommandMetadata.js.map +1 -1
  50. package/dist/ipc/CommandRegistry.d.ts +8 -5
  51. package/dist/ipc/CommandRegistry.d.ts.map +1 -1
  52. package/dist/ipc/CommandRegistry.js +3 -2
  53. package/dist/ipc/CommandRegistry.js.map +1 -1
  54. package/dist/ipc/CommandRegistry.test.js.map +1 -1
  55. package/dist/ipc/EdenEmitter.d.ts.map +1 -1
  56. package/dist/ipc/EdenEmitter.js.map +1 -1
  57. package/dist/ipc/EdenEmitter.test.js.map +1 -1
  58. package/dist/ipc/EventHandler.js.map +1 -1
  59. package/dist/ipc/EventSubscriberManager.d.ts +2 -2
  60. package/dist/ipc/EventSubscriberManager.d.ts.map +1 -1
  61. package/dist/ipc/EventSubscriberManager.js.map +1 -1
  62. package/dist/ipc/EventSubscriberManager.test.js +70 -45
  63. package/dist/ipc/EventSubscriberManager.test.js.map +1 -1
  64. package/dist/ipc/IPCBridge.d.ts +1 -0
  65. package/dist/ipc/IPCBridge.d.ts.map +1 -1
  66. package/dist/ipc/IPCBridge.js +22 -7
  67. package/dist/ipc/IPCBridge.js.map +1 -1
  68. package/dist/logging/electron.d.ts.map +1 -1
  69. package/dist/logging/electron.js +8 -7
  70. package/dist/logging/electron.js.map +1 -1
  71. package/dist/logging/logger.d.ts.map +1 -1
  72. package/dist/logging/logger.js +9 -7
  73. package/dist/logging/logger.js.map +1 -1
  74. package/dist/process-manager/BackendManager.d.ts +3 -2
  75. package/dist/process-manager/BackendManager.d.ts.map +1 -1
  76. package/dist/process-manager/BackendManager.js +18 -5
  77. package/dist/process-manager/BackendManager.js.map +1 -1
  78. package/dist/process-manager/ProcessManager.d.ts +1 -1
  79. package/dist/process-manager/ProcessManager.d.ts.map +1 -1
  80. package/dist/process-manager/ProcessManager.js.map +1 -1
  81. package/dist/process-manager/ProcessMetricsCollector.test.js +26 -18
  82. package/dist/process-manager/ProcessMetricsCollector.test.js.map +1 -1
  83. package/dist/view-manager/ViewManager.d.ts +2 -2
  84. package/dist/view-manager/ViewManager.d.ts.map +1 -1
  85. package/dist/view-manager/ViewManager.js.map +1 -1
  86. package/package.json +4 -4
  87. package/dist/apps/prebuilt/com.eden.context-menu/dist/assets/index-B-ks_-b3.js +0 -1
  88. package/dist/apps/prebuilt/com.eden.eveshell/dist/assets/index-B-bahmO2.js +0 -1
  89. package/dist/apps/prebuilt/com.eden.files/dist/assets/index-BT-jTYkQ.js +0 -1
@@ -0,0 +1 @@
1
+ (function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&s(o)}).observe(document,{childList:!0,subtree:!0});function t(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function s(r){if(r.ep)return;r.ep=!0;const i=t(r);fetch(r.href,i)}})();const Ht=!0,qt=(n,e)=>n===e,Jt=Symbol("solid-track"),Wt=Symbol("solid-dev-component"),Pe={equals:qt};let Lt=Et;const te=1,Le=2,Yt={},Ke={};var N=null;let Be=null,Gt=null,M=null,J=null,ee=null,Me=0;function he(n,e){const t=M,s=N,r=n.length===0,i=e===void 0?s:e,o=r?{owned:null,cleanups:null,context:null,owner:null}:{owned:null,cleanups:null,context:i?i.context:null,owner:i},a=r?()=>n(()=>{throw new Error("Dispose method must be an explicit argument to createRoot function")}):()=>n(()=>Z(()=>be(o)));N=o,M=null;try{return ne(a,!0)}finally{M=t,N=s}}function z(n,e){e=e?Object.assign({},Pe,e):Pe;const t={value:n,observers:null,observerSlots:null,comparator:e.equals||void 0};e.name&&(t.name=e.name),e.internal?t.internal=!0:tn(t);const s=r=>(typeof r=="function"&&(r=r(t.value)),It(t,r));return[Rt.bind(t),s]}function Xt(n,e,t){const s=we(n,e,!0,te,t);re(s)}function U(n,e,t){const s=we(n,e,!1,te,t);re(s)}function Oe(n,e,t){Lt=an;const s=we(n,e,!1,te,t);s.user=!0,ee?ee.push(s):re(s)}function ue(n,e,t){t=t?Object.assign({},Pe,t):Pe;const s=we(n,e,!0,0,t);return s.observers=null,s.observerSlots=null,s.comparator=t.equals||void 0,re(s),Rt.bind(s)}function Qt(n){return n&&typeof n=="object"&&"then"in n}function Ot(n,e,t){let s,r,i;typeof e=="function"?(s=n,r=e,i={}):(s=!0,r=n,i=e||{});let o=null,a=Ke,l=!1,u="initialValue"in i,c=typeof s=="function"&&ue(s);const h=new Set,[d,m]=(i.storage||z)(i.initialValue),[w,f]=z(void 0),[p,v]=z(void 0,{equals:!1}),[b,S]=z(u?"ready":"unresolved");function y(L,R,T,V){return o===L&&(o=null,V!==void 0&&(u=!0),(L===a||R===a)&&i.onHydrated&&queueMicrotask(()=>i.onHydrated(V,{value:R})),a=Ke,O(R,T)),R}function O(L,R){ne(()=>{R===void 0&&m(()=>L),S(R!==void 0?"errored":u?"ready":"unresolved"),f(R);for(const T of h.keys())T.decrement();h.clear()},!1)}function A(){const L=nn,R=d(),T=w();if(T!==void 0&&!o)throw T;return M&&M.user,R}function x(L=!0){if(L!==!1&&l)return;l=!1;const R=c?c():s;if(R==null||R===!1){y(o,Z(d));return}let T;const V=a!==Ke?a:Z(()=>{try{return r(R,{value:d(),refetching:L})}catch(j){T=j}});if(T!==void 0){y(o,void 0,$e(T),R);return}else if(!Qt(V))return y(o,V,void 0,R),V;return o=V,"v"in V?(V.s===1?y(o,V.v,void 0,R):y(o,void 0,$e(V.v),R),V):(l=!0,queueMicrotask(()=>l=!1),ne(()=>{S(u?"refreshing":"pending"),v()},!1),V.then(j=>y(V,j,void 0,R),j=>y(V,void 0,$e(j),R)))}Object.defineProperties(A,{state:{get:()=>b()},error:{get:()=>w()},loading:{get(){const L=b();return L==="pending"||L==="refreshing"}},latest:{get(){if(!u)return A();const L=w();if(L&&!o)throw L;return d()}}});let P=N;return c?Xt(()=>(P=N,x(!1))):x(!1),[A,{refetch:L=>Zt(P,()=>x(L)),mutate:m}]}function Z(n){if(M===null)return n();const e=M;M=null;try{return n()}finally{M=e}}function nt(n){Oe(()=>Z(n))}function ce(n){return N===null?console.warn("cleanups created outside a `createRoot` or `render` will never be run"):N.cleanups===null?N.cleanups=[n]:N.cleanups.push(n),n}function Zt(n,e){const t=N,s=M;N=n,M=null;try{return ne(e,!0)}catch(r){st(r)}finally{N=t,M=s}}const[zs,Hs]=z(!1);function en(n,e){const t=we(()=>Z(()=>(Object.assign(n,{[Wt]:!0}),n(e))),void 0,!0,0);return t.props=e,t.observers=null,t.observerSlots=null,t.name=n.name,t.component=n,re(t),t.tValue!==void 0?t.tValue:t.value}function tn(n){N&&(N.sourceMap?N.sourceMap.push(n):N.sourceMap=[n],n.graph=N)}let nn;function Rt(){if(this.sources&&this.state)if(this.state===te)re(this);else{const n=J;J=null,ne(()=>Ie(this),!1),J=n}if(M){const n=this.observers?this.observers.length:0;M.sources?(M.sources.push(this),M.sourceSlots.push(n)):(M.sources=[this],M.sourceSlots=[n]),this.observers?(this.observers.push(M),this.observerSlots.push(M.sources.length-1)):(this.observers=[M],this.observerSlots=[M.sources.length-1])}return this.value}function It(n,e,t){let s=n.value;return(!n.comparator||!n.comparator(s,e))&&(n.value=e,n.observers&&n.observers.length&&ne(()=>{for(let r=0;r<n.observers.length;r+=1){const i=n.observers[r],o=Be&&Be.running;o&&Be.disposed.has(i),(o?!i.tState:!i.state)&&(i.pure?J.push(i):ee.push(i),i.observers&&Nt(i)),o||(i.state=te)}if(J.length>1e6)throw J=[],Ht?new Error("Potential Infinite Loop Detected."):new Error},!1)),e}function re(n){if(!n.fn)return;be(n);const e=Me;sn(n,n.value,e)}function sn(n,e,t){let s;const r=N,i=M;M=N=n;try{s=n.fn(e)}catch(o){return n.pure&&(n.state=te,n.owned&&n.owned.forEach(be),n.owned=null),n.updatedAt=t+1,st(o)}finally{M=i,N=r}(!n.updatedAt||n.updatedAt<=t)&&(n.updatedAt!=null&&"observers"in n?It(n,s):n.value=s,n.updatedAt=t)}function we(n,e,t,s=te,r){const i={fn:n,state:s,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:e,owner:N,context:N?N.context:null,pure:t};return N===null?console.warn("computations created outside a `createRoot` or `render` will never be disposed"):N!==Yt&&(N.owned?N.owned.push(i):N.owned=[i]),r&&r.name&&(i.name=r.name),i}function Re(n){if(n.state===0)return;if(n.state===Le)return Ie(n);if(n.suspense&&Z(n.suspense.inFallback))return n.suspense.effects.push(n);const e=[n];for(;(n=n.owner)&&(!n.updatedAt||n.updatedAt<Me);)n.state&&e.push(n);for(let t=e.length-1;t>=0;t--)if(n=e[t],n.state===te)re(n);else if(n.state===Le){const s=J;J=null,ne(()=>Ie(n,e[0]),!1),J=s}}function ne(n,e){if(J)return n();let t=!1;e||(J=[]),ee?t=!0:ee=[],Me++;try{const s=n();return rn(t),s}catch(s){t||(ee=null),J=null,st(s)}}function rn(n){if(J&&(Et(J),J=null),n)return;const e=ee;ee=null,e.length&&ne(()=>Lt(e),!1)}function Et(n){for(let e=0;e<n.length;e++)Re(n[e])}function an(n){let e,t=0;for(e=0;e<n.length;e++){const s=n[e];s.user?n[t++]=s:Re(s)}for(e=0;e<t;e++)Re(n[e])}function Ie(n,e){n.state=0;for(let t=0;t<n.sources.length;t+=1){const s=n.sources[t];if(s.sources){const r=s.state;r===te?s!==e&&(!s.updatedAt||s.updatedAt<Me)&&Re(s):r===Le&&Ie(s,e)}}}function Nt(n){for(let e=0;e<n.observers.length;e+=1){const t=n.observers[e];t.state||(t.state=Le,t.pure?J.push(t):ee.push(t),t.observers&&Nt(t))}}function be(n){let e;if(n.sources)for(;n.sources.length;){const t=n.sources.pop(),s=n.sourceSlots.pop(),r=t.observers;if(r&&r.length){const i=r.pop(),o=t.observerSlots.pop();s<r.length&&(i.sourceSlots[o]=s,r[s]=i,t.observerSlots[s]=o)}}if(n.tOwned){for(e=n.tOwned.length-1;e>=0;e--)be(n.tOwned[e]);delete n.tOwned}if(n.owned){for(e=n.owned.length-1;e>=0;e--)be(n.owned[e]);n.owned=null}if(n.cleanups){for(e=n.cleanups.length-1;e>=0;e--)n.cleanups[e]();n.cleanups=null}n.state=0,delete n.sourceMap}function $e(n){return n instanceof Error?n:new Error(typeof n=="string"?n:"Unknown error",{cause:n})}function st(n,e=N){throw $e(n)}const on=Symbol("fallback");function at(n){for(let e=0;e<n.length;e++)n[e]()}function ln(n,e,t={}){let s=[],r=[],i=[],o=0,a=e.length>1?[]:null;return ce(()=>at(i)),()=>{let l=n()||[],u=l.length,c,h;return l[Jt],Z(()=>{let m,w,f,p,v,b,S,y,O;if(u===0)o!==0&&(at(i),i=[],s=[],r=[],o=0,a&&(a=[])),t.fallback&&(s=[on],r[0]=he(A=>(i[0]=A,t.fallback())),o=1);else if(o===0){for(r=new Array(u),h=0;h<u;h++)s[h]=l[h],r[h]=he(d);o=u}else{for(f=new Array(u),p=new Array(u),a&&(v=new Array(u)),b=0,S=Math.min(o,u);b<S&&s[b]===l[b];b++);for(S=o-1,y=u-1;S>=b&&y>=b&&s[S]===l[y];S--,y--)f[y]=r[S],p[y]=i[S],a&&(v[y]=a[S]);for(m=new Map,w=new Array(y+1),h=y;h>=b;h--)O=l[h],c=m.get(O),w[h]=c===void 0?-1:c,m.set(O,h);for(c=b;c<=S;c++)O=s[c],h=m.get(O),h!==void 0&&h!==-1?(f[h]=r[c],p[h]=i[c],a&&(v[h]=a[c]),h=w[h],m.set(O,h)):i[c]();for(h=b;h<u;h++)h in f?(r[h]=f[h],i[h]=p[h],a&&(a[h]=v[h],a[h](h))):r[h]=he(d);r=r.slice(0,o=u),s=l.slice(0)}return r});function d(m){if(i[h]=m,a){const[w,f]=z(h,{name:"index"});return a[h]=f,e(l[h],w)}return e(l[h])}}}function K(n,e){return en(n,e||{})}const un=n=>`Attempting to access a stale value from <${n}> that could possibly be undefined. This may occur because you are reading the accessor returned from the component at a time where it has already been unmounted. We recommend cleaning up any stale timers or async, or reading from the initial condition.`;function Ee(n){const e="fallback"in n&&{fallback:()=>n.fallback};return ue(ln(()=>n.each,n.children,e||void 0),void 0,{name:"value"})}function se(n){const e=n.keyed,t=ue(()=>n.when,void 0,{name:"condition value"}),s=e?t:ue(t,void 0,{equals:(r,i)=>!r==!i,name:"condition"});return ue(()=>{const r=s();if(r){const i=n.children;return typeof i=="function"&&i.length>0?Z(()=>i(e?r:()=>{if(!Z(s))throw un("Show");return t()})):i}return n.fallback},void 0,{name:"value"})}globalThis&&(globalThis.Solid$$?console.warn("You appear to have multiple instances of Solid. This can lead to unexpected behavior."):globalThis.Solid$$=!0);const X=n=>ue(()=>n());function cn(n,e,t){let s=t.length,r=e.length,i=s,o=0,a=0,l=e[r-1].nextSibling,u=null;for(;o<r||a<i;){if(e[o]===t[a]){o++,a++;continue}for(;e[r-1]===t[i-1];)r--,i--;if(r===o){const c=i<s?a?t[a-1].nextSibling:t[i-a]:l;for(;a<i;)n.insertBefore(t[a++],c)}else if(i===a)for(;o<r;)(!u||!u.has(e[o]))&&e[o].remove(),o++;else if(e[o]===t[i-1]&&t[a]===e[r-1]){const c=e[--r].nextSibling;n.insertBefore(t[a++],e[o++].nextSibling),n.insertBefore(t[--i],c),e[r]=t[i]}else{if(!u){u=new Map;let h=a;for(;h<i;)u.set(t[h],h++)}const c=u.get(e[o]);if(c!=null)if(a<c&&c<i){let h=o,d=1,m;for(;++h<r&&h<i&&!((m=u.get(e[h]))==null||m!==c+d);)d++;if(d>c-a){const w=e[o];for(;a<c;)n.insertBefore(t[a++],w)}else n.replaceChild(t[a++],e[o++])}else o++;else e[o++].remove()}}}const ot="_$DX_DELEGATE";function dn(n,e,t,s={}){if(!e)throw new Error("The `element` passed to `render(..., element)` doesn't exist. Make sure `element` exists in the document.");let r;return he(i=>{r=i,e===document?n():$(e,n(),e.firstChild?null:void 0,t)},s.owner),()=>{r(),e.textContent=""}}function _(n,e,t,s){let r;const i=()=>{const a=document.createElement("template");return a.innerHTML=n,a.content.firstChild},o=()=>(r||(r=i())).cloneNode(!0);return o.cloneNode=o,o}function de(n,e=window.document){const t=e[ot]||(e[ot]=new Set);for(let s=0,r=n.length;s<r;s++){const i=n[s];t.has(i)||(t.add(i),e.addEventListener(i,fn))}}function q(n,e,t){t==null?n.removeAttribute(e):n.setAttribute(e,t)}function Ce(n,e){e==null?n.removeAttribute("class"):n.className=e}function Ne(n,e,t,s){Array.isArray(t)?(n[`$$${e}`]=t[0],n[`$$${e}Data`]=t[1]):n[`$$${e}`]=t}function G(n,e,t){return Z(()=>n(e,t))}function $(n,e,t,s){if(t!==void 0&&!s&&(s=[]),typeof e!="function")return Fe(n,e,s,t);U(r=>Fe(n,e(),r,t),s)}function fn(n){let e=n.target;const t=`$$${n.type}`,s=n.target,r=n.currentTarget,i=l=>Object.defineProperty(n,"target",{configurable:!0,value:l}),o=()=>{const l=e[t];if(l&&!e.disabled){const u=e[`${t}Data`];if(u!==void 0?l.call(e,u,n):l.call(e,n),n.cancelBubble)return}return e.host&&typeof e.host!="string"&&!e.host._$host&&e.contains(n.target)&&i(e.host),!0},a=()=>{for(;o()&&(e=e._$host||e.parentNode||e.host););};if(Object.defineProperty(n,"currentTarget",{configurable:!0,get(){return e||document}}),n.composedPath){const l=n.composedPath();i(l[0]);for(let u=0;u<l.length-2&&(e=l[u],!!o());u++){if(e._$host){e=e._$host,a();break}if(e.parentNode===r)break}}else a();i(s)}function Fe(n,e,t,s,r){for(;typeof t=="function";)t=t();if(e===t)return t;const i=typeof e,o=s!==void 0;if(n=o&&t[0]&&t[0].parentNode||n,i==="string"||i==="number"){if(i==="number"&&(e=e.toString(),e===t))return t;if(o){let a=t[0];a&&a.nodeType===3?a.data!==e&&(a.data=e):a=document.createTextNode(e),t=ae(n,t,s,a)}else t!==""&&typeof t=="string"?t=n.firstChild.data=e:t=n.textContent=e}else if(e==null||i==="boolean")t=ae(n,t,s);else{if(i==="function")return U(()=>{let a=e();for(;typeof a=="function";)a=a();t=Fe(n,a,t,s)}),()=>t;if(Array.isArray(e)){const a=[],l=t&&Array.isArray(t);if(Qe(a,e,t,r))return U(()=>t=Fe(n,a,t,s,!0)),()=>t;if(a.length===0){if(t=ae(n,t,s),o)return t}else l?t.length===0?lt(n,a,s):cn(n,t,a):(t&&ae(n),lt(n,a));t=a}else if(e.nodeType){if(Array.isArray(t)){if(o)return t=ae(n,t,s,e);ae(n,t,null,e)}else t==null||t===""||!n.firstChild?n.appendChild(e):n.replaceChild(e,n.firstChild);t=e}else console.warn("Unrecognized value. Skipped inserting",e)}return t}function Qe(n,e,t,s){let r=!1;for(let i=0,o=e.length;i<o;i++){let a=e[i],l=t&&t[n.length],u;if(!(a==null||a===!0||a===!1))if((u=typeof a)=="object"&&a.nodeType)n.push(a);else if(Array.isArray(a))r=Qe(n,a,l)||r;else if(u==="function")if(s){for(;typeof a=="function";)a=a();r=Qe(n,Array.isArray(a)?a:[a],Array.isArray(l)?l:[l])||r}else n.push(a),r=!0;else{const c=String(a);l&&l.nodeType===3&&l.data===c?n.push(l):n.push(document.createTextNode(c))}}return r}function lt(n,e,t=null){for(let s=0,r=e.length;s<r;s++)n.insertBefore(e[s],t)}function ae(n,e,t,s){if(t===void 0)return n.textContent="";const r=s||document.createTextNode("");if(e.length){let i=!1;for(let o=e.length-1;o>=0;o--){const a=e[o];if(r!==a){const l=a.parentNode===n;!i&&!o?l?n.replaceChild(r,a):n.insertBefore(r,t):l&&a.remove()}else i=!0}}else n.insertBefore(r,t);return[r]}const hn=(n,e,t={})=>({kind:"text",key:n,label:e,placeholder:t.placeholder,initialValue:t.initialValue,required:t.required,disabled:t.disabled,autofocus:t.autofocus,hint:t.hint}),gn=(n,e,t={})=>({kind:"email",key:n,label:e,placeholder:t.placeholder,initialValue:t.initialValue,required:t.required,disabled:t.disabled,autofocus:t.autofocus,hint:t.hint}),pn=(n,e,t={})=>({kind:"password",key:n,label:e,placeholder:t.placeholder,initialValue:t.initialValue,required:t.required,disabled:t.disabled,autofocus:t.autofocus,hint:t.hint}),mn=(n,e,t={})=>({kind:"textarea",key:n,label:e,placeholder:t.placeholder,initialValue:t.initialValue,required:t.required,disabled:t.disabled,autofocus:t.autofocus,hint:t.hint}),bn=(n,e,t={})=>({kind:"checkbox",key:n,label:e,initialValue:t.initialValue,required:t.required,disabled:t.disabled,autofocus:t.autofocus,hint:t.hint}),ze={text:hn,email:gn,password:pn,textarea:mn,checkbox:bn},Ft=new WeakMap,yn=(n,e)=>{Ft.set(n,e)},wn=n=>Ft.get(n);var vn=_('<button type=button class="eden-btn eden-btn-primary">'),He=_("<button type=button class=eden-btn>"),qe=_("<button type=button>"),xn=_("<div class=eden-form-group><input type=text class=eden-input>"),Sn=_("<label class=eden-form-label>"),ve=_("<p class=eden-form-help>"),$n=_('<div class="eden-flex-col eden-gap-md">'),Cn=_("<div class=eden-form-group><label class=eden-checkbox-option><input type=checkbox class=eden-checkbox><span class=eden-checkbox-option-label>"),kn=_("<div class=eden-form-group><label class=eden-form-label></label><textarea class=eden-textarea rows=3>"),An=_("<div class=eden-form-group><label class=eden-form-label></label><input class=eden-input>"),Pn=_("<div class=eden-text-xs style=color:var(--eden-color-danger)>");const Je=(n,e)=>typeof n=="object"&&n!==null&&Object.hasOwn(n,e),We=n=>n==="danger"?"eden-btn eden-btn-danger":"eden-btn eden-btn-primary",Ln=n=>n.kind==="checkbox"?n.initialValue??!1:n.initialValue??"",On=n=>{const e={};for(const t of n)e[t.key]=Ln(t);return e},Rn=(n,e)=>n.required?n.kind==="checkbox"?e===!0:typeof e=="string"&&e.trim().length>0:!0,ut=(n,e)=>n.every(t=>Rn(t,e[t.key])),In=n=>{const e=n.find(s=>s.autofocus);return e?e.key:n.find(s=>s.kind!=="checkbox")?.key??null},En=()=>{const[n,e]=z(null),t=[];let s=0;const r=()=>{if(n())return;const f=t.shift();f&&e(f)},i=f=>{t.push(f),r()},o=()=>{e(null),queueMicrotask(r)},a=f=>new Promise(p=>{const[v,b]=z(f.initialValue),[S,y]=z(f.initialCanSubmit??!0),O=Je(f,"defaultSubmitResult"),A=Je(f,"cancelResult");i({id:++s,title:f.title,message:f.message,size:f.size??"sm",dismissOnBackdrop:f.dismissOnBackdrop??!0,dismissOnEscape:f.dismissOnEscape??!0,onEnter:f.onEnter??"submit",selectInitialFocusText:f.selectInitialFocusText??!1,value:v,setValue:b,canSubmit:S,setCanSubmit:y,render:f.render,footer:f.footer,hasDefaultSubmitResult:O,defaultSubmitResult:O?f.defaultSubmitResult:void 0,hasCancelResult:A,cancelResult:A?f.cancelResult:void 0,onSubmitAttempt:f.onSubmitAttempt,resolve:p})}),w={active:n,submit:async(...f)=>{const p=n();if(!p||!p.canSubmit())return;const v=f.length>0,b=f[0];let S=v?b:p.hasDefaultSubmitResult?p.defaultSubmitResult:p.value();if(p.onSubmitAttempt)try{const y=await p.onSubmitAttempt(S);if(!y.allowClose)return;Je(y,"result")&&(S=y.result)}catch(y){console.error("Dialog submit handler failed:",y);return}p.resolve(S),o()},cancel:()=>{const f=n();if(!f)return;const p=f.hasCancelResult?f.cancelResult:null;f.resolve(p),o()},custom:a,alert:async f=>{await a({title:f.title,message:f.message,size:f.size,dismissOnBackdrop:f.dismissOnBackdrop,dismissOnEscape:f.dismissOnEscape,onEnter:f.onEnter,initialValue:void 0,cancelResult:void 0,footer:p=>(()=>{var v=vn();v.$$click=()=>p.submit();var b=p.setPrimaryActionRef;return typeof b=="function"?G(b,v):p.setPrimaryActionRef=v,$(v,()=>f.okLabel??"OK"),v})()})},confirm:f=>{const p=f.tone??"default";return a({title:f.title,message:f.message,size:f.size,dismissOnBackdrop:f.dismissOnBackdrop,dismissOnEscape:f.dismissOnEscape,onEnter:f.onEnter,initialValue:void 0,defaultSubmitResult:!0,cancelResult:!1,footer:v=>[(()=>{var b=He();return b.$$click=()=>v.cancel(),$(b,()=>f.cancelLabel??"Cancel"),b})(),(()=>{var b=qe();b.$$click=()=>v.submit(!0);var S=v.setPrimaryActionRef;return typeof S=="function"?G(S,b):v.setPrimaryActionRef=b,$(b,()=>f.confirmLabel??"OK"),U(()=>Ce(b,We(p))),b})()]})},prompt:f=>{const p=f.tone??"default",v=`eden-dialog-prompt-${s+1}`;return a({title:f.title,message:f.message,size:f.size,dismissOnBackdrop:f.dismissOnBackdrop,dismissOnEscape:f.dismissOnEscape,onEnter:f.onEnter,selectInitialFocusText:!0,initialValue:f.initialValue??"",cancelResult:null,render:b=>(()=>{var S=xn(),y=S.firstChild;$(S,(()=>{var A=X(()=>!!f.label);return()=>A()&&(()=>{var x=Sn();return q(x,"for",v),$(x,()=>f.label),x})()})(),y),y.$$input=A=>b.setValue(A.currentTarget.value);var O=b.setInitialFocusRef;return typeof O=="function"?G(O,y):b.setInitialFocusRef=y,q(y,"id",v),$(S,(()=>{var A=X(()=>!!f.hint);return()=>A()&&(()=>{var x=ve();return $(x,()=>f.hint),x})()})(),null),U(()=>q(y,"placeholder",f.placeholder)),U(()=>y.value=b.value()),S})(),footer:b=>[(()=>{var S=He();return S.$$click=()=>b.cancel(),$(S,()=>f.cancelLabel??"Cancel"),S})(),(()=>{var S=qe();S.$$click=()=>b.submit();var y=b.setPrimaryActionRef;return typeof y=="function"?G(y,S):b.setPrimaryActionRef=S,$(S,()=>f.confirmLabel??"OK"),U(()=>Ce(S,We(p))),S})()]})},form:f=>{const p=f.tone??"default",v=In(f.fields),b=`eden-dialog-form-${s+1}`,[S,y]=z(null),O=On(f.fields);return a({title:f.title,message:f.message,size:f.size,dismissOnBackdrop:f.dismissOnBackdrop,dismissOnEscape:f.dismissOnEscape,onEnter:f.onEnter,initialValue:O,initialCanSubmit:ut(f.fields,O),cancelResult:null,render:A=>(()=>{var x=$n();return $(x,K(Ee,{get each(){return f.fields},children:P=>{const L=()=>A.value()[P.key],R=j=>{const I={...A.value(),[P.key]:j};y(null),A.setValue(()=>I),A.setCanSubmit(ut(f.fields,I))},T=v!=null&&v===P.key,V=`${b}-${P.key}`;return P.kind==="checkbox"?(()=>{var j=Cn(),H=j.firstChild,I=H.firstChild,Y=I.nextSibling;I.addEventListener("change",E=>R(E.currentTarget.checked));var F=T?A.setInitialFocusRef:void 0;return typeof F=="function"&&G(F,I),$(Y,()=>P.label),$(j,(()=>{var E=X(()=>!!P.hint);return()=>E()&&(()=>{var g=ve();return $(g,()=>P.hint),g})()})(),null),U(()=>I.disabled=P.disabled),U(()=>I.checked=L()===!0),j})():P.kind==="textarea"?(()=>{var j=kn(),H=j.firstChild,I=H.nextSibling;q(H,"for",V),$(H,()=>P.label),I.$$input=F=>R(F.currentTarget.value);var Y=T?A.setInitialFocusRef:void 0;return typeof Y=="function"&&G(Y,I),q(I,"id",V),$(j,(()=>{var F=X(()=>!!P.hint);return()=>F()&&(()=>{var E=ve();return $(E,()=>P.hint),E})()})(),null),U(F=>{var E=P.placeholder,g=P.disabled;return E!==F.e&&q(I,"placeholder",F.e=E),g!==F.t&&(I.disabled=F.t=g),F},{e:void 0,t:void 0}),U(()=>I.value=String(L()??"")),j})():(()=>{var j=An(),H=j.firstChild,I=H.nextSibling;q(H,"for",V),$(H,()=>P.label),I.$$input=F=>R(F.currentTarget.value);var Y=T?A.setInitialFocusRef:void 0;return typeof Y=="function"&&G(Y,I),q(I,"id",V),$(j,(()=>{var F=X(()=>!!P.hint);return()=>F()&&(()=>{var E=ve();return $(E,()=>P.hint),E})()})(),null),U(F=>{var E=P.kind,g=P.placeholder,C=P.disabled;return E!==F.e&&q(I,"type",F.e=E),g!==F.t&&q(I,"placeholder",F.t=g),C!==F.a&&(I.disabled=F.a=C),F},{e:void 0,t:void 0,a:void 0}),U(()=>I.value=String(L()??"")),j})()}}),null),$(x,(()=>{var P=X(()=>!!S());return()=>P()&&(()=>{var L=Pn();return $(L,S),L})()})(),null),x})(),onSubmitAttempt:async A=>{const x=A,P=f.validate?.(x)??null;if(P)return y(P),{allowClose:!1};if(f.onSubmit){const L=await f.onSubmit(x);if(L)return y(L),{allowClose:!1}}return{allowClose:!0,result:x}},footer:A=>[(()=>{var x=He();return x.$$click=()=>A.cancel(),$(x,()=>f.cancelLabel??"Cancel"),x})(),(()=>{var x=qe();x.$$click=()=>A.submit();var P=A.setPrimaryActionRef;return typeof P=="function"?G(P,x):A.setPrimaryActionRef=x,$(x,()=>f.confirmLabel??"OK"),U(L=>{var R=We(p),T=!A.canSubmit();return R!==L.e&&Ce(x,L.e=R),T!==L.t&&(x.disabled=L.t=T),L},{e:void 0,t:void 0}),x})()]})}};return yn(w,w),w};de(["click","input"]);var Nn=_("<div class=eden-modal-overlay>"),Fn=_("<div role=dialog aria-modal=true><div class=eden-modal-header><h3 class=eden-modal-title></h3><button type=button class=eden-modal-close>×</button></div><div class=eden-modal-body>"),Dn=_("<div>"),Tn=_("<div class=eden-modal-footer>");const Vn=n=>n==="sm"?"eden-modal-sm":n==="lg"?"eden-modal-lg":"",jn=n=>{const e=wn(n.dialogs);if(!e)return console.error("DialogHost received an unsupported controller. Pass the value returned by createDialogs()."),null;let t,s,r;const i=o=>({value:o.value,setValue:o.setValue,canSubmit:o.canSubmit,setCanSubmit:o.setCanSubmit,submit:a=>e.submit(a),cancel:e.cancel,setPrimaryActionRef:a=>{t=a},setInitialFocusRef:a=>{s=a}});return Oe(()=>{const o=e.active();if(!o)return;r=void 0,t=void 0,s=void 0;const a=document.activeElement;queueMicrotask(()=>{const l=s??t;l?.focus?.(),o.selectInitialFocusText&&l&&"select"in l&&typeof l.select=="function"&&l.select()}),ce(()=>{a?.focus?.()})}),Oe(()=>{const o=e.active();if(!o)return;const a=u=>{if(u.stopPropagation(),u.key==="Escape"&&o.dismissOnEscape){u.preventDefault(),e.cancel();return}if(u.key==="Enter"&&o.onEnter==="submit"){if(u.target?.tagName==="TEXTAREA")return;u.preventDefault(),e.submit()}},l=u=>{if(!o.dismissOnBackdrop)return;const c=u.target;!c||!r||r.contains(c)||e.cancel()};document.addEventListener("mousedown",l,!0),document.addEventListener("keydown",a,!0),ce(()=>{document.removeEventListener("mousedown",l,!0),document.removeEventListener("keydown",a,!0),r=void 0})}),X(()=>X(()=>!!e.active())()&&(()=>{var o=Nn();return $(o,()=>{const a=e.active();if(!a)return null;const l=i(a);return(()=>{var u=Fn(),c=u.firstChild,h=c.firstChild,d=h.nextSibling,m=c.nextSibling,w=r;return typeof w=="function"?G(w,u):r=u,$(h,()=>a.title),d.$$click=()=>e.cancel(),$(m,(()=>{var f=X(()=>a.message!=null);return()=>f()&&(()=>{var p=Dn();return $(p,()=>a.message),p})()})(),null),$(m,()=>a.render?.(l),null),$(u,(()=>{var f=X(()=>!!a.footer);return()=>f()&&(()=>{var p=Tn();return $(p,()=>a.footer(l)),p})()})(),null),U(()=>Ce(u,`eden-modal ${Vn(a.size)}`)),u})()}),o})())};de(["click"]);const rt=()=>{if(typeof window>"u")throw new Error("contextMenu can only be used in a browser environment.");const n=window.edenAPI;if(!n)throw new Error("edenAPI is not available on window.");return n},Ze=new Map;let ct=!1,ke=null,dt=!1;const Dt=(n,e)=>{ke={x:n,y:e}},ft=n=>{Dt(n.clientX,n.clientY)},ht=n=>{const e=n.touches[0]||n.changedTouches[0];e&&Dt(e.clientX,e.clientY)},Tt=()=>{dt||typeof window>"u"||(dt=!0,window.addEventListener("pointermove",ft,{passive:!0}),window.addEventListener("mousemove",ft,{passive:!0}),window.addEventListener("touchstart",ht,{passive:!0}),window.addEventListener("touchmove",ht,{passive:!0}))},Mn=n=>{if(n){if("clientX"in n&&"clientY"in n)return{left:n.clientX,top:n.clientY};if("touches"in n){const e=n.touches[0]||n.changedTouches[0];if(e)return{left:e.clientX,top:e.clientY}}}},Vt=(n,e)=>{for(const t of n)if(t.type==="item"){if(t.id===e)return t;if(t.items?.length){const s=Vt(t.items,e);if(s)return s}}},jt=n=>{if(n.type!=="item")return n;const{onSelect:e,items:t,...s}=n;return{...s,...t?.length?{items:t.map(jt)}:{}}},_n=async()=>{if(ct)return;ct=!0,await rt().subscribe("context-menu/closed",e=>{const t=Ze.get(e.requestId);t&&(Ze.delete(e.requestId),t(e))})},it=async n=>{Tt(),await _n();const e=n.position||Mn(n.event)||(ke?{left:ke.x,top:ke.y}:void 0)||{left:Math.round(window.innerWidth/2),top:Math.round(window.innerHeight/2)},t=rt(),{requestId:s}=await t.shellCommand("context-menu/open",{title:n.title,position:e,items:n.items.map(jt)});return new Promise(r=>{Ze.set(s,i=>{(async()=>{try{if(i.itemId){const a=Vt(n.items,i.itemId);a?.onSelect&&await a.onSelect()}else i.reason==="dismiss"&&n.onDismiss&&await n.onDismiss();n.onClose&&await n.onClose()}catch(a){console.error("Context menu handler failed:",a)}finally{r(i)}})()})})},Un=async n=>it({...n}),Kn=n=>(Tt(),e=>{"preventDefault"in e&&typeof e.preventDefault=="function"&&e.preventDefault(),"stopPropagation"in e&&typeof e.stopPropagation=="function"&&e.stopPropagation();const t=n(e);it({...t,event:e}).catch(s=>{console.error("Failed to open context menu:",s),t.onClose&&t.onClose()})}),Bn=async n=>{await rt().shellCommand("context-menu/close",{requestId:n})},et={open:it,openAtCursor:Un,createHandler:Kn,close:Bn},Mt=n=>({__brand:"title",text:n}),ge=(n,e,t,s)=>({type:"item",id:n,label:e,onSelect:t,...s}),zn=(n,e,t)=>n?e:t??null,Hn=n=>e=>{const t=n(e),s=t.find(i=>i!=null&&typeof i=="object"&&"__brand"in i&&i.__brand==="title"),r=t.filter(i=>i!=null&&typeof i=="object"&&!("__brand"in i));return{title:s?.text,items:r}},_t=n=>{const e=Hn(n);return{build:e,show:async(t,s)=>{await et.open({...e(t),position:s})},handler:t=>{const s=typeof t=="function"?t:()=>t;return et.createHandler(()=>e(s()))}}},k=n=>typeof n=="string",fe=()=>{let n,e;const t=new Promise((s,r)=>{n=s,e=r});return t.resolve=n,t.reject=e,t},gt=n=>n==null?"":""+n,qn=(n,e,t)=>{n.forEach(s=>{e[s]&&(t[s]=e[s])})},Jn=/###/g,pt=n=>n&&n.indexOf("###")>-1?n.replace(Jn,"."):n,mt=n=>!n||k(n),pe=(n,e,t)=>{const s=k(e)?e.split("."):e;let r=0;for(;r<s.length-1;){if(mt(n))return{};const i=pt(s[r]);!n[i]&&t&&(n[i]=new t),Object.prototype.hasOwnProperty.call(n,i)?n=n[i]:n={},++r}return mt(n)?{}:{obj:n,k:pt(s[r])}},bt=(n,e,t)=>{const{obj:s,k:r}=pe(n,e,Object);if(s!==void 0||e.length===1){s[r]=t;return}let i=e[e.length-1],o=e.slice(0,e.length-1),a=pe(n,o,Object);for(;a.obj===void 0&&o.length;)i=`${o[o.length-1]}.${i}`,o=o.slice(0,o.length-1),a=pe(n,o,Object),a&&a.obj&&typeof a.obj[`${a.k}.${i}`]<"u"&&(a.obj=void 0);a.obj[`${a.k}.${i}`]=t},Wn=(n,e,t,s)=>{const{obj:r,k:i}=pe(n,e,Object);r[i]=r[i]||[],r[i].push(t)},De=(n,e)=>{const{obj:t,k:s}=pe(n,e);if(t)return t[s]},Yn=(n,e,t)=>{const s=De(n,t);return s!==void 0?s:De(e,t)},Ut=(n,e,t)=>{for(const s in e)s!=="__proto__"&&s!=="constructor"&&(s in n?k(n[s])||n[s]instanceof String||k(e[s])||e[s]instanceof String?t&&(n[s]=e[s]):Ut(n[s],e[s],t):n[s]=e[s]);return n},oe=n=>n.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var Gn={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;"};const Xn=n=>k(n)?n.replace(/[&<>"'\/]/g,e=>Gn[e]):n;class Qn{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 Zn=[" ",",","?","!",";"],es=new Qn(20),ts=(n,e,t)=>{e=e||"",t=t||"";const s=Zn.filter(o=>e.indexOf(o)<0&&t.indexOf(o)<0);if(s.length===0)return!0;const r=es.getRegExp(`(${s.map(o=>o==="?"?"\\?":o).join("|")})`);let i=!r.test(n);if(!i){const o=n.indexOf(t);o>0&&!r.test(n.substring(0,o))&&(i=!0)}return i},tt=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 r=n;for(let i=0;i<s.length;){if(!r||typeof r!="object")return;let o,a="";for(let l=i;l<s.length;++l)if(l!==i&&(a+=t),a+=s[l],o=r[a],o!==void 0){if(["string","number","boolean"].indexOf(typeof o)>-1&&l<s.length-1)continue;i+=l-i+1;break}r=o}return r},Te=n=>n&&n.replace("_","-"),ns={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 Ve{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||ns,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,r){return r&&!this.debug?null:(k(e[0])&&(e[0]=`${s}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new Ve(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return e=e||this.options,e.prefix=e.prefix||this.prefix,new Ve(this.logger,e)}}var Q=new Ve;class _e{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach(s=>{this.observers[s]||(this.observers[s]=new Map);const r=this.observers[s].get(t)||0;this.observers[s].set(t,r+1)}),this}off(e,t){if(this.observers[e]){if(!t){delete this.observers[e];return}this.observers[e].delete(t)}}emit(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),r=1;r<t;r++)s[r-1]=arguments[r];this.observers[e]&&Array.from(this.observers[e].entries()).forEach(o=>{let[a,l]=o;for(let u=0;u<l;u++)a(...s)}),this.observers["*"]&&Array.from(this.observers["*"].entries()).forEach(o=>{let[a,l]=o;for(let u=0;u<l;u++)a.apply(a,[e,...s])})}}class yt extends _e{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 r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const i=r.keySeparator!==void 0?r.keySeparator:this.options.keySeparator,o=r.ignoreJSONStructure!==void 0?r.ignoreJSONStructure:this.options.ignoreJSONStructure;let a;e.indexOf(".")>-1?a=e.split("."):(a=[e,t],s&&(Array.isArray(s)?a.push(...s):k(s)&&i?a.push(...s.split(i)):a.push(s)));const l=De(this.data,a);return!l&&!t&&!s&&e.indexOf(".")>-1&&(e=a[0],t=a[1],s=a.slice(2).join(".")),l||!o||!k(s)?l:tt(this.data&&this.data[e]&&this.data[e][t],s,i)}addResource(e,t,s,r){let i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const o=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator;let a=[e,t];s&&(a=a.concat(o?s.split(o):s)),e.indexOf(".")>-1&&(a=e.split("."),r=t,t=a[1]),this.addNamespaces(t),bt(this.data,a,r),i.silent||this.emit("added",e,t,s,r)}addResources(e,t,s){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const i in s)(k(s[i])||Array.isArray(s[i]))&&this.addResource(e,t,i,s[i],{silent:!0});r.silent||this.emit("added",e,t,s)}addResourceBundle(e,t,s,r,i){let o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1,skipCopy:!1},a=[e,t];e.indexOf(".")>-1&&(a=e.split("."),r=s,s=t,t=a[1]),this.addNamespaces(t);let l=De(this.data,a)||{};o.skipCopy||(s=JSON.parse(JSON.stringify(s))),r?Ut(l,s,i):l={...l,...s},bt(this.data,a,l),o.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(r=>t[r]&&Object.keys(t[r]).length>0)}toJSON(){return this.data}}var Kt={processors:{},addPostProcessor(n){this.processors[n.name]=n},handle(n,e,t,s,r){return n.forEach(i=>{this.processors[i]&&(e=this.processors[i].process(e,t,s,r))}),e}};const wt={};class je extends _e{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),qn(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=Q.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 r=t.keySeparator!==void 0?t.keySeparator:this.options.keySeparator;let i=t.ns||this.options.defaultNS||[];const o=s&&e.indexOf(s)>-1,a=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!ts(e,s,r);if(o&&!a){const l=e.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:e,namespaces:k(i)?[i]:i};const u=e.split(s);(s!==r||s===r&&this.options.ns.indexOf(u[0])>-1)&&(i=u.shift()),e=u.join(r)}return{key:e,namespaces:k(i)?[i]:i}}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 r=t.returnDetails!==void 0?t.returnDetails:this.options.returnDetails,i=t.keySeparator!==void 0?t.keySeparator:this.options.keySeparator,{key:o,namespaces:a}=this.extractFromKey(e[e.length-1],t),l=a[a.length-1],u=t.lng||this.language,c=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(u&&u.toLowerCase()==="cimode"){if(c){const y=t.nsSeparator||this.options.nsSeparator;return r?{res:`${l}${y}${o}`,usedKey:o,exactUsedKey:o,usedLng:u,usedNS:l,usedParams:this.getUsedParamsDetails(t)}:`${l}${y}${o}`}return r?{res:o,usedKey:o,exactUsedKey:o,usedLng:u,usedNS:l,usedParams:this.getUsedParamsDetails(t)}:o}const h=this.resolve(e,t);let d=h&&h.res;const m=h&&h.usedKey||o,w=h&&h.exactUsedKey||o,f=Object.prototype.toString.apply(d),p=["[object Number]","[object Function]","[object RegExp]"],v=t.joinArrays!==void 0?t.joinArrays:this.options.joinArrays,b=!this.i18nFormat||this.i18nFormat.handleAsObject,S=!k(d)&&typeof d!="boolean"&&typeof d!="number";if(b&&d&&S&&p.indexOf(f)<0&&!(k(v)&&Array.isArray(d))){if(!t.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const y=this.options.returnedObjectHandler?this.options.returnedObjectHandler(m,d,{...t,ns:a}):`key '${o} (${this.language})' returned an object instead of string.`;return r?(h.res=y,h.usedParams=this.getUsedParamsDetails(t),h):y}if(i){const y=Array.isArray(d),O=y?[]:{},A=y?w:m;for(const x in d)if(Object.prototype.hasOwnProperty.call(d,x)){const P=`${A}${i}${x}`;O[x]=this.translate(P,{...t,joinArrays:!1,ns:a}),O[x]===P&&(O[x]=d[x])}d=O}}else if(b&&k(v)&&Array.isArray(d))d=d.join(v),d&&(d=this.extendTranslation(d,e,t,s));else{let y=!1,O=!1;const A=t.count!==void 0&&!k(t.count),x=je.hasDefaultValue(t),P=A?this.pluralResolver.getSuffix(u,t.count,t):"",L=t.ordinal&&A?this.pluralResolver.getSuffix(u,t.count,{ordinal:!1}):"",R=A&&!t.ordinal&&t.count===0&&this.pluralResolver.shouldUseIntlApi(),T=R&&t[`defaultValue${this.options.pluralSeparator}zero`]||t[`defaultValue${P}`]||t[`defaultValue${L}`]||t.defaultValue;!this.isValidLookup(d)&&x&&(y=!0,d=T),this.isValidLookup(d)||(O=!0,d=o);const j=(t.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&O?void 0:d,H=x&&T!==d&&this.options.updateMissing;if(O||y||H){if(this.logger.log(H?"updateKey":"missingKey",u,l,o,H?T:d),i){const E=this.resolve(o,{...t,keySeparator:!1});E&&E.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 I=[];const Y=this.languageUtils.getFallbackCodes(this.options.fallbackLng,t.lng||this.language);if(this.options.saveMissingTo==="fallback"&&Y&&Y[0])for(let E=0;E<Y.length;E++)I.push(Y[E]);else this.options.saveMissingTo==="all"?I=this.languageUtils.toResolveHierarchy(t.lng||this.language):I.push(t.lng||this.language);const F=(E,g,C)=>{const D=x&&C!==d?C:j;this.options.missingKeyHandler?this.options.missingKeyHandler(E,l,g,D,H,t):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(E,l,g,D,H,t),this.emit("missingKey",E,l,g,d)};this.options.saveMissing&&(this.options.saveMissingPlurals&&A?I.forEach(E=>{const g=this.pluralResolver.getSuffixes(E,t);R&&t[`defaultValue${this.options.pluralSeparator}zero`]&&g.indexOf(`${this.options.pluralSeparator}zero`)<0&&g.push(`${this.options.pluralSeparator}zero`),g.forEach(C=>{F([E],o+C,t[`defaultValue${C}`]||T)})}):F(I,o,T))}d=this.extendTranslation(d,e,t,h,s),O&&d===o&&this.options.appendNamespaceToMissingKey&&(d=`${l}:${o}`),(O||y)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?d=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${o}`:o,y?d:void 0):d=this.options.parseMissingKeyHandler(d))}return r?(h.res=d,h.usedParams=this.getUsedParamsDetails(t),h):d}extendTranslation(e,t,s,r,i){var o=this;if(this.i18nFormat&&this.i18nFormat.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...s},s.lng||this.language||r.usedLng,r.usedNS,r.usedKey,{resolved:r});else if(!s.skipInterpolation){s.interpolation&&this.interpolator.init({...s,interpolation:{...this.options.interpolation,...s.interpolation}});const u=k(e)&&(s&&s.interpolation&&s.interpolation.skipOnVariables!==void 0?s.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let c;if(u){const d=e.match(this.interpolator.nestingRegexp);c=d&&d.length}let h=s.replace&&!k(s.replace)?s.replace:s;if(this.options.interpolation.defaultVariables&&(h={...this.options.interpolation.defaultVariables,...h}),e=this.interpolator.interpolate(e,h,s.lng||this.language||r.usedLng,s),u){const d=e.match(this.interpolator.nestingRegexp),m=d&&d.length;c<m&&(s.nest=!1)}!s.lng&&this.options.compatibilityAPI!=="v1"&&r&&r.res&&(s.lng=this.language||r.usedLng),s.nest!==!1&&(e=this.interpolator.nest(e,function(){for(var d=arguments.length,m=new Array(d),w=0;w<d;w++)m[w]=arguments[w];return i&&i[0]===m[0]&&!s.context?(o.logger.warn(`It seems you are nesting recursively key: ${m[0]} in key: ${t[0]}`),null):o.translate(...m,t)},s)),s.interpolation&&this.interpolator.reset()}const a=s.postProcess||this.options.postProcess,l=k(a)?[a]:a;return e!=null&&l&&l.length&&s.applyPostProcessor!==!1&&(e=Kt.handle(l,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...r,usedParams:this.getUsedParamsDetails(s)},...s}:s,this)),e}resolve(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},s,r,i,o,a;return k(e)&&(e=[e]),e.forEach(l=>{if(this.isValidLookup(s))return;const u=this.extractFromKey(l,t),c=u.key;r=c;let h=u.namespaces;this.options.fallbackNS&&(h=h.concat(this.options.fallbackNS));const d=t.count!==void 0&&!k(t.count),m=d&&!t.ordinal&&t.count===0&&this.pluralResolver.shouldUseIntlApi(),w=t.context!==void 0&&(k(t.context)||typeof t.context=="number")&&t.context!=="",f=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);h.forEach(p=>{this.isValidLookup(s)||(a=p,!wt[`${f[0]}-${p}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(a)&&(wt[`${f[0]}-${p}`]=!0,this.logger.warn(`key "${r}" for languages "${f.join(", ")}" won't get resolved as namespace "${a}" 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!!!")),f.forEach(v=>{if(this.isValidLookup(s))return;o=v;const b=[c];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(b,c,v,p,t);else{let y;d&&(y=this.pluralResolver.getSuffix(v,t.count,t));const O=`${this.options.pluralSeparator}zero`,A=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(d&&(b.push(c+y),t.ordinal&&y.indexOf(A)===0&&b.push(c+y.replace(A,this.options.pluralSeparator)),m&&b.push(c+O)),w){const x=`${c}${this.options.contextSeparator}${t.context}`;b.push(x),d&&(b.push(x+y),t.ordinal&&y.indexOf(A)===0&&b.push(x+y.replace(A,this.options.pluralSeparator)),m&&b.push(x+O))}}let S;for(;S=b.pop();)this.isValidLookup(s)||(i=S,s=this.getResource(v,p,S,t))}))})}),{res:s,usedKey:r,exactUsedKey:i,usedLng:o,usedNS:a}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e==="")}getResource(e,t,s){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,t,s,r):this.resourceStore.getResource(e,t,s,r)}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&&!k(e.replace);let r=s?e.replace:e;if(s&&typeof e.count<"u"&&(r.count=e.count),this.options.interpolation.defaultVariables&&(r={...this.options.interpolation.defaultVariables,...r}),!s){r={...r};for(const i of t)delete r[i]}return r}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 Ye=n=>n.charAt(0).toUpperCase()+n.slice(1);class vt{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=Q.create("languageUtils")}getScriptPartFromCode(e){if(e=Te(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=Te(e),!e||e.indexOf("-")<0)return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(k(e)&&e.indexOf("-")>-1){if(typeof Intl<"u"&&typeof Intl.getCanonicalLocales<"u")try{let r=Intl.getCanonicalLocales(e)[0];if(r&&this.options.lowerCaseLng&&(r=r.toLowerCase()),r)return r}catch{}const t=["hans","hant","latn","cyrl","cans","mong","arab"];let s=e.split("-");return this.options.lowerCaseLng?s=s.map(r=>r.toLowerCase()):s.length===2?(s[0]=s[0].toLowerCase(),s[1]=s[1].toUpperCase(),t.indexOf(s[1].toLowerCase())>-1&&(s[1]=Ye(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]=Ye(s[1].toLowerCase())),t.indexOf(s[2].toLowerCase())>-1&&(s[2]=Ye(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 r=this.formatLanguageCode(s);(!this.options.supportedLngs||this.isSupportedCode(r))&&(t=r)}),!t&&this.options.supportedLngs&&e.forEach(s=>{if(t)return;const r=this.getLanguagePartFromCode(s);if(this.isSupportedCode(r))return t=r;t=this.options.supportedLngs.find(i=>{if(i===r)return i;if(!(i.indexOf("-")<0&&r.indexOf("-")<0)&&(i.indexOf("-")>0&&r.indexOf("-")<0&&i.substring(0,i.indexOf("-"))===r||i.indexOf(r)===0&&r.length>1))return i})}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,t){if(!e)return[];if(typeof e=="function"&&(e=e(t)),k(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),r=[],i=o=>{o&&(this.isSupportedCode(o)?r.push(o):this.logger.warn(`rejecting language code not found in supportedLngs: ${o}`))};return k(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&i(this.formatLanguageCode(e)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&i(this.getScriptPartFromCode(e)),this.options.load!=="currentOnly"&&i(this.getLanguagePartFromCode(e))):k(e)&&i(this.formatLanguageCode(e)),s.forEach(o=>{r.indexOf(o)<0&&i(this.formatLanguageCode(o))}),r}}let ss=[{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}],rs={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 is=["v1","v2","v3"],as=["v4"],xt={zero:0,one:1,two:2,few:3,many:4,other:5},os=()=>{const n={};return ss.forEach(e=>{e.lngs.forEach(t=>{n[t]={numbers:e.nr,plurals:rs[e.fc]}})}),n};class ls{constructor(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=e,this.options=t,this.logger=Q.create("pluralResolver"),(!this.options.compatibilityJSON||as.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=os(),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=Te(e==="dev"?"en":e),r=t.ordinal?"ordinal":"cardinal",i=JSON.stringify({cleanedCode:s,type:r});if(i in this.pluralRulesCache)return this.pluralRulesCache[i];let o;try{o=new Intl.PluralRules(s,{type:r})}catch{if(!e.match(/-|_/))return;const l=this.languageUtils.getLanguagePartFromCode(e);o=this.getRule(l,t)}return this.pluralRulesCache[i]=o,o}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(r=>`${t}${r}`)}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((r,i)=>xt[r]-xt[i]).map(r=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${r}`):s.numbers.map(r=>this.getSuffix(e,r,t)):[]}getSuffix(e,t){let s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const r=this.getRule(e,s);return r?this.shouldUseIntlApi()?`${this.options.prepend}${s.ordinal?`ordinal${this.options.prepend}`:""}${r.select(t)}`:this.getSuffixRetroCompatible(r,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 r=e.numbers[s];this.options.simplifyPluralSuffix&&e.numbers.length===2&&e.numbers[0]===1&&(r===2?r="plural":r===1&&(r=""));const i=()=>this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString();return this.options.compatibilityJSON==="v1"?r===1?"":typeof r=="number"?`_plural_${r.toString()}`:i():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&e.numbers.length===2&&e.numbers[0]===1?i():this.options.prepend&&s.toString()?this.options.prepend+s.toString():s.toString()}shouldUseIntlApi(){return!is.includes(this.options.compatibilityJSON)}}const St=function(n,e,t){let s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=Yn(n,e,t);return!i&&r&&k(t)&&(i=tt(n,t,s),i===void 0&&(i=tt(e,t,s))),i},Ge=n=>n.replace(/\$/g,"$$$$");class us{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=Q.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:r,prefix:i,prefixEscaped:o,suffix:a,suffixEscaped:l,formatSeparator:u,unescapeSuffix:c,unescapePrefix:h,nestingPrefix:d,nestingPrefixEscaped:m,nestingSuffix:w,nestingSuffixEscaped:f,nestingOptionsSeparator:p,maxReplaces:v,alwaysFormat:b}=e.interpolation;this.escape=t!==void 0?t:Xn,this.escapeValue=s!==void 0?s:!0,this.useRawValueToEscape=r!==void 0?r:!1,this.prefix=i?oe(i):o||"{{",this.suffix=a?oe(a):l||"}}",this.formatSeparator=u||",",this.unescapePrefix=c?"":h||"-",this.unescapeSuffix=this.unescapePrefix?"":c||"",this.nestingPrefix=d?oe(d):m||oe("$t("),this.nestingSuffix=w?oe(w):f||oe(")"),this.nestingOptionsSeparator=p||",",this.maxReplaces=v||1e3,this.alwaysFormat=b!==void 0?b:!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,r){let i,o,a;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},u=m=>{if(m.indexOf(this.formatSeparator)<0){const v=St(t,l,m,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(v,void 0,s,{...r,...t,interpolationkey:m}):v}const w=m.split(this.formatSeparator),f=w.shift().trim(),p=w.join(this.formatSeparator).trim();return this.format(St(t,l,f,this.options.keySeparator,this.options.ignoreJSONStructure),p,s,{...r,...t,interpolationkey:f})};this.resetRegExp();const c=r&&r.missingInterpolationHandler||this.options.missingInterpolationHandler,h=r&&r.interpolation&&r.interpolation.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:m=>Ge(m)},{regex:this.regexp,safeValue:m=>this.escapeValue?Ge(this.escape(m)):Ge(m)}].forEach(m=>{for(a=0;i=m.regex.exec(e);){const w=i[1].trim();if(o=u(w),o===void 0)if(typeof c=="function"){const p=c(e,i,r);o=k(p)?p:""}else if(r&&Object.prototype.hasOwnProperty.call(r,w))o="";else if(h){o=i[0];continue}else this.logger.warn(`missed to pass in variable ${w} for interpolating ${e}`),o="";else!k(o)&&!this.useRawValueToEscape&&(o=gt(o));const f=m.safeValue(o);if(e=e.replace(i[0],f),h?(m.regex.lastIndex+=o.length,m.regex.lastIndex-=i[0].length):m.regex.lastIndex=0,a++,a>=this.maxReplaces)break}}),e}nest(e,t){let s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r,i,o;const a=(l,u)=>{const c=this.nestingOptionsSeparator;if(l.indexOf(c)<0)return l;const h=l.split(new RegExp(`${c}[ ]*{`));let d=`{${h[1]}`;l=h[0],d=this.interpolate(d,o);const m=d.match(/'/g),w=d.match(/"/g);(m&&m.length%2===0&&!w||w.length%2!==0)&&(d=d.replace(/'/g,'"'));try{o=JSON.parse(d),u&&(o={...u,...o})}catch(f){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,f),`${l}${c}${d}`}return o.defaultValue&&o.defaultValue.indexOf(this.prefix)>-1&&delete o.defaultValue,l};for(;r=this.nestingRegexp.exec(e);){let l=[];o={...s},o=o.replace&&!k(o.replace)?o.replace:o,o.applyPostProcessor=!1,delete o.defaultValue;let u=!1;if(r[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(r[1])){const c=r[1].split(this.formatSeparator).map(h=>h.trim());r[1]=c.shift(),l=c,u=!0}if(i=t(a.call(this,r[1].trim(),o),o),i&&r[0]===e&&!k(i))return i;k(i)||(i=gt(i)),i||(this.logger.warn(`missed to resolve ${r[1]} for nesting ${e}`),i=""),u&&(i=l.reduce((c,h)=>this.format(c,h,s.lng,{...s,interpolationkey:r[1].trim()}),i.trim())),e=e.replace(r[0],i),this.regexp.lastIndex=0}return e}}const cs=n=>{let e=n.toLowerCase().trim();const t={};if(n.indexOf("(")>-1){const s=n.split("(");e=s[0].toLowerCase().trim();const r=s[1].substring(0,s[1].length-1);e==="currency"&&r.indexOf(":")<0?t.currency||(t.currency=r.trim()):e==="relativetime"&&r.indexOf(":")<0?t.range||(t.range=r.trim()):r.split(";").forEach(o=>{if(o){const[a,...l]=o.split(":"),u=l.join(":").trim().replace(/^'+|'+$/g,""),c=a.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}},le=n=>{const e={};return(t,s,r)=>{let i=r;r&&r.interpolationkey&&r.formatParams&&r.formatParams[r.interpolationkey]&&r[r.interpolationkey]&&(i={...i,[r.interpolationkey]:void 0});const o=s+JSON.stringify(i);let a=e[o];return a||(a=n(Te(s),r),e[o]=a),a(t)}};class ds{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=Q.create("formatter"),this.options=e,this.formats={number:le((t,s)=>{const r=new Intl.NumberFormat(t,{...s});return i=>r.format(i)}),currency:le((t,s)=>{const r=new Intl.NumberFormat(t,{...s,style:"currency"});return i=>r.format(i)}),datetime:le((t,s)=>{const r=new Intl.DateTimeFormat(t,{...s});return i=>r.format(i)}),relativetime:le((t,s)=>{const r=new Intl.RelativeTimeFormat(t,{...s});return i=>r.format(i,s.range||"day")}),list:le((t,s)=>{const r=new Intl.ListFormat(t,{...s});return i=>r.format(i)})},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()]=le(t)}format(e,t,s){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const i=t.split(this.formatSeparator);if(i.length>1&&i[0].indexOf("(")>1&&i[0].indexOf(")")<0&&i.find(a=>a.indexOf(")")>-1)){const a=i.findIndex(l=>l.indexOf(")")>-1);i[0]=[i[0],...i.splice(1,a)].join(this.formatSeparator)}return i.reduce((a,l)=>{const{formatName:u,formatOptions:c}=cs(l);if(this.formats[u]){let h=a;try{const d=r&&r.formatParams&&r.formatParams[r.interpolationkey]||{},m=d.locale||d.lng||r.locale||r.lng||s;h=this.formats[u](a,m,{...c,...r,...d})}catch(d){this.logger.warn(d)}return h}else this.logger.warn(`there was no format function for ${u}`);return a},e)}}const fs=(n,e)=>{n.pending[e]!==void 0&&(delete n.pending[e],n.pendingCount--)};class hs extends _e{constructor(e,t,s){let r=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=r,this.logger=Q.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=r.maxParallelReads||10,this.readingCalls=0,this.maxRetries=r.maxRetries>=0?r.maxRetries:5,this.retryTimeout=r.retryTimeout>=1?r.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(s,r.backend,r)}queueLoad(e,t,s,r){const i={},o={},a={},l={};return e.forEach(u=>{let c=!0;t.forEach(h=>{const d=`${u}|${h}`;!s.reload&&this.store.hasResourceBundle(u,h)?this.state[d]=2:this.state[d]<0||(this.state[d]===1?o[d]===void 0&&(o[d]=!0):(this.state[d]=1,c=!1,o[d]===void 0&&(o[d]=!0),i[d]===void 0&&(i[d]=!0),l[h]===void 0&&(l[h]=!0)))}),c||(a[u]=!0)}),(Object.keys(i).length||Object.keys(o).length)&&this.queue.push({pending:o,pendingCount:Object.keys(o).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(i),pending:Object.keys(o),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(l)}}loaded(e,t,s){const r=e.split("|"),i=r[0],o=r[1];t&&this.emit("failedLoading",i,o,t),!t&&s&&this.store.addResourceBundle(i,o,s,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&s&&(this.state[e]=0);const a={};this.queue.forEach(l=>{Wn(l.loaded,[i],o),fs(l,e),t&&l.errors.push(t),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(u=>{a[u]||(a[u]={});const c=l.loaded[u];c.length&&c.forEach(h=>{a[u][h]===void 0&&(a[u][h]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",a),this.queue=this.queue.filter(l=>!l.done)}read(e,t,s){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,o=arguments.length>5?arguments[5]:void 0;if(!e.length)return o(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:t,fcName:s,tried:r,wait:i,callback:o});return}this.readingCalls++;const a=(u,c)=>{if(this.readingCalls--,this.waitingReads.length>0){const h=this.waitingReads.shift();this.read(h.lng,h.ns,h.fcName,h.tried,h.wait,h.callback)}if(u&&c&&r<this.maxRetries){setTimeout(()=>{this.read.call(this,e,t,s,r+1,i*2,o)},i);return}o(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=>a(null,c)).catch(a):a(null,u)}catch(u){a(u)}return}return l(e,t,a)}prepareLoading(e,t){let s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=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."),r&&r();k(e)&&(e=this.languageUtils.toResolveHierarchy(e)),k(t)&&(t=[t]);const i=this.queueLoad(e,t,s,r);if(!i.toLoad.length)return i.pending.length||r(),null;i.toLoad.forEach(o=>{this.loadOne(o)})}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("|"),r=s[0],i=s[1];this.read(r,i,"read",void 0,void 0,(o,a)=>{o&&this.logger.warn(`${t}loading namespace ${i} for language ${r} failed`,o),!o&&a&&this.logger.log(`${t}loaded namespace ${i} for language ${r}`,a),this.loaded(e,o,a)})}saveMissing(e,t,s,r,i){let o=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},a=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={...o,isUpdate:i},u=this.backend.create.bind(this.backend);if(u.length<6)try{let c;u.length===5?c=u(e,t,s,r,l):c=u(e,t,s,r),c&&typeof c.then=="function"?c.then(h=>a(null,h)).catch(a):a(null,c)}catch(c){a(c)}else u(e,t,s,r,a,l)}!e||!e[0]||this.store.addResource(e[0],t,s,r)}}}const $t=()=>({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]),k(n[1])&&(e.defaultValue=n[1]),k(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}}),Ct=n=>(k(n.ns)&&(n.ns=[n.ns]),k(n.fallbackLng)&&(n.fallbackLng=[n.fallbackLng]),k(n.fallbackNS)&&(n.fallbackNS=[n.fallbackNS]),n.supportedLngs&&n.supportedLngs.indexOf("cimode")<0&&(n.supportedLngs=n.supportedLngs.concat(["cimode"])),n),xe=()=>{},gs=n=>{Object.getOwnPropertyNames(Object.getPrototypeOf(n)).forEach(t=>{typeof n[t]=="function"&&(n[t]=n[t].bind(n))})};class ye extends _e{constructor(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;if(super(),this.options=Ct(e),this.services={},this.logger=Q,this.modules={external:[]},gs(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&&(k(t.ns)?t.defaultNS=t.ns:t.ns.indexOf("translation")<0&&(t.defaultNS=t.ns[0]));const r=$t();this.options={...r,...this.options,...Ct(t)},this.options.compatibilityAPI!=="v1"&&(this.options.interpolation={...r.interpolation,...this.options.interpolation}),t.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=t.keySeparator),t.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=t.nsSeparator);const i=c=>c?typeof c=="function"?new c:c:null;if(!this.options.isClone){this.modules.logger?Q.init(i(this.modules.logger),this.options):Q.init(null,this.options);let c;this.modules.formatter?c=this.modules.formatter:typeof Intl<"u"&&(c=ds);const h=new vt(this.options);this.store=new yt(this.options.resources,this.options);const d=this.services;d.logger=Q,d.resourceStore=this.store,d.languageUtils=h,d.pluralResolver=new ls(h,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),c&&(!this.options.interpolation.format||this.options.interpolation.format===r.interpolation.format)&&(d.formatter=i(c),d.formatter.init(d,this.options),this.options.interpolation.format=d.formatter.format.bind(d.formatter)),d.interpolator=new us(this.options),d.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},d.backendConnector=new hs(i(this.modules.backend),d.resourceStore,d,this.options),d.backendConnector.on("*",function(m){for(var w=arguments.length,f=new Array(w>1?w-1:0),p=1;p<w;p++)f[p-1]=arguments[p];e.emit(m,...f)}),this.modules.languageDetector&&(d.languageDetector=i(this.modules.languageDetector),d.languageDetector.init&&d.languageDetector.init(d,this.options.detection,this.options)),this.modules.i18nFormat&&(d.i18nFormat=i(this.modules.i18nFormat),d.i18nFormat.init&&d.i18nFormat.init(this)),this.translator=new je(this.services,this.options),this.translator.on("*",function(m){for(var w=arguments.length,f=new Array(w>1?w-1:0),p=1;p<w;p++)f[p-1]=arguments[p];e.emit(m,...f)}),this.modules.external.forEach(m=>{m.init&&m.init(this)})}if(this.format=this.options.interpolation.format,s||(s=xe),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=fe(),u=()=>{const c=(h,d)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),l.resolve(d),s(h,d)};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]:xe;const r=k(e)?e:this.language;if(typeof e=="function"&&(s=e),!this.options.resources||this.options.partialBundledLanguages){if(r&&r.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return s();const i=[],o=a=>{if(!a||a==="cimode")return;this.services.languageUtils.toResolveHierarchy(a).forEach(u=>{u!=="cimode"&&i.indexOf(u)<0&&i.push(u)})};r?o(r):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(l=>o(l)),this.options.preload&&this.options.preload.forEach(a=>o(a)),this.services.backendConnector.load(i,this.options.ns,a=>{!a&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),s(a)})}else s(null)}reloadResources(e,t,s){const r=fe();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=xe),this.services.backendConnector.reload(e,t,i=>{r.resolve(),s(i)}),r}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return e.type==="backend"&&(this.modules.backend=e),(e.type==="logger"||e.log&&e.warn&&e.error)&&(this.modules.logger=e),e.type==="languageDetector"&&(this.modules.languageDetector=e),e.type==="i18nFormat"&&(this.modules.i18nFormat=e),e.type==="postProcessor"&&Kt.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 r=fe();this.emit("languageChanging",e);const i=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},o=(l,u)=>{u?(i(u),this.translator.changeLanguage(u),this.isLanguageChangingTo=void 0,this.emit("languageChanged",u),this.logger.log("languageChanged",u)):this.isLanguageChangingTo=void 0,r.resolve(function(){return s.t(...arguments)}),t&&t(l,function(){return s.t(...arguments)})},a=l=>{!e&&!l&&this.services.languageDetector&&(l=[]);const u=k(l)?l:this.services.languageUtils.getBestMatchFromCodes(l);u&&(this.language||i(u),this.translator.language||this.translator.changeLanguage(u),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(u)),this.loadResources(u,c=>{o(c,u)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(e),r}getFixedT(e,t,s){var r=this;const i=function(o,a){let l;if(typeof a!="object"){for(var u=arguments.length,c=new Array(u>2?u-2:0),h=2;h<u;h++)c[h-2]=arguments[h];l=r.options.overloadTranslationOptionHandler([o,a].concat(c))}else l={...a};l.lng=l.lng||i.lng,l.lngs=l.lngs||i.lngs,l.ns=l.ns||i.ns,l.keyPrefix!==""&&(l.keyPrefix=l.keyPrefix||s||i.keyPrefix);const d=r.options.keySeparator||".";let m;return l.keyPrefix&&Array.isArray(o)?m=o.map(w=>`${l.keyPrefix}${d}${w}`):m=l.keyPrefix?`${l.keyPrefix}${d}${o}`:o,r.t(m,l)};return k(e)?i.lng=e:i.lngs=e,i.ns=t,i.keyPrefix=s,i}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],r=this.options?this.options.fallbackLng:!1,i=this.languages[this.languages.length-1];if(s.toLowerCase()==="cimode")return!0;const o=(a,l)=>{const u=this.services.backendConnector.state[`${a}|${l}`];return u===-1||u===0||u===2};if(t.precheck){const a=t.precheck(this,o);if(a!==void 0)return a}return!!(this.hasResourceBundle(s,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||o(s,e)&&(!r||o(i,e)))}loadNamespaces(e,t){const s=fe();return this.options.ns?(k(e)&&(e=[e]),e.forEach(r=>{this.options.ns.indexOf(r)<0&&this.options.ns.push(r)}),this.loadResources(r=>{s.resolve(),t&&t(r)}),s):(t&&t(),Promise.resolve())}loadLanguages(e,t){const s=fe();k(e)&&(e=[e]);const r=this.options.preload||[],i=e.filter(o=>r.indexOf(o)<0&&this.services.languageUtils.isSupportedCode(o));return i.length?(this.options.preload=r.concat(i),this.loadResources(o=>{s.resolve(),t&&t(o)}),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 vt($t());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 ye(e,t)}cloneInstance(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:xe;const s=e.forkResourceStore;s&&delete e.forkResourceStore;const r={...this.options,...e,isClone:!0},i=new ye(r);return(e.debug!==void 0||e.prefix!==void 0)&&(i.logger=i.logger.clone(e)),["store","services","language"].forEach(a=>{i[a]=this[a]}),i.services={...this.services},i.services.utils={hasLoadedNamespace:i.hasLoadedNamespace.bind(i)},s&&(i.store=new yt(this.store.data,r),i.services.resourceStore=i.store),i.translator=new je(i.services,r),i.translator.on("*",function(a){for(var l=arguments.length,u=new Array(l>1?l-1:0),c=1;c<l;c++)u[c-1]=arguments[c];i.emit(a,...u)}),i.init(r,t),i.translator.options=r,i.translator.backendConnector.services.utils={hasLoadedNamespace:i.hasLoadedNamespace.bind(i)},i}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const W=ye.createInstance();W.createInstance=ye.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;async function ps(n={}){const e=W.createInstance(),t=n.resources||{};return await e.init({lng:"en",fallbackLng:n.fallbackLng||"en",debug:n.debug||!1,resources:t,interpolation:{escapeValue:!1,prefix:"{",suffix:"}"},partialBundledLanguages:!0}),e}async function ms(n,e){try{const t=window.edenAPI;if(!t)return;const s=await t.shellCommand("i18n/get-common",{locale:e});s?.translations&&n.addResourceBundle(e,"translation",s.translations,!0,!0)}catch(t){console.error("Failed to load common translations",t)}}function Xe(n,e="en"){return n?typeof n=="string"?n:n[e]||n.en||Object.values(n)[0]||"":""}function bs(n={}){return he(()=>{const[e,t]=z("en"),[s]=Ot(async()=>await ps(n)),r=((a,l)=>{const u=s();return u?u.t(a,{lng:e(),...l}):a}),i=async a=>{const l=s();l&&(await ms(l,a),await l.changeLanguage(a)),t(a)};return{t:r,locale:e,setLocale:t,initLocale:async()=>{try{const a=window.edenAPI;if(!a){console.warn("Eden API not found, using default locale");return}const l=c=>{i(c.locale)};ce(()=>{a.unsubscribe("i18n/locale-changed",l)});const u=await a.shellCommand("i18n/get-locale",{});u?.locale&&await i(u.locale),await a.subscribe("i18n/locale-changed",l)}catch(a){console.error("Failed to load system locale",a)}}}})}const ys={shell:{allApps:"All Apps",searchApps:"Search apps...",noAppsFound:"No apps found",openApp:"Open",stopApp:"Stop App",addToDock:"Add to Dock",removeFromDock:"Remove from Dock",signIn:"Sign in",switchUser:"Switch User",logout:"Log out",currentUser:"Current",changePassword:"Change password",currentPassword:"Current password",newPassword:"New password",confirmPassword:"Confirm new password",savePassword:"Save password",passwordMismatch:"Passwords do not match",passwordUpdateFailed:"Failed to update password"}},ws={shell:{allApps:"Aplikacje",searchApps:"Szukaj aplikacji...",noAppsFound:"Nie znaleziono aplikacji",openApp:"Otwórz",stopApp:"Zatrzymaj Aplikację",addToDock:"Dodaj do Docka",removeFromDock:"Usuń z Docka",signIn:"Zaloguj",switchUser:"Przełącz użytkownika",logout:"Wyloguj",currentUser:"Aktualny",changePassword:"Zmień hasło",currentPassword:"Aktualne hasło",newPassword:"Nowe hasło",confirmPassword:"Potwierdź nowe hasło",savePassword:"Zapisz hasło",passwordMismatch:"Hasła nie są takie same",passwordUpdateFailed:"Nie udało się zmienić hasła"}},vs={en:{translation:ys},pl:{translation:ws}},{t:B,locale:me,setLocale:qs,initLocale:xs}=bs({resources:vs}),Ss=n=>_t(e=>{const t=n.isPinned(e.id);return[Mt(e.name),zn(e.isRunning,ge("stop",B("shell.stopApp"),()=>n.stop(e.id),{icon:"stop-circle"}),ge("open",B("shell.openApp"),()=>n.open(e.id),{icon:"play"})),ge("dock",B(t?"shell.removeFromDock":"shell.addToDock"),()=>(t?n.removeFromDock:n.addToDock)(e.id),{icon:t?"bookmark":"plus"})]}),$s=n=>_t(e=>[Mt(e?.name??B("shell.signIn")),e&&ge("changePassword",B("shell.changePassword"),n.changePassword,{icon:"key"}),e&&ge("logout",B("shell.logout"),n.logout,{icon:"log-out",danger:!0})]),Cs="data:image/svg+xml,%3csvg%20width='64'%20height='64'%20viewBox='0%200%2064%2064'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cdefs%3e%3clinearGradient%20id='bg'%20x1='32'%20y1='4'%20x2='32'%20y2='60'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%234a4a4a'/%3e%3cstop%20offset='1'%20stop-color='%233a3a3a'/%3e%3c/linearGradient%3e%3c/defs%3e%3c!--%20Squircle%20background%20with%20gradient%20--%3e%3crect%20x='4'%20y='4'%20width='56'%20height='56'%20rx='14'%20fill='url(%23bg)'/%3e%3c!--%20Document%20lines%20icon%20centered%20--%3e%3cg%20transform='translate(16,%2016)'%20fill='%23e0e0e0'%3e%3crect%20x='5'%20y='6'%20width='22'%20height='3'%20rx='1.5'/%3e%3crect%20x='5'%20y='13'%20width='22'%20height='3'%20rx='1.5'/%3e%3crect%20x='5'%20y='20'%20width='15'%20height='3'%20rx='1.5'/%3e%3crect%20x='5'%20y='27'%20width='22'%20height='3'%20rx='1.5'/%3e%3c/g%3e%3c/svg%3e",Se=new Map;async function ks(n){if(Se.has(n))return Se.get(n);try{const e=await window.edenAPI.shellCommand("package/get-icon",{appId:n});return Se.set(n,e.icon),e.icon}catch(e){console.warn(`Failed to fetch icon for ${n}:`,e),Se.set(n,void 0);return}}var As=_("<div class=running-indicator>"),Ps=_("<div class=app-icon><div class=icon-container><img></div><div class=app-name>");function Ae(n){const[e]=Ot(()=>n.icon?null:n.appId,s=>s?ks(s):Promise.resolve(void 0)),t=()=>n.icon||e()||Cs;return(()=>{var s=Ps(),r=s.firstChild,i=r.firstChild,o=r.nextSibling;return Ne(s,"contextmenu",n.onContextMenu),Ne(s,"click",n.onClick),q(i,"draggable",!1),$(r,K(se,{get when(){return n.isRunning},get children(){return As()}}),null),$(o,()=>n.appName),U(a=>{var l=n.appName,u=t(),c=n.appName;return l!==a.e&&q(s,"title",a.e=l),u!==a.t&&q(i,"src",a.t=u),c!==a.a&&q(i,"alt",a.a=c),a},{e:void 0,t:void 0,a:void 0}),s})()}de(["click","contextmenu"]);var Ls=_('<div class="eden-text-tertiary eden-text-md"style="grid-column:1 / -1;text-align:center;padding:var(--eden-space-2xl)">'),Os=_('<div class=eden-modal-overlay style=background:rgba(0,0,0,0.4);backdrop-filter:none><div class="eden-modal eden-modal-lg"style=max-height:70vh;background:var(--eden-color-surface-primary)><div class=eden-modal-header><div class="eden-flex eden-gap-sm"style=flex:1><input type=text class=eden-input></div></div><div class="eden-modal-body eden-scrollbar"><div class=eden-card-grid style=gap:var(--eden-space-lg)>'),Rs=_('<div class="all-apps-tile eden-interactive">');function Is(n){const[e,t]=z("");let s;const r=()=>{const l=e().toLowerCase().trim();return l?n.apps.filter(u=>u.name.toLowerCase().includes(l)||u.id.toLowerCase().includes(l)):n.apps};nt(()=>{s?.focus()});function i(){et.close(),n.onClose()}async function o(l){i();const u=n.apps.filter(c=>c.isRunning).map(c=>c.id);for(const c of u)try{await window.edenAPI.shellCommand("view/set-view-visibility",{appId:c,visible:!0})}catch(h){console.error(`Failed to set visibility for ${c}:`,h)}await n.onAppClick(l)}function a(l){l.key==="Escape"&&i()}return(()=>{var l=Os(),u=l.firstChild,c=u.firstChild,h=c.firstChild,d=h.firstChild,m=c.nextSibling,w=m.firstChild;l.$$keydown=a,l.$$click=i,u.$$click=p=>p.stopPropagation(),d.$$input=p=>t(p.currentTarget.value);var f=s;return typeof f=="function"?G(f,d):s=d,$(w,K(Ee,{get each(){return r()},children:p=>(()=>{var v=Rs();return Ne(v,"contextmenu",n.appMenu.handler(p)),v.$$click=()=>o(p.id),$(v,K(Ae,{get appId(){return p.id},get appName(){return p.name},get isRunning(){return p.isRunning}})),U(()=>v.classList.toggle("running",!!p.isRunning)),v})()}),null),$(w,K(se,{get when(){return r().length===0},get children(){var p=Ls();return $(p,()=>B("shell.noAppsFound")),p}}),null),U(()=>q(d,"placeholder",B("shell.searchApps"))),U(()=>d.value=e()),l})()}de(["click","keydown","input","contextmenu"]);const Es=async n=>{try{return await window.edenAPI.shellCommand("user/change-password",n)}catch(e){return console.error("Failed to change password:",e),{success:!1,error:B("shell.passwordUpdateFailed")}}},Ns=async n=>await n.dialogs.form({title:B("shell.changePassword"),confirmLabel:B("shell.savePassword"),cancelLabel:B("common.cancel"),fields:[ze.password("currentPassword",B("shell.currentPassword"),{required:!0,autofocus:!0}),ze.password("newPassword",B("shell.newPassword"),{required:!0}),ze.password("confirmPassword",B("shell.confirmPassword"),{required:!0})],validate:t=>t.newPassword!==t.confirmPassword?B("shell.passwordMismatch"):null,onSubmit:async t=>{const s=await Es({currentPassword:t.currentPassword,newPassword:t.newPassword});return s.success?null:s.error||B("shell.passwordUpdateFailed")}})!==null,Fs="data:image/svg+xml,%3csvg%20width='64'%20height='64'%20viewBox='0%200%2064%2064'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cdefs%3e%3clinearGradient%20id='bg'%20x1='32'%20y1='4'%20x2='32'%20y2='60'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%234a4a4a'/%3e%3cstop%20offset='1'%20stop-color='%233a3a3a'/%3e%3c/linearGradient%3e%3c/defs%3e%3c!--%20Squircle%20background%20with%20gradient%20--%3e%3crect%20x='4'%20y='4'%20width='56'%20height='56'%20rx='14'%20fill='url(%23bg)'/%3e%3c!--%20Grid%20of%204%20squares%20icon%20centered%20--%3e%3cg%20transform='translate(16,%2016)'%20fill='%23e0e0e0'%3e%3crect%20x='2'%20y='2'%20width='12'%20height='12'%20rx='2'/%3e%3crect%20x='18'%20y='2'%20width='12'%20height='12'%20rx='2'/%3e%3crect%20x='2'%20y='18'%20width='12'%20height='12'%20rx='2'/%3e%3crect%20x='18'%20y='18'%20width='12'%20height='12'%20rx='2'/%3e%3c/g%3e%3c/svg%3e";var Ds=_("<div class=clock><div class=time></div><div class=date>");function Ts(){const[n,e]=z(new Date),t=setInterval(()=>{e(new Date)},1e3);ce(()=>clearInterval(t));const s=()=>n().toLocaleTimeString(me(),{hour:"2-digit",minute:"2-digit"}),r=()=>n().toLocaleDateString(me(),{weekday:"short",month:"short",day:"numeric"});return(()=>{var i=Ds(),o=i.firstChild,a=o.nextSibling;return $(o,s),$(a,r),i})()}var Vs=_('<button type=button class=user-badge><div class="eden-avatar eden-avatar-md"></div><span class=user-badge-name>');const js=n=>n.trim().split(/\s+/).map(s=>s[0]).join("").slice(0,2).toUpperCase();function Ms(n){return(()=>{var e=Vs(),t=e.firstChild,s=t.nextSibling;return Ne(e,"click",n.onClick),$(t,(()=>{var r=X(()=>!!n.user);return()=>r()?js(n.user.name):"?"})()),$(s,K(se,{get when(){return n.user},get fallback(){return B("shell.signIn")},get children(){return n.user?.name}})),e})()}de(["click"]);var kt=_("<div class=separator>"),_s=_('<div class=dock><div class=dock-left><div class=dock-user></div></div><div class=dock-center><div class="app-icons magnify"></div></div><div class=dock-right>');function Us(n){let e,t;const[s,r]=z(!0);nt(()=>{setTimeout(()=>{r(!1)},300)});function i(a){if(!e)return;const l=a.clientX,u=70,c=1.25;e.classList.add("magnify-active"),e.querySelectorAll(".app-icon").forEach(d=>{const m=d.querySelector(".icon-container");if(!m)return;const w=d.getBoundingClientRect(),f=w.left+w.width/2,p=Math.abs(l-f),v=Math.exp(-(p*p)/(2*u*u)),b=1+(c-1)*v;d.style.setProperty("--influence",v.toFixed(3));const S=-8*v;d.style.transform=`translateY(${S.toFixed(1)}px)`,d.style.zIndex=`${Math.round(b*100)}`,m.style.transform=`scale(${b.toFixed(3)})`})}function o(){if(!e)return;e.classList.remove("magnify-active"),e.querySelectorAll(".app-icon").forEach(l=>{const u=l.querySelector(".icon-container");u&&(u.style.transform=""),l.style.transform="",l.style.zIndex=""})}return(()=>{var a=_s(),l=a.firstChild,u=l.firstChild,c=l.nextSibling,h=c.firstChild,d=c.nextSibling,m=t;typeof m=="function"?G(m,a):t=a,$(u,K(Ms,{get user(){return n.currentUser},get onClick(){return n.userMenu.handler(()=>n.currentUser)}})),h.addEventListener("mouseleave",o),h.$$mousemove=i;var w=e;return typeof w=="function"?G(w,h):e=h,$(h,K(Ee,{get each(){return n.runningApps},children:f=>K(Ae,{get appId(){return f.id},get appName(){return f.name},get isRunning(){return f.isRunning},onClick:()=>n.onAppClick(f.id),get onContextMenu(){return n.appMenu.handler(f)}})}),null),$(h,K(se,{get when(){return X(()=>n.runningApps.length>0)()&&n.pinnedApps.length>0},get children(){return kt()}}),null),$(h,K(Ee,{get each(){return n.pinnedApps},children:f=>K(Ae,{get appId(){return f.id},get appName(){return f.name},get isRunning(){return f.isRunning},onClick:()=>n.onAppClick(f.id),get onContextMenu(){return n.appMenu.handler(f)}})}),null),$(h,K(se,{get when(){return n.runningApps.length>0||n.pinnedApps.length>0},get children(){return kt()}}),null),$(h,K(Ae,{appId:"apps-view",get appName(){return B("shell.allApps")},icon:Fs,get onClick(){return n.onShowAllApps}}),null),$(d,K(Ts,{})),U(()=>a.classList.toggle("dock-initial",!!s())),a})()}de(["mousemove"]);var Ks=_("<div class=shell-overlay>");const At=72,Pt="pinned-dock-apps";function Bs(){const n=En(),[e,t]=z([]),[s,r]=z([]),[i,o]=z([]),[a,l]=z(!1),[u,c]=z(!1),[h,d]=z(null),m=()=>a()||u();let w=null;const f=async()=>{try{const g=await window.edenAPI.shellCommand("db/get",{key:Pt});if(g.value){const C=JSON.parse(g.value);Array.isArray(C)&&o(C)}}catch(g){console.error("Failed to load pinned dock apps:",g)}},p=async g=>{try{await window.edenAPI.shellCommand("db/set",{key:Pt,value:JSON.stringify(g)})}catch(C){console.error("Failed to save pinned dock apps:",C)}},v=async g=>{const C=i();if(!C.includes(g)){const D=[...C,g];o(D),await p(D)}},b=async g=>{const D=i().filter(ie=>ie!==g);o(D),await p(D)},S=g=>i().includes(g),y=()=>e().filter(g=>!i().includes(g.manifest.id)).map(g=>({id:g.manifest.id,name:Xe(g.manifest.name,me()),isRunning:!0})),O=()=>{const g=new Set(e().map(D=>D.manifest.id)),C=s();return i().map(D=>{const ie=C.find(Ue=>Ue.id===D);return ie?{id:D,name:Xe(ie.name,me()),isRunning:g.has(D)}:null}).filter(D=>D!==null)},A=()=>{const g=new Set(e().map(C=>C.manifest.id));return s().map(C=>({id:C.id,name:Xe(C.name,me()),isRunning:g.has(C.id)}))},x=async()=>{try{const g=await window.edenAPI.shellCommand("package/list",{});Array.isArray(g)&&r(g);const C=await window.edenAPI.shellCommand("process/list",{});Array.isArray(C)&&t(C)}catch(g){console.error("Failed to load system info:",g)}},P=async()=>{try{const g=await window.edenAPI.shellCommand("user/get-current",{});d(g.user??null)}catch(g){console.error("Failed to load current user:",g)}},L=(g,C)=>g==="fullscreen"?{x:0,y:0,width:C.width,height:C.height}:{x:0,y:C.height-At,width:C.width,height:At},R=async g=>{try{await window.edenAPI.shellCommand("view/update-bounds",{bounds:g})}catch(C){console.error("Failed to update overlay bounds:",C)}},T=async g=>{try{const C=await window.edenAPI.shellCommand("view/window-size",{}),D=L(g,C);await R(D)}catch(C){console.error("Failed to resize overlay:",C)}},V=async g=>{if(e().some(D=>D.manifest.id===g))try{await window.edenAPI.shellCommand("view/focus-view",{appId:g})}catch(D){console.error("Failed to focus app:",D)}else try{await window.edenAPI.shellCommand("process/launch",{appId:g}),setTimeout(()=>{x()},500)}catch(D){console.error("Failed to launch app:",D)}},j=()=>{const g=!a();l(g),g&&x()};Oe(()=>{const g=m()?"fullscreen":"dock";g!==w&&(w=g,T(g))});const I=Ss({open:V,stop:async g=>{try{await window.edenAPI.shellCommand("process/stop",{appId:g}),setTimeout(()=>{x()},300)}catch(C){console.error("Failed to stop app:",C)}},addToDock:v,removeFromDock:b,isPinned:S}),E=$s({changePassword:async()=>{c(!0);try{await Ns({dialogs:n})}finally{c(!1)}},logout:async()=>{try{await window.edenAPI.shellCommand("user/logout",{})}catch(g){console.error("Failed to log out:",g)}}});return nt(()=>{const g=()=>x(),C=D=>{const{windowSize:ie}=D,Ue=m()?"fullscreen":"dock",zt=L(Ue,ie);R(zt)};ce(()=>{window.edenAPI.unsubscribe("process/launched",g),window.edenAPI.unsubscribe("process/stopped",g),window.edenAPI.unsubscribe("view/global-bounds-changed",C)}),(async()=>{await xs(),x(),f(),P();try{await window.edenAPI.subscribe("process/launched",g),await window.edenAPI.subscribe("process/stopped",g),await window.edenAPI.subscribe("view/global-bounds-changed",C)}catch(D){console.error("Failed to subscribe to events:",D)}})()}),(()=>{var g=Ks();return $(g,K(se,{get when(){return a()},get children(){return K(Is,{get apps(){return A()},onClose:j,onAppClick:V,appMenu:I})}}),null),$(g,K(se,{get when(){return!m()},get children(){return K(Us,{get runningApps(){return y()},get pinnedApps(){return O()},get currentUser(){return h()},onAppClick:V,onShowAllApps:j,userMenu:E,appMenu:I})}}),null),$(g,K(jn,{dialogs:n}),null),U(()=>q(g,"data-mode",m()?"fullscreen":"dock")),g})()}const Bt=document.getElementById("root");if(!Bt)throw new Error("Root element not found");dn(()=>K(Bs,{}),Bt);
@@ -4,7 +4,7 @@
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <title>Eden</title>
7
- <script type="module" crossorigin src="./assets/index-B-bahmO2.js"></script>
7
+ <script type="module" crossorigin src="./assets/index-bsf9U6_1.js"></script>
8
8
  <link rel="stylesheet" crossorigin href="./assets/index-BpW2uLSC.css">
9
9
  </head>
10
10
  <body>
@@ -1,5 +1,11 @@
1
1
  # @edenapp/types
2
2
 
3
+ ## 0.6.3
4
+
5
+ ### Patch Changes
6
+
7
+ - submenus in ctx menus and open with... in files app
8
+
3
9
  ## 0.6.2
4
10
 
5
11
  ### Patch Changes
@@ -156,15 +156,21 @@ export type ContextMenuIconName =
156
156
  | "align-center"
157
157
  | "align-right";
158
158
 
159
+ export type ContextMenuIcon =
160
+ | ContextMenuIconName
161
+ | { type: "glyph"; name: ContextMenuIconName }
162
+ | { type: "app"; appId: string };
163
+
159
164
  export type ContextMenuItem =
160
165
  | {
161
166
  type: "item";
162
167
  id: string;
163
168
  label: string;
164
- icon?: ContextMenuIconName;
169
+ icon?: ContextMenuIcon;
165
170
  shortcut?: string;
166
171
  disabled?: boolean;
167
172
  danger?: boolean;
173
+ items?: ContextMenuItem[];
168
174
  }
169
175
  | { type: "separator" }
170
176
  | { type: "title"; label: string };
@@ -385,7 +385,7 @@ export interface I18nCommands {
385
385
  "i18n/get-common": {
386
386
  args: { locale: string };
387
387
  response: {
388
- translations: Record<string, any>;
388
+ translations: import("./index").RecursiveObject<string>;
389
389
  };
390
390
  };
391
391
  }
@@ -57,7 +57,7 @@ export interface PackageEvents {
57
57
  export interface ProcessEvents {
58
58
  "process/launched": { instance: import("./index").AppInstance };
59
59
  "process/stopped": { appId: string };
60
- "process/error": { appId: string; error: any };
60
+ "process/error": { appId: string; error: unknown };
61
61
  "process/exited": { appId: string; code: number };
62
62
  }
63
63
 
@@ -57,7 +57,7 @@ export interface IPCMessage {
57
57
  target: string;
58
58
 
59
59
  /** Message payload */
60
- payload: any;
60
+ payload: unknown;
61
61
 
62
62
  /** Unique message ID for tracking responses */
63
63
  messageId: string;
@@ -76,6 +76,10 @@ export interface ViewBounds {
76
76
  height: number;
77
77
  }
78
78
 
79
+ export type RecursiveObject<T> = {
80
+ [key: string]: T | RecursiveObject<T>;
81
+ };
82
+
79
83
  // Export new command types
80
84
  export type {
81
85
  CommandName,
@@ -9,13 +9,13 @@
9
9
  * Schema for fire-and-forget messages (send/on/once)
10
10
  * Keys are method names, values are the payload types
11
11
  */
12
- export type MessageSchema = Record<string, any>;
12
+ export type MessageSchema = Record<string, unknown>;
13
13
 
14
14
  /**
15
15
  * Schema for request/response (request/handle)
16
16
  * Keys are method names, values are { args, result } types
17
17
  */
18
- export type RequestSchema = Record<string, { args: any; result: any }>;
18
+ export type RequestSchema = Record<string, { args: unknown; result: unknown }>;
19
19
 
20
20
  /**
21
21
  * Defines a bidirectional communication protocol between two sides.
@@ -55,16 +55,6 @@ export interface ChannelProtocol {
55
55
  peerHandles: RequestSchema;
56
56
  }
57
57
 
58
- /**
59
- * Default empty protocol (all any)
60
- */
61
- type DefaultProtocol = {
62
- hostMessages: MessageSchema;
63
- peerMessages: MessageSchema;
64
- hostHandles: RequestSchema;
65
- peerHandles: RequestSchema;
66
- };
67
-
68
58
  /**
69
59
  * AppBus connection from the HOST perspective (the side that exposes the service).
70
60
  * - send() sends hostMessages
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edenapp/types",
3
- "version": "0.6.2",
3
+ "version": "0.6.3",
4
4
  "description": "TypeScript type definitions for the Eden platform",
5
5
  "types": "index.d.ts",
6
6
  "author": "Dariusz Majnert",
@@ -1,5 +1,11 @@
1
1
  # @edenapp/types
2
2
 
3
+ ## 0.6.3
4
+
5
+ ### Patch Changes
6
+
7
+ - submenus in ctx menus and open with... in files app
8
+
3
9
  ## 0.6.2
4
10
 
5
11
  ### Patch Changes
@@ -156,15 +156,21 @@ export type ContextMenuIconName =
156
156
  | "align-center"
157
157
  | "align-right";
158
158
 
159
+ export type ContextMenuIcon =
160
+ | ContextMenuIconName
161
+ | { type: "glyph"; name: ContextMenuIconName }
162
+ | { type: "app"; appId: string };
163
+
159
164
  export type ContextMenuItem =
160
165
  | {
161
166
  type: "item";
162
167
  id: string;
163
168
  label: string;
164
- icon?: ContextMenuIconName;
169
+ icon?: ContextMenuIcon;
165
170
  shortcut?: string;
166
171
  disabled?: boolean;
167
172
  danger?: boolean;
173
+ items?: ContextMenuItem[];
168
174
  }
169
175
  | { type: "separator" }
170
176
  | { type: "title"; label: string };
@@ -385,7 +385,7 @@ export interface I18nCommands {
385
385
  "i18n/get-common": {
386
386
  args: { locale: string };
387
387
  response: {
388
- translations: Record<string, any>;
388
+ translations: import("./index").RecursiveObject<string>;
389
389
  };
390
390
  };
391
391
  }
@@ -57,7 +57,7 @@ export interface PackageEvents {
57
57
  export interface ProcessEvents {
58
58
  "process/launched": { instance: import("./index").AppInstance };
59
59
  "process/stopped": { appId: string };
60
- "process/error": { appId: string; error: any };
60
+ "process/error": { appId: string; error: unknown };
61
61
  "process/exited": { appId: string; code: number };
62
62
  }
63
63
 
@@ -57,7 +57,7 @@ export interface IPCMessage {
57
57
  target: string;
58
58
 
59
59
  /** Message payload */
60
- payload: any;
60
+ payload: unknown;
61
61
 
62
62
  /** Unique message ID for tracking responses */
63
63
  messageId: string;
@@ -76,6 +76,10 @@ export interface ViewBounds {
76
76
  height: number;
77
77
  }
78
78
 
79
+ export type RecursiveObject<T> = {
80
+ [key: string]: T | RecursiveObject<T>;
81
+ };
82
+
79
83
  // Export new command types
80
84
  export type {
81
85
  CommandName,
@@ -9,13 +9,13 @@
9
9
  * Schema for fire-and-forget messages (send/on/once)
10
10
  * Keys are method names, values are the payload types
11
11
  */
12
- export type MessageSchema = Record<string, any>;
12
+ export type MessageSchema = Record<string, unknown>;
13
13
 
14
14
  /**
15
15
  * Schema for request/response (request/handle)
16
16
  * Keys are method names, values are { args, result } types
17
17
  */
18
- export type RequestSchema = Record<string, { args: any; result: any }>;
18
+ export type RequestSchema = Record<string, { args: unknown; result: unknown }>;
19
19
 
20
20
  /**
21
21
  * Defines a bidirectional communication protocol between two sides.
@@ -55,16 +55,6 @@ export interface ChannelProtocol {
55
55
  peerHandles: RequestSchema;
56
56
  }
57
57
 
58
- /**
59
- * Default empty protocol (all any)
60
- */
61
- type DefaultProtocol = {
62
- hostMessages: MessageSchema;
63
- peerMessages: MessageSchema;
64
- hostHandles: RequestSchema;
65
- peerHandles: RequestSchema;
66
- };
67
-
68
58
  /**
69
59
  * AppBus connection from the HOST perspective (the side that exposes the service).
70
60
  * - send() sends hostMessages
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edenapp/types",
3
- "version": "0.6.2",
3
+ "version": "0.6.3",
4
4
  "description": "TypeScript type definitions for the Eden platform",
5
5
  "types": "index.d.ts",
6
6
  "author": "Dariusz Majnert",
@@ -1,5 +1,14 @@
1
1
  # com.eden.files
2
2
 
3
+ ## 1.0.2
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+ - @edenapp/tablets@0.6.3
9
+ - @edenapp/babel@0.6.3
10
+ - @edenapp/solid-kit@0.6.3
11
+
3
12
  ## 1.0.1
4
13
 
5
14
  ### Patch Changes