efficient-shell 4.145.0 → 4.147.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/README.md +8 -3
  2. package/dist/{Browser-24YNRTKT.js → Browser-52FZDK3P.js} +14 -14
  3. package/dist/{Calculator-LER6KUQC.js → Calculator-4S44DK45.js} +22 -22
  4. package/dist/{ConfirmDialog-GAYETRMG.js → ConfirmDialog-KJNNVFK7.js} +1 -1
  5. package/dist/{CurrencyConverter-Y35GFDFF.js → CurrencyConverter-TH6ISVZ5.js} +5 -5
  6. package/dist/{Documents-7FYX2CGT.js → Documents-TEV6WUCC.js} +11 -11
  7. package/dist/{Files-RZOML2N6.js → Files-T3VMQAO3.js} +31 -31
  8. package/dist/{Notepad-VVDCBDUA.js → Notepad-LYNVGUHK.js} +9 -9
  9. package/dist/{PomodoroTimer-VAM3AJOX.js → PomodoroTimer-IEZ3ALBW.js} +24 -24
  10. package/dist/{Preview-HZ37D7QJ.js → Preview-SJCMGRUS.js} +5 -5
  11. package/dist/{Spreadsheet-6WX3P6AB.js → Spreadsheet-GR6GJTDP.js} +12 -12
  12. package/dist/{Stock-AUWI3TUX.js → Stock-MYXAUZJY.js} +3 -3
  13. package/dist/{Weather-HU75TH7T.js → Weather-HKCFNPV6.js} +15 -15
  14. package/dist/{WorldClock-T64MDRMJ.js → WorldClock-6XVXM4L2.js} +7 -7
  15. package/dist/apps/index.js +1 -1
  16. package/dist/brand.css +1 -1
  17. package/dist/chunk-6JXLEPRE.js +1 -0
  18. package/dist/{chunk-LVFMK5OQ.js → chunk-D4HWQ3ET.js} +1 -1
  19. package/dist/{chunk-2RHMSFZV.js → chunk-JNL7A5HC.js} +7 -7
  20. package/dist/{chunk-GDSGXDET.js → chunk-NUPXFPQW.js} +1 -1
  21. package/dist/{chunk-RJ4LACFH.js → chunk-NV35RTZK.js} +1 -1
  22. package/dist/{chunk-NBBOFQPL.js → chunk-ZFJH3P24.js} +63 -59
  23. package/dist/{chunk-7DAQ3WVP.js → chunk-ZR72F7TE.js} +24 -24
  24. package/dist/{index-NhR7frRu.d.ts → index-DIQYwgxx.d.ts} +38 -4
  25. package/dist/index.d.ts +2 -2
  26. package/dist/index.js +46 -46
  27. package/dist/page-tabs/index.js +10 -10
  28. package/dist/ui/index.d.ts +1 -1
  29. package/dist/ui/index.js +1 -1
  30. package/package.json +1 -1
  31. package/dist/chunk-TWV42Q3K.js +0 -1
@@ -0,0 +1 @@
1
+ var r="4.147.0",a=r;export{a as APP_VERSION,r as VERSION};
@@ -1,6 +1,6 @@
1
1
  import{useShellStrings as e,splitAround as t}from"./chunk-TR6PLN7W.js";import{createContext as n,useEffect as r,useRef as o,useId as i,useContext as l,useState as a,useCallback as s,useLayoutEffect as d}from"react";import{jsxs as c,jsx as u,Fragment as m}from"react/jsx-runtime";var f=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(",");function h(e){return Array.from(e.querySelectorAll(f)).filter(e=>null!==e.offsetParent||e===document.activeElement)}var b=[];function g(e,t,n){r(()=>{if(!t)return;const r=e.current;if(!r)return;const o=document.activeElement,i=n?.current??h(r)[0]??r;i!==r||r.hasAttribute("tabindex")||r.setAttribute("tabindex","-1"),i.focus();const l=e=>{if("Tab"!==e.key)return;if(b[b.length-1]!==r)return;const t=h(r);if(0===t.length)return void e.preventDefault();const n=t[0],o=t[t.length-1],i=document.activeElement;!e.shiftKey||i!==n&&r.contains(i)?e.shiftKey||i!==o&&r.contains(i)||(e.preventDefault(),n.focus()):(e.preventDefault(),o.focus())};return function(e){const t=b.findIndex(t=>t!==e&&e.contains(t));-1===t?b.push(e):b.splice(t,0,e)}(r),document.addEventListener("keydown",l,!0),()=>{!function(e){const t=b.lastIndexOf(e);-1!==t&&b.splice(t,1)}(r),document.removeEventListener("keydown",l,!0),(r.contains(document.activeElement)||document.activeElement===document.body)&&o?.focus?.()}},[e,t,n])}var p=0,v=null;function y(e){r(()=>{if(!e)return;const t=document.body;if(0===p){v={overflow:t.style.overflow,paddingRight:t.style.paddingRight};const e=window.innerWidth-document.documentElement.clientWidth;t.style.overflow="hidden",e>0&&(t.style.paddingRight=`${e}px`)}return p+=1,()=>{0===(p-=1)&&v&&(t.style.overflow=v.overflow,t.style.paddingRight=v.paddingRight,v=null)}},[e])}var x=/* @__PURE__ */new Set,w=null;function k(e){return x.add(e),function(){if(w||"undefined"==typeof document)return;const e=e=>{"Escape"===e.key&&N(e)&&(e.preventDefault(),e.stopPropagation())};document.addEventListener("keydown",e,!0),w=()=>document.removeEventListener("keydown",e,!0)}(),()=>{x.delete(e),0===x.size&&w&&(w(),w=null)}}function N(e){const t=Array.from(x);for(let n=t.length-1;n>=0;n--)try{if(t[n](e))return!0}catch{}return!1}var L="react-os-shell:overlay-open";function C(){"undefined"!=typeof window&&window.dispatchEvent(new Event(L))}function E(e){return"undefined"==typeof window?()=>{}:(window.addEventListener(L,e),()=>window.removeEventListener(L,e))}var P="undefined"==typeof document?r:d;function j(e){P(()=>{e&&C()},[e])}var W={window:50,windowStep:10,menu:400,pinnedWindow:999,overlay:9999,popup:1e4},T={sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg",xl:"max-w-4xl"};function $({open:t,onClose:n,title:l,description:a,role:s="dialog",children:d,footer:m,blocking:f=!1,size:h="md",initialFocus:b,"aria-label":p,"aria-labelledby":v,"aria-describedby":x,className:w=""}){const N=o(null),L=i(),C=i(),E=!f&&!m,P=i(),$=e().dialog;return j(t),g(N,t,b),y(t),r(()=>{if(t)return k(()=>(f||n(),!0))},[t,f,n]),t?/* @__PURE__ */c("div",{className:"fixed inset-0",style:{zIndex:W.overlay},role:"presentation",children:[
2
2
  /* @__PURE__ */u("div",{className:"fixed inset-0 bg-black/30","aria-hidden":"true"}),
3
- /* @__PURE__ */u("div",{className:"fixed inset-0 flex items-center justify-center p-4",onClick:f?void 0:e=>{e.target===e.currentTarget&&n()},children:/* @__PURE__ */c("div",{ref:N,role:s,"aria-modal":"true","aria-labelledby":l?P:v,"aria-label":l||v?void 0:p,"aria-describedby":x??(a?C:d?L:void 0),className:`relative w-full ${T[h]} rounded-lg bg-white p-6 shadow-xl ${w}`.trim(),children:[l&&/* @__PURE__ */u("h2",{id:P,className:(E?"pr-8 ":"")+"text-base font-semibold text-gray-900",children:l}),a&&/* @__PURE__ */u("p",{id:C,className:((l?"mt-1":E?"pr-8":"")+" text-sm text-gray-500").trim(),children:a}),d&&/* @__PURE__ */u("div",{id:L,className:"mt-2 text-sm text-gray-600",children:d}),m&&/* @__PURE__ */u("div",{className:"mt-6 flex justify-end gap-3",children:m}),E&&/* @__PURE__ */u("button",{type:"button",onClick:n,"aria-label":$.close,className:"absolute right-3 top-3 rounded-md p-1 text-gray-400 hover:bg-gray-100 hover:text-gray-600 rosh-focus-ring focus-visible:ring-2 focus-visible:ring-[color:var(--rosh-focus-ring-solid)]",children:/* @__PURE__ */u("svg",{className:"h-5 w-5",viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",children:/* @__PURE__ */u("path",{d:"M6 6l8 8M14 6l-8 8"})})})]})})]}):null}var D=n(()=>Promise.resolve(!1)),F=()=>l(D),M=()=>Promise.resolve(!1),R=e=>M(e),z=()=>Promise.resolve(!1),A=e=>z(e),K=()=>Promise.resolve(null),B=e=>K(e),I={danger:{icon:"text-red-600 bg-red-100",button:"bg-red-600 hover:bg-red-700 text-white"},warning:{icon:"text-yellow-600 bg-yellow-100",button:"bg-yellow-600 hover:bg-yellow-700 text-white"},info:{icon:"text-blue-600 bg-blue-100",button:"bg-blue-600 hover:bg-blue-700 text-white"}},S="bg-white text-gray-700 border border-gray-300 px-4 py-2 text-sm font-medium rounded-lg hover:bg-gray-50";function q(){/* @__PURE__ */
3
+ /* @__PURE__ */u("div",{className:"fixed inset-0 flex items-center justify-center p-4",onClick:f?void 0:e=>{e.target===e.currentTarget&&n()},children:/* @__PURE__ */c("div",{ref:N,role:s,"aria-modal":"true","aria-labelledby":l?P:v,"aria-label":l||v?void 0:p,"aria-describedby":x??(a?C:d?L:void 0),className:`relative max-h-full w-full ${T[h]} overflow-y-auto overscroll-contain rounded-lg bg-white p-6 shadow-xl ${w}`.trim(),children:[l&&/* @__PURE__ */u("h2",{id:P,className:(E?"pr-8 ":"")+"text-base font-semibold text-gray-900",children:l}),a&&/* @__PURE__ */u("p",{id:C,className:((l?"mt-1":E?"pr-8":"")+" text-sm text-gray-500").trim(),children:a}),d&&/* @__PURE__ */u("div",{id:L,className:"mt-2 text-sm text-gray-600",children:d}),m&&/* @__PURE__ */u("div",{className:"mt-6 flex flex-wrap justify-end gap-3",children:m}),E&&/* @__PURE__ */u("button",{type:"button",onClick:n,"aria-label":$.close,className:"absolute right-3 top-3 rounded-md p-1 text-gray-400 hover:bg-gray-100 hover:text-gray-600 rosh-focus-ring focus-visible:ring-2 focus-visible:ring-[color:var(--rosh-focus-ring-solid)]",children:/* @__PURE__ */u("svg",{className:"h-5 w-5",viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true",children:/* @__PURE__ */u("path",{d:"M6 6l8 8M14 6l-8 8"})})})]})})]}):null}var D=n(()=>Promise.resolve(!1)),F=()=>l(D),M=()=>Promise.resolve(!1),R=e=>M(e),z=()=>Promise.resolve(!1),A=e=>z(e),K=()=>Promise.resolve(null),B=e=>K(e),I={danger:{icon:"text-red-600 bg-red-100",button:"bg-red-600 hover:bg-red-700 text-white"},warning:{icon:"text-yellow-600 bg-yellow-100",button:"bg-yellow-600 hover:bg-yellow-700 text-white"},info:{icon:"text-blue-600 bg-blue-100",button:"bg-blue-600 hover:bg-blue-700 text-white"}},S="bg-white text-gray-700 border border-gray-300 px-4 py-2 text-sm font-medium rounded-lg hover:bg-gray-50";function q(){/* @__PURE__ */
4
4
  return u("svg",{className:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,"aria-hidden":"true",children:/* @__PURE__ */u("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z"})})}function H(){/* @__PURE__ */
5
5
  return u("svg",{className:"h-5 w-5",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,"aria-hidden":"true",children:/* @__PURE__ */u("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M6 18L18 6M6 6l12 12"})})}function O({children:n}){const[i,l]=a(!1),[d,f]=a({message:""}),[h,b]=a(0),g=o(),p=o(null),v=o(0),y=o([]),x=o(null),w=o(null),k=s(e=>{p.current=e.id,g.current=e.resolve,b(e.id),f(e.options),l(!0)},[]),N=s(e=>{const t="string"==typeof e?{message:e}:e;return new Promise(e=>{const n={id:++v.current,options:t,resolve:e};null===p.current?k(n):y.current.push(n)})},[k]),[L,C]=a(!1),[E,P]=a({message:""}),[j,W]=a(""),T=o(),F=s(e=>(P(e),W(""),C(!0),new Promise(e=>{T.current=e})),[]),[R,A]=a(!1),[B,O]=a({}),[V,G]=a(""),J=o(),Q=s(e=>{const t="string"==typeof e?{message:e}:e;return O(t),G(t.defaultValue??""),A(!0),new Promise(e=>{J.current=e})},[]);r(()=>{M=N,z=F,K=Q},[N,F,Q]);const U=(e,t)=>{if(p.current!==e)return;const n=g.current,r=y.current.shift();r?k(r):(p.current=null,g.current=void 0,l(!1)),n?.(t)},X=e=>{C(!1),W(""),T.current?.(e)},Y=e=>{if(e){const e=V.trim();if(!e&&!B.allowEmpty)return A(!1),void J.current?.(null);A(!1),J.current?.(e)}else A(!1),J.current?.(null)},Z=d.variant||(d.confirmLabel?.toLowerCase().includes("delete")||d.message.toLowerCase().includes("delete")?"danger":"info"),_=I[Z],ee=I["warning"===E.variant?"warning":"danger"],te=E.confirmWord,ne=null==te||j===te,re=e().dialog,[oe,ie]=t(re.typeToConfirm);/* @__PURE__ */
6
6
  return c(D.Provider,{value:N,children:[n,
@@ -1,9 +1,9 @@
1
- import{onOverlayOpen as e,Z_LAYERS as t,registerModalEscapeInterceptor as n}from"./chunk-LVFMK5OQ.js";import{glassStyle as r,GLASS_DIVIDER as o}from"./chunk-57MIENLJ.js";import{useHydrated as i,useBrowserLayoutEffect as l}from"./chunk-D65T4H6J.js";import{createContext as a,forwardRef as u,useContext as s,useRef as c,useId as d,useState as p,useEffect as m,useMemo as f,useCallback as h}from"react";import{createPortal as g}from"react-dom";import{jsx as y,jsxs as x,Fragment as w}from"react/jsx-runtime";var v=/* @__PURE__ */new Set(["text","search","url","tel","email","password","number","date","datetime-local","month","week","time"]),b="data-native-context-menu";function k(e,t){return e&&"function"==typeof e.closest?e.closest(t):null}function C(e){const t=e;if(!t||"function"!=typeof t.closest)return!1;if(k(t,`[${b}]`))return!0;if(k(t,"textarea"))return!0;if(k(t,"img, picture, canvas, video, audio"))return!0;const n=k(t,"input");if(n){const e=(n.type||"text").toLowerCase();if(v.has(e))return!0}const r=k(t,"[contenteditable]");if(r){const e=(r.getAttribute("contenteditable")||"").toLowerCase();if(""===e||"true"===e||"plaintext-only"===e)return!0}return!1}var N=/* @__PURE__ */new Set(["http:","https:","mailto:","tel:","blob:"]);function L(e,t,n){const r=k(e,"a[href]"),o=(t||"").trim(),i=function(e,t){if(e&&"#"!==e)try{const n=new URL(e,t??("undefined"!=typeof document?document.baseURI:void 0));return N.has(n.protocol)?n.href:void 0}catch{return}}(r?.getAttribute("href"),n);return{kind:o?"selection":i?"link":"default",...o?{selectionText:o}:{},...i?{linkUrl:i}:{}}}function M(e,t,n){return e.length===t+1&&e[t].key===n.key?e:[...e.slice(0,t),n]}function E(e,t){const n=Math.max(0,t);return e.length>n?e.slice(0,n):e}function T(e,t,n){if(0===t.length||0===e.length)return[];const r=[e];for(let e=1;e<t.length;e++){const o=r[e-1].find(n=>n.to===t[e].key),i=o?n(o):[];if(0===i.length)break;r.push(i)}return r}function $(e,t,n,r){const o=Math.max(0,r-n),i=Math.min(t,o),l=e-i/2;return l<n?n:l+i>r?Math.max(n,r-i):l}function B(e,t,n,r,o,i=!1,l=8){const a=t+o,u=e-o-n,s=u>=l;return i&&s?{left:u,flipped:!0}:a+n<=r-l?{left:a,flipped:!1}:s?{left:u,flipped:!0}:i?{left:l,flipped:!0}:{left:Math.max(l,r-l-n),flipped:!1}}function A(){try{return getComputedStyle(document.documentElement).getPropertyValue("--menu-density")?.trim()||"normal"}catch{return"normal"}}var R=a(null);function W({children:n,style:o,className:l="",onClose:a,minWidth:u=180,portal:s=!1}){const h=c(null),x=d(),[w,v]=p([]),b=c();m(()=>()=>clearTimeout(b.current),[]);const k=i(),N=f(()=>{const e=()=>clearTimeout(b.current);return{id:x,depth:0,path:w,open:(t,n)=>{e(),v(e=>M(e,t,n))},scheduleClose:t=>{e(),b.current=setTimeout(()=>v(e=>E(e,t)),200)},closeBelow:t=>{e(),v(e=>E(e,t))},cancelClose:e,closeTree:()=>{e(),v([]),a?.()},root:h}},[x,w,a]);m(()=>{if(!a)return;const t=e=>{e.target.closest("[data-menu-toggle]")||e.target.closest?.(`[data-popup-menu-tree="${x}"]`)||h.current&&!h.current.contains(e.target)&&a()},n=e=>{"Escape"===e.key&&a()};window.addEventListener("pointerdown",t),window.addEventListener("keydown",n);const r=e(a);return()=>{window.removeEventListener("pointerdown",t),window.removeEventListener("keydown",n),r()}},[a,x]),m(()=>{const e=h.current;e&&requestAnimationFrame(()=>{const t=e.getBoundingClientRect();if(t.right>window.innerWidth-8){const n=t.right-window.innerWidth+8;e.style.left?e.style.left=parseFloat(e.style.left)-n+"px":e.style.right||(e.style.left=t.left-n+"px")}if(t.left<8&&(e.style.left?e.style.left="8px":e.style.right&&(e.style.right=window.innerWidth-t.width-8+"px")),t.bottom>window.innerHeight-8){const n=t.bottom-window.innerHeight+8;e.style.top?e.style.top=parseFloat(e.style.top)-n+"px":e.style.bottom?e.style.bottom="8px":e.style.top=t.top-n+"px"}t.top<8&&(e.style.top?e.style.top="8px":e.style.bottom&&(e.style.bottom=window.innerHeight-t.height-8+"px"))})});const L=A(),T=/(^|[\s:])!?z-/.test(l),$=/* @__PURE__ */y("div",{ref:h,"data-popup-menu-tree":x,className:`fixed rounded-2xl ${"tight"===L?"py-1":"large"===L?"py-2":"py-1.5"} ${l}`,onContextMenu:e=>{C(e.target)||e.preventDefault()},style:{...T?{}:{zIndex:t.menu},minWidth:u,animation:"popup-in 0.12s ease-out",...r(),...o},children:/* @__PURE__ */y(R.Provider,{value:N,children:n})});return s?k?g($,document.body):null:$}function D(e,t,n,r=!1){const o=A(),i="tight"===o?"0.25rem":"large"===o?"0.6rem":"max(0.25rem, calc(var(--menu-padding-y, 0.5rem) - 0.1rem))";return{className:`w-full flex items-center gap-2 text-left transition-colors rounded-lg mx-auto\n ${e?"text-red-600 hover:bg-red-50":r?"bg-blue-50 text-blue-700":"text-gray-700 hover:bg-blue-50 hover:text-blue-700"}\n ${t?"opacity-40 cursor-not-allowed":""}\n ${n}`,style:{width:"calc(100% - 8px)",marginLeft:4,marginRight:4,fontSize:"var(--menu-font-size, 14px)",paddingLeft:"var(--menu-padding-x, 1rem)",paddingRight:"var(--menu-padding-x, 1rem)",paddingTop:i,paddingBottom:i}}}var H=u(function({onClick:e,children:t,className:n="",danger:r,disabled:o,role:i,tabIndex:l,id:a,onMouseEnter:u},c){const d=s(R),p=D(r,o,n);/* @__PURE__ */
2
- return y("button",{ref:c,id:a,role:i,tabIndex:l,onClick:()=>{e?.(),d&&d.depth>0&&d.closeTree()},onMouseEnter:()=>{d?.scheduleClose(d.depth),u?.()},disabled:o,className:p.className,style:p.style,children:t})}),F=/* @__PURE__ */y("svg",{"aria-hidden":!0,className:"h-3.5 w-3.5 shrink-0 ml-auto text-gray-500",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:/* @__PURE__ */y("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8.25 4.5l7.5 7.5-7.5 7.5"})});function I(e){let n=t.menu;for(let t=e;t&&t!==document.body;t=t.parentElement){const e=parseInt(getComputedStyle(t).zIndex,10);Number.isNaN(e)||(n=e)}return n}function P(e){return e?[...e.querySelectorAll("button:not([disabled])")].filter(t=>t.closest("[data-popup-submenu-panel]")===e):[]}function S({label:e,icon:t,children:o,disabled:i,className:a="",minWidth:u=180,maxHeight:p}){const v=s(R),b=d(),k=c(null),N=c(null),L=c(),M=c(!1),E=`${b}-menu`;m(()=>()=>clearTimeout(L.current),[]);const T=v?.depth??0,W=v?.path[T],H=!!W&&W.key===b&&!i,S=h(e=>{if(!v||i||!k.current)return;clearTimeout(L.current),M.current=e;const t=k.current.getBoundingClientRect(),n=k.current.closest("[data-popup-submenu-panel]")??k.current.closest("[data-popup-menu-tree]"),r=n?.getBoundingClientRect()??t,o=T>0&&(v.path[T-1]?.flipped??!1),l=B(r.left,r.right,u,window.innerWidth,4,o);v.open(T,{key:b,y:t.top,...l})},[v,i,T,b,u]),j=e=>{v?.closeBelow(T),k.current?.focus()};m(()=>{if(H)return n(e=>"Escape"===e.key&&(!(v&&v.path.length>T+1)&&(j(),!0)))}),l(()=>{if(!H||!W)return;const e=()=>{const e=N.current;if(!e||!k.current)return;const t=k.current.closest("[data-popup-submenu-panel]")??k.current.closest("[data-popup-menu-tree]"),n=t?.getBoundingClientRect()??k.current.getBoundingClientRect(),r=T>0&&(v?.path[T-1]?.flipped??!1),o=e.offsetWidth||u,i=B(n.left,n.right,o,window.innerWidth,4,r,8),l=e.offsetHeight,a=$(k.current.getBoundingClientRect().top+l/2,l,8,window.innerHeight-8);e.style.left=`${i.left}px`,e.style.top=`${a}px`,e.dataset.flipped=String(i.flipped)};e();let t=0;const n=requestAnimationFrame(()=>{t=requestAnimationFrame(e)});return()=>{cancelAnimationFrame(n),cancelAnimationFrame(t)}}),m(()=>{H&&M.current&&(M.current=!1,P(N.current)[0]?.focus())},[H]);const z=f(()=>v&&{...v,depth:T+1},[v,T]);if(!v)throw new Error("PopupSubmenu must be rendered inside a PopupMenu");const q=D(!1,i,a,H),U=A();/* @__PURE__ */
1
+ import{onOverlayOpen as e,Z_LAYERS as t,registerModalEscapeInterceptor as n}from"./chunk-D4HWQ3ET.js";import{glassStyle as r,GLASS_DIVIDER as o}from"./chunk-57MIENLJ.js";import{useHydrated as i,useBrowserLayoutEffect as l}from"./chunk-D65T4H6J.js";import{createContext as a,forwardRef as u,useContext as s,useRef as c,useId as d,useState as p,useEffect as m,useMemo as f,useCallback as h}from"react";import{createPortal as g}from"react-dom";import{jsx as y,jsxs as x,Fragment as w}from"react/jsx-runtime";var v=/* @__PURE__ */new Set(["text","search","url","tel","email","password","number","date","datetime-local","month","week","time"]),b="data-native-context-menu";function k(e,t){return e&&"function"==typeof e.closest?e.closest(t):null}function C(e){const t=e;if(!t||"function"!=typeof t.closest)return!1;if(k(t,`[${b}]`))return!0;if(k(t,"textarea"))return!0;if(k(t,"img, picture, canvas, video, audio"))return!0;const n=k(t,"input");if(n){const e=(n.type||"text").toLowerCase();if(v.has(e))return!0}const r=k(t,"[contenteditable]");if(r){const e=(r.getAttribute("contenteditable")||"").toLowerCase();if(""===e||"true"===e||"plaintext-only"===e)return!0}return!1}var N=/* @__PURE__ */new Set(["http:","https:","mailto:","tel:","blob:"]);function L(e,t,n){const r=k(e,"a[href]"),o=(t||"").trim(),i=function(e,t){if(e&&"#"!==e)try{const n=new URL(e,t??("undefined"!=typeof document?document.baseURI:void 0));return N.has(n.protocol)?n.href:void 0}catch{return}}(r?.getAttribute("href"),n);return{kind:o?"selection":i?"link":"default",...o?{selectionText:o}:{},...i?{linkUrl:i}:{}}}function E(e,t,n){return e.length===t+1&&e[t].key===n.key?e:[...e.slice(0,t),n]}function T(e,t){const n=Math.max(0,t);return e.length>n?e.slice(0,n):e}function M(e,t,n){if(0===t.length||0===e.length)return[];const r=[e];for(let e=1;e<t.length;e++){const o=r[e-1].find(n=>n.to===t[e].key),i=o?n(o):[];if(0===i.length)break;r.push(i)}return r}function $(e,t,n,r){const o=Math.max(0,r-n),i=Math.min(t,o),l=e-i/2;return l<n?n:l+i>r?Math.max(n,r-i):l}function B(e,t,n,r,o,i=!1,l=8){const a=t+o,u=e-o-n,s=u>=l;return i&&s?{left:u,flipped:!0}:a+n<=r-l?{left:a,flipped:!1}:s?{left:u,flipped:!0}:i?{left:l,flipped:!0}:{left:Math.max(l,r-l-n),flipped:!1}}function W(){try{return getComputedStyle(document.documentElement).getPropertyValue("--menu-density")?.trim()||"normal"}catch{return"normal"}}var A=a(null);function R({children:n,style:o,className:l="",onClose:a,minWidth:u=180,portal:s=!1}){const h=c(null),x=d(),[w,v]=p([]),b=c();m(()=>()=>clearTimeout(b.current),[]);const k=i(),N=f(()=>{const e=()=>clearTimeout(b.current);return{id:x,depth:0,path:w,open:(t,n)=>{e(),v(e=>E(e,t,n))},scheduleClose:t=>{e(),b.current=setTimeout(()=>v(e=>T(e,t)),200)},closeBelow:t=>{e(),v(e=>T(e,t))},cancelClose:e,closeTree:()=>{e(),v([]),a?.()},root:h}},[x,w,a]);m(()=>{if(!a)return;const t=e=>{e.target.closest("[data-menu-toggle]")||e.target.closest?.(`[data-popup-menu-tree="${x}"]`)||h.current&&!h.current.contains(e.target)&&a()},n=e=>{"Escape"===e.key&&a()};window.addEventListener("pointerdown",t),window.addEventListener("keydown",n);const r=e(a);return()=>{window.removeEventListener("pointerdown",t),window.removeEventListener("keydown",n),r()}},[a,x]),m(()=>{const e=h.current;e&&requestAnimationFrame(()=>{const t=e.getBoundingClientRect();if(t.right>window.innerWidth-8){const n=t.right-window.innerWidth+8;e.style.left?e.style.left=parseFloat(e.style.left)-n+"px":e.style.right||(e.style.left=t.left-n+"px")}if(t.left<8&&(e.style.left?e.style.left="8px":e.style.right&&(e.style.right=window.innerWidth-t.width-8+"px")),t.bottom>window.innerHeight-8){const n=t.bottom-window.innerHeight+8;e.style.top?e.style.top=parseFloat(e.style.top)-n+"px":e.style.bottom?e.style.bottom="8px":e.style.top=t.top-n+"px"}t.top<8&&(e.style.top?e.style.top="8px":e.style.bottom&&(e.style.bottom=window.innerHeight-t.height-8+"px"))})});const L=W(),M=/(^|[\s:])!?z-/.test(l),$=/* @__PURE__ */y("div",{ref:h,"data-popup-menu-tree":x,className:`fixed rounded-2xl ${"tight"===L?"py-1":"large"===L?"py-2":"py-1.5"} ${l}`,onContextMenu:e=>{C(e.target)||e.preventDefault()},style:{...M?{}:{zIndex:t.menu},minWidth:u,animation:"popup-in 0.12s ease-out",...r(),...o},children:/* @__PURE__ */y(A.Provider,{value:N,children:n})});return s?k?g($,document.body):null:$}function D(e,t,n,r=!1){const o=W(),i="tight"===o?"0.25rem":"large"===o?"0.6rem":"max(0.25rem, calc(var(--menu-padding-y, 0.5rem) - 0.1rem))";return{className:`w-full flex items-center gap-2 text-left transition-colors rounded-lg mx-auto\n ${e?"text-red-600 hover:bg-red-50":r?"bg-blue-50 text-blue-700":"text-gray-700 hover:bg-blue-50 hover:text-blue-700"}\n ${t?"opacity-40 cursor-not-allowed":""}\n ${n}`,style:{width:"calc(100% - 8px)",marginLeft:4,marginRight:4,fontSize:"var(--menu-font-size, 14px)",paddingLeft:"var(--menu-padding-x, 1rem)",paddingRight:"var(--menu-padding-x, 1rem)",paddingTop:i,paddingBottom:i}}}var H=u(function({onClick:e,children:t,className:n="",danger:r,disabled:o,role:i,tabIndex:l,id:a,onMouseEnter:u},c){const d=s(A),p=D(r,o,n);/* @__PURE__ */
2
+ return y("button",{ref:c,id:a,role:i,tabIndex:l,onClick:()=>{e?.(),d&&d.depth>0&&d.closeTree()},onMouseEnter:()=>{d?.scheduleClose(d.depth),u?.()},disabled:o,className:p.className,style:p.style,children:t})}),I=/* @__PURE__ */y("svg",{"aria-hidden":!0,className:"h-3.5 w-3.5 shrink-0 ml-auto text-gray-500",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:/* @__PURE__ */y("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8.25 4.5l7.5 7.5-7.5 7.5"})});function P(e){let n=t.menu;for(let t=e;t&&t!==document.body;t=t.parentElement){const e=parseInt(getComputedStyle(t).zIndex,10);Number.isNaN(e)||(n=e)}return n}function S(e){return e?[...e.querySelectorAll("button:not([disabled])")].filter(t=>t.closest("[data-popup-submenu-panel]")===e):[]}function F({label:e,icon:t,children:o,disabled:i,className:a="",minWidth:u=180,maxHeight:p}){const v=s(A),b=d(),k=c(null),N=c(null),L=c(),E=c(!1),T=`${b}-menu`;m(()=>()=>clearTimeout(L.current),[]);const M=v?.depth??0,R=v?.path[M],H=!!R&&R.key===b&&!i,F=h(e=>{if(!v||i||!k.current)return;clearTimeout(L.current),E.current=e;const t=k.current.getBoundingClientRect(),n=k.current.closest("[data-popup-submenu-panel]")??k.current.closest("[data-popup-menu-tree]"),r=n?.getBoundingClientRect()??t,o=M>0&&(v.path[M-1]?.flipped??!1),l=B(r.left,r.right,u,window.innerWidth,4,o);v.open(M,{key:b,y:t.top,...l})},[v,i,M,b,u]),j=e=>{v?.closeBelow(M),k.current?.focus()};m(()=>{if(H)return n(e=>"Escape"===e.key&&(!(v&&v.path.length>M+1)&&(j(),!0)))}),l(()=>{if(!H||!R)return;const e=()=>{const e=N.current;if(!e||!k.current)return;const t=k.current.closest("[data-popup-submenu-panel]")??k.current.closest("[data-popup-menu-tree]"),n=t?.getBoundingClientRect()??k.current.getBoundingClientRect(),r=M>0&&(v?.path[M-1]?.flipped??!1),o=e.offsetWidth||u,i=B(n.left,n.right,o,window.innerWidth,4,r,8),l=e.offsetHeight,a=$(k.current.getBoundingClientRect().top+l/2,l,8,window.innerHeight-8);e.style.left=`${i.left}px`,e.style.top=`${a}px`,e.dataset.flipped=String(i.flipped)};e();let t=0;const n=requestAnimationFrame(()=>{t=requestAnimationFrame(e)});return()=>{cancelAnimationFrame(n),cancelAnimationFrame(t)}}),m(()=>{H&&E.current&&(E.current=!1,S(N.current)[0]?.focus())},[H]);const z=f(()=>v&&{...v,depth:M+1},[v,M]);if(!v)throw new Error("PopupSubmenu must be rendered inside a PopupMenu");const q=D(!1,i,a,H),U=W();/* @__PURE__ */
3
3
  return x(w,{children:[
4
- /* @__PURE__ */x("button",{ref:k,type:"button",role:"menuitem","aria-haspopup":"menu","aria-expanded":H,"aria-controls":H?E:void 0,disabled:i,"data-popup-submenu-row":!0,className:q.className,style:q.style,onClick:e=>{const t=0===e.detail;H?t&&P(N.current)[0]?.focus():S(t)},onKeyDown:e=>{"ArrowRight"===e.key&&(e.preventDefault(),e.stopPropagation(),S(!0))},onMouseEnter:()=>{i||(v.cancelClose(),H?v.closeBelow(T+1):(clearTimeout(L.current),L.current=setTimeout(()=>S(!1),120)))},onMouseLeave:()=>{clearTimeout(L.current),v.scheduleClose(T)},children:[t,
5
- /* @__PURE__ */y("span",{className:"min-w-0 flex-1 truncate",children:e}),F]}),H&&g(
6
- /* @__PURE__ */y("div",{ref:N,id:E,role:"menu","data-popup-menu-tree":v.id,"data-popup-submenu-panel":!0,className:"fixed rounded-2xl overflow-x-hidden overflow-y-auto overscroll-contain "+("tight"===U?"py-1":"large"===U?"py-2":"py-1.5"),style:{left:W.left,top:W.y,minWidth:u,maxHeight:void 0===p?"calc(100vh - 16px)":`min(${"number"==typeof p?`${p}px`:p}, calc(100vh - 16px))`,zIndex:I(v.root.current)+T+1,animation:(W.flipped?"popup-submenu-in-left":"popup-submenu-in")+" 0.1s ease-out",...r()},onKeyDown:e=>{if(e.target.closest("[data-popup-submenu-panel]")!==e.currentTarget)return;const t=P(N.current),n=t.indexOf(document.activeElement),r=n=>{e.preventDefault(),e.stopPropagation(),t[(n+t.length)%t.length]?.focus()};"ArrowDown"===e.key?r(n+1):"ArrowUp"===e.key?r(n<0?t.length-1:n-1):"Home"===e.key?r(0):"End"===e.key?r(t.length-1):"ArrowLeft"===e.key&&(e.preventDefault(),e.stopPropagation(),j())},onMouseEnter:()=>{v.cancelClose(),clearTimeout(L.current)},onMouseLeave:()=>v.scheduleClose(T+1),onContextMenu:e=>{C(e.target)||e.preventDefault()},children:/* @__PURE__ */y(R.Provider,{value:z,children:o})}),document.body)]})}function j(){const e=A();/* @__PURE__ */
7
- return y("div",{className:`border-t ${o} ${"tight"===e?"my-0.5":"large"===e?"my-1.5":"my-1"} mx-3`})}function z({children:e}){const t=A(),n="tight"===t?"0.125rem":"large"===t?"0.375rem":"0.25rem";/* @__PURE__ */
4
+ /* @__PURE__ */x("button",{ref:k,type:"button",role:"menuitem","aria-haspopup":"menu","aria-expanded":H,"aria-controls":H?T:void 0,disabled:i,"data-popup-submenu-row":!0,className:q.className,style:q.style,onClick:e=>{const t=0===e.detail;H?t&&S(N.current)[0]?.focus():F(t)},onKeyDown:e=>{"ArrowRight"===e.key&&(e.preventDefault(),e.stopPropagation(),F(!0))},onMouseEnter:()=>{i||(v.cancelClose(),H?v.closeBelow(M+1):(clearTimeout(L.current),L.current=setTimeout(()=>F(!1),120)))},onMouseLeave:()=>{clearTimeout(L.current),v.scheduleClose(M)},children:[t,
5
+ /* @__PURE__ */y("span",{className:"min-w-0 flex-1 truncate",children:e}),I]}),H&&g(
6
+ /* @__PURE__ */y("div",{ref:N,id:T,role:"menu","data-popup-menu-tree":v.id,"data-popup-submenu-panel":!0,className:"fixed rounded-2xl overflow-x-hidden overflow-y-auto overscroll-contain "+("tight"===U?"py-1":"large"===U?"py-2":"py-1.5"),style:{left:R.left,top:R.y,minWidth:u,maxHeight:void 0===p?"calc(100vh - 16px)":`min(${"number"==typeof p?`${p}px`:p}, calc(100vh - 16px))`,zIndex:P(v.root.current)+M+1,animation:(R.flipped?"popup-submenu-in-left":"popup-submenu-in")+" 0.1s ease-out",...r()},onKeyDown:e=>{if(e.target.closest("[data-popup-submenu-panel]")!==e.currentTarget)return;const t=S(N.current),n=t.indexOf(document.activeElement),r=n=>{e.preventDefault(),e.stopPropagation(),t[(n+t.length)%t.length]?.focus()};"ArrowDown"===e.key?r(n+1):"ArrowUp"===e.key?r(n<0?t.length-1:n-1):"Home"===e.key?r(0):"End"===e.key?r(t.length-1):"ArrowLeft"===e.key&&(e.preventDefault(),e.stopPropagation(),j())},onMouseEnter:()=>{v.cancelClose(),clearTimeout(L.current)},onMouseLeave:()=>v.scheduleClose(M+1),onContextMenu:e=>{C(e.target)||e.preventDefault()},children:/* @__PURE__ */y(A.Provider,{value:z,children:o})}),document.body)]})}function j(){const e=W();/* @__PURE__ */
7
+ return y("div",{className:`border-t ${o} ${"tight"===e?"my-0.5":"large"===e?"my-1.5":"my-1"} mx-3`})}function z({children:e}){const t=W(),n="tight"===t?"0.125rem":"large"===t?"0.375rem":"0.25rem";/* @__PURE__ */
8
8
  return y("div",{className:"text-xs font-medium uppercase tracking-wide",style:{color:"var(--ink-muted)",paddingLeft:"var(--menu-padding-x, 1rem)",paddingRight:"var(--menu-padding-x, 1rem)",paddingTop:n,paddingBottom:n},children:e})}function q({d:e,className:t="h-4 w-4 text-gray-400"}){/* @__PURE__ */
9
- return y("svg",{className:t,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:/* @__PURE__ */y("path",{strokeLinecap:"round",strokeLinejoin:"round",d:e})})}export{q as MenuIcon,b as NATIVE_MENU_ATTR,W as PopupMenu,j as PopupMenuDivider,H as PopupMenuItem,z as PopupMenuLabel,S as PopupSubmenu,$ as clampMenuTop,E as closeMenuBelow,L as describeContextTarget,D as itemLook,C as keepsNativeMenu,B as menuPanelLeft,M as openMenuLevel,T as resolveMenuLevels};
9
+ return y("svg",{className:t,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:/* @__PURE__ */y("path",{strokeLinecap:"round",strokeLinejoin:"round",d:e})})}export{q as MenuIcon,b as NATIVE_MENU_ATTR,R as PopupMenu,j as PopupMenuDivider,H as PopupMenuItem,z as PopupMenuLabel,F as PopupSubmenu,$ as clampMenuTop,T as closeMenuBelow,L as describeContextTarget,D as itemLook,C as keepsNativeMenu,B as menuPanelLeft,E as openMenuLevel,M as resolveMenuLevels};
@@ -1,4 +1,4 @@
1
- import{Modal as e}from"./chunk-7DAQ3WVP.js";import{keepsNativeMenu as a}from"./chunk-2RHMSFZV.js";import{jsx as i,jsxs as n}from"react/jsx-runtime";var t={activeOpacity:70,inactiveOpacity:50,activeBlur:0,inactiveBlur:0};function r(e){try{const a=JSON.parse(localStorage.getItem(e)||"");return null!=a.blur&&null==a.activeBlur&&(a.activeBlur=a.blur,a.inactiveBlur=a.blur,delete a.blur),{...t,...a}}catch{return t}}function l({open:t,onClose:r,title:l,appearance:c,onAppearanceChange:s,onSave:d,children:o}){if(!t)return null;const u="w-full h-1.5 rounded-full appearance-none bg-gray-200 cursor-pointer accent-blue-500",p="flex items-center justify-between text-xs text-gray-500";/* @__PURE__ */
1
+ import{Modal as e}from"./chunk-ZR72F7TE.js";import{keepsNativeMenu as a}from"./chunk-JNL7A5HC.js";import{jsx as i,jsxs as n}from"react/jsx-runtime";var t={activeOpacity:70,inactiveOpacity:50,activeBlur:0,inactiveBlur:0};function r(e){try{const a=JSON.parse(localStorage.getItem(e)||"");return null!=a.blur&&null==a.activeBlur&&(a.activeBlur=a.blur,a.inactiveBlur=a.blur,delete a.blur),{...t,...a}}catch{return t}}function l({open:t,onClose:r,title:l,appearance:c,onAppearanceChange:s,onSave:d,children:o}){if(!t)return null;const u="w-full h-1.5 rounded-full appearance-none bg-gray-200 cursor-pointer accent-blue-500",p="flex items-center justify-between text-xs text-gray-500";/* @__PURE__ */
2
2
  return i("div",{onPointerDown:e=>e.stopPropagation(),onContextMenu:e=>{e.stopPropagation(),a(e.target)||e.preventDefault()},children:/* @__PURE__ */i(e,{open:t,onClose:r,title:l,size:"sm",children:/* @__PURE__ */n("div",{className:"space-y-4",children:[o,
3
3
  /* @__PURE__ */n("div",{children:[
4
4
  /* @__PURE__ */i("h3",{className:"text-sm font-semibold text-gray-700 mb-3",children:"Appearance"}),
@@ -1,4 +1,4 @@
1
- import{VERSION as e}from"./chunk-TWV42Q3K.js";import{useWindowMenuItem as t,Modal as r}from"./chunk-7DAQ3WVP.js";import{navIcons as o}from"./chunk-UB4JIOLD.js";import{useState as n,useCallback as s,isValidElement as i,cloneElement as a}from"react";import{jsx as l,jsxs as d}from"react/jsx-runtime";var c={spreadsheet:{name:"Spreadsheets",version:"1.1.3",route:"/spreadsheet",description:"Multi-sheet spreadsheet editor with CSV / TSV import and export."},notepad:{name:"Notepad",version:"1.0.0",route:"/notepad",description:"Color-coded notes with checklists, desktop stickies and entity autolinking."},documents:{name:"Documents",version:"1.1.0",route:"/documents",description:"Letter-page editor for Word documents and plain-text files — images, lists, alignment."},preview:{name:"Preview",version:"1.4.1",route:"/preview",description:"Viewer for PDF documents, images, DXF drawings and 3D models — CAD-style measuring with object snap and an AutoCAD-like command bar."},files:{name:"Files",version:"1.1.0",route:"/files",description:"Personal file manager with folders, uploads, quota, trash and desktop shortcut folders."},browser:{name:"Browser",version:"1.0.1",route:"/browser",description:"Minimal web browser with bookmarks, history and navigation bar."}},m=/* @__PURE__ */l("svg",{className:"h-4 w-4 text-gray-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:/* @__PURE__ */l("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M11.25 11.25l.041-.02a.75.75 0 011.063.852l-.708 2.836a.75.75 0 001.063.853l.041-.021M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9-3.75h.008v.008H12V8.25z"})}),p=/* @__PURE__ */l("svg",{className:"h-9 w-9",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:/* @__PURE__ */l("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3.75 6.75A2.25 2.25 0 016 4.5h12a2.25 2.25 0 012.25 2.25v10.5A2.25 2.25 0 0118 19.5H6a2.25 2.25 0 01-2.25-2.25V6.75z M3.75 9h16.5"})});function h({app:h}){const u=c[h],[x,f]=n(!1),g=s(()=>f(!0),[]);if(t(`About ${u.name}`,g,m),!x)return null;const v=o[u.route],w=i(v)?a(v,{className:"h-9 w-9"}):p;/* @__PURE__ */
1
+ import{VERSION as e}from"./chunk-6JXLEPRE.js";import{useWindowMenuItem as t,Modal as r}from"./chunk-ZR72F7TE.js";import{navIcons as o}from"./chunk-UB4JIOLD.js";import{useState as n,useCallback as s,isValidElement as i,cloneElement as a}from"react";import{jsx as l,jsxs as d}from"react/jsx-runtime";var c={spreadsheet:{name:"Spreadsheets",version:"1.1.3",route:"/spreadsheet",description:"Multi-sheet spreadsheet editor with CSV / TSV import and export."},notepad:{name:"Notepad",version:"1.0.0",route:"/notepad",description:"Color-coded notes with checklists, desktop stickies and entity autolinking."},documents:{name:"Documents",version:"1.1.0",route:"/documents",description:"Letter-page editor for Word documents and plain-text files — images, lists, alignment."},preview:{name:"Preview",version:"1.4.1",route:"/preview",description:"Viewer for PDF documents, images, DXF drawings and 3D models — CAD-style measuring with object snap and an AutoCAD-like command bar."},files:{name:"Files",version:"1.1.0",route:"/files",description:"Personal file manager with folders, uploads, quota, trash and desktop shortcut folders."},browser:{name:"Browser",version:"1.0.1",route:"/browser",description:"Minimal web browser with bookmarks, history and navigation bar."}},m=/* @__PURE__ */l("svg",{className:"h-4 w-4 text-gray-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:/* @__PURE__ */l("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M11.25 11.25l.041-.02a.75.75 0 011.063.852l-.708 2.836a.75.75 0 001.063.853l.041-.021M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9-3.75h.008v.008H12V8.25z"})}),p=/* @__PURE__ */l("svg",{className:"h-9 w-9",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:/* @__PURE__ */l("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3.75 6.75A2.25 2.25 0 016 4.5h12a2.25 2.25 0 012.25 2.25v10.5A2.25 2.25 0 0118 19.5H6a2.25 2.25 0 01-2.25-2.25V6.75z M3.75 9h16.5"})});function h({app:h}){const u=c[h],[x,f]=n(!1),g=s(()=>f(!0),[]);if(t(`About ${u.name}`,g,m),!x)return null;const v=o[u.route],w=i(v)?a(v,{className:"h-9 w-9"}):p;/* @__PURE__ */
2
2
  return l(r,{open:!0,onClose:()=>f(!1),title:`About ${u.name}`,size:"sm",compact:!0,bodyScroll:!1,autoHeight:!0,dimensions:[320,320],children:/* @__PURE__ */d("div",{className:"flex flex-col items-center text-center px-5 pt-5 pb-4",children:[
3
3
  /* @__PURE__ */l("div",{className:"flex h-16 w-16 items-center justify-center rounded-2xl bg-gray-100 text-gray-600 shrink-0",children:w}),
4
4
  /* @__PURE__ */l("h2",{className:"mt-3 text-lg font-bold text-gray-900",children:u.name}),