efficient-shell 12.12.0 → 12.13.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 (99) hide show
  1. package/dist/{Browser-KPVR5Z6J.js → Browser-OFC3QRX3.js} +12 -12
  2. package/dist/{Files-4DVFS74H.js → Files-HBJGKKO2.js} +129 -129
  3. package/dist/{Notepad-ZQF2NRZZ.js → Notepad-77VJ4DK4.js} +9 -9
  4. package/dist/{Preview-DBXNCPGO.js → Preview-DXEYBUYC.js} +18 -18
  5. package/dist/ai/index.d.ts +1 -1
  6. package/dist/ai/index.js +15 -15
  7. package/dist/apps/index.js +1 -1
  8. package/dist/bin/media-host-check.js +1 -1
  9. package/dist/bin/ui-check.js +1 -1
  10. package/dist/charts/PieChart.js +1 -1
  11. package/dist/charts/RadarChart.js +1 -1
  12. package/dist/charts/RadialBarChart.js +1 -1
  13. package/dist/charts/SpecChart.js +1 -1
  14. package/dist/charts/TimeSeriesChart.js +1 -1
  15. package/dist/chunk-4WWK6FHD.js +1 -0
  16. package/dist/chunk-4XS4DO4T.js +2 -0
  17. package/dist/chunk-AADOAA5N.js +2 -0
  18. package/dist/chunk-ASM2VLQ2.js +2 -0
  19. package/dist/{chunk-UDYVA5DV.js → chunk-EKDXJQIP.js} +11 -11
  20. package/dist/chunk-FYNPQAFI.js +1 -0
  21. package/dist/{chunk-KFS7WSCC.js → chunk-GFOJM52T.js} +5 -5
  22. package/dist/{chunk-BUZ5AJLR.js → chunk-HLZJLFVR.js} +5 -5
  23. package/dist/chunk-HYQBYMJX.js +3 -0
  24. package/dist/chunk-I2DIQQOR.js +2 -0
  25. package/dist/{chunk-LY55C5UI.js → chunk-I5UM6UZF.js} +6 -6
  26. package/dist/{chunk-MTP3MBZA.js → chunk-JB3JD2XK.js} +13 -13
  27. package/dist/chunk-LRKFMR4K.js +3 -0
  28. package/dist/chunk-M2VCZAMQ.js +4 -0
  29. package/dist/chunk-MLPXTFDS.js +1 -0
  30. package/dist/chunk-NORR52Z3.js +4 -0
  31. package/dist/chunk-OP4VQWSH.js +2 -0
  32. package/dist/{chunk-5S4YF5XA.js → chunk-P44RCA6Z.js} +2 -2
  33. package/dist/chunk-P6FGTDDX.js +2 -0
  34. package/dist/{chunk-M4MN2GOE.js → chunk-RKYWKMUK.js} +1 -1
  35. package/dist/chunk-SXUSAHDF.js +2 -0
  36. package/dist/{chunk-OTXJ6VWX.js → chunk-UYTFNR4W.js} +1 -1
  37. package/dist/{chunk-L6LWO5NQ.js → chunk-VCNTSE3H.js} +1 -1
  38. package/dist/{chunk-6ET6JVNL.js → chunk-W4NVTD5Q.js} +4 -4
  39. package/dist/{chunk-CINGDJPM.js → chunk-WMIU2VR5.js} +2 -2
  40. package/dist/chunk-YYW4VNWL.js +1 -0
  41. package/dist/forms/BorderInput.js +1 -1
  42. package/dist/forms/ColorPicker.js +1 -1
  43. package/dist/forms/CornersInput.js +1 -1
  44. package/dist/forms/InputNumber.d.ts +13 -1
  45. package/dist/forms/InputNumber.js +1 -1
  46. package/dist/forms/PositionInput.js +1 -1
  47. package/dist/forms/Select.d.ts +1 -1
  48. package/dist/forms/SidesInput.js +1 -1
  49. package/dist/forms/Slider.js +1 -1
  50. package/dist/forms/TextToolbar.d.ts +1 -1
  51. package/dist/forms/WidthsBar.js +1 -1
  52. package/dist/forms/textAlign.d.ts +1 -1
  53. package/dist/icons/efficient-glyphs.d.ts +1 -0
  54. package/dist/icons/efficient-glyphs.js +1 -1
  55. package/dist/icons/efficient-looks.d.ts +2 -0
  56. package/dist/icons/efficient-looks.js +1 -1
  57. package/dist/icons/efficient-meanings.d.ts +2 -1
  58. package/dist/icons/efficient-meanings.js +1 -1
  59. package/dist/icons/efficient.d.ts +1 -0
  60. package/dist/icons/efficient.js +1 -1
  61. package/dist/icons/glyphs/AccordionIcon.d.ts +8 -0
  62. package/dist/icons/glyphs/AccordionIcon.js +1 -0
  63. package/dist/icons/glyphs/TabsIcon.js +1 -1
  64. package/dist/icons/index.d.ts +2 -2
  65. package/dist/icons/index.js +1 -1
  66. package/dist/icons/looks/AccordionMiniIcon.d.ts +8 -0
  67. package/dist/icons/looks/AccordionMiniIcon.js +1 -0
  68. package/dist/icons/looks/AccordionSolidIcon.d.ts +8 -0
  69. package/dist/icons/looks/AccordionSolidIcon.js +1 -0
  70. package/dist/icons/looks/TabsMiniIcon.js +1 -1
  71. package/dist/icons/looks/TabsSolidIcon.js +1 -1
  72. package/dist/icons/looks/map.js +1 -1
  73. package/dist/icons/payment.js +1 -1
  74. package/dist/icons/sets.js +1 -1
  75. package/dist/index.d.ts +1 -1
  76. package/dist/index.js +351 -351
  77. package/dist/names-Cj_F68_V.d.ts +23 -0
  78. package/dist/shell/LanguageSelect.js +1 -1
  79. package/dist/shell/Markdown.d.ts +1 -1
  80. package/dist/telemetry/index.js +1 -1
  81. package/dist/templates/DashboardTemplate.js +1 -1
  82. package/dist/ui/index.d.ts +1 -1
  83. package/dist/ui/index.js +1 -1
  84. package/dist/version.js +1 -1
  85. package/package.json +1 -1
  86. package/dist/chunk-3C5NKOVF.js +0 -1
  87. package/dist/chunk-3MMMN3U4.js +0 -3
  88. package/dist/chunk-4CKPY72R.js +0 -2
  89. package/dist/chunk-5UZYIM2W.js +0 -2
  90. package/dist/chunk-73XILSFF.js +0 -4
  91. package/dist/chunk-B6RQI2PT.js +0 -2
  92. package/dist/chunk-C5SK5OYU.js +0 -4
  93. package/dist/chunk-LO6TYB5E.js +0 -3
  94. package/dist/chunk-QV4M7EOV.js +0 -1
  95. package/dist/chunk-RQ4KY6UZ.js +0 -2
  96. package/dist/chunk-T23TIJ4P.js +0 -1
  97. package/dist/chunk-YMD2F3NL.js +0 -1
  98. package/dist/names-bEzx4RQ8.d.ts +0 -23
  99. /package/dist/{chunk-BDUWYLPI.js → chunk-NQJXHV4K.js} +0 -0
@@ -1,141 +1,141 @@
1
- import{openPreviewFile as e}from"./chunk-TJCJLKJB.js";import{SidebarLayout as t}from"./chunk-BM5QI2L6.js";import"./chunk-QWK6DRSN.js";import"./chunk-EIXMUGVZ.js";import{SearchableSelect as n}from"./chunk-ITGFHWYG.js";import{Breadcrumbs as a}from"./chunk-SWB32OKH.js";import{Select_default as r}from"./chunk-TCMAWDBL.js";import"./chunk-EO5RLFRX.js";import"./chunk-RAOM3WIQ.js";import"./chunk-2NMW66P5.js";import{useContextMenu as i,ContextMenu as s}from"./chunk-7ARBBWPQ.js";import{Input_default as l}from"./chunk-CU3ZE25J.js";import{DropdownMenu as o}from"./chunk-KCAUYEYR.js";import"./chunk-W7DYKTHE.js";import{IconButton_default as c}from"./chunk-SV5RRBVA.js";import"./chunk-AYZY3YNC.js";import{formatBytes as d}from"./chunk-GEYM4WN3.js";import"./chunk-Y3JW2GW5.js";import"./chunk-36BRD5J3.js";import"./chunk-LF27WIN2.js";import{getFilesDemoTree as m,subscribeFilesChoice as h,getFilesChoice as u,holdFilesChoice as f,answerFilesChoice as p,choiceTakes as g}from"./chunk-XJW65EIG.js";import{AboutApp as k}from"./chunk-OTXJ6VWX.js";import{getFilesStore as w,peekFilesViewRequest as y,consumeFilesViewRequest as v,FILES_SHOW_TRASH_EVENT as b,FILES_OPEN_DESKTOP_FOLDER_EVENT as x,subscribeDesktopFolders as N,getDesktopFoldersSnapshot as C,hasHostFilesStore as S,FolderGlyph as j,DesktopItemMiniIcon as D,desktopItemTypeLabel as T,FilesQuotaError as M,FILES_OFFICE_EXTENSIONS as $}from"./chunk-J2YURAQY.js";import"./chunk-ESL5TDNA.js";import{useWindowManager as L,WindowTitle as A}from"./chunk-AG6Y62TP.js";import"./chunk-4LXCCZDM.js";import"./chunk-AW7TOB6N.js";import"./chunk-KNUR2UEG.js";import"./chunk-JDCM2VHG.js";import"./chunk-SXHNZFUY.js";import"./chunk-ZDMZM7HD.js";import"./chunk-5A7MWTXX.js";import"./chunk-NGQZI7HP.js";import{confirm as W,prompt as R}from"./chunk-MXITMJCT.js";import{Dialog as E}from"./chunk-7ADTFFEM.js";import{ItemCount as F}from"./chunk-KWTK6TGH.js";import"./chunk-3DVNXNTF.js";import"./chunk-27ZJQUDS.js";import"./chunk-VWGWZY7A.js";import"./chunk-7QSDPSXP.js";import"./chunk-QCOXJXGZ.js";import"./chunk-NV7QRWQJ.js";import"./chunk-F3ZOO23R.js";import"./chunk-2QY5BJLA.js";import"./chunk-UGTRSRIW.js";import"./chunk-KC3EX26K.js";import"./chunk-QV4M7EOV.js";import"./chunk-CDAJKLGL.js";import"./chunk-JMGDGNM7.js";import"./chunk-ZICGXJUB.js";import"./chunk-URHGHXDN.js";import"./chunk-5QFPTDQF.js";import{Button_default as P}from"./chunk-EVYD6UFQ.js";import"./chunk-M5K4AX4E.js";import{Icon as z}from"./chunk-JOAKKXTL.js";import"./chunk-J75ZT2JQ.js";import{LoadingSpinner as O}from"./chunk-R2VKEMZH.js";import{TH_ONE_LINE as K}from"./chunk-G67CJAQ2.js";import"./chunk-SOZCWT6I.js";import"./chunk-PGN5ME7B.js";import"./chunk-62LW225J.js";import"./chunk-GLUJS42B.js";import"./chunk-D65T4H6J.js";import"./chunk-STKJA4PV.js";import{toast_default as U}from"./chunk-JTZVUO3I.js";import"./chunk-UQYNPYF4.js";import"./chunk-MRJKZWWV.js";import"./chunk-TWVUQUUD.js";import"./chunk-5FYDNH4Y.js";import"./chunk-LNXBTK7Q.js";import"./chunk-TJSJVC6P.js";import"./chunk-C3QOHMR6.js";import{useState as I,useRef as J,useEffect as Y,useCallback as V,useSyncExternalStore as G,useMemo as Q}from"react";import{jsxs as B,jsx as X,Fragment as Z}from"react/jsx-runtime";var H={doc:"document",docx:"document",odt:"document",rtf:"document",txt:"document",md:"document",xls:"spreadsheet",xlsx:"spreadsheet",ods:"spreadsheet",csv:"spreadsheet",sheet:"spreadsheet",ppt:"slides",pptx:"slides",odp:"slides",key:"slides",slides:"slides",pdf:"pdf",jpg:"image",jpeg:"image",png:"image",gif:"image",webp:"image",svg:"image",avif:"image",bmp:"image",heic:"image",tif:"image",tiff:"image",mp4:"video",mov:"video",webm:"video",avi:"video",mkv:"video",mp3:"audio",wav:"audio",m4a:"audio",ogg:"audio",flac:"audio",zip:"archive",rar:"archive","7z":"archive",gz:"archive",tar:"archive",dxf:"drawing",dwg:"drawing",stp:"drawing",step:"drawing",stl:"drawing",obj:"drawing",iges:"drawing",igs:"drawing","3mf":"drawing",glb:"drawing",gltf:"drawing"};function q(e){const t=e.lastIndexOf(".");return t>0?e.slice(t+1).toLowerCase():""}function _(e){if("folder"===e.kind)return"folder";if("document"===e.officeKind)return"document";if("spreadsheet"===e.officeKind)return"spreadsheet";if("deck"===e.officeKind)return"slides";const t=e.contentType??"";return"application/pdf"===t?"pdf":t.startsWith("image/")?"image":t.startsWith("video/")?"video":t.startsWith("audio/")?"audio":H[q(e.name)]??"other"}var ee={folder:"Folder",document:"Document",spreadsheet:"Spreadsheet",slides:"Slides",pdf:"PDF",image:"Image",video:"Video",audio:"Audio",archive:"Archive",drawing:"Drawing",other:"File"},te={folder:{name:"folder",tone:"muted"},document:{name:"document",tone:"accent"},spreadsheet:{name:"table",tone:"success"},slides:{name:"presentation-chart-bar",tone:"warning"},pdf:{name:"document",tone:"danger"},image:{name:"image",tone:"muted"},video:{name:"play",tone:"muted"},audio:{name:"speaker-wave",tone:"muted"},archive:{name:"archive-box",tone:"muted"},drawing:{name:"cube-transparent",tone:"muted"},other:{name:"page",tone:"muted"}};function ne(e){const t=e.officeKind?$[e.officeKind]:"";return t&&e.name.toLowerCase().endsWith(t)&&e.name.length>t.length?e.name.slice(0,-t.length):e.name}function ae(e){return"folder"===e.kind||e.officeKind&&e.size<=2?"—":d(e.size)}function re(e,t=/* @__PURE__ */new Date){if(!e)return"—";const n=new Date(e);return isNaN(n.getTime())?"—":n.toDateString()===t.toDateString()?n.toLocaleTimeString(void 0,{hour:"numeric",minute:"2-digit"}):n.getFullYear()===t.getFullYear()?n.toLocaleDateString(void 0,{day:"numeric",month:"short"}):n.toLocaleDateString(void 0,{day:"numeric",month:"short",year:"numeric"})}function ie(e){return"owner"===(e.role??"owner")?"me":e.owner?.name??"—"}var se=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});function le(e,t){const n="asc"===t.dir?1:-1;return[...e].sort((e,a)=>e.kind!==a.kind?"folder"===e.kind?-1:1:n*((e,n)=>{switch(t.key){case"owner":return se.compare(ie(e),ie(n));case"size":return e.size-n.size;case"modified":return(Date.parse(e.modifiedAt)||0)-(Date.parse(n.modifiedAt)||0);default:return se.compare(ne(e),ne(n))}})(e,a)||se.compare(e.name,a.name))}var oe=["folder","document","spreadsheet","slides","pdf","image","video"],ce={today:"Today",week:"Last 7 days",month:"Last 30 days",year:"This year"};function de(e,t,n=/* @__PURE__ */new Date){const a=t.modified?function(e,t){const n=new Date(t);return n.setHours(0,0,0,0),"week"===e&&n.setDate(n.getDate()-6),"month"===e&&n.setDate(n.getDate()-29),"year"===e&&n.setMonth(0,1),n.getTime()}(t.modified,n):null;return e.filter(e=>{if(t.type&&_(e)!==t.type)return!1;if(t.person){const n="owner"===(e.role??"owner");if("me"===t.person?!n:n||e.owner?.id!==t.person)return!1}return null===a||(Date.parse(e.modifiedAt)||0)>=a})}var me=[{value:"viewer",label:"Viewer"},{value:"editor",label:"Editor"}];function he({store:e,entry:t,onClose:a,onChanged:i}){const[s,l]=I(null),[o,d]=I(""),[m,h]=I([]),[u,f]=I(!1),[p,g]=I(""),[k,w]=I("viewer"),[y,v]=I(!1),b=J(/* @__PURE__ */new Map),x=t?.id??null;if(Y(()=>{if(l(null),g(""),d(""),!x||!e.shares)return;let t=!0;return e.shares(x).then(e=>{t&&l(e)}).catch(e=>{t&&(U.error(e.message),l([]))}),()=>{t=!1}},[x,e]),Y(()=>{if(!e.searchPeople||!x)return;let t=!0;f(!0);const n=setTimeout(()=>{e.searchPeople(o).then(e=>{if(t){for(const t of e)b.current.set(t.id,t);h(e)}}).catch(()=>{t&&h([])}).finally(()=>{t&&f(!1)})},250);return()=>{t=!1,clearTimeout(n)}},[o,x,e]),!t)return null;const N=new Set((s??[]).map(e=>e.person.id)),C=m.filter(e=>!N.has(e.id)).map(e=>({value:e.id,label:e.name})),S=async n=>{v(!0);try{await n(),l(await e.shares(t.id)),i()}catch(e){U.error(e.message)}finally{v(!1)}};/* @__PURE__ */
2
- return B(E,{open:!0,onClose:a,size:"md",title:`Share “${t.name}”`,description:"folder"===t.kind?"Everything inside this folder is shared too. Editors’ uploads count toward your quota.":"Viewers can open and download it. Editors can also replace, rename and delete it.",footer:/* @__PURE__ */X(P,{variant:"secondary",onClick:a,children:"Done"}),children:[
1
+ import{openPreviewFile as e}from"./chunk-TJCJLKJB.js";import{SidebarLayout as t}from"./chunk-BM5QI2L6.js";import"./chunk-QWK6DRSN.js";import"./chunk-EIXMUGVZ.js";import{SearchableSelect as n}from"./chunk-ITGFHWYG.js";import{Breadcrumbs as a}from"./chunk-SWB32OKH.js";import{Select_default as r}from"./chunk-TCMAWDBL.js";import"./chunk-EO5RLFRX.js";import"./chunk-RAOM3WIQ.js";import"./chunk-2NMW66P5.js";import{useContextMenu as i,ContextMenu as s}from"./chunk-7ARBBWPQ.js";import{Input_default as l}from"./chunk-CU3ZE25J.js";import{DropdownMenu as o}from"./chunk-KCAUYEYR.js";import"./chunk-W7DYKTHE.js";import{IconButton_default as c}from"./chunk-SV5RRBVA.js";import"./chunk-AYZY3YNC.js";import{formatBytes as d}from"./chunk-GEYM4WN3.js";import"./chunk-Y3JW2GW5.js";import"./chunk-36BRD5J3.js";import"./chunk-LF27WIN2.js";import{getFilesDemoTree as m,subscribeFilesChoice as h,getFilesChoice as u,holdFilesChoice as f,answerFilesChoice as p,choiceTakes as g}from"./chunk-XJW65EIG.js";import{AboutApp as k}from"./chunk-UYTFNR4W.js";import{getFilesStore as w,peekFilesViewRequest as y,consumeFilesViewRequest as v,FILES_SHOW_TRASH_EVENT as b,FILES_OPEN_DESKTOP_FOLDER_EVENT as x,subscribeDesktopFolders as N,getDesktopFoldersSnapshot as C,hasHostFilesStore as S,FolderGlyph as j,DesktopItemMiniIcon as D,desktopItemTypeLabel as T,FilesQuotaError as M,FILES_OFFICE_EXTENSIONS as $}from"./chunk-J2YURAQY.js";import"./chunk-ESL5TDNA.js";import{useWindowManager as L,WindowTitle as A}from"./chunk-AG6Y62TP.js";import"./chunk-4LXCCZDM.js";import"./chunk-AW7TOB6N.js";import"./chunk-KNUR2UEG.js";import"./chunk-JDCM2VHG.js";import"./chunk-SXHNZFUY.js";import"./chunk-ZDMZM7HD.js";import"./chunk-5A7MWTXX.js";import"./chunk-NGQZI7HP.js";import{confirm as W,prompt as R}from"./chunk-MXITMJCT.js";import{Dialog as F}from"./chunk-7ADTFFEM.js";import{ItemCount as E}from"./chunk-KWTK6TGH.js";import"./chunk-3DVNXNTF.js";import"./chunk-27ZJQUDS.js";import"./chunk-VWGWZY7A.js";import"./chunk-7QSDPSXP.js";import"./chunk-QCOXJXGZ.js";import"./chunk-NV7QRWQJ.js";import"./chunk-F3ZOO23R.js";import"./chunk-2QY5BJLA.js";import"./chunk-UGTRSRIW.js";import"./chunk-KC3EX26K.js";import"./chunk-4WWK6FHD.js";import"./chunk-CDAJKLGL.js";import"./chunk-JMGDGNM7.js";import"./chunk-ZICGXJUB.js";import"./chunk-URHGHXDN.js";import"./chunk-5QFPTDQF.js";import{Button_default as P}from"./chunk-EVYD6UFQ.js";import"./chunk-M5K4AX4E.js";import{Icon as z}from"./chunk-JOAKKXTL.js";import"./chunk-J75ZT2JQ.js";import{LoadingSpinner as K}from"./chunk-R2VKEMZH.js";import{TH_ONE_LINE as O}from"./chunk-G67CJAQ2.js";import"./chunk-SOZCWT6I.js";import"./chunk-PGN5ME7B.js";import"./chunk-62LW225J.js";import"./chunk-GLUJS42B.js";import"./chunk-D65T4H6J.js";import"./chunk-STKJA4PV.js";import{toast_default as U}from"./chunk-JTZVUO3I.js";import"./chunk-UQYNPYF4.js";import"./chunk-MRJKZWWV.js";import"./chunk-TWVUQUUD.js";import"./chunk-5FYDNH4Y.js";import"./chunk-LNXBTK7Q.js";import"./chunk-TJSJVC6P.js";import"./chunk-C3QOHMR6.js";import{useState as I,useRef as J,useEffect as Y,useCallback as G,useSyncExternalStore as Q,useMemo as V}from"react";import{jsxs as B,jsx as H,Fragment as X}from"react/jsx-runtime";var Z={doc:"document",docx:"document",odt:"document",rtf:"document",txt:"document",md:"document",xls:"spreadsheet",xlsx:"spreadsheet",ods:"spreadsheet",csv:"spreadsheet",sheet:"spreadsheet",ppt:"slides",pptx:"slides",odp:"slides",key:"slides",slides:"slides",pdf:"pdf",jpg:"image",jpeg:"image",png:"image",gif:"image",webp:"image",svg:"image",avif:"image",bmp:"image",heic:"image",tif:"image",tiff:"image",mp4:"video",mov:"video",webm:"video",avi:"video",mkv:"video",mp3:"audio",wav:"audio",m4a:"audio",ogg:"audio",flac:"audio",zip:"archive",rar:"archive","7z":"archive",gz:"archive",tar:"archive",dxf:"drawing",dwg:"drawing",stp:"drawing",step:"drawing",stl:"drawing",obj:"drawing",iges:"drawing",igs:"drawing","3mf":"drawing",glb:"drawing",gltf:"drawing"};function q(e){const t=e.lastIndexOf(".");return t>0?e.slice(t+1).toLowerCase():""}function _(e){if("folder"===e.kind)return"folder";if("document"===e.officeKind)return"document";if("spreadsheet"===e.officeKind)return"spreadsheet";if("deck"===e.officeKind)return"slides";const t=e.contentType??"";return"application/pdf"===t?"pdf":t.startsWith("image/")?"image":t.startsWith("video/")?"video":t.startsWith("audio/")?"audio":Z[q(e.name)]??"other"}var ee={folder:"Folder",document:"Document",spreadsheet:"Spreadsheet",slides:"Slides",pdf:"PDF",image:"Image",video:"Video",audio:"Audio",archive:"Archive",drawing:"Drawing",other:"File"},te={folder:{name:"folder",tone:"muted"},document:{name:"document",tone:"accent"},spreadsheet:{name:"table",tone:"success"},slides:{name:"presentation-chart-bar",tone:"warning"},pdf:{name:"document",tone:"danger"},image:{name:"image",tone:"muted"},video:{name:"play",tone:"muted"},audio:{name:"speaker-wave",tone:"muted"},archive:{name:"archive-box",tone:"muted"},drawing:{name:"cube-transparent",tone:"muted"},other:{name:"page",tone:"muted"}};function ne(e){const t=e.officeKind?$[e.officeKind]:"";return t&&e.name.toLowerCase().endsWith(t)&&e.name.length>t.length?e.name.slice(0,-t.length):e.name}function ae(e){return"folder"===e.kind||e.officeKind&&e.size<=2?"—":d(e.size)}function re(e,t=/* @__PURE__ */new Date){if(!e)return"—";const n=new Date(e);return isNaN(n.getTime())?"—":n.toDateString()===t.toDateString()?n.toLocaleTimeString(void 0,{hour:"numeric",minute:"2-digit"}):n.getFullYear()===t.getFullYear()?n.toLocaleDateString(void 0,{day:"numeric",month:"short"}):n.toLocaleDateString(void 0,{day:"numeric",month:"short",year:"numeric"})}function ie(e){return"owner"===(e.role??"owner")?"me":e.owner?.name??"—"}var se=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});function le(e,t){const n="asc"===t.dir?1:-1;return[...e].sort((e,a)=>e.kind!==a.kind?"folder"===e.kind?-1:1:n*((e,n)=>{switch(t.key){case"owner":return se.compare(ie(e),ie(n));case"size":return e.size-n.size;case"modified":return(Date.parse(e.modifiedAt)||0)-(Date.parse(n.modifiedAt)||0);default:return se.compare(ne(e),ne(n))}})(e,a)||se.compare(e.name,a.name))}var oe=["folder","document","spreadsheet","slides","pdf","image","video"],ce={today:"Today",week:"Last 7 days",month:"Last 30 days",year:"This year"};function de(e,t,n=/* @__PURE__ */new Date){const a=t.modified?function(e,t){const n=new Date(t);return n.setHours(0,0,0,0),"week"===e&&n.setDate(n.getDate()-6),"month"===e&&n.setDate(n.getDate()-29),"year"===e&&n.setMonth(0,1),n.getTime()}(t.modified,n):null;return e.filter(e=>{if(t.type&&_(e)!==t.type)return!1;if(t.person){const n="owner"===(e.role??"owner");if("me"===t.person?!n:n||e.owner?.id!==t.person)return!1}return null===a||(Date.parse(e.modifiedAt)||0)>=a})}var me=[{value:"viewer",label:"Viewer"},{value:"editor",label:"Editor"}];function he({store:e,entry:t,onClose:a,onChanged:i}){const[s,l]=I(null),[o,d]=I(""),[m,h]=I([]),[u,f]=I(!1),[p,g]=I(""),[k,w]=I("viewer"),[y,v]=I(!1),b=J(/* @__PURE__ */new Map),x=t?.id??null;if(Y(()=>{if(l(null),g(""),d(""),!x||!e.shares)return;let t=!0;return e.shares(x).then(e=>{t&&l(e)}).catch(e=>{t&&(U.error(e.message),l([]))}),()=>{t=!1}},[x,e]),Y(()=>{if(!e.searchPeople||!x)return;let t=!0;f(!0);const n=setTimeout(()=>{e.searchPeople(o).then(e=>{if(t){for(const t of e)b.current.set(t.id,t);h(e)}}).catch(()=>{t&&h([])}).finally(()=>{t&&f(!1)})},250);return()=>{t=!1,clearTimeout(n)}},[o,x,e]),!t)return null;const N=new Set((s??[]).map(e=>e.person.id)),C=m.filter(e=>!N.has(e.id)).map(e=>({value:e.id,label:e.name})),S=async n=>{v(!0);try{await n(),l(await e.shares(t.id)),i()}catch(e){U.error(e.message)}finally{v(!1)}};/* @__PURE__ */
2
+ return B(F,{open:!0,onClose:a,size:"md",title:`Share “${t.name}”`,description:"folder"===t.kind?"Everything inside this folder is shared too. Editors’ uploads count toward your quota.":"Viewers can open and download it. Editors can also replace, rename and delete it.",footer:/* @__PURE__ */H(P,{variant:"secondary",onClick:a,children:"Done"}),children:[
3
3
  /* @__PURE__ */B("div",{className:"flex items-center gap-2",children:[
4
- /* @__PURE__ */X("div",{className:"min-w-0 flex-1",children:/* @__PURE__ */X(n,{value:p,onChange:g,onSearchChange:d,loading:u&&0===m.length,options:C,placeholder:"Search colleagues by name","aria-label":"Colleague to share with"})}),
5
- /* @__PURE__ */X("div",{className:"w-28 shrink-0",children:/* @__PURE__ */X(r,{value:k,onChange:e=>w(e),options:me,"aria-label":"Access"})}),
6
- /* @__PURE__ */X(P,{variant:"primary",onClick:()=>{if(!p||!e.share)return;const n=b.current.get(p);S(async()=>{await e.share(t.id,p,k),g(""),d(""),n&&U.success(`Shared with ${n.name}`)})},disabled:!p||y,children:"Add"})]}),
7
- /* @__PURE__ */X("div",{className:"mt-4 mb-1 text-2xs font-semibold uppercase tracking-wide text-ink-faintest",children:"Who has access"}),null===s?/* @__PURE__ */X(O,{size:"sm",padding:"p-4",label:"Loading"}):/* @__PURE__ */B("ul",{className:"divide-y divide-line-subtle text-sm",children:[
4
+ /* @__PURE__ */H("div",{className:"min-w-0 flex-1",children:/* @__PURE__ */H(n,{value:p,onChange:g,onSearchChange:d,loading:u&&0===m.length,options:C,placeholder:"Search colleagues by name","aria-label":"Colleague to share with"})}),
5
+ /* @__PURE__ */H("div",{className:"w-28 shrink-0",children:/* @__PURE__ */H(r,{value:k,onChange:e=>w(e),options:me,"aria-label":"Access"})}),
6
+ /* @__PURE__ */H(P,{variant:"primary",onClick:()=>{if(!p||!e.share)return;const n=b.current.get(p);S(async()=>{await e.share(t.id,p,k),g(""),d(""),n&&U.success(`Shared with ${n.name}`)})},disabled:!p||y,children:"Add"})]}),
7
+ /* @__PURE__ */H("div",{className:"mt-4 mb-1 text-2xs font-semibold uppercase tracking-wide text-ink-faintest",children:"Who has access"}),null===s?/* @__PURE__ */H(K,{size:"sm",padding:"p-4",label:"Loading"}):/* @__PURE__ */B("ul",{className:"divide-y divide-line-subtle text-sm",children:[
8
8
  /* @__PURE__ */B("li",{className:"flex items-center gap-2 h-10",children:[
9
- /* @__PURE__ */X("span",{className:"flex-1 truncate",children:"You"}),
10
- /* @__PURE__ */X("span",{className:"text-xs text-ink-faint",children:"Owner"})]}),s.map(n=>/* @__PURE__ */B("li",{className:"flex items-center gap-2 h-10",children:[
11
- /* @__PURE__ */X("span",{className:"flex-1 truncate",title:n.person.name,children:n.person.name}),
12
- /* @__PURE__ */X("div",{className:"w-28 shrink-0",children:/* @__PURE__ */X(r,{value:n.role,onChange:a=>S(()=>e.share(t.id,n.person.id,a)),options:me,"aria-label":`Access for ${n.person.name}`,disabled:y})}),
13
- /* @__PURE__ */X(c,{"aria-label":`Remove ${n.person.name}`,variant:"ghost",size:"sm",disabled:y,onClick:()=>S(()=>e.unshare(t.id,n.person.id)),children:/* @__PURE__ */X(z,{name:"close",className:"h-4 w-4",strokeWidth:1.8})})]},n.person.id))]})]})}function ue({store:e,items:t,from:n,onClose:a,onMove:r}){const[i,s]=I(n??null),[l,o]=I(null),[d,m]=I(!1);Y(()=>{t&&s(n??null)},[t,n]),Y(()=>{if(!t)return;let n=!0;return m(!0),e.list(i).then(e=>{n&&o(e)}).catch(()=>{n&&o(null)}).finally(()=>{n&&m(!1)}),()=>{n=!1}},[e,i,t]);const h=new Set((t??[]).map(e=>e.id)),u=(l?.entries??[]).filter(e=>"folder"===e.kind&&!h.has(e.id)),f=(l?.folder.path??[]).filter(e=>null!==e.id),p=f.length>1?f[f.length-2].id:null,g=l?.folder,k="viewer"!==(g?.role??"owner"),w=void 0!==n&&i===n,y=t?.length??0,v=1===y?`"${t[0].name}"`:`${y} items`;/* @__PURE__ */
14
- return B(E,{open:!!t,onClose:a,title:`Move ${v}`,size:"sm",footer:/* @__PURE__ */B(Z,{children:[
15
- /* @__PURE__ */X(P,{variant:"secondary",onClick:a,children:"Cancel"}),
16
- /* @__PURE__ */X(P,{variant:"primary",onClick:()=>r(i),disabled:d||!k||w,children:"Move here"})]}),children:[
17
- /* @__PURE__ */B("div",{className:"flex items-center gap-1 mb-2 min-h-8",children:[null!==i&&/* @__PURE__ */X(c,{"aria-label":"Back",size:"sm",onClick:()=>s(p),children:/* @__PURE__ */X(z,{name:"arrow-left",className:"h-4 w-4"})}),
18
- /* @__PURE__ */X("span",{className:"text-sm font-medium text-ink-strong truncate",children:null===i?"My files":g?.name??""})]}),
19
- /* @__PURE__ */X("div",{className:"border border-line rounded-(--radius-control) h-64 overflow-auto",children:d?/* @__PURE__ */X(O,{size:"sm",padding:"p-6",label:"Loading"}):0===u.length?/* @__PURE__ */X("div",{className:"p-6 text-center text-sm text-ink-faintest",children:"No folders here."}):/* @__PURE__ */X("ul",{children:u.map(e=>/* @__PURE__ */X("li",{children:/* @__PURE__ */B("button",{type:"button",onClick:()=>s(e.id),className:"flex w-full items-center gap-2 px-3 h-9 text-left text-sm hover:bg-row-hover",children:[
20
- /* @__PURE__ */X(z,{name:"folder",look:"solid",tone:"muted",className:"h-4 w-4 shrink-0"}),
21
- /* @__PURE__ */X("span",{className:"truncate flex-1",children:e.name}),
22
- /* @__PURE__ */X(z,{name:"chevron-right",tone:"muted",className:"h-4 w-4 shrink-0"})]})},e.id))})}),!k&&/* @__PURE__ */X("p",{className:"mt-2 text-xs text-ink-faint",children:"You can view this folder but not move things into it."})]})}function fe({store:e,entry:t,selectedCount:n,onClose:a}){const[r,i]=I(null),[s,l]=I(null);Y(()=>{if(i(null),l(null),!t)return;let n=!0;return e.info?.(t.id).then(e=>{n&&i(e)}).catch(()=>{}),e.shares?.(t.id).then(e=>{n&&l(e)}).catch(()=>{}),()=>{n=!1}},[e,t]);const o=t?_(t):null,d=o?te[o]:null,m=r?.path.slice(0,-1).map(e=>e.name||"My files").join(" / "),h=(e,t)=>t?/* @__PURE__ */B("div",{className:"py-2",children:[
23
- /* @__PURE__ */X("dt",{className:"text-2xs text-ink-faint",children:e}),
24
- /* @__PURE__ */X("dd",{className:"text-sm text-ink break-words",children:t})]}):null;/* @__PURE__ */
9
+ /* @__PURE__ */H("span",{className:"flex-1 truncate",children:"You"}),
10
+ /* @__PURE__ */H("span",{className:"text-xs text-ink-faint",children:"Owner"})]}),s.map(n=>/* @__PURE__ */B("li",{className:"flex items-center gap-2 h-10",children:[
11
+ /* @__PURE__ */H("span",{className:"flex-1 truncate",title:n.person.name,children:n.person.name}),
12
+ /* @__PURE__ */H("div",{className:"w-28 shrink-0",children:/* @__PURE__ */H(r,{value:n.role,onChange:a=>S(()=>e.share(t.id,n.person.id,a)),options:me,"aria-label":`Access for ${n.person.name}`,disabled:y})}),
13
+ /* @__PURE__ */H(c,{"aria-label":`Remove ${n.person.name}`,variant:"ghost",size:"sm",disabled:y,onClick:()=>S(()=>e.unshare(t.id,n.person.id)),children:/* @__PURE__ */H(z,{name:"close",className:"h-4 w-4",strokeWidth:1.8})})]},n.person.id))]})]})}function ue({store:e,items:t,from:n,onClose:a,onMove:r}){const[i,s]=I(n??null),[l,o]=I(null),[d,m]=I(!1);Y(()=>{t&&s(n??null)},[t,n]),Y(()=>{if(!t)return;let n=!0;return m(!0),e.list(i).then(e=>{n&&o(e)}).catch(()=>{n&&o(null)}).finally(()=>{n&&m(!1)}),()=>{n=!1}},[e,i,t]);const h=new Set((t??[]).map(e=>e.id)),u=(l?.entries??[]).filter(e=>"folder"===e.kind&&!h.has(e.id)),f=(l?.folder.path??[]).filter(e=>null!==e.id),p=f.length>1?f[f.length-2].id:null,g=l?.folder,k="viewer"!==(g?.role??"owner"),w=void 0!==n&&i===n,y=t?.length??0,v=1===y?`"${t[0].name}"`:`${y} items`;/* @__PURE__ */
14
+ return B(F,{open:!!t,onClose:a,title:`Move ${v}`,size:"sm",footer:/* @__PURE__ */B(X,{children:[
15
+ /* @__PURE__ */H(P,{variant:"secondary",onClick:a,children:"Cancel"}),
16
+ /* @__PURE__ */H(P,{variant:"primary",onClick:()=>r(i),disabled:d||!k||w,children:"Move here"})]}),children:[
17
+ /* @__PURE__ */B("div",{className:"flex items-center gap-1 mb-2 min-h-8",children:[null!==i&&/* @__PURE__ */H(c,{"aria-label":"Back",size:"sm",onClick:()=>s(p),children:/* @__PURE__ */H(z,{name:"arrow-left",className:"h-4 w-4"})}),
18
+ /* @__PURE__ */H("span",{className:"text-sm font-medium text-ink-strong truncate",children:null===i?"My files":g?.name??""})]}),
19
+ /* @__PURE__ */H("div",{className:"border border-line rounded-(--radius-control) h-64 overflow-auto",children:d?/* @__PURE__ */H(K,{size:"sm",padding:"p-6",label:"Loading"}):0===u.length?/* @__PURE__ */H("div",{className:"p-6 text-center text-sm text-ink-faintest",children:"No folders here."}):/* @__PURE__ */H("ul",{children:u.map(e=>/* @__PURE__ */H("li",{children:/* @__PURE__ */B("button",{type:"button",onClick:()=>s(e.id),className:"flex w-full items-center gap-2 px-3 h-9 text-left text-sm hover:bg-row-hover",children:[
20
+ /* @__PURE__ */H(z,{name:"folder",look:"solid",tone:"muted",className:"h-4 w-4 shrink-0"}),
21
+ /* @__PURE__ */H("span",{className:"truncate flex-1",children:e.name}),
22
+ /* @__PURE__ */H(z,{name:"chevron-right",tone:"muted",className:"h-4 w-4 shrink-0"})]})},e.id))})}),!k&&/* @__PURE__ */H("p",{className:"mt-2 text-xs text-ink-faint",children:"You can view this folder but not move things into it."})]})}function fe({store:e,entry:t,selectedCount:n,onClose:a}){const[r,i]=I(null),[s,l]=I(null);Y(()=>{if(i(null),l(null),!t)return;let n=!0;return e.info?.(t.id).then(e=>{n&&i(e)}).catch(()=>{}),e.shares?.(t.id).then(e=>{n&&l(e)}).catch(()=>{}),()=>{n=!1}},[e,t]);const o=t?_(t):null,d=o?te[o]:null,m=r?.path.slice(0,-1).map(e=>e.name||"My files").join(" / "),h=(e,t)=>t?/* @__PURE__ */B("div",{className:"py-2",children:[
23
+ /* @__PURE__ */H("dt",{className:"text-2xs text-ink-faint",children:e}),
24
+ /* @__PURE__ */H("dd",{className:"text-sm text-ink break-words",children:t})]}):null;/* @__PURE__ */
25
25
  return B("aside",{className:"w-72 shrink-0 border-l border-line flex flex-col min-h-0 bg-surface","aria-label":"Details",children:[
26
- /* @__PURE__ */B("div",{className:"flex items-center gap-2 px-3 h-12 shrink-0",children:[d&&/* @__PURE__ */X(z,{name:d.name,tone:d.tone,className:"h-5 w-5 shrink-0"}),
27
- /* @__PURE__ */X("span",{className:"flex-1 truncate text-sm font-medium text-ink-strong",children:t?ne(t):n>1?`${n} items selected`:"Details"}),
28
- /* @__PURE__ */X(c,{"aria-label":"Close details",size:"sm",onClick:a,children:/* @__PURE__ */X(z,{name:"close",className:"h-4 w-4"})})]}),
29
- /* @__PURE__ */X("div",{className:"flex-1 overflow-auto px-4 pb-4",children:t?/* @__PURE__ */B(Z,{children:[
30
- /* @__PURE__ */X("div",{className:"h-32 rounded-(--radius-control) bg-surface-sunken flex items-center justify-center mb-3",children:d&&/* @__PURE__ */X(z,{name:d.name,tone:d.tone,className:"h-12 w-12"})}),s&&/* @__PURE__ */B("div",{className:"mb-3",children:[
31
- /* @__PURE__ */X("div",{className:"text-xs font-medium text-ink-strong mb-1",children:"Who has access"}),0===s.length?/* @__PURE__ */B("p",{className:"text-sm text-ink-faint",children:["Only ","owner"!==t.role&&t.role?t.owner?.name??"its owner":"you"]}):/* @__PURE__ */X("ul",{className:"text-sm text-ink",children:s.map(e=>/* @__PURE__ */B("li",{className:"flex justify-between py-0.5",children:[
32
- /* @__PURE__ */X("span",{className:"truncate",children:e.person.name}),
33
- /* @__PURE__ */X("span",{className:"text-ink-faint text-xs",children:"editor"===e.role?"Editor":"Viewer"})]},e.person.id))})]}),
34
- /* @__PURE__ */B("dl",{className:"border-t border-line pt-2",children:[h("Type",o?ee[o]:null),"file"===t.kind&&h("Size",ae(t)),h("Location",m),h("Owner","me"===ie(t)?"me":ie(t)),h("Modified",t.modifiedAt?`${re(t.modifiedAt)}${t.modifiedBy?` by ${t.modifiedBy.name}`:""}`:null),h("Created",r?.createdAt?re(r.createdAt):null)]})]}):/* @__PURE__ */X("p",{className:"pt-6 text-center text-sm text-ink-faintest",children:n>1?"Select one item to see its details.":"Select a file or folder to see its details."})})]})}var pe=e=>"recent"===e||"starred"===e||"shared"===e||"search"===e,ge="files.layout",ke={pdf:"pdf",dxf:"dxf",csv:"csv",jpg:"image",jpeg:"image",png:"image",gif:"image",webp:"image",svg:"image",avif:"image",bmp:"image",stp:"3d",step:"3d",stl:"3d",obj:"3d",gltf:"3d",glb:"3d","3mf":"3d",iges:"3d",igs:"3d",ply:"3d",fbx:"3d"},we=[{kind:"document",label:"Document"},{kind:"spreadsheet",label:"Spreadsheet"},{kind:"deck",label:"Slides"}],ye="application/x-efficient-files";function ve(e){if(!e)return"—";try{const t=new Date(e);return isNaN(t.getTime())?"—":t.toLocaleString(void 0,{dateStyle:"short",timeStyle:"short"})}catch{return e}}function be(){try{return"grid"===localStorage.getItem(ge)?"grid":"list"}catch{return"list"}}function xe(e){const t=e??"/",n=t.split("/").filter(Boolean);let a=m()??[];for(const e of n){const t=a.find(t=>"folder"===t.kind&&t.name===e);a=t?.children??[]}return{folder:{id:e,name:n[n.length-1]??"",role:"owner",path:[{id:null,name:""},...n.map((e,t)=>({id:"/"+n.slice(0,t+1).join("/"),name:e}))]},entries:a.map(e=>({id:("/"===t?"":t)+"/"+e.name,name:e.name,kind:e.kind,size:e.size??0,modifiedAt:e.modifiedAt??""}))}}function Ne(e,t){return`Not enough space for “${e}” (${d(t.attempted)}). You've used ${d(t.used)} of ${d(t.limit)}. Empty Trash or ask an administrator for more space.`}var Ce=(e,t)=>e instanceof Error&&e.message||t;function Se(e){const t=[];for(const n of e)("divider"!==n.type||0!==t.length&&"divider"!==t[t.length-1].type)&&t.push(n);for(;t.length&&"divider"===t[t.length-1].type;)t.pop();return t}function je({entry:e,className:t="h-5 w-5"}){const{name:n,tone:a}=te[_(e)];/* @__PURE__ */
35
- return X(z,{name:n,tone:a,look:"folder"===e.kind?"solid":void 0,className:`${t} shrink-0`})}function De({entry:e,read:t}){const[n,a]=I(null),r="image"===_(e)&&e.size<=5242880;return Y(()=>{if(!r||!t||"function"!=typeof URL.createObjectURL)return;let n=!0,i=null;return t(e.id).then(e=>{n&&(i=URL.createObjectURL(e),a(i))}).catch(()=>{}),()=>{n=!1,i&&URL.revokeObjectURL(i)}},[e.id,e.modifiedAt,r,t]),n?/* @__PURE__ */X("img",{src:n,alt:"",className:"h-full w-full object-cover",draggable:!1}):/* @__PURE__ */X(je,{entry:e,className:"h-10 w-10"})}function Te(){const n=w(),r=n.title??"Files",E=null!==m(),H=!E&&!!n.shares&&!!n.sharedWithMe,[_,me]=I(null),[Te,Me]=I(null),[$e,Le]=I([]),[Ae,We]=I(()=>/* @__PURE__ */new Set),Re=J(null),[Ee,Fe]=I(!0),[Pe,ze]=I(!1),[Oe,Ke]=I(null),[Ue,Ie]=I(!1),[Je,Ye]=I(null),[Ve,Ge]=I(null),[Qe,Be]=I(null),[Xe,Ze]=I(be),[He,qe]=I(!1),[_e,et]=I(""),[tt,nt]=I(""),[at,rt]=I({}),[it,st]=I({key:"name",dir:"asc"}),[lt,ot]=I(()=>{const e=y();return"trash"===e?"trash":e?{desktopFolderId:e.folderId}:"files"}),ct=J("files"),dt=J(lt);dt.current=lt,Y(()=>{v()},[]);const[mt,ht]=I([]),ut=e=>{Ze(e);try{localStorage.setItem(ge,e)}catch{}},ft=V(e=>{ot(e),rt({}),st("recent"===e?{key:"modified",dir:"desc"}:{key:"name",dir:"asc"}),"search"!==e&&(et(""),nt(""))},[]);Y(()=>{const e=()=>{v(),ft("trash")},t=e=>{v();const t=e.detail?.folderId;t&&ft({desktopFolderId:t})};return window.addEventListener(b,e),window.addEventListener(x,t),()=>{window.removeEventListener(b,e),window.removeEventListener(x,t)}},[ft]);const pt=G(N,C,C),gt="object"==typeof lt?lt.desktopFolderId:null,kt=gt?pt?.folders.find(e=>e.id===gt)??null:null,wt=gt&&pt?.itemsByFolder[gt]||[];Y(()=>{gt&&pt&&!pt.folders.some(e=>e.id===gt)&&ft("files")},[gt,pt,ft]);const yt=J(0),vt=J(null),bt=J(null),{openPage:xt,openEntity:Nt}=L(),Ct=i(),St=i(),jt=i(),Dt=G(h,u,u);Y(()=>f(),[]),Y(()=>{!Dt||"trash"!==lt&&"object"!=typeof lt||ft("files")},[Dt,lt,ft]);const Tt=t=>{"preview-file"===t.entityType&&t.filePath&&t.fileKind?e({filePath:t.filePath,filename:t.label,kind:t.fileKind,onStaged:e=>xt(e)}):"page"===t.entityType?xt(t.entityId):Nt(t.entityType,t.entityId,null,t.label)},Mt=V(async()=>{if(!E)try{Ke(await n.quota())}catch{}},[n,E]),$t=V(async(e,t)=>{Fe(!0);try{await e(),ze(!1)}catch(e){e instanceof TypeError?ze(!0):U.error(Ce(e,t))}finally{Fe(!1)}},[]),Lt=V(async e=>{if(E)return Me(xe(e)),ze(!1),void Fe(!1);await $t(async()=>{Me(await n.list(e))},"Failed to list"),Mt()},[n,Mt,E,$t]),At=V(async(e,t)=>{if("search"===e&&!n.search){const e=t.toLowerCase(),a=E?xe(_):await n.list(_).catch(()=>null);return Le((a?.entries??[]).filter(t=>t.name.toLowerCase().includes(e))),void Fe(!1)}const a={recent:()=>n.recent?.()??Promise.resolve([]),starred:()=>n.starred?.()??Promise.resolve([]),shared:()=>n.sharedWithMe?.()??Promise.resolve([]),search:()=>n.search?.(t)??Promise.resolve([])}[e];await $t(async()=>{Le(await a())},"Failed to list files")},[n,E,_,$t]),Wt=V(async()=>{if(E)return ht([]),void Fe(!1);await $t(async()=>{ht(await n.trash())},"Failed to list trash"),Mt()},[n,Mt,E,$t]),Rt=()=>{"files"===lt?Lt(_):pe(lt)?At(lt,tt):"trash"===lt&&Wt()};Y(()=>{We(/* @__PURE__ */new Set),Re.current=null,Rt()},[_,lt,tt]),Y(()=>{const e=_e.trim();if(!e)return;const t=setTimeout(()=>{e===tt&&"search"===dt.current||("search"!==dt.current&&(ct.current=dt.current),ot("search"),rt({}),nt(e))},300);return()=>clearTimeout(t)},[_e]);const Et=()=>{et(""),"search"===dt.current&&ft(ct.current)},Ft=e=>{ft("files"),me(e)},Pt=async(e,t)=>{try{await e()}catch(e){U.error(Ce(e,t))}Rt()},zt=e=>Pt(async()=>{await n.restore(e.id),U.success(`Restored "${e.name}"`)},"Restore failed"),Ot=async e=>{await W({title:"Permanently delete",message:`"${e.name}" will be permanently removed. This can't be undone.`,confirmLabel:"Delete forever",variant:"danger"})&&Pt(()=>n.purge(e.id),"Delete failed")},Kt=async e=>{try{const t=await n.read(e.id),a=URL.createObjectURL(t),r=document.createElement("a");r.href=a,r.download=e.name,r.click(),setTimeout(()=>URL.revokeObjectURL(a),1e3)}catch(e){U.error(Ce(e,"Download failed"))}},Ut="files"===lt?Te?.folder??null:null,It=Ut?.role??"owner",Jt="owner"!==It,Yt="files"===lt?_:null,Vt=!E&&("files"!==lt||"viewer"!==It),Gt=!E&&"files"===lt&&"viewer"!==It,Qt=async(e,{withFolders:t=!1}={})=>{let a=0;for(const r of Array.from(e)){const e=r.webkitRelativePath??"",i=t?e.split("/").slice(0,-1).join("/"):"";try{await n.upload(Yt,r,i?{folderPath:i}:void 0),a++}catch(e){e instanceof M?U.error(Ne(r.name,e)):U.error(`Upload ${r.name}: ${Ce(e,"failed")}`)}}a>1&&U.success(`Uploaded ${a} files`),"files"===lt?Lt(_):Ft(null)},Bt=async e=>{const t=ne(e),a=await R({title:`Rename ${e.kind}`,defaultValue:t,confirmLabel:"Rename"});a&&a!==t&&(/[\\/]/.test(a)?U.error("Names cannot contain slashes"):Pt(()=>n.rename(e.id,function(e,t){const n=e.officeKind?$[e.officeKind]:"";return n&&!t.toLowerCase().endsWith(n)?t+n:t}(e,a)),"Rename failed"))},Xt=async e=>{if(0===e.length)return;const t=1===e.length?e[0]:null,a=e.some(e=>"owner"!==(e.role??"owner")),r=t?(t.owner??Te?.folder.owner)?.name??"its owner":"their owners";await W({title:t?`Move ${t.kind} to trash`:`Move ${e.length} items to trash`,message:(t?`"${ne(t)}"${"folder"===t.kind?" and everything inside":""}`:`${e.length} items`)+" will move to "+(a?`${r}'s Trash.`:"Trash. You can restore it from there."),confirmLabel:"Move to trash",variant:"danger"})&&(await Pt(async()=>{for(const t of e)await n.remove(t.id)},"Delete failed"),U.success(t?`"${ne(t)}" moved to trash`:`${e.length} items moved to trash`))},Zt=(e,t)=>Pt(async()=>{for(const a of e)await n.setStarred(a.id,t)},t?"Star failed":"Unstar failed"),Ht=async(e,t)=>{Be(null);const a=e.filter(e=>e.id!==t);0!==a.length&&(await Pt(async()=>{for(const e of a)await n.move(e.id,t)},"Move failed"),U.success(1===a.length?`Moved "${ne(a[0])}"`:`Moved ${a.length} items`))},qt=()=>{yt.current=0,Ie(!1),Ye(null)};Y(()=>{const e=()=>qt();return window.addEventListener("dragend",e),window.addEventListener("drop",e),()=>{window.removeEventListener("dragend",e),window.removeEventListener("drop",e)}},[]);const _t="files"===lt?Te?.entries??[]:pe(lt)?$e:[],en=Q(()=>le(de(_t,at),it),[_t,at,it]),tn=Q(()=>new Map(en.map(e=>[e.id,e])),[en]),nn=[...Ae].map(e=>tn.get(e)).filter(e=>!!e),an=1===nn.length?nn[0]:null,rn=e=>e.role??("files"===lt?It:"owner"),sn=e=>!E&&"viewer"!==rn(e),ln=e=>H&&"owner"===rn(e),on=e=>!!n.move&&sn(e),cn=(e,t)=>{if(Dt){const t=tn.get(e);if(t&&"file"===t.kind&&!mn(t))return;return void We(/* @__PURE__ */new Set([e]))}if(t.shiftKey&&Re.current){const t=en.map(e=>e.id),n=t.indexOf(Re.current),a=t.indexOf(e);if(n>=0&&a>=0)return void We(new Set(t.slice(Math.min(n,a),Math.max(n,a)+1)))}Re.current=e,t.metaKey||t.ctrlKey?We(t=>{const n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}):We(/* @__PURE__ */new Set([e]))},dn=()=>{We(/* @__PURE__ */new Set),Re.current=null},mn=e=>!!Dt&&"file"===e.kind&&g(Dt.request,e.name),hn=e=>Dt&&"file"===e.kind&&!mn(e)?"text-ink-faintest":"",un=e=>{if(!Dt||!mn(e))return;const t="files"===lt?Te?.folder:null,n=t?["owner"===t.role?"My files":"Shared with me",...t.path.filter(e=>null!==e.id).map(e=>e.name)].join(" › "):"shared"===lt?"Shared with me":"My files";p(Dt.id,{entry:e,folderId:"files"===lt?_:null,location:n})},fn=Dt&&an&&mn(an)?an:null,pn=t=>{"folder"===t.kind?Ft(t.id):Dt?un(t):(async t=>{if(E)return;if(n.open?.(t))return;const a=ke[q(t.name)];a?await e({filePath:n.shortcutPath?.(t.id)??t.id,filename:t.name,kind:a,load:()=>n.read(t.id),onStaged:e=>xt(e)}):Kt(t)})(t)},gn=e=>{if(0===e.length)return[];const t=1===e.length?e[0]:null;if(Dt)return t&&("folder"===t.kind||mn(t))?[{key:"open",label:"Open",icon:/* @__PURE__ */X(z,{name:"external",className:"h-4 w-4"}),onSelect:()=>pn(t)}]:[];const a=t&&"file"===t.kind&&n.openLabel?.(t)||"Open",r=e.every(e=>"file"===e.kind),i=e.every(sn);if(E)return t?[{key:"open",label:"Open",icon:/* @__PURE__ */X(z,{name:"external",className:"h-4 w-4"}),onSelect:()=>pn(t)}]:[];const s=e.some(e=>!e.starred);return Se([...t?[{key:"open",label:a,icon:/* @__PURE__ */X(z,{name:"external",className:"h-4 w-4"}),onSelect:()=>pn(t)}]:[],{type:"divider",key:"d1"},...r?[{key:"download",label:"Download",icon:/* @__PURE__ */X(z,{name:"download",className:"h-4 w-4"}),onSelect:()=>{e.forEach(Kt)}}]:[],...t&&i?[{key:"rename",label:"Rename",icon:/* @__PURE__ */X(z,{name:"edit",className:"h-4 w-4"}),onSelect:()=>Bt(t)}]:[],...r&&n.copy?[{key:"copy",label:"Make a copy",icon:/* @__PURE__ */X(z,{name:"copy",className:"h-4 w-4"}),onSelect:()=>(e=>Pt(async()=>{for(const t of e)await n.copy(t.id);U.success(1===e.length?`Copied "${ne(e[0])}"`:`Copied ${e.length} files`)},"Copy failed"))(e)}]:[],{type:"divider",key:"d2"},...t&&ln(t)?[{key:"share",label:"Share",icon:/* @__PURE__ */X(z,{name:"add-person",className:"h-4 w-4"}),onSelect:()=>Ge(t)}]:[],...e.every(on)?[{key:"move",label:"Move",icon:/* @__PURE__ */X(z,{name:"forward",className:"h-4 w-4"}),onSelect:()=>Be(e)}]:[],...n.setStarred?[{key:"star",label:s?"Add to starred":"Remove from starred",icon:/* @__PURE__ */X(z,{name:"star",className:"h-4 w-4"}),onSelect:()=>Zt(e,s)}]:[],...t?[{key:"info",label:"File information",icon:/* @__PURE__ */X(z,{name:"info",className:"h-4 w-4"}),onSelect:()=>{We(/* @__PURE__ */new Set([t.id])),qe(!0)}}]:[],{type:"divider",key:"d3"},...i?[{key:"trash",label:"Move to trash",danger:!0,icon:/* @__PURE__ */X(z,{name:"trash",className:"h-4 w-4"}),onSelect:()=>Xt(e)}]:[]])},kn=(e,t)=>{const n=Ae.has(t.id)?nn:[t];Ct.open(e,n)&&!Ae.has(t.id)&&(We(/* @__PURE__ */new Set([t.id])),Re.current=t.id)},wn=e=>on(e)?{draggable:!0,onDragStart:t=>{const n=Ae.has(e.id)?nn:[e];t.dataTransfer.setData(ye,JSON.stringify(n.map(e=>e.id))),t.dataTransfer.effectAllowed="move"}}:{},yn=e=>"folder"===e.kind&&sn(e)&&n.move?{onDragOver:t=>{t.dataTransfer.types.includes(ye)&&(t.preventDefault(),t.stopPropagation(),Je!==e.id&&Ye(e.id))},onDragLeave:()=>{Je===e.id&&Ye(null)},onDrop:t=>{if(!t.dataTransfer.types.includes(ye))return;t.preventDefault(),t.stopPropagation(),Ye(null);const n=JSON.parse(t.dataTransfer.getData(ye)||"[]").map(e=>tn.get(e)).filter(t=>!!t&&t.id!==e.id);Ht(n,e.id)}}:{};if(Pe)/* @__PURE__ */
26
+ /* @__PURE__ */B("div",{className:"flex items-center gap-2 px-3 h-12 shrink-0",children:[d&&/* @__PURE__ */H(z,{name:d.name,tone:d.tone,className:"h-5 w-5 shrink-0"}),
27
+ /* @__PURE__ */H("span",{className:"flex-1 truncate text-sm font-medium text-ink-strong",children:t?ne(t):n>1?`${n} items selected`:"Details"}),
28
+ /* @__PURE__ */H(c,{"aria-label":"Close details",size:"sm",onClick:a,children:/* @__PURE__ */H(z,{name:"close",className:"h-4 w-4"})})]}),
29
+ /* @__PURE__ */H("div",{className:"flex-1 overflow-auto px-4 pb-4",children:t?/* @__PURE__ */B(X,{children:[
30
+ /* @__PURE__ */H("div",{className:"h-32 rounded-(--radius-control) bg-surface-sunken flex items-center justify-center mb-3",children:d&&/* @__PURE__ */H(z,{name:d.name,tone:d.tone,className:"h-12 w-12"})}),s&&/* @__PURE__ */B("div",{className:"mb-3",children:[
31
+ /* @__PURE__ */H("div",{className:"text-xs font-medium text-ink-strong mb-1",children:"Who has access"}),0===s.length?/* @__PURE__ */B("p",{className:"text-sm text-ink-faint",children:["Only ","owner"!==t.role&&t.role?t.owner?.name??"its owner":"you"]}):/* @__PURE__ */H("ul",{className:"text-sm text-ink",children:s.map(e=>/* @__PURE__ */B("li",{className:"flex justify-between py-0.5",children:[
32
+ /* @__PURE__ */H("span",{className:"truncate",children:e.person.name}),
33
+ /* @__PURE__ */H("span",{className:"text-ink-faint text-xs",children:"editor"===e.role?"Editor":"Viewer"})]},e.person.id))})]}),
34
+ /* @__PURE__ */B("dl",{className:"border-t border-line pt-2",children:[h("Type",o?ee[o]:null),"file"===t.kind&&h("Size",ae(t)),h("Location",m),h("Owner","me"===ie(t)?"me":ie(t)),h("Modified",t.modifiedAt?`${re(t.modifiedAt)}${t.modifiedBy?` by ${t.modifiedBy.name}`:""}`:null),h("Created",r?.createdAt?re(r.createdAt):null)]})]}):/* @__PURE__ */H("p",{className:"pt-6 text-center text-sm text-ink-faintest",children:n>1?"Select one item to see its details.":"Select a file or folder to see its details."})})]})}var pe=e=>"recent"===e||"starred"===e||"shared"===e||"search"===e,ge="files.layout",ke={pdf:"pdf",dxf:"dxf",csv:"csv",jpg:"image",jpeg:"image",png:"image",gif:"image",webp:"image",svg:"image",avif:"image",bmp:"image",stp:"3d",step:"3d",stl:"3d",obj:"3d",gltf:"3d",glb:"3d","3mf":"3d",iges:"3d",igs:"3d",ply:"3d",fbx:"3d"},we=[{kind:"document",label:"Document"},{kind:"spreadsheet",label:"Spreadsheet"},{kind:"deck",label:"Slides"}],ye="application/x-efficient-files";function ve(e){if(!e)return"—";try{const t=new Date(e);return isNaN(t.getTime())?"—":t.toLocaleString(void 0,{dateStyle:"short",timeStyle:"short"})}catch{return e}}function be(){try{return"grid"===localStorage.getItem(ge)?"grid":"list"}catch{return"list"}}function xe(e){const t=e??"/",n=t.split("/").filter(Boolean);let a=m()??[];for(const e of n){const t=a.find(t=>"folder"===t.kind&&t.name===e);a=t?.children??[]}return{folder:{id:e,name:n[n.length-1]??"",role:"owner",path:[{id:null,name:""},...n.map((e,t)=>({id:"/"+n.slice(0,t+1).join("/"),name:e}))]},entries:a.map(e=>({id:("/"===t?"":t)+"/"+e.name,name:e.name,kind:e.kind,size:e.size??0,modifiedAt:e.modifiedAt??""}))}}function Ne(e,t){return`Not enough space for “${e}” (${d(t.attempted)}). You've used ${d(t.used)} of ${d(t.limit)}. Empty Trash or ask an administrator for more space.`}var Ce=(e,t)=>e instanceof Error&&e.message||t;function Se(e){const t=[];for(const n of e)("divider"!==n.type||0!==t.length&&"divider"!==t[t.length-1].type)&&t.push(n);for(;t.length&&"divider"===t[t.length-1].type;)t.pop();return t}function je({entry:e,className:t="h-5 w-5"}){const{name:n,tone:a}=te[_(e)];/* @__PURE__ */
35
+ return H(z,{name:n,tone:a,look:"folder"===e.kind?"solid":void 0,className:`${t} shrink-0`})}function De({entry:e,read:t}){const[n,a]=I(null),r="image"===_(e)&&e.size<=5242880;return Y(()=>{if(!r||!t||"function"!=typeof URL.createObjectURL)return;let n=!0,i=null;return t(e.id).then(e=>{n&&(i=URL.createObjectURL(e),a(i))}).catch(()=>{}),()=>{n=!1,i&&URL.revokeObjectURL(i)}},[e.id,e.modifiedAt,r,t]),n?/* @__PURE__ */H("img",{src:n,alt:"",className:"h-full w-full object-cover",draggable:!1}):/* @__PURE__ */H(je,{entry:e,className:"h-10 w-10"})}function Te(){const n=w(),r=n.title??"Files",F=null!==m(),Z=!F&&!!n.shares&&!!n.sharedWithMe,[_,me]=I(null),[Te,Me]=I(null),[$e,Le]=I([]),[Ae,We]=I(()=>/* @__PURE__ */new Set),Re=J(null),[Fe,Ee]=I(!0),[Pe,ze]=I(!1),[Ke,Oe]=I(null),[Ue,Ie]=I(!1),[Je,Ye]=I(null),[Ge,Qe]=I(null),[Ve,Be]=I(null),[He,Xe]=I(be),[Ze,qe]=I(!1),[_e,et]=I(""),[tt,nt]=I(""),[at,rt]=I({}),[it,st]=I({key:"name",dir:"asc"}),[lt,ot]=I(()=>{const e=y();return"trash"===e?"trash":e?{desktopFolderId:e.folderId}:"files"}),ct=J("files"),dt=J(lt);dt.current=lt,Y(()=>{v()},[]);const[mt,ht]=I([]),ut=e=>{Xe(e);try{localStorage.setItem(ge,e)}catch{}},ft=G(e=>{ot(e),rt({}),st("recent"===e?{key:"modified",dir:"desc"}:{key:"name",dir:"asc"}),"search"!==e&&(et(""),nt(""))},[]);Y(()=>{const e=()=>{v(),ft("trash")},t=e=>{v();const t=e.detail?.folderId;t&&ft({desktopFolderId:t})};return window.addEventListener(b,e),window.addEventListener(x,t),()=>{window.removeEventListener(b,e),window.removeEventListener(x,t)}},[ft]);const pt=Q(N,C,C),gt="object"==typeof lt?lt.desktopFolderId:null,kt=gt?pt?.folders.find(e=>e.id===gt)??null:null,wt=gt&&pt?.itemsByFolder[gt]||[];Y(()=>{gt&&pt&&!pt.folders.some(e=>e.id===gt)&&ft("files")},[gt,pt,ft]);const yt=J(0),vt=J(null),bt=J(null),{openPage:xt,openEntity:Nt}=L(),Ct=i(),St=i(),jt=i(),Dt=Q(h,u,u);Y(()=>f(),[]),Y(()=>{!Dt||"trash"!==lt&&"object"!=typeof lt||ft("files")},[Dt,lt,ft]);const Tt=t=>{"preview-file"===t.entityType&&t.filePath&&t.fileKind?e({filePath:t.filePath,filename:t.label,kind:t.fileKind,onStaged:e=>xt(e)}):"page"===t.entityType?xt(t.entityId):Nt(t.entityType,t.entityId,null,t.label)},Mt=G(async()=>{if(!F)try{Oe(await n.quota())}catch{}},[n,F]),$t=G(async(e,t)=>{Ee(!0);try{await e(),ze(!1)}catch(e){e instanceof TypeError?ze(!0):U.error(Ce(e,t))}finally{Ee(!1)}},[]),Lt=G(async e=>{if(F)return Me(xe(e)),ze(!1),void Ee(!1);await $t(async()=>{Me(await n.list(e))},"Failed to list"),Mt()},[n,Mt,F,$t]),At=G(async(e,t)=>{if("search"===e&&!n.search){const e=t.toLowerCase(),a=F?xe(_):await n.list(_).catch(()=>null);return Le((a?.entries??[]).filter(t=>t.name.toLowerCase().includes(e))),void Ee(!1)}const a={recent:()=>n.recent?.()??Promise.resolve([]),starred:()=>n.starred?.()??Promise.resolve([]),shared:()=>n.sharedWithMe?.()??Promise.resolve([]),search:()=>n.search?.(t)??Promise.resolve([])}[e];await $t(async()=>{Le(await a())},"Failed to list files")},[n,F,_,$t]),Wt=G(async()=>{if(F)return ht([]),void Ee(!1);await $t(async()=>{ht(await n.trash())},"Failed to list trash"),Mt()},[n,Mt,F,$t]),Rt=()=>{"files"===lt?Lt(_):pe(lt)?At(lt,tt):"trash"===lt&&Wt()};Y(()=>{We(/* @__PURE__ */new Set),Re.current=null,Rt()},[_,lt,tt]),Y(()=>{const e=_e.trim();if(!e)return;const t=setTimeout(()=>{e===tt&&"search"===dt.current||("search"!==dt.current&&(ct.current=dt.current),ot("search"),rt({}),nt(e))},300);return()=>clearTimeout(t)},[_e]);const Ft=()=>{et(""),"search"===dt.current&&ft(ct.current)},Et=e=>{ft("files"),me(e)},Pt=async(e,t)=>{try{await e()}catch(e){U.error(Ce(e,t))}Rt()},zt=e=>Pt(async()=>{await n.restore(e.id),U.success(`Restored "${e.name}"`)},"Restore failed"),Kt=async e=>{await W({title:"Permanently delete",message:`"${e.name}" will be permanently removed. This can't be undone.`,confirmLabel:"Delete forever",variant:"danger"})&&Pt(()=>n.purge(e.id),"Delete failed")},Ot=async e=>{try{const t=await n.read(e.id),a=URL.createObjectURL(t),r=document.createElement("a");r.href=a,r.download=e.name,r.click(),setTimeout(()=>URL.revokeObjectURL(a),1e3)}catch(e){U.error(Ce(e,"Download failed"))}},Ut="files"===lt?Te?.folder??null:null,It=Ut?.role??"owner",Jt="owner"!==It,Yt="files"===lt?_:null,Gt=!F&&("files"!==lt||"viewer"!==It),Qt=!F&&"files"===lt&&"viewer"!==It,Vt=async(e,{withFolders:t=!1}={})=>{let a=0;for(const r of Array.from(e)){const e=r.webkitRelativePath??"",i=t?e.split("/").slice(0,-1).join("/"):"";try{await n.upload(Yt,r,i?{folderPath:i}:void 0),a++}catch(e){e instanceof M?U.error(Ne(r.name,e)):U.error(`Upload ${r.name}: ${Ce(e,"failed")}`)}}a>1&&U.success(`Uploaded ${a} files`),"files"===lt?Lt(_):Et(null)},Bt=async e=>{const t=ne(e),a=await R({title:`Rename ${e.kind}`,defaultValue:t,confirmLabel:"Rename"});a&&a!==t&&(/[\\/]/.test(a)?U.error("Names cannot contain slashes"):Pt(()=>n.rename(e.id,function(e,t){const n=e.officeKind?$[e.officeKind]:"";return n&&!t.toLowerCase().endsWith(n)?t+n:t}(e,a)),"Rename failed"))},Ht=async e=>{if(0===e.length)return;const t=1===e.length?e[0]:null,a=e.some(e=>"owner"!==(e.role??"owner")),r=t?(t.owner??Te?.folder.owner)?.name??"its owner":"their owners";await W({title:t?`Move ${t.kind} to trash`:`Move ${e.length} items to trash`,message:(t?`"${ne(t)}"${"folder"===t.kind?" and everything inside":""}`:`${e.length} items`)+" will move to "+(a?`${r}'s Trash.`:"Trash. You can restore it from there."),confirmLabel:"Move to trash",variant:"danger"})&&(await Pt(async()=>{for(const t of e)await n.remove(t.id)},"Delete failed"),U.success(t?`"${ne(t)}" moved to trash`:`${e.length} items moved to trash`))},Xt=(e,t)=>Pt(async()=>{for(const a of e)await n.setStarred(a.id,t)},t?"Star failed":"Unstar failed"),Zt=async(e,t)=>{Be(null);const a=e.filter(e=>e.id!==t);0!==a.length&&(await Pt(async()=>{for(const e of a)await n.move(e.id,t)},"Move failed"),U.success(1===a.length?`Moved "${ne(a[0])}"`:`Moved ${a.length} items`))},qt=()=>{yt.current=0,Ie(!1),Ye(null)};Y(()=>{const e=()=>qt();return window.addEventListener("dragend",e),window.addEventListener("drop",e),()=>{window.removeEventListener("dragend",e),window.removeEventListener("drop",e)}},[]);const _t="files"===lt?Te?.entries??[]:pe(lt)?$e:[],en=V(()=>le(de(_t,at),it),[_t,at,it]),tn=V(()=>new Map(en.map(e=>[e.id,e])),[en]),nn=[...Ae].map(e=>tn.get(e)).filter(e=>!!e),an=1===nn.length?nn[0]:null,rn=e=>e.role??("files"===lt?It:"owner"),sn=e=>!F&&"viewer"!==rn(e),ln=e=>Z&&"owner"===rn(e),on=e=>!!n.move&&sn(e),cn=(e,t)=>{if(Dt){const t=tn.get(e);if(t&&"file"===t.kind&&!mn(t))return;return void We(/* @__PURE__ */new Set([e]))}if(t.shiftKey&&Re.current){const t=en.map(e=>e.id),n=t.indexOf(Re.current),a=t.indexOf(e);if(n>=0&&a>=0)return void We(new Set(t.slice(Math.min(n,a),Math.max(n,a)+1)))}Re.current=e,t.metaKey||t.ctrlKey?We(t=>{const n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}):We(/* @__PURE__ */new Set([e]))},dn=()=>{We(/* @__PURE__ */new Set),Re.current=null},mn=e=>!!Dt&&"file"===e.kind&&g(Dt.request,e.name),hn=e=>Dt&&"file"===e.kind&&!mn(e)?"text-ink-faintest":"",un=e=>{if(!Dt||!mn(e))return;const t="files"===lt?Te?.folder:null,n=t?["owner"===t.role?"My files":"Shared with me",...t.path.filter(e=>null!==e.id).map(e=>e.name)].join(" › "):"shared"===lt?"Shared with me":"My files";p(Dt.id,{entry:e,folderId:"files"===lt?_:null,location:n})},fn=Dt&&an&&mn(an)?an:null,pn=t=>{"folder"===t.kind?Et(t.id):Dt?un(t):(async t=>{if(F)return;if(n.open?.(t))return;const a=ke[q(t.name)];a?await e({filePath:n.shortcutPath?.(t.id)??t.id,filename:t.name,kind:a,load:()=>n.read(t.id),onStaged:e=>xt(e)}):Ot(t)})(t)},gn=e=>{if(0===e.length)return[];const t=1===e.length?e[0]:null;if(Dt)return t&&("folder"===t.kind||mn(t))?[{key:"open",label:"Open",icon:/* @__PURE__ */H(z,{name:"external",className:"h-4 w-4"}),onSelect:()=>pn(t)}]:[];const a=t&&"file"===t.kind&&n.openLabel?.(t)||"Open",r=e.every(e=>"file"===e.kind),i=e.every(sn);if(F)return t?[{key:"open",label:"Open",icon:/* @__PURE__ */H(z,{name:"external",className:"h-4 w-4"}),onSelect:()=>pn(t)}]:[];const s=e.some(e=>!e.starred);return Se([...t?[{key:"open",label:a,icon:/* @__PURE__ */H(z,{name:"external",className:"h-4 w-4"}),onSelect:()=>pn(t)}]:[],{type:"divider",key:"d1"},...r?[{key:"download",label:"Download",icon:/* @__PURE__ */H(z,{name:"download",className:"h-4 w-4"}),onSelect:()=>{e.forEach(Ot)}}]:[],...t&&i?[{key:"rename",label:"Rename",icon:/* @__PURE__ */H(z,{name:"edit",className:"h-4 w-4"}),onSelect:()=>Bt(t)}]:[],...r&&n.copy?[{key:"copy",label:"Make a copy",icon:/* @__PURE__ */H(z,{name:"copy",className:"h-4 w-4"}),onSelect:()=>(e=>Pt(async()=>{for(const t of e)await n.copy(t.id);U.success(1===e.length?`Copied "${ne(e[0])}"`:`Copied ${e.length} files`)},"Copy failed"))(e)}]:[],{type:"divider",key:"d2"},...t&&ln(t)?[{key:"share",label:"Share",icon:/* @__PURE__ */H(z,{name:"add-person",className:"h-4 w-4"}),onSelect:()=>Qe(t)}]:[],...e.every(on)?[{key:"move",label:"Move",icon:/* @__PURE__ */H(z,{name:"forward",className:"h-4 w-4"}),onSelect:()=>Be(e)}]:[],...n.setStarred?[{key:"star",label:s?"Add to starred":"Remove from starred",icon:/* @__PURE__ */H(z,{name:"star",className:"h-4 w-4"}),onSelect:()=>Xt(e,s)}]:[],...t?[{key:"info",label:"File information",icon:/* @__PURE__ */H(z,{name:"info",className:"h-4 w-4"}),onSelect:()=>{We(/* @__PURE__ */new Set([t.id])),qe(!0)}}]:[],{type:"divider",key:"d3"},...i?[{key:"trash",label:"Move to trash",danger:!0,icon:/* @__PURE__ */H(z,{name:"trash",className:"h-4 w-4"}),onSelect:()=>Ht(e)}]:[]])},kn=(e,t)=>{const n=Ae.has(t.id)?nn:[t];Ct.open(e,n)&&!Ae.has(t.id)&&(We(/* @__PURE__ */new Set([t.id])),Re.current=t.id)},wn=e=>on(e)?{draggable:!0,onDragStart:t=>{const n=Ae.has(e.id)?nn:[e];t.dataTransfer.setData(ye,JSON.stringify(n.map(e=>e.id))),t.dataTransfer.effectAllowed="move"}}:{},yn=e=>"folder"===e.kind&&sn(e)&&n.move?{onDragOver:t=>{t.dataTransfer.types.includes(ye)&&(t.preventDefault(),t.stopPropagation(),Je!==e.id&&Ye(e.id))},onDragLeave:()=>{Je===e.id&&Ye(null)},onDrop:t=>{if(!t.dataTransfer.types.includes(ye))return;t.preventDefault(),t.stopPropagation(),Ye(null);const n=JSON.parse(t.dataTransfer.getData(ye)||"[]").map(e=>tn.get(e)).filter(t=>!!t&&t.id!==e.id);Zt(n,e.id)}}:{};if(Pe)/* @__PURE__ */
36
36
  return B("div",{className:"flex flex-col h-full bg-surface",children:[
37
- /* @__PURE__ */X(A,{title:`${r} - offline`}),
38
- /* @__PURE__ */X("div",{className:"flex-1 flex items-center justify-center p-8 text-center",children:/* @__PURE__ */B("div",{className:"max-w-md",children:[
39
- /* @__PURE__ */X(z,{name:"close-circle",tone:"muted",className:"h-12 w-12 mx-auto mb-3",strokeWidth:1.4}),S()?/* @__PURE__ */B(Z,{children:[
40
- /* @__PURE__ */X("h3",{className:"text-base font-semibold text-ink-strong mb-1",children:"Can't reach your files"}),
41
- /* @__PURE__ */X("p",{className:"text-sm text-ink-faint mb-3",children:"Check your connection and try again."})]}):/* @__PURE__ */B(Z,{children:[
42
- /* @__PURE__ */X("h3",{className:"text-base font-semibold text-ink-strong mb-1",children:"Can't reach the file server"}),
37
+ /* @__PURE__ */H(A,{title:`${r} - offline`}),
38
+ /* @__PURE__ */H("div",{className:"flex-1 flex items-center justify-center p-8 text-center",children:/* @__PURE__ */B("div",{className:"max-w-md",children:[
39
+ /* @__PURE__ */H(z,{name:"close-circle",tone:"muted",className:"h-12 w-12 mx-auto mb-3",strokeWidth:1.4}),S()?/* @__PURE__ */B(X,{children:[
40
+ /* @__PURE__ */H("h3",{className:"text-base font-semibold text-ink-strong mb-1",children:"Can't reach your files"}),
41
+ /* @__PURE__ */H("p",{className:"text-sm text-ink-faint mb-3",children:"Check your connection and try again."})]}):/* @__PURE__ */B(X,{children:[
42
+ /* @__PURE__ */H("h3",{className:"text-base font-semibold text-ink-strong mb-1",children:"Can't reach the file server"}),
43
43
  /* @__PURE__ */B("p",{className:"text-sm text-ink-faint mb-3",children:["No response from the file server. Make sure the server is running — see ",
44
- /* @__PURE__ */X("span",{className:"font-mono",children:"examples/file-server/README.md"}),"."]})]}),
45
- /* @__PURE__ */X(P,{variant:"primary",onClick:Rt,children:"Retry"})]})})]});const vn=Oe&&Oe.limit>0?Math.min(100,Math.round(Oe.used/Oe.limit*100)):0,bn=vn>90?"bg-danger":vn>75?"bg-warning":"bg-accent-fill",xn=[Jt?{label:"Shared with me",onClick:()=>ft("shared")}:{label:"My files",onClick:()=>Ft(null)},...(Ut?.path??[]).filter(e=>null!==e.id).map(e=>({label:e.name,onClick:()=>Ft(e.id)}))],Nn="recent"===lt?"Recent":"starred"===lt?"Starred":"shared"===lt?"Shared with me":"search"===lt?`Results for “${tt}”`:"trash"===lt?"Trash":kt?kt.name:null,Cn=Dt?`${r} - Choosing`:Nn?`${r} - ${"search"===lt?"Search":Nn}`:Ut&&null!==Ut.id?`${r} - ${Ut.name}`:r,Sn=e=>"flex w-full items-center gap-3 rounded-full px-3 min-h-(--row-height-menu) py-2 text-left text-sm transition-colors "+(e?"bg-accent-tint font-medium text-accent-text":"text-ink hover:bg-row-hover"),jn=Se([{key:"folder",label:"New folder",icon:/* @__PURE__ */X(z,{name:"folder-plus",className:"h-4 w-4"}),onSelect:async()=>{const e=await R({title:"New folder",placeholder:"Folder name",defaultValue:"Untitled folder",confirmLabel:"Create"});e&&(/[\\/]/.test(e)?U.error("Folder names cannot contain slashes"):(await Pt(()=>n.createFolder(Yt,e),"Create folder failed"),"files"!==lt&&Ft(null)))}},{type:"divider",key:"d1"},{key:"upload",label:"File upload",icon:/* @__PURE__ */X(z,{name:"upload",className:"h-4 w-4"}),onSelect:()=>vt.current?.click()},...n.folderUpload?[{key:"upload-folder",label:"Folder upload",icon:/* @__PURE__ */X(z,{name:"cloud-arrow-up",className:"h-4 w-4"}),onSelect:()=>bt.current?.click()}]:[],{type:"divider",key:"d2"},...n.createOfficeFile?we.filter(e=>!n.officeKinds||n.officeKinds.includes(e.kind)).map(e=>{const t=te["deck"===e.kind?"slides":e.kind];return{key:e.kind,label:e.label,icon:/* @__PURE__ */X(z,{name:t.name,tone:t.tone,className:"h-4 w-4"}),onSelect:()=>{Promise.resolve(n.createOfficeFile(e.kind,Yt)).catch(e=>U.error(Ce(e,"Could not create it")))}}}):[]]),Dn=/* @__PURE__ */B("div",{className:"flex h-full flex-col",children:[
46
- /* @__PURE__ */X("div",{className:"p-3 pb-2",children:/* @__PURE__ */X(o,{trigger:/* @__PURE__ */B(Z,{children:[
47
- /* @__PURE__ */X(z,{name:"add",className:"h-5 w-5"}),
48
- /* @__PURE__ */X("span",{children:"New"})]}),items:jn,align:"start","aria-label":"New",disabled:!Vt,triggerClassName:"inline-flex items-center gap-2 h-11 pl-4 pr-5 rounded-2xl bg-surface-raised border border-line shadow-sm text-sm font-medium text-ink-strong hover:bg-row-hover disabled:opacity-50 rosh-focus-ring focus-visible:ring-2"})}),
44
+ /* @__PURE__ */H("span",{className:"font-mono",children:"examples/file-server/README.md"}),"."]})]}),
45
+ /* @__PURE__ */H(P,{variant:"primary",onClick:Rt,children:"Retry"})]})})]});const vn=Ke&&Ke.limit>0?Math.min(100,Math.round(Ke.used/Ke.limit*100)):0,bn=vn>90?"bg-danger":vn>75?"bg-warning":"bg-accent-fill",xn=[Jt?{label:"Shared with me",onClick:()=>ft("shared")}:{label:"My files",onClick:()=>Et(null)},...(Ut?.path??[]).filter(e=>null!==e.id).map(e=>({label:e.name,onClick:()=>Et(e.id)}))],Nn="recent"===lt?"Recent":"starred"===lt?"Starred":"shared"===lt?"Shared with me":"search"===lt?`Results for “${tt}”`:"trash"===lt?"Trash":kt?kt.name:null,Cn=Dt?`${r} - Choosing`:Nn?`${r} - ${"search"===lt?"Search":Nn}`:Ut&&null!==Ut.id?`${r} - ${Ut.name}`:r,Sn=e=>"flex w-full items-center gap-3 rounded-full px-3 min-h-(--row-height-menu) py-2 text-left text-sm transition-colors "+(e?"bg-accent-tint font-medium text-accent-text":"text-ink hover:bg-row-hover"),jn=Se([{key:"folder",label:"New folder",icon:/* @__PURE__ */H(z,{name:"folder-plus",className:"h-4 w-4"}),onSelect:async()=>{const e=await R({title:"New folder",placeholder:"Folder name",defaultValue:"Untitled folder",confirmLabel:"Create"});e&&(/[\\/]/.test(e)?U.error("Folder names cannot contain slashes"):(await Pt(()=>n.createFolder(Yt,e),"Create folder failed"),"files"!==lt&&Et(null)))}},{type:"divider",key:"d1"},{key:"upload",label:"File upload",icon:/* @__PURE__ */H(z,{name:"upload",className:"h-4 w-4"}),onSelect:()=>vt.current?.click()},...n.folderUpload?[{key:"upload-folder",label:"Folder upload",icon:/* @__PURE__ */H(z,{name:"cloud-arrow-up",className:"h-4 w-4"}),onSelect:()=>bt.current?.click()}]:[],{type:"divider",key:"d2"},...n.createOfficeFile?we.filter(e=>!n.officeKinds||n.officeKinds.includes(e.kind)).map(e=>{const t=te["deck"===e.kind?"slides":e.kind];return{key:e.kind,label:e.label,icon:/* @__PURE__ */H(z,{name:t.name,tone:t.tone,className:"h-4 w-4"}),onSelect:()=>{Promise.resolve(n.createOfficeFile(e.kind,Yt)).catch(e=>U.error(Ce(e,"Could not create it")))}}}):[]]),Dn=/* @__PURE__ */B("div",{className:"flex h-full flex-col",children:[
46
+ /* @__PURE__ */H("div",{className:"p-3 pb-2",children:/* @__PURE__ */H(o,{trigger:/* @__PURE__ */B(X,{children:[
47
+ /* @__PURE__ */H(z,{name:"add",className:"h-5 w-5"}),
48
+ /* @__PURE__ */H("span",{children:"New"})]}),items:jn,align:"start","aria-label":"New",disabled:!Gt,triggerClassName:"inline-flex items-center gap-2 h-11 pl-4 pr-5 rounded-2xl bg-surface-raised border border-line shadow-sm text-sm font-medium text-ink-strong hover:bg-row-hover disabled:opacity-50 rosh-focus-ring focus-visible:ring-2"})}),
49
49
  /* @__PURE__ */B("nav",{className:"px-2 flex-1 overflow-auto","aria-label":"Locations",children:[
50
- /* @__PURE__ */B("button",{onClick:()=>Ft(null),className:Sn("files"===lt&&!Jt),children:[
51
- /* @__PURE__ */X(z,{name:"home",className:"h-4 w-4 shrink-0",strokeWidth:1.6}),"My files"]}),n.recent&&!E&&/* @__PURE__ */B("button",{onClick:()=>ft("recent"),className:Sn("recent"===lt),children:[
52
- /* @__PURE__ */X(z,{name:"clock",className:"h-4 w-4 shrink-0",strokeWidth:1.6}),"Recent"]}),n.starred&&!E&&/* @__PURE__ */B("button",{onClick:()=>ft("starred"),className:Sn("starred"===lt),children:[
53
- /* @__PURE__ */X(z,{name:"star",className:"h-4 w-4 shrink-0",strokeWidth:1.6}),"Starred"]}),H&&/* @__PURE__ */B("button",{onClick:()=>ft("shared"),className:Sn("shared"===lt||"files"===lt&&Jt),children:[
54
- /* @__PURE__ */X(z,{name:"team",className:"h-4 w-4 shrink-0",strokeWidth:1.6}),"Shared with me"]}),!E&&/* @__PURE__ */B("button",{onClick:()=>ft("trash"),className:Sn("trash"===lt),children:[
55
- /* @__PURE__ */X(z,{name:"trash",className:"h-4 w-4 shrink-0",strokeWidth:1.6}),"Trash"]}),pt&&pt.folders.length>0&&/* @__PURE__ */B(Z,{children:[
56
- /* @__PURE__ */X("div",{className:"px-3 pt-4 pb-1 text-2xs font-semibold uppercase tracking-wide text-ink-faintest",children:"Desktop"}),pt.folders.map(e=>/* @__PURE__ */B("button",{onClick:()=>ft({desktopFolderId:e.id}),className:Sn(gt===e.id),children:[
57
- /* @__PURE__ */X(j,{className:"h-4 w-4 shrink-0 text-amber-500"}),
58
- /* @__PURE__ */X("span",{className:"truncate",children:e.name}),
59
- /* @__PURE__ */X(F,{count:e.itemCount,active:gt===e.id,className:"ml-auto"})]},e.id))]})]}),Oe&&/* @__PURE__ */B("div",{className:"px-5 py-3 shrink-0",title:`${d(Oe.used)} of ${d(Oe.limit)} used`,children:[
60
- /* @__PURE__ */X("div",{className:"h-1 rounded-full bg-line overflow-hidden",children:/* @__PURE__ */X("div",{className:`h-full ${bn} transition-all`,style:{width:`${vn}%`}})}),
61
- /* @__PURE__ */B("div",{className:"mt-2 text-2xs text-ink-faint tabular-nums",children:[d(Oe.used)," of ",d(Oe.limit)," used"]})]})]}),Tn=(e,t)=>/* @__PURE__ */B("span",{className:"inline-flex items-center gap-1",children:[e,
62
- /* @__PURE__ */X(z,{name:"chevron-down",className:"h-3.5 w-3.5"}),t?"":null]}),Mn=e=>"inline-flex items-center h-7 px-3 rounded-(--radius-control) border text-xs whitespace-nowrap rosh-focus-ring focus-visible:ring-2 "+(e?"border-accent-border bg-accent-tint text-accent-text":"border-line-strong text-ink-muted hover:bg-row-hover"),$n=pe(lt)||"files"===lt,Ln=function(e){const t=/* @__PURE__ */new Map;for(const n of e)"owner"!==(n.role??"owner")&&n.owner&&t.set(n.owner.id,n.owner.name);return[...t].map(([e,t])=>({id:e,name:t})).sort((e,t)=>se.compare(e.name,t.name))}(_t),An=$n&&_t.length>0?/* @__PURE__ */B("div",{className:"flex items-center gap-2 shrink-0",children:[
63
- /* @__PURE__ */X(o,{trigger:Tn(at.type?ee[at.type]:"Type",!!at.type),"aria-label":"Type",triggerClassName:Mn(!!at.type),items:[...oe.map(e=>({type:"radio",key:e,label:ee[e],checked:at.type===e,onSelect:()=>rt(t=>({...t,type:t.type===e?null:e}))})),...at.type?[{type:"divider",key:"d"},{key:"clear",label:"Clear",onSelect:()=>rt(e=>({...e,type:null}))}]:[]]}),H&&/* @__PURE__ */X(o,{trigger:Tn(at.person?"me"===at.person?"Owned by me":Ln.find(e=>e.id===at.person)?.name??"People":"People",!!at.person),"aria-label":"People",triggerClassName:Mn(!!at.person),items:[{type:"radio",key:"me",label:"Owned by me",checked:"me"===at.person,onSelect:()=>rt(e=>({...e,person:"me"===e.person?null:"me"}))},...Ln.map(e=>({type:"radio",key:e.id,label:e.name,checked:at.person===e.id,onSelect:()=>rt(t=>({...t,person:t.person===e.id?null:e.id}))})),...at.person?[{type:"divider",key:"d"},{key:"clear",label:"Clear",onSelect:()=>rt(e=>({...e,person:null}))}]:[]]}),
64
- /* @__PURE__ */X(o,{trigger:Tn(at.modified?ce[at.modified]:"Modified",!!at.modified),"aria-label":"Modified",triggerClassName:Mn(!!at.modified),items:[...Object.keys(ce).map(e=>({type:"radio",key:e,label:ce[e],checked:at.modified===e,onSelect:()=>rt(t=>({...t,modified:t.modified===e?null:e}))})),...at.modified?[{type:"divider",key:"d"},{key:"clear",label:"Clear",onSelect:()=>rt(e=>({...e,modified:null}))}]:[]]})]}):null,Wn=$n&&nn.length>0&&!Dt?/* @__PURE__ */B("div",{className:"flex items-center gap-0.5 h-10 px-2 rounded-full bg-surface-sunken",role:"toolbar","aria-label":"Selection",children:[
65
- /* @__PURE__ */X(c,{"aria-label":"Clear selection",size:"sm",onClick:dn,children:/* @__PURE__ */X(z,{name:"close",className:"h-4 w-4"})}),
66
- /* @__PURE__ */B("span",{className:"text-sm text-ink mr-2 whitespace-nowrap",children:[nn.length," selected"]}),an&&ln(an)&&/* @__PURE__ */X(c,{"aria-label":"Share",size:"sm",onClick:()=>Ge(an),children:/* @__PURE__ */X(z,{name:"add-person",className:"h-4 w-4"})}),!E&&nn.every(e=>"file"===e.kind)&&/* @__PURE__ */X(c,{"aria-label":"Download",size:"sm",onClick:()=>nn.forEach(Kt),children:/* @__PURE__ */X(z,{name:"download",className:"h-4 w-4"})}),nn.every(on)&&/* @__PURE__ */X(c,{"aria-label":"Move",size:"sm",onClick:()=>Be(nn),children:/* @__PURE__ */X(z,{name:"forward",className:"h-4 w-4"})}),!E&&nn.every(sn)&&/* @__PURE__ */X(c,{"aria-label":"Move to trash",size:"sm",onClick:()=>Xt(nn),children:/* @__PURE__ */X(z,{name:"trash",className:"h-4 w-4"})}),
67
- /* @__PURE__ */X(o,{trigger:/* @__PURE__ */X(z,{name:"more-vertical",className:"h-4 w-4"}),"aria-label":"More actions",items:gn(nn)})]}):null,Rn=/* @__PURE__ */X("div",{className:"flex items-center gap-2 px-4 pb-2 min-h-12 shrink-0",children:Wn??/* @__PURE__ */B(Z,{children:[
68
- /* @__PURE__ */B("div",{className:"min-w-0 flex-1 flex items-center gap-2",children:["files"===lt?/* @__PURE__ */X("div",{className:"min-w-0 text-base [&_*]:text-base",children:/* @__PURE__ */X(a,{items:xn,maxItems:5})}):"trash"===lt?/* @__PURE__ */X("span",{className:"text-base font-medium text-ink-strong",children:"Trash"}):"object"==typeof lt?/* @__PURE__ */B(Z,{children:[
69
- /* @__PURE__ */X(j,{className:"h-4 w-4 text-amber-500 shrink-0"}),
70
- /* @__PURE__ */X("span",{className:"text-base font-medium text-ink-strong truncate",children:kt?.name??"Desktop folder"}),
71
- /* @__PURE__ */X("span",{className:"text-2xs text-ink-faintest whitespace-nowrap",children:"Desktop shortcuts"})]}):/* @__PURE__ */X("span",{className:"text-base font-medium text-ink-strong truncate",children:Nn}),"files"===lt&&Jt&&"viewer"===It&&/* @__PURE__ */B("span",{className:"shrink-0 inline-flex items-center gap-1 rounded-full bg-surface-sunken px-2 py-0.5 text-2xs text-ink-faint whitespace-nowrap",children:[
72
- /* @__PURE__ */X(z,{name:"eye",className:"h-3 w-3",strokeWidth:1.8}),"View only"]}),"files"===lt&&Jt&&Ut?.owner&&/* @__PURE__ */B("span",{className:"shrink-0 text-2xs text-ink-faint whitespace-nowrap",children:["Shared by ",Ut.owner.name]})]}),An,"trash"===lt&&/* @__PURE__ */X(P,{variant:"secondary-danger",size:"sm",onClick:async()=>{if(0===mt.length)return;await W({title:"Empty trash",message:`${mt.length} item${1===mt.length?"":"s"} will be permanently removed. This can't be undone.`,confirmLabel:"Empty trash",variant:"danger"})&&Pt(()=>n.emptyTrash(),"Empty trash failed")},disabled:0===mt.length,children:"Empty trash"})]})}),En=(e,t)=>Dt?null:/* @__PURE__ */B("div",{className:"flex items-center justify-end "+(t?"":"opacity-0 group-hover:opacity-100 group-focus-within:opacity-100"),children:[ln(e)&&/* @__PURE__ */X(c,{"aria-label":"Share",size:"sm",onClick:t=>{t.stopPropagation(),Ge(e)},children:/* @__PURE__ */X(z,{name:"add-person",className:"h-4 w-4"})}),!E&&"file"===e.kind&&/* @__PURE__ */X(c,{"aria-label":"Download",size:"sm",onClick:t=>{t.stopPropagation(),Kt(e)},children:/* @__PURE__ */X(z,{name:"download",className:"h-4 w-4"})}),n.setStarred&&!E&&/* @__PURE__ */X(c,{"aria-label":e.starred?"Remove from starred":"Add to starred","aria-pressed":!!e.starred,size:"sm",onClick:t=>{t.stopPropagation(),Zt([e],!e.starred)},children:/* @__PURE__ */X(z,{name:"star",look:e.starred?"solid":void 0,tone:e.starred?"warning":void 0,className:"h-4 w-4"})}),
73
- /* @__PURE__ */X("span",{onClick:e=>e.stopPropagation(),onDoubleClick:e=>e.stopPropagation(),children:/* @__PURE__ */X(o,{trigger:/* @__PURE__ */X(z,{name:"more-vertical",className:"h-4 w-4"}),"aria-label":"More actions",items:gn(Ae.has(e.id)&&nn.length>1?nn:[e])})})]}),Fn=e=>/* @__PURE__ */B("span",{className:"flex items-center gap-3 min-w-0",children:[
74
- /* @__PURE__ */X(je,{entry:e}),
75
- /* @__PURE__ */X("span",{className:"truncate",title:e.name,children:ne(e)}),!!e.shareCount&&/* @__PURE__ */X("span",{className:"shrink-0",role:"img","aria-label":"Shared with "+(1===e.shareCount?"1 person":`${e.shareCount} people`),title:"Shared with "+(1===e.shareCount?"1 person":`${e.shareCount} people`),children:/* @__PURE__ */X(z,{name:"team",tone:"muted",className:"h-3.5 w-3.5"})}),e.starred&&/* @__PURE__ */X("span",{className:"shrink-0",role:"img","aria-label":"Starred",title:"Starred",children:/* @__PURE__ */X(z,{name:"star",look:"solid",tone:"warning",className:"h-3.5 w-3.5"})})]}),Pn=(e,t,n)=>{const a=it.key===e;/* @__PURE__ */
76
- return X("th",{className:`${K} font-medium px-3 h-9 ${n}`,"aria-sort":a?"asc"===it.dir?"ascending":"descending":void 0,children:/* @__PURE__ */B("button",{type:"button",className:"inline-flex items-center gap-1 rounded hover:text-ink "+(a?"text-ink":""),onClick:()=>st(t=>({key:e,dir:t.key===e&&"asc"===t.dir?"desc":"asc"})),children:[t,a&&("asc"===it.dir?/* @__PURE__ */X(z,{name:"arrow-up",className:"h-3 w-3"}):/* @__PURE__ */X(z,{name:"arrow-down",className:"h-3 w-3"}))]})})},zn="recent"===lt?"Files you and your colleagues change show here.":"starred"===lt?"Star the files and folders you want to find quickly.":"shared"===lt?"Nothing has been shared with you yet. Files and folders colleagues share with you show here.":"search"===lt?`Nothing matches “${tt}”.`:null,On=0===en.length?Ee?/* @__PURE__ */X(O,{size:"sm",padding:"p-6",label:"Loading"}):/* @__PURE__ */X("div",{className:"p-10 text-center text-sm text-ink-faintest",children:_t.length>0?"Nothing matches these filters.":zn??/* @__PURE__ */B(Z,{children:["This folder is empty.",Gt&&/* @__PURE__ */B(Z,{children:[" Drop files here or choose ",
77
- /* @__PURE__ */X("span",{className:"font-medium",children:"New"}),"."]})]})}):"grid"===Xe?/* @__PURE__ */X("div",{className:"px-4 pb-4",children:["folder","file"].map(e=>{const t=en.filter(t=>t.kind===e);return 0===t.length?null:/* @__PURE__ */B("section",{className:"mb-4",children:[
78
- /* @__PURE__ */X("h3",{className:"text-xs font-medium text-ink-faint mb-2",children:"folder"===e?"Folders":"Files"}),
79
- /* @__PURE__ */X("div",{className:"grid gap-3",style:{gridTemplateColumns:"repeat(auto-fill, minmax(180px, 1fr))"},children:t.map(t=>{const a=Ae.has(t.id);/* @__PURE__ */
50
+ /* @__PURE__ */B("button",{onClick:()=>Et(null),className:Sn("files"===lt&&!Jt),children:[
51
+ /* @__PURE__ */H(z,{name:"home",className:"h-4 w-4 shrink-0",strokeWidth:1.6}),"My files"]}),n.recent&&!F&&/* @__PURE__ */B("button",{onClick:()=>ft("recent"),className:Sn("recent"===lt),children:[
52
+ /* @__PURE__ */H(z,{name:"clock",className:"h-4 w-4 shrink-0",strokeWidth:1.6}),"Recent"]}),n.starred&&!F&&/* @__PURE__ */B("button",{onClick:()=>ft("starred"),className:Sn("starred"===lt),children:[
53
+ /* @__PURE__ */H(z,{name:"star",className:"h-4 w-4 shrink-0",strokeWidth:1.6}),"Starred"]}),Z&&/* @__PURE__ */B("button",{onClick:()=>ft("shared"),className:Sn("shared"===lt||"files"===lt&&Jt),children:[
54
+ /* @__PURE__ */H(z,{name:"team",className:"h-4 w-4 shrink-0",strokeWidth:1.6}),"Shared with me"]}),!F&&/* @__PURE__ */B("button",{onClick:()=>ft("trash"),className:Sn("trash"===lt),children:[
55
+ /* @__PURE__ */H(z,{name:"trash",className:"h-4 w-4 shrink-0",strokeWidth:1.6}),"Trash"]}),pt&&pt.folders.length>0&&/* @__PURE__ */B(X,{children:[
56
+ /* @__PURE__ */H("div",{className:"px-3 pt-4 pb-1 text-2xs font-semibold uppercase tracking-wide text-ink-faintest",children:"Desktop"}),pt.folders.map(e=>/* @__PURE__ */B("button",{onClick:()=>ft({desktopFolderId:e.id}),className:Sn(gt===e.id),children:[
57
+ /* @__PURE__ */H(j,{className:"h-4 w-4 shrink-0 text-amber-500"}),
58
+ /* @__PURE__ */H("span",{className:"truncate",children:e.name}),
59
+ /* @__PURE__ */H(E,{count:e.itemCount,active:gt===e.id,className:"ml-auto"})]},e.id))]})]}),Ke&&/* @__PURE__ */B("div",{className:"px-5 py-3 shrink-0",title:`${d(Ke.used)} of ${d(Ke.limit)} used`,children:[
60
+ /* @__PURE__ */H("div",{className:"h-1 rounded-full bg-line overflow-hidden",children:/* @__PURE__ */H("div",{className:`h-full ${bn} transition-all`,style:{width:`${vn}%`}})}),
61
+ /* @__PURE__ */B("div",{className:"mt-2 text-2xs text-ink-faint tabular-nums",children:[d(Ke.used)," of ",d(Ke.limit)," used"]})]})]}),Tn=(e,t)=>/* @__PURE__ */B("span",{className:"inline-flex items-center gap-1",children:[e,
62
+ /* @__PURE__ */H(z,{name:"chevron-down",className:"h-3.5 w-3.5"}),t?"":null]}),Mn=e=>"inline-flex items-center h-7 px-3 rounded-(--radius-control) border text-xs whitespace-nowrap rosh-focus-ring focus-visible:ring-2 "+(e?"border-accent-border bg-accent-tint text-accent-text":"border-line-strong text-ink-muted hover:bg-row-hover"),$n=pe(lt)||"files"===lt,Ln=function(e){const t=/* @__PURE__ */new Map;for(const n of e)"owner"!==(n.role??"owner")&&n.owner&&t.set(n.owner.id,n.owner.name);return[...t].map(([e,t])=>({id:e,name:t})).sort((e,t)=>se.compare(e.name,t.name))}(_t),An=$n&&_t.length>0?/* @__PURE__ */B("div",{className:"flex items-center gap-2 shrink-0",children:[
63
+ /* @__PURE__ */H(o,{trigger:Tn(at.type?ee[at.type]:"Type",!!at.type),"aria-label":"Type",triggerClassName:Mn(!!at.type),items:[...oe.map(e=>({type:"radio",key:e,label:ee[e],checked:at.type===e,onSelect:()=>rt(t=>({...t,type:t.type===e?null:e}))})),...at.type?[{type:"divider",key:"d"},{key:"clear",label:"Clear",onSelect:()=>rt(e=>({...e,type:null}))}]:[]]}),Z&&/* @__PURE__ */H(o,{trigger:Tn(at.person?"me"===at.person?"Owned by me":Ln.find(e=>e.id===at.person)?.name??"People":"People",!!at.person),"aria-label":"People",triggerClassName:Mn(!!at.person),items:[{type:"radio",key:"me",label:"Owned by me",checked:"me"===at.person,onSelect:()=>rt(e=>({...e,person:"me"===e.person?null:"me"}))},...Ln.map(e=>({type:"radio",key:e.id,label:e.name,checked:at.person===e.id,onSelect:()=>rt(t=>({...t,person:t.person===e.id?null:e.id}))})),...at.person?[{type:"divider",key:"d"},{key:"clear",label:"Clear",onSelect:()=>rt(e=>({...e,person:null}))}]:[]]}),
64
+ /* @__PURE__ */H(o,{trigger:Tn(at.modified?ce[at.modified]:"Modified",!!at.modified),"aria-label":"Modified",triggerClassName:Mn(!!at.modified),items:[...Object.keys(ce).map(e=>({type:"radio",key:e,label:ce[e],checked:at.modified===e,onSelect:()=>rt(t=>({...t,modified:t.modified===e?null:e}))})),...at.modified?[{type:"divider",key:"d"},{key:"clear",label:"Clear",onSelect:()=>rt(e=>({...e,modified:null}))}]:[]]})]}):null,Wn=$n&&nn.length>0&&!Dt?/* @__PURE__ */B("div",{className:"flex items-center gap-0.5 h-10 px-2 rounded-full bg-surface-sunken",role:"toolbar","aria-label":"Selection",children:[
65
+ /* @__PURE__ */H(c,{"aria-label":"Clear selection",size:"sm",onClick:dn,children:/* @__PURE__ */H(z,{name:"close",className:"h-4 w-4"})}),
66
+ /* @__PURE__ */B("span",{className:"text-sm text-ink mr-2 whitespace-nowrap",children:[nn.length," selected"]}),an&&ln(an)&&/* @__PURE__ */H(c,{"aria-label":"Share",size:"sm",onClick:()=>Qe(an),children:/* @__PURE__ */H(z,{name:"add-person",className:"h-4 w-4"})}),!F&&nn.every(e=>"file"===e.kind)&&/* @__PURE__ */H(c,{"aria-label":"Download",size:"sm",onClick:()=>nn.forEach(Ot),children:/* @__PURE__ */H(z,{name:"download",className:"h-4 w-4"})}),nn.every(on)&&/* @__PURE__ */H(c,{"aria-label":"Move",size:"sm",onClick:()=>Be(nn),children:/* @__PURE__ */H(z,{name:"forward",className:"h-4 w-4"})}),!F&&nn.every(sn)&&/* @__PURE__ */H(c,{"aria-label":"Move to trash",size:"sm",onClick:()=>Ht(nn),children:/* @__PURE__ */H(z,{name:"trash",className:"h-4 w-4"})}),
67
+ /* @__PURE__ */H(o,{trigger:/* @__PURE__ */H(z,{name:"more-vertical",className:"h-4 w-4"}),"aria-label":"More actions",items:gn(nn)})]}):null,Rn=/* @__PURE__ */H("div",{className:"flex items-center gap-2 px-4 pb-2 min-h-12 shrink-0",children:Wn??/* @__PURE__ */B(X,{children:[
68
+ /* @__PURE__ */B("div",{className:"min-w-0 flex-1 flex items-center gap-2",children:["files"===lt?/* @__PURE__ */H("div",{className:"min-w-0 text-base [&_*]:text-base",children:/* @__PURE__ */H(a,{items:xn,maxItems:5})}):"trash"===lt?/* @__PURE__ */H("span",{className:"text-base font-medium text-ink-strong",children:"Trash"}):"object"==typeof lt?/* @__PURE__ */B(X,{children:[
69
+ /* @__PURE__ */H(j,{className:"h-4 w-4 text-amber-500 shrink-0"}),
70
+ /* @__PURE__ */H("span",{className:"text-base font-medium text-ink-strong truncate",children:kt?.name??"Desktop folder"}),
71
+ /* @__PURE__ */H("span",{className:"text-2xs text-ink-faintest whitespace-nowrap",children:"Desktop shortcuts"})]}):/* @__PURE__ */H("span",{className:"text-base font-medium text-ink-strong truncate",children:Nn}),"files"===lt&&Jt&&"viewer"===It&&/* @__PURE__ */B("span",{className:"shrink-0 inline-flex items-center gap-1 rounded-full bg-surface-sunken px-2 py-0.5 text-2xs text-ink-faint whitespace-nowrap",children:[
72
+ /* @__PURE__ */H(z,{name:"eye",className:"h-3 w-3",strokeWidth:1.8}),"View only"]}),"files"===lt&&Jt&&Ut?.owner&&/* @__PURE__ */B("span",{className:"shrink-0 text-2xs text-ink-faint whitespace-nowrap",children:["Shared by ",Ut.owner.name]})]}),An,"trash"===lt&&/* @__PURE__ */H(P,{variant:"secondary-danger",size:"sm",onClick:async()=>{if(0===mt.length)return;await W({title:"Empty trash",message:`${mt.length} item${1===mt.length?"":"s"} will be permanently removed. This can't be undone.`,confirmLabel:"Empty trash",variant:"danger"})&&Pt(()=>n.emptyTrash(),"Empty trash failed")},disabled:0===mt.length,children:"Empty trash"})]})}),Fn=(e,t)=>Dt?null:/* @__PURE__ */B("div",{className:"flex items-center justify-end "+(t?"":"opacity-0 group-hover:opacity-100 group-focus-within:opacity-100"),children:[ln(e)&&/* @__PURE__ */H(c,{"aria-label":"Share",size:"sm",onClick:t=>{t.stopPropagation(),Qe(e)},children:/* @__PURE__ */H(z,{name:"add-person",className:"h-4 w-4"})}),!F&&"file"===e.kind&&/* @__PURE__ */H(c,{"aria-label":"Download",size:"sm",onClick:t=>{t.stopPropagation(),Ot(e)},children:/* @__PURE__ */H(z,{name:"download",className:"h-4 w-4"})}),n.setStarred&&!F&&/* @__PURE__ */H(c,{"aria-label":e.starred?"Remove from starred":"Add to starred","aria-pressed":!!e.starred,size:"sm",onClick:t=>{t.stopPropagation(),Xt([e],!e.starred)},children:/* @__PURE__ */H(z,{name:"star",look:e.starred?"solid":void 0,tone:e.starred?"warning":void 0,className:"h-4 w-4"})}),
73
+ /* @__PURE__ */H("span",{onClick:e=>e.stopPropagation(),onDoubleClick:e=>e.stopPropagation(),children:/* @__PURE__ */H(o,{trigger:/* @__PURE__ */H(z,{name:"more-vertical",className:"h-4 w-4"}),"aria-label":"More actions",items:gn(Ae.has(e.id)&&nn.length>1?nn:[e])})})]}),En=e=>/* @__PURE__ */B("span",{className:"flex items-center gap-3 min-w-0",children:[
74
+ /* @__PURE__ */H(je,{entry:e}),
75
+ /* @__PURE__ */H("span",{className:"truncate",title:e.name,children:ne(e)}),!!e.shareCount&&/* @__PURE__ */H("span",{className:"shrink-0",role:"img","aria-label":"Shared with "+(1===e.shareCount?"1 person":`${e.shareCount} people`),title:"Shared with "+(1===e.shareCount?"1 person":`${e.shareCount} people`),children:/* @__PURE__ */H(z,{name:"team",tone:"muted",className:"h-3.5 w-3.5"})}),e.starred&&/* @__PURE__ */H("span",{className:"shrink-0",role:"img","aria-label":"Starred",title:"Starred",children:/* @__PURE__ */H(z,{name:"star",look:"solid",tone:"warning",className:"h-3.5 w-3.5"})})]}),Pn=(e,t,n)=>{const a=it.key===e;/* @__PURE__ */
76
+ return H("th",{className:`${O} font-medium px-3 h-9 ${n}`,"aria-sort":a?"asc"===it.dir?"ascending":"descending":void 0,children:/* @__PURE__ */B("button",{type:"button",className:"inline-flex items-center gap-1 rounded hover:text-ink "+(a?"text-ink":""),onClick:()=>st(t=>({key:e,dir:t.key===e&&"asc"===t.dir?"desc":"asc"})),children:[t,a&&("asc"===it.dir?/* @__PURE__ */H(z,{name:"arrow-up",className:"h-3 w-3"}):/* @__PURE__ */H(z,{name:"arrow-down",className:"h-3 w-3"}))]})})},zn="recent"===lt?"Files you and your colleagues change show here.":"starred"===lt?"Star the files and folders you want to find quickly.":"shared"===lt?"Nothing has been shared with you yet. Files and folders colleagues share with you show here.":"search"===lt?`Nothing matches “${tt}”.`:null,Kn=0===en.length?Fe?/* @__PURE__ */H(K,{size:"sm",padding:"p-6",label:"Loading"}):/* @__PURE__ */H("div",{className:"p-10 text-center text-sm text-ink-faintest",children:_t.length>0?"Nothing matches these filters.":zn??/* @__PURE__ */B(X,{children:["This folder is empty.",Qt&&/* @__PURE__ */B(X,{children:[" Drop files here or choose ",
77
+ /* @__PURE__ */H("span",{className:"font-medium",children:"New"}),"."]})]})}):"grid"===He?/* @__PURE__ */H("div",{className:"px-4 pb-4",children:["folder","file"].map(e=>{const t=en.filter(t=>t.kind===e);return 0===t.length?null:/* @__PURE__ */B("section",{className:"mb-4",children:[
78
+ /* @__PURE__ */H("h3",{className:"text-xs font-medium text-ink-faint mb-2",children:"folder"===e?"Folders":"Files"}),
79
+ /* @__PURE__ */H("div",{className:"grid gap-3",style:{gridTemplateColumns:"repeat(auto-fill, minmax(180px, 1fr))"},children:t.map(t=>{const a=Ae.has(t.id);/* @__PURE__ */
80
80
  return B("div",{role:"button",tabIndex:0,"aria-pressed":a,"aria-label":ne(t),onClick:e=>cn(t.id,e),onDoubleClick:()=>pn(t),onContextMenu:e=>kn(e,t),...wn(t),...yn(t),className:"group rounded-xl border cursor-default select-none outline-none focus-visible:ring-2 focus-visible:ring-accent-border "+(a||Je===t.id?"border-accent-border bg-accent-tint":"border-line bg-surface-sunken hover:bg-row-hover"),children:[
81
81
  /* @__PURE__ */B("div",{className:"flex items-center gap-2 pl-3 pr-1 h-11",children:[
82
- /* @__PURE__ */X(je,{entry:t,className:"h-4 w-4"}),
83
- /* @__PURE__ */X("span",{className:"flex-1 truncate text-sm",title:t.name,children:ne(t)}),
84
- /* @__PURE__ */X("span",{onClick:e=>e.stopPropagation(),onDoubleClick:e=>e.stopPropagation(),children:/* @__PURE__ */X(o,{trigger:/* @__PURE__ */X(z,{name:"more-vertical",className:"h-4 w-4"}),"aria-label":"More actions",items:gn(a&&nn.length>1?nn:[t])})})]}),"file"===e&&/* @__PURE__ */B(Z,{children:[
85
- /* @__PURE__ */X("div",{className:"mx-2 h-28 rounded-lg bg-surface flex items-center justify-center overflow-hidden",children:/* @__PURE__ */X(De,{entry:t,read:E?void 0:n.read})}),
82
+ /* @__PURE__ */H(je,{entry:t,className:"h-4 w-4"}),
83
+ /* @__PURE__ */H("span",{className:"flex-1 truncate text-sm",title:t.name,children:ne(t)}),
84
+ /* @__PURE__ */H("span",{onClick:e=>e.stopPropagation(),onDoubleClick:e=>e.stopPropagation(),children:/* @__PURE__ */H(o,{trigger:/* @__PURE__ */H(z,{name:"more-vertical",className:"h-4 w-4"}),"aria-label":"More actions",items:gn(a&&nn.length>1?nn:[t])})})]}),"file"===e&&/* @__PURE__ */B(X,{children:[
85
+ /* @__PURE__ */H("div",{className:"mx-2 h-28 rounded-lg bg-surface flex items-center justify-center overflow-hidden",children:/* @__PURE__ */H(De,{entry:t,read:F?void 0:n.read})}),
86
86
  /* @__PURE__ */B("div",{className:"px-3 py-2 text-2xs text-ink-faint truncate",children:["me"===ie(t)?"You":ie(t)," · ",re(t.modifiedAt)]})]})]},t.id)})})]},e)})}):/* @__PURE__ */B("table",{className:"w-full text-sm table-fixed",children:[
87
- /* @__PURE__ */X("thead",{className:"text-xs text-ink-faint border-b border-line",children:/* @__PURE__ */B("tr",{children:[Pn("name","Name","text-left"),H&&Pn("owner","Owner","text-left w-32"),Pn("modified","Modified","text-left w-28"),Pn("size","Size","text-right w-20"),
88
- /* @__PURE__ */X("th",{className:`${K} w-32`,children:/* @__PURE__ */X("span",{className:"sr-only",children:"Actions"})})]})}),
89
- /* @__PURE__ */X("tbody",{children:en.map(e=>{const t=Ae.has(e.id);/* @__PURE__ */
87
+ /* @__PURE__ */H("thead",{className:"text-xs text-ink-faint border-b border-line",children:/* @__PURE__ */B("tr",{children:[Pn("name","Name","text-left"),Z&&Pn("owner","Owner","text-left w-32"),Pn("modified","Modified","text-left w-28"),Pn("size","Size","text-right w-20"),
88
+ /* @__PURE__ */H("th",{className:`${O} w-32`,children:/* @__PURE__ */H("span",{className:"sr-only",children:"Actions"})})]})}),
89
+ /* @__PURE__ */H("tbody",{children:en.map(e=>{const t=Ae.has(e.id);/* @__PURE__ */
90
90
  return B("tr",{"aria-selected":t,onClick:t=>cn(e.id,t),onDoubleClick:()=>pn(e),onContextMenu:t=>kn(t,e),...wn(e),...yn(e),className:`group cursor-default select-none border-b border-line-subtle ${hn(e)} ${t||Je===e.id?"bg-accent-tint":"hover:bg-row-hover"}`,children:[
91
- /* @__PURE__ */X("td",{className:"px-3 h-11",children:Fn(e)}),H&&/* @__PURE__ */X("td",{className:"px-3 h-11 text-ink-faint truncate",children:ie(e)}),
92
- /* @__PURE__ */X("td",{className:"px-3 h-11 text-ink-faint whitespace-nowrap",title:ve(e.modifiedAt),children:re(e.modifiedAt)}),
93
- /* @__PURE__ */X("td",{className:"px-3 h-11 text-right tabular-nums text-ink-faint whitespace-nowrap",children:Dt&&"file"===e.kind&&!mn(e)&&Dt.request.otherLabel?Dt.request.otherLabel:ae(e)}),
94
- /* @__PURE__ */X("td",{className:"px-2 h-11",children:En(e,t)})]},e.id)})})]}),Kn=Ee&&0===mt.length?/* @__PURE__ */X(O,{size:"sm",padding:"p-6",label:"Loading"}):0===mt.length?/* @__PURE__ */X("div",{className:"p-10 text-center text-sm text-ink-faintest",children:"Trash is empty. What you delete stays here for 30 days."}):/* @__PURE__ */B("table",{className:"w-full text-sm table-fixed",children:[
95
- /* @__PURE__ */X("thead",{className:"text-xs text-ink-faint border-b border-line",children:/* @__PURE__ */B("tr",{children:[
96
- /* @__PURE__ */X("th",{className:`${K} text-left font-medium px-3 h-9`,children:"Name"}),
97
- /* @__PURE__ */X("th",{className:`${K} text-left font-medium px-3 h-9 w-48`,children:"Original location"}),
98
- /* @__PURE__ */X("th",{className:`${K} text-left font-medium px-3 h-9 w-32`,children:"Deleted"}),
99
- /* @__PURE__ */X("th",{className:`${K} text-right font-medium px-3 h-9 w-24`,children:"Size"}),
100
- /* @__PURE__ */X("th",{className:`${K} w-28`,children:/* @__PURE__ */X("span",{className:"sr-only",children:"Actions"})})]})}),
101
- /* @__PURE__ */X("tbody",{children:mt.map(e=>/* @__PURE__ */B("tr",{className:"group border-b border-line-subtle hover:bg-row-hover",onContextMenu:t=>St.open(t,e),children:[
102
- /* @__PURE__ */X("td",{className:"px-3 h-11",children:/* @__PURE__ */B("span",{className:"flex items-center gap-3 min-w-0",children:[
103
- /* @__PURE__ */X(je,{entry:e}),
104
- /* @__PURE__ */X("span",{className:"truncate",title:e.name,children:e.name})]})}),
105
- /* @__PURE__ */X("td",{className:"px-3 h-11 text-ink-faint text-xs truncate",title:e.originalPath,children:e.originalPath||"—"}),
106
- /* @__PURE__ */X("td",{className:"px-3 h-11 text-ink-faint whitespace-nowrap",title:e.deletedAt?ve(e.deletedAt):void 0,children:e.deletedAt?re(e.deletedAt):"—"}),
107
- /* @__PURE__ */X("td",{className:"px-3 h-11 text-right tabular-nums text-ink-faint",children:"folder"===e.kind?"—":d(e.size)}),
108
- /* @__PURE__ */X("td",{className:"px-2 h-11",children:/* @__PURE__ */B("div",{className:"flex justify-end opacity-0 group-hover:opacity-100 group-focus-within:opacity-100",children:[
109
- /* @__PURE__ */X(c,{"aria-label":"Restore",size:"sm",onClick:()=>zt(e),children:/* @__PURE__ */X(z,{name:"revert",className:"h-4 w-4"})}),
110
- /* @__PURE__ */X(c,{"aria-label":"Delete forever",size:"sm",variant:"ghost-danger",onClick:()=>Ot(e),children:/* @__PURE__ */X(z,{name:"trash",className:"h-4 w-4"})})]})})]},e.id))})]}),Un=0===wt.length?/* @__PURE__ */X("div",{className:"p-10 text-center text-sm text-ink-faintest",children:"This desktop folder is empty. Drag shortcuts onto it on the desktop."}):/* @__PURE__ */B("table",{className:"w-full text-sm table-fixed",children:[
111
- /* @__PURE__ */X("thead",{className:"text-xs text-ink-faint border-b border-line",children:/* @__PURE__ */B("tr",{children:[
112
- /* @__PURE__ */X("th",{className:`${K} text-left font-medium px-3 h-9`,children:"Name"}),
113
- /* @__PURE__ */X("th",{className:`${K} text-left font-medium px-3 h-9 w-32`,children:"Type"}),
114
- /* @__PURE__ */X("th",{className:`${K} w-32`,children:/* @__PURE__ */X("span",{className:"sr-only",children:"Actions"})})]})}),
115
- /* @__PURE__ */X("tbody",{children:wt.map(e=>/* @__PURE__ */B("tr",{onDoubleClick:()=>Tt(e),onContextMenu:t=>jt.open(t,e),className:"group cursor-default border-b border-line-subtle hover:bg-row-hover",children:[
116
- /* @__PURE__ */X("td",{className:"px-3 h-11",children:/* @__PURE__ */B("span",{className:"flex items-center gap-3 min-w-0",children:[
117
- /* @__PURE__ */X(D,{item:e}),
118
- /* @__PURE__ */X("span",{className:"truncate",title:e.label,children:e.label})]})}),
119
- /* @__PURE__ */X("td",{className:"px-3 h-11 text-xs text-ink-faint",children:T(e)}),
120
- /* @__PURE__ */X("td",{className:"px-2 h-11",children:/* @__PURE__ */B("div",{className:"flex justify-end opacity-0 group-hover:opacity-100 group-focus-within:opacity-100",children:[
121
- /* @__PURE__ */X(c,{"aria-label":"Open",size:"sm",onClick:()=>Tt(e),children:/* @__PURE__ */X(z,{name:"external",className:"h-4 w-4"})}),
122
- /* @__PURE__ */X(c,{"aria-label":"Move to desktop",size:"sm",onClick:()=>pt?.moveToDesktop([e]),children:/* @__PURE__ */X(z,{name:"desktop",className:"h-4 w-4"})}),
123
- /* @__PURE__ */X(c,{"aria-label":"Remove",size:"sm",variant:"ghost-danger",onClick:()=>pt?.removeShortcuts([e]),children:/* @__PURE__ */X(z,{name:"close",className:"h-4 w-4"})})]})})]},`${e.entityType}|${e.entityId}`))})]});/* @__PURE__ */
124
- return B("div",{className:"relative flex flex-col h-full bg-surface",onDragEnter:e=>{Gt&&e.dataTransfer?.types?.includes?.("Files")&&(e.preventDefault(),yt.current++,Ue||Ie(!0))},onDragOver:e=>{e.dataTransfer?.types?.includes?.("Files")&&e.preventDefault()},onDragLeave:()=>{yt.current>0&&yt.current--,0===yt.current&&Ie(!1)},onDrop:e=>{e.dataTransfer?.types?.includes?.("Files")&&(e.preventDefault(),qt(),Gt&&e.dataTransfer.files?.length&&Qt(e.dataTransfer.files))},children:[
125
- /* @__PURE__ */X(A,{title:Cn}),
126
- /* @__PURE__ */X(k,{app:"files"}),
127
- /* @__PURE__ */X("input",{ref:vt,type:"file",multiple:!0,className:"hidden",onChange:e=>{e.target.files?.length&&Qt(e.target.files),vt.current&&(vt.current.value="")}}),
128
- /* @__PURE__ */X("input",{ref:e=>{bt.current=e,e?.setAttribute("webkitdirectory","")},type:"file",multiple:!0,className:"hidden",onChange:e=>{e.target.files?.length&&Qt(e.target.files,{withFolders:!0}),bt.current&&(bt.current.value="")}}),
129
- /* @__PURE__ */X("div",{className:"flex-1 min-h-0",children:/* @__PURE__ */X(t,{sidebar:Dn,storageKey:"files.sidebarWidth",defaultWidth:220,minWidth:170,maxWidth:320,children:/* @__PURE__ */B("div",{className:"flex h-full min-w-0",children:[
91
+ /* @__PURE__ */H("td",{className:"px-3 h-11",children:En(e)}),Z&&/* @__PURE__ */H("td",{className:"px-3 h-11 text-ink-faint truncate",children:ie(e)}),
92
+ /* @__PURE__ */H("td",{className:"px-3 h-11 text-ink-faint whitespace-nowrap",title:ve(e.modifiedAt),children:re(e.modifiedAt)}),
93
+ /* @__PURE__ */H("td",{className:"px-3 h-11 text-right tabular-nums text-ink-faint whitespace-nowrap",children:Dt&&"file"===e.kind&&!mn(e)&&Dt.request.otherLabel?Dt.request.otherLabel:ae(e)}),
94
+ /* @__PURE__ */H("td",{className:"px-2 h-11",children:Fn(e,t)})]},e.id)})})]}),On=Fe&&0===mt.length?/* @__PURE__ */H(K,{size:"sm",padding:"p-6",label:"Loading"}):0===mt.length?/* @__PURE__ */H("div",{className:"p-10 text-center text-sm text-ink-faintest",children:"Trash is empty. What you delete stays here for 30 days."}):/* @__PURE__ */B("table",{className:"w-full text-sm table-fixed",children:[
95
+ /* @__PURE__ */H("thead",{className:"text-xs text-ink-faint border-b border-line",children:/* @__PURE__ */B("tr",{children:[
96
+ /* @__PURE__ */H("th",{className:`${O} text-left font-medium px-3 h-9`,children:"Name"}),
97
+ /* @__PURE__ */H("th",{className:`${O} text-left font-medium px-3 h-9 w-48`,children:"Original location"}),
98
+ /* @__PURE__ */H("th",{className:`${O} text-left font-medium px-3 h-9 w-32`,children:"Deleted"}),
99
+ /* @__PURE__ */H("th",{className:`${O} text-right font-medium px-3 h-9 w-24`,children:"Size"}),
100
+ /* @__PURE__ */H("th",{className:`${O} w-28`,children:/* @__PURE__ */H("span",{className:"sr-only",children:"Actions"})})]})}),
101
+ /* @__PURE__ */H("tbody",{children:mt.map(e=>/* @__PURE__ */B("tr",{className:"group border-b border-line-subtle hover:bg-row-hover",onContextMenu:t=>St.open(t,e),children:[
102
+ /* @__PURE__ */H("td",{className:"px-3 h-11",children:/* @__PURE__ */B("span",{className:"flex items-center gap-3 min-w-0",children:[
103
+ /* @__PURE__ */H(je,{entry:e}),
104
+ /* @__PURE__ */H("span",{className:"truncate",title:e.name,children:e.name})]})}),
105
+ /* @__PURE__ */H("td",{className:"px-3 h-11 text-ink-faint text-xs truncate",title:e.originalPath,children:e.originalPath||"—"}),
106
+ /* @__PURE__ */H("td",{className:"px-3 h-11 text-ink-faint whitespace-nowrap",title:e.deletedAt?ve(e.deletedAt):void 0,children:e.deletedAt?re(e.deletedAt):"—"}),
107
+ /* @__PURE__ */H("td",{className:"px-3 h-11 text-right tabular-nums text-ink-faint",children:"folder"===e.kind?"—":d(e.size)}),
108
+ /* @__PURE__ */H("td",{className:"px-2 h-11",children:/* @__PURE__ */B("div",{className:"flex justify-end opacity-0 group-hover:opacity-100 group-focus-within:opacity-100",children:[
109
+ /* @__PURE__ */H(c,{"aria-label":"Restore",size:"sm",onClick:()=>zt(e),children:/* @__PURE__ */H(z,{name:"revert",className:"h-4 w-4"})}),
110
+ /* @__PURE__ */H(c,{"aria-label":"Delete forever",size:"sm",variant:"ghost-danger",onClick:()=>Kt(e),children:/* @__PURE__ */H(z,{name:"trash",className:"h-4 w-4"})})]})})]},e.id))})]}),Un=0===wt.length?/* @__PURE__ */H("div",{className:"p-10 text-center text-sm text-ink-faintest",children:"This desktop folder is empty. Drag shortcuts onto it on the desktop."}):/* @__PURE__ */B("table",{className:"w-full text-sm table-fixed",children:[
111
+ /* @__PURE__ */H("thead",{className:"text-xs text-ink-faint border-b border-line",children:/* @__PURE__ */B("tr",{children:[
112
+ /* @__PURE__ */H("th",{className:`${O} text-left font-medium px-3 h-9`,children:"Name"}),
113
+ /* @__PURE__ */H("th",{className:`${O} text-left font-medium px-3 h-9 w-32`,children:"Type"}),
114
+ /* @__PURE__ */H("th",{className:`${O} w-32`,children:/* @__PURE__ */H("span",{className:"sr-only",children:"Actions"})})]})}),
115
+ /* @__PURE__ */H("tbody",{children:wt.map(e=>/* @__PURE__ */B("tr",{onDoubleClick:()=>Tt(e),onContextMenu:t=>jt.open(t,e),className:"group cursor-default border-b border-line-subtle hover:bg-row-hover",children:[
116
+ /* @__PURE__ */H("td",{className:"px-3 h-11",children:/* @__PURE__ */B("span",{className:"flex items-center gap-3 min-w-0",children:[
117
+ /* @__PURE__ */H(D,{item:e}),
118
+ /* @__PURE__ */H("span",{className:"truncate",title:e.label,children:e.label})]})}),
119
+ /* @__PURE__ */H("td",{className:"px-3 h-11 text-xs text-ink-faint",children:T(e)}),
120
+ /* @__PURE__ */H("td",{className:"px-2 h-11",children:/* @__PURE__ */B("div",{className:"flex justify-end opacity-0 group-hover:opacity-100 group-focus-within:opacity-100",children:[
121
+ /* @__PURE__ */H(c,{"aria-label":"Open",size:"sm",onClick:()=>Tt(e),children:/* @__PURE__ */H(z,{name:"external",className:"h-4 w-4"})}),
122
+ /* @__PURE__ */H(c,{"aria-label":"Move to desktop",size:"sm",onClick:()=>pt?.moveToDesktop([e]),children:/* @__PURE__ */H(z,{name:"desktop",className:"h-4 w-4"})}),
123
+ /* @__PURE__ */H(c,{"aria-label":"Remove",size:"sm",variant:"ghost-danger",onClick:()=>pt?.removeShortcuts([e]),children:/* @__PURE__ */H(z,{name:"close",className:"h-4 w-4"})})]})})]},`${e.entityType}|${e.entityId}`))})]});/* @__PURE__ */
124
+ return B("div",{className:"relative flex flex-col h-full bg-surface",onDragEnter:e=>{Qt&&e.dataTransfer?.types?.includes?.("Files")&&(e.preventDefault(),yt.current++,Ue||Ie(!0))},onDragOver:e=>{e.dataTransfer?.types?.includes?.("Files")&&e.preventDefault()},onDragLeave:()=>{yt.current>0&&yt.current--,0===yt.current&&Ie(!1)},onDrop:e=>{e.dataTransfer?.types?.includes?.("Files")&&(e.preventDefault(),qt(),Qt&&e.dataTransfer.files?.length&&Vt(e.dataTransfer.files))},children:[
125
+ /* @__PURE__ */H(A,{title:Cn}),
126
+ /* @__PURE__ */H(k,{app:"files"}),
127
+ /* @__PURE__ */H("input",{ref:vt,type:"file",multiple:!0,className:"hidden",onChange:e=>{e.target.files?.length&&Vt(e.target.files),vt.current&&(vt.current.value="")}}),
128
+ /* @__PURE__ */H("input",{ref:e=>{bt.current=e,e?.setAttribute("webkitdirectory","")},type:"file",multiple:!0,className:"hidden",onChange:e=>{e.target.files?.length&&Vt(e.target.files,{withFolders:!0}),bt.current&&(bt.current.value="")}}),
129
+ /* @__PURE__ */H("div",{className:"flex-1 min-h-0",children:/* @__PURE__ */H(t,{sidebar:Dn,storageKey:"files.sidebarWidth",defaultWidth:220,minWidth:170,maxWidth:320,children:/* @__PURE__ */B("div",{className:"flex h-full min-w-0",children:[
130
130
  /* @__PURE__ */B("div",{className:"flex flex-1 min-w-0 flex-col",children:[Dt&&/* @__PURE__ */B("div",{className:"flex items-center gap-2 px-4 py-2 border-b border-line bg-accent-tint text-accent-text text-sm shrink-0",role:"status",children:[
131
- /* @__PURE__ */X(z,{name:"cursor",className:"h-4 w-4 shrink-0",strokeWidth:1.6}),
132
- /* @__PURE__ */X("span",{className:"flex-1 min-w-0 truncate",children:Dt.request.title}),
133
- /* @__PURE__ */X(P,{variant:"secondary",size:"sm",onClick:()=>p(Dt.id,null),children:"Cancel"}),
134
- /* @__PURE__ */X(P,{variant:"primary",size:"sm",disabled:!fn,onClick:()=>{fn&&un(fn)},children:"Open"})]}),
131
+ /* @__PURE__ */H(z,{name:"cursor",className:"h-4 w-4 shrink-0",strokeWidth:1.6}),
132
+ /* @__PURE__ */H("span",{className:"flex-1 min-w-0 truncate",children:Dt.request.title}),
133
+ /* @__PURE__ */H(P,{variant:"secondary",size:"sm",onClick:()=>p(Dt.id,null),children:"Cancel"}),
134
+ /* @__PURE__ */H(P,{variant:"primary",size:"sm",disabled:!fn,onClick:()=>{fn&&un(fn)},children:"Open"})]}),
135
135
  /* @__PURE__ */B("div",{className:"flex items-center gap-1 px-4 py-2 shrink-0",children:[
136
- /* @__PURE__ */X("div",{className:"flex-1 min-w-48 max-w-2xl",role:"search",children:/* @__PURE__ */X(l,{type:"text",enterKeyHint:"search",value:_e,onChange:e=>{et(e.target.value),e.target.value.trim()||Et()},onKeyDown:e=>{"Escape"===e.key&&_e&&(e.stopPropagation(),Et())},placeholder:`Search in ${r}`,"aria-label":`Search in ${r}`,leftIcon:/* @__PURE__ */X(z,{name:"search",className:"h-4 w-4"}),endAction:_e?{label:"Clear search",icon:/* @__PURE__ */X(z,{name:"close",className:"h-4 w-4"}),onClick:Et}:void 0})}),
137
- /* @__PURE__ */X("div",{className:"flex-1"}),"object"!=typeof lt&&"trash"!==lt&&/* @__PURE__ */B(Z,{children:[
138
- /* @__PURE__ */X(c,{"aria-label":"List view","aria-pressed":"list"===Xe,onClick:()=>ut("list"),children:/* @__PURE__ */X(z,{name:"list",className:"h-4 w-4"})}),
139
- /* @__PURE__ */X(c,{"aria-label":"Grid view","aria-pressed":"grid"===Xe,onClick:()=>ut("grid"),children:/* @__PURE__ */X(z,{name:"grid",className:"h-4 w-4"})})]}),
140
- /* @__PURE__ */X(c,{"aria-label":"Details","aria-pressed":He,onClick:()=>qe(e=>!e),children:/* @__PURE__ */X(z,{name:"info",className:"h-4 w-4"})})]}),Rn,
141
- /* @__PURE__ */X("div",{className:"flex-1 overflow-auto outline-none",tabIndex:-1,onKeyDown:e=>{e.target instanceof HTMLInputElement||(Dt?"Enter"===e.key&&fn&&(e.preventDefault(),un(fn)):("Delete"===e.key||"Backspace"===e.key)&&nn.length&&nn.every(sn)?(e.preventDefault(),Xt(nn)):"Enter"===e.key&&an?(e.preventDefault(),pn(an)):(e.metaKey||e.ctrlKey)&&"a"===e.key.toLowerCase()&&en.length&&(e.preventDefault(),We(new Set(en.map(e=>e.id)))))},onClick:e=>{e.target===e.currentTarget&&dn()},children:"object"==typeof lt?Un:"trash"===lt?Kn:On})]}),He&&$n&&/* @__PURE__ */X(fe,{store:n,entry:an,selectedCount:nn.length,onClose:()=>qe(!1)})]})})}),Ct.state&&/* @__PURE__ */X(s,{...Ct.props,items:gn(Ct.state.data),"aria-label":"File actions"}),St.state&&/* @__PURE__ */X(s,{...St.props,"aria-label":"Trash actions",items:[{key:"restore",label:"Restore",icon:/* @__PURE__ */X(z,{name:"revert",className:"h-4 w-4"}),onSelect:()=>zt(St.state.data)},{type:"divider",key:"d"},{key:"purge",label:"Delete forever",danger:!0,icon:/* @__PURE__ */X(z,{name:"trash",className:"h-4 w-4"}),onSelect:()=>Ot(St.state.data)}]}),jt.state&&/* @__PURE__ */X(s,{...jt.props,"aria-label":"Shortcut actions",items:[{key:"open",label:"Open",icon:/* @__PURE__ */X(z,{name:"external",className:"h-4 w-4"}),onSelect:()=>Tt(jt.state.data)},{key:"desktop",label:"Move to desktop",icon:/* @__PURE__ */X(z,{name:"desktop",className:"h-4 w-4"}),onSelect:()=>pt?.moveToDesktop([jt.state.data])},{type:"divider",key:"d"},{key:"remove",label:"Remove",danger:!0,icon:/* @__PURE__ */X(z,{name:"close",className:"h-4 w-4"}),onSelect:()=>pt?.removeShortcuts([jt.state.data])}]}),H&&/* @__PURE__ */X(he,{store:n,entry:Ve,onClose:()=>Ge(null),onChanged:Rt}),n.move&&/* @__PURE__ */X(ue,{store:n,items:Qe,from:"files"===lt?_:void 0,onClose:()=>Be(null),onMove:e=>Qe&&Ht(Qe,e)}),Ue&&/* @__PURE__ */X("div",{className:"absolute inset-0 bg-accent-tint border-4 border-dashed border-accent-border pointer-events-none flex items-center justify-center z-20",children:/* @__PURE__ */X("div",{className:"px-4 py-2 rounded-md bg-accent-fill text-on-accent text-sm font-medium shadow-lg",children:"Drop to upload"})})]})}export{Te as default,Ne as quotaExceededMessage};
136
+ /* @__PURE__ */H("div",{className:"flex-1 min-w-48 max-w-2xl",role:"search",children:/* @__PURE__ */H(l,{type:"text",enterKeyHint:"search",value:_e,onChange:e=>{et(e.target.value),e.target.value.trim()||Ft()},onKeyDown:e=>{"Escape"===e.key&&_e&&(e.stopPropagation(),Ft())},placeholder:`Search in ${r}`,"aria-label":`Search in ${r}`,leftIcon:/* @__PURE__ */H(z,{name:"search",className:"h-4 w-4"}),endAction:_e?{label:"Clear search",icon:/* @__PURE__ */H(z,{name:"close",className:"h-4 w-4"}),onClick:Ft}:void 0})}),
137
+ /* @__PURE__ */H("div",{className:"flex-1"}),"object"!=typeof lt&&"trash"!==lt&&/* @__PURE__ */B(X,{children:[
138
+ /* @__PURE__ */H(c,{"aria-label":"List view","aria-pressed":"list"===He,onClick:()=>ut("list"),children:/* @__PURE__ */H(z,{name:"list",className:"h-4 w-4"})}),
139
+ /* @__PURE__ */H(c,{"aria-label":"Grid view","aria-pressed":"grid"===He,onClick:()=>ut("grid"),children:/* @__PURE__ */H(z,{name:"grid",className:"h-4 w-4"})})]}),
140
+ /* @__PURE__ */H(c,{"aria-label":"Details","aria-pressed":Ze,onClick:()=>qe(e=>!e),children:/* @__PURE__ */H(z,{name:"info",className:"h-4 w-4"})})]}),Rn,
141
+ /* @__PURE__ */H("div",{className:"flex-1 overflow-auto outline-none",tabIndex:-1,onKeyDown:e=>{e.target instanceof HTMLInputElement||(Dt?"Enter"===e.key&&fn&&(e.preventDefault(),un(fn)):("Delete"===e.key||"Backspace"===e.key)&&nn.length&&nn.every(sn)?(e.preventDefault(),Ht(nn)):"Enter"===e.key&&an?(e.preventDefault(),pn(an)):(e.metaKey||e.ctrlKey)&&"a"===e.key.toLowerCase()&&en.length&&(e.preventDefault(),We(new Set(en.map(e=>e.id)))))},onClick:e=>{e.target===e.currentTarget&&dn()},children:"object"==typeof lt?Un:"trash"===lt?On:Kn})]}),Ze&&$n&&/* @__PURE__ */H(fe,{store:n,entry:an,selectedCount:nn.length,onClose:()=>qe(!1)})]})})}),Ct.state&&/* @__PURE__ */H(s,{...Ct.props,items:gn(Ct.state.data),"aria-label":"File actions"}),St.state&&/* @__PURE__ */H(s,{...St.props,"aria-label":"Trash actions",items:[{key:"restore",label:"Restore",icon:/* @__PURE__ */H(z,{name:"revert",className:"h-4 w-4"}),onSelect:()=>zt(St.state.data)},{type:"divider",key:"d"},{key:"purge",label:"Delete forever",danger:!0,icon:/* @__PURE__ */H(z,{name:"trash",className:"h-4 w-4"}),onSelect:()=>Kt(St.state.data)}]}),jt.state&&/* @__PURE__ */H(s,{...jt.props,"aria-label":"Shortcut actions",items:[{key:"open",label:"Open",icon:/* @__PURE__ */H(z,{name:"external",className:"h-4 w-4"}),onSelect:()=>Tt(jt.state.data)},{key:"desktop",label:"Move to desktop",icon:/* @__PURE__ */H(z,{name:"desktop",className:"h-4 w-4"}),onSelect:()=>pt?.moveToDesktop([jt.state.data])},{type:"divider",key:"d"},{key:"remove",label:"Remove",danger:!0,icon:/* @__PURE__ */H(z,{name:"close",className:"h-4 w-4"}),onSelect:()=>pt?.removeShortcuts([jt.state.data])}]}),Z&&/* @__PURE__ */H(he,{store:n,entry:Ge,onClose:()=>Qe(null),onChanged:Rt}),n.move&&/* @__PURE__ */H(ue,{store:n,items:Ve,from:"files"===lt?_:void 0,onClose:()=>Be(null),onMove:e=>Ve&&Zt(Ve,e)}),Ue&&/* @__PURE__ */H("div",{className:"absolute inset-0 bg-accent-tint border-4 border-dashed border-accent-border pointer-events-none flex items-center justify-center z-20",children:/* @__PURE__ */H("div",{className:"px-4 py-2 rounded-md bg-accent-fill text-on-accent text-sm font-medium shadow-lg",children:"Drop to upload"})})]})}export{Te as default,Ne as quotaExceededMessage};