efficient-shell 12.4.1 → 12.7.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 (59) hide show
  1. package/README.md +5 -5
  2. package/dist/{Browser-24JRQIPQ.js → Browser-AKBOECNB.js} +14 -14
  3. package/dist/{Calculator-AHBFZ4EN.js → Calculator-OJLVM42W.js} +22 -22
  4. package/dist/{CurrencyConverter-PZYRBADV.js → CurrencyConverter-UVOKFPMG.js} +7 -7
  5. package/dist/{Files-AZ4Q4LMK.js → Files-CRQDRSFS.js} +88 -88
  6. package/dist/{Notepad-UPHHH3YU.js → Notepad-P6JFXK3G.js} +9 -9
  7. package/dist/{PomodoroTimer-WGN2KNSB.js → PomodoroTimer-UOV4CCYH.js} +63 -63
  8. package/dist/{Preview-K4TNRLKM.js → Preview-XF5FKLVZ.js} +17 -17
  9. package/dist/{Stock-5GEEDQVT.js → Stock-6D4I2EWM.js} +3 -3
  10. package/dist/{Weather-WMQQXWHH.js → Weather-BCOAQJDT.js} +17 -17
  11. package/dist/{WorldClock-IK3WTHVW.js → WorldClock-WX3O3EDU.js} +5 -5
  12. package/dist/apps/index.js +1 -1
  13. package/dist/bin/media-host-check.js +1 -1
  14. package/dist/bin/ui-check.js +1 -1
  15. package/dist/{chunk-NIBE57KV.js → chunk-2HZQZTW5.js} +1 -1
  16. package/dist/{chunk-LCC3NXQX.js → chunk-34SPT4I6.js} +6 -6
  17. package/dist/chunk-6EHPEBGP.js +5 -0
  18. package/dist/chunk-AHJAJLSK.js +99 -0
  19. package/dist/{chunk-WUGQAZMC.js → chunk-EZPSNUYR.js} +4 -4
  20. package/dist/{chunk-VWQNCYGQ.js → chunk-MM5AFQ24.js} +8 -8
  21. package/dist/{chunk-ZB2H2JJ2.js → chunk-NC36LJCA.js} +4 -4
  22. package/dist/{chunk-CURXYF2R.js → chunk-PM4Y2FMQ.js} +3 -3
  23. package/dist/chunk-PWYLGTZS.js +1 -0
  24. package/dist/{chunk-EF3NPTHG.js → chunk-QNYZTD7V.js} +1 -1
  25. package/dist/{chunk-CAXOKGMB.js → chunk-SCU2CWNJ.js} +11 -11
  26. package/dist/chunk-SZT72QMD.js +28 -0
  27. package/dist/chunk-TX5FZBPQ.js +4 -0
  28. package/dist/chunk-UVGEOQI4.js +13 -0
  29. package/dist/{chunk-AAIUJJDQ.js → chunk-WVHGHMW3.js} +1 -1
  30. package/dist/{chunk-5HJIFCDQ.js → chunk-ZKQWS2ML.js} +3 -3
  31. package/dist/data/EntityList.d.ts +4 -0
  32. package/dist/data/EntityList.js +1 -1
  33. package/dist/data/ListFooter.d.ts +7 -12
  34. package/dist/data/ListFooter.js +1 -1
  35. package/dist/format/index.js +1 -1
  36. package/dist/forms/BrandAssetEditor.js +1 -1
  37. package/dist/forms/LinkPicker.js +1 -1
  38. package/dist/forms/MediaLibrary.js +1 -1
  39. package/dist/forms/MediaUploadField.js +1 -1
  40. package/dist/index.d.ts +28 -6
  41. package/dist/index.js +530 -531
  42. package/dist/page-tabs/index.js +5 -5
  43. package/dist/shell/ConfirmDialog.js +1 -1
  44. package/dist/shell/Dialog.js +1 -1
  45. package/dist/shell/Drawer.js +1 -1
  46. package/dist/shell/LanguageSelect.js +1 -1
  47. package/dist/shell/SettingRow.js +1 -1
  48. package/dist/shell/discardGuard.js +1 -1
  49. package/dist/telemetry/index.js +1 -1
  50. package/dist/ui/index.js +1 -1
  51. package/dist/version.js +1 -1
  52. package/package.json +4 -4
  53. package/dist/chunk-4H5NTMOF.js +0 -4
  54. package/dist/chunk-C4IJONGO.js +0 -1
  55. package/dist/chunk-I5CSYOOZ.js +0 -28
  56. package/dist/chunk-PMJMYH5O.js +0 -5
  57. package/dist/chunk-UWF45S5L.js +0 -99
  58. package/dist/chunk-VIOILTE4.js +0 -13
  59. /package/dist/{chunk-2762IAB7.js → chunk-7B5KFESH.js} +0 -0
@@ -1,7 +1,7 @@
1
- import{Dialog as e}from"./chunk-PMJMYH5O.js";import{Icon as t}from"./chunk-UIWGVOFH.js";import{buttonClasses as r}from"./chunk-UQYNPYF4.js";import{useShellStrings as n,splitAround as o}from"./chunk-43MCNASD.js";import{createContext as l,useContext as i,useState as s,useRef as a,useCallback as c,useEffect as u}from"react";import{jsxs as d,jsx as m,Fragment as h}from"react/jsx-runtime";var f=l(()=>Promise.resolve(!1)),b=()=>i(f),g=()=>Promise.resolve(!1),p=e=>g(e),v=()=>Promise.resolve(!1),y=e=>v(e),x=()=>Promise.resolve(null),N=e=>x(e),k={danger:{icon:"text-red-600 bg-red-100",button:r({variant:"danger"})},warning:{icon:"text-yellow-600 bg-yellow-100",button:r({variant:"warning"})},info:{icon:"text-blue-600 bg-accent-tint-strong",button:r({variant:"primary"})}},w=r({variant:"secondary"}),C=r({variant:"primary"}),P="w-full rounded-md border border-line-strong h-8 px-3 text-sm";function L(){/* @__PURE__ */
1
+ import{Dialog as e}from"./chunk-6EHPEBGP.js";import{Icon as t}from"./chunk-UIWGVOFH.js";import{buttonClasses as r}from"./chunk-UQYNPYF4.js";import{useShellStrings as n,splitAround as o}from"./chunk-43MCNASD.js";import{createContext as l,useContext as i,useState as s,useRef as a,useCallback as c,useEffect as u}from"react";import{jsxs as d,jsx as m,Fragment as h}from"react/jsx-runtime";var f=l(()=>Promise.resolve(!1)),b=()=>i(f),g=()=>Promise.resolve(!1),p=e=>g(e),v=()=>Promise.resolve(!1),y=e=>v(e),x=()=>Promise.resolve(null),N=e=>x(e),k={danger:{icon:"text-red-600 bg-red-100",button:r({variant:"danger"})},warning:{icon:"text-yellow-600 bg-yellow-100",button:r({variant:"warning"})},info:{icon:"text-blue-600 bg-accent-tint-strong",button:r({variant:"primary"})}},w=r({variant:"secondary"}),C=r({variant:"primary"}),P="w-full rounded-md border border-line-strong h-8 px-3 text-sm";function L(){/* @__PURE__ */
2
2
  return m(t,{name:"warning",className:"h-5 w-5",strokeWidth:1.5,"aria-hidden":"true"})}function j(){/* @__PURE__ */
3
- return m(t,{name:"close",className:"h-5 w-5",strokeWidth:1.5,"aria-hidden":"true"})}function F({children:t}){const[r,l]=s(!1),[i,b]=s({message:""}),[p,y]=s(0),N=a(),F=a(null),E=a(0),T=a([]),W=a(null),$=a(null),D=c(e=>{F.current=e.id,N.current=e.resolve,y(e.id),b(e.options),l(!0)},[]),M=c(e=>{const t="string"==typeof e?{message:e}:e;return new Promise(e=>{const r={id:++E.current,options:t,resolve:e};null===F.current?D(r):T.current.push(r)})},[D]),[Y,H]=s(!1),[K,O]=s({message:""}),[U,V]=s(""),A=a(),G=c(e=>(O(e),V(""),H(!0),new Promise(e=>{A.current=e})),[]),[I,J]=s(!1),[Q,S]=s({}),[q,z]=s(""),B=a(),R=c(e=>{const t="string"==typeof e?{message:e}:e;return S(t),z(t.defaultValue??""),J(!0),new Promise(e=>{B.current=e})},[]);u(()=>{g=M,v=G,x=R},[M,G,R]);const X=(e,t)=>{if(F.current!==e)return;const r=N.current,n=T.current.shift();n?D(n):(F.current=null,N.current=void 0,l(!1)),r?.(t)},Z=e=>{H(!1),V(""),A.current?.(e)},_=e=>{if(e){const e=q.trim();if(!e&&!Q.allowEmpty)return J(!1),void B.current?.(null);J(!1),B.current?.(e)}else J(!1),B.current?.(null)},ee=i.variant||(i.confirmLabel?.toLowerCase().includes("delete")||i.message.toLowerCase().includes("delete")?"danger":"info"),te=k[ee],re=k["warning"===K.variant?"warning":"danger"],ne=K.confirmWord,oe=null==ne||U===ne,le=n().dialog,[ie,se]=o(le.typeToConfirm);/* @__PURE__ */
4
- return d(f.Provider,{value:M,children:[t,
3
+ return m(t,{name:"close",className:"h-5 w-5",strokeWidth:1.5,"aria-hidden":"true"})}function E({children:t}){const[r,l]=s(!1),[i,b]=s({message:""}),[p,y]=s(0),N=a(),E=a(null),F=a(0),T=a([]),W=a(null),$=a(null),D=c(e=>{E.current=e.id,N.current=e.resolve,y(e.id),b(e.options),l(!0)},[]),G=c(e=>{const t="string"==typeof e?{message:e}:e;return new Promise(e=>{const r={id:++F.current,options:t,resolve:e};null===E.current?D(r):T.current.push(r)})},[D]),[H,K]=s(!1),[U,V]=s({message:""}),[Y,A]=s(""),B=a(),I=c(e=>(V(e),A(""),K(!0),new Promise(e=>{B.current=e})),[]),[M,O]=s(!1),[Q,S]=s({}),[q,z]=s(""),J=a(),R=c(e=>{const t="string"==typeof e?{message:e}:e;return S(t),z(t.defaultValue??""),O(!0),new Promise(e=>{J.current=e})},[]);u(()=>{g=G,v=I,x=R},[G,I,R]);const X=(e,t)=>{if(E.current!==e)return;const r=N.current,n=T.current.shift();n?D(n):(E.current=null,N.current=void 0,l(!1)),r?.(t)},Z=e=>{K(!1),A(""),B.current?.(e)},_=e=>{if(e){const e=q.trim();if(!e&&!Q.allowEmpty)return O(!1),void J.current?.(null);O(!1),J.current?.(e)}else O(!1),J.current?.(null)},ee=i.variant||(i.confirmLabel?.toLowerCase().includes("delete")||i.message.toLowerCase().includes("delete")?"danger":"info"),te=k[ee],re=k["warning"===U.variant?"warning":"danger"],ne=U.confirmWord,oe=null==ne||Y===ne,le=n().dialog,[ie,se]=o(le.typeToConfirm);/* @__PURE__ */
4
+ return d(f.Provider,{value:G,children:[t,
5
5
  /* @__PURE__ */m(e,{open:r,onClose:()=>X(p,!1),initialFocus:W,footer:/* @__PURE__ */d(h,{children:[
6
6
  /* @__PURE__ */m("button",{ref:W,type:"button",onClick:()=>X(p,!1),className:w,children:i.cancelLabel||le.cancel}),
7
7
  /* @__PURE__ */m("button",{type:"button",onClick:()=>X(p,!0),className:te.button,children:i.confirmLabel||le.ok})]}),children:/* @__PURE__ */d("div",{className:"flex gap-4",children:[
@@ -9,19 +9,19 @@ return d(f.Provider,{value:M,children:[t,
9
9
  /* @__PURE__ */d("div",{className:"flex-1",children:[
10
10
  /* @__PURE__ */m("h2",{className:"text-base font-semibold text-gray-900",children:i.title||le.confirmTitle}),
11
11
  /* @__PURE__ */m("p",{className:"mt-2 text-sm text-gray-600",children:i.message})]})]})}),
12
- /* @__PURE__ */d(e,{open:Y,onClose:()=>Z(!1),initialFocus:null!=ne?void 0:$,footer:/* @__PURE__ */d(h,{children:[
13
- /* @__PURE__ */m("button",{ref:$,type:"button",onClick:()=>Z(!1),className:w,children:K.cancelLabel||le.destructiveCancel}),
14
- /* @__PURE__ */m("button",{type:"button",onClick:()=>Z(!0),disabled:!oe,className:re.button,children:ne??K.confirmLabel??le.destructiveConfirm})]}),children:[
12
+ /* @__PURE__ */d(e,{open:H,onClose:()=>Z(!1),initialFocus:null!=ne?void 0:$,footer:/* @__PURE__ */d(h,{children:[
13
+ /* @__PURE__ */m("button",{ref:$,type:"button",onClick:()=>Z(!1),className:w,children:U.cancelLabel||le.destructiveCancel}),
14
+ /* @__PURE__ */m("button",{type:"button",onClick:()=>Z(!0),disabled:!oe,className:re.button,children:ne??U.confirmLabel??le.destructiveConfirm})]}),children:[
15
15
  /* @__PURE__ */m("button",{type:"button",onClick:()=>Z(!1),"aria-label":le.close,className:"absolute right-4 top-4 rounded-md p-1 text-gray-400 hover:bg-gray-100 hover:text-gray-600",children:/* @__PURE__ */m(j,{})}),
16
16
  /* @__PURE__ */d("div",{className:"flex gap-4",children:[
17
17
  /* @__PURE__ */m("div",{className:`shrink-0 w-10 h-10 rounded-full flex items-center justify-center ${re.icon}`,children:/* @__PURE__ */m(L,{})}),
18
18
  /* @__PURE__ */d("div",{className:"flex-1",children:[
19
- /* @__PURE__ */m("h2",{className:"text-base font-semibold text-gray-900 pr-6",children:K.title||le.destructiveTitle}),
20
- /* @__PURE__ */m("p",{className:"mt-2 text-sm text-gray-600",children:K.message}),null!=ne&&/* @__PURE__ */d(h,{children:[
19
+ /* @__PURE__ */m("h2",{className:"text-base font-semibold text-gray-900 pr-6",children:U.title||le.destructiveTitle}),
20
+ /* @__PURE__ */m("p",{className:"mt-2 text-sm text-gray-600",children:U.message}),null!=ne&&/* @__PURE__ */d(h,{children:[
21
21
  /* @__PURE__ */d("p",{className:"mt-3 text-sm text-gray-700",children:[ie,
22
22
  /* @__PURE__ */m("kbd",{className:"rounded border border-line-strong bg-surface-sunken px-2 py-0.5 text-xs font-bold text-red-600 font-mono",children:ne}),se]}),
23
- /* @__PURE__ */m("input",{autoFocus:!0,type:"text",value:U,onChange:e=>V(e.target.value),onKeyDown:e=>{"Enter"===e.key&&U===ne&&Z(!0)},placeholder:ne,className:`mt-2 ${P} focus:border-red-500`})]})]})]})]}),
24
- /* @__PURE__ */d(e,{open:I,onClose:()=>_(!1),title:Q.title||le.promptTitle,footer:/* @__PURE__ */d(h,{children:[
23
+ /* @__PURE__ */m("input",{autoFocus:!0,type:"text",value:Y,onChange:e=>A(e.target.value),onKeyDown:e=>{"Enter"===e.key&&Y===ne&&Z(!0)},placeholder:ne,className:`mt-2 ${P} focus:border-red-500`})]})]})]})]}),
24
+ /* @__PURE__ */d(e,{open:M,onClose:()=>_(!1),title:Q.title||le.promptTitle,footer:/* @__PURE__ */d(h,{children:[
25
25
  /* @__PURE__ */m("button",{type:"button",onClick:()=>_(!1),className:w,children:Q.cancelLabel||le.cancel}),
26
26
  /* @__PURE__ */m("button",{type:"button",onClick:()=>_(!0),disabled:!Q.allowEmpty&&!q.trim(),className:C,children:Q.confirmLabel||le.ok})]}),children:[Q.message&&/* @__PURE__ */m("p",{className:"text-sm text-gray-600",children:Q.message}),
27
- /* @__PURE__ */m("input",{autoFocus:!0,type:"text",value:q,onChange:e=>z(e.target.value),onKeyDown:e=>{"Enter"===e.key?_(!0):"Escape"===e.key&&_(!1)},onFocus:e=>e.target.select(),placeholder:Q.placeholder,className:`mt-3 ${P} focus:border-blue-500 rosh-focus-ring focus-visible:ring-1 focus-visible:ring-[color:var(--rosh-focus-ring-accent)]`})]})]})}export{F as ConfirmProvider,p as confirm,y as confirmDestructive,N as prompt,b as useConfirm};
27
+ /* @__PURE__ */m("input",{autoFocus:!0,type:"text",value:q,onChange:e=>z(e.target.value),onKeyDown:e=>{"Enter"===e.key?_(!0):"Escape"===e.key&&_(!1)},onFocus:e=>e.target.select(),placeholder:Q.placeholder,className:`mt-3 ${P} focus:border-blue-500 rosh-focus-ring focus-visible:ring-1 focus-visible:ring-[color:var(--rosh-focus-ring-accent)]`})]})]})}export{E as ConfirmProvider,p as confirm,y as confirmDestructive,N as prompt,b as useConfirm};
@@ -0,0 +1,28 @@
1
+ import{Tree as e,TreeRow as n,TreeGroup as l}from"./chunk-G7I255HN.js";import{MarqueeBox as a}from"./chunk-IC72MGON.js";import{ImageLightbox as i}from"./chunk-MGW7SX53.js";import{DescriptionList as r}from"./chunk-SACUSHVN.js";import{Drawer as t}from"./chunk-MM5AFQ24.js";import{EmptyState as o}from"./chunk-NEAT7BIP.js";import{Breadcrumbs as d}from"./chunk-PT77FC5X.js";import{ROOT_KEY as s,mediaLibraryMenu as c}from"./chunk-BGJMDP6J.js";import{useMediaMoveItems as u}from"./chunk-32WEY6O5.js";import{RenameField as m}from"./chunk-XMH2JOZ2.js";import{NativeSelect as h}from"./chunk-UDVQORQM.js";import{MediaUploadGrid as p}from"./chunk-EEVLRCMA.js";import{MediaUsedInList as f}from"./chunk-EIY6YGEZ.js";import{Segmented as g}from"./chunk-JQBVSPF5.js";import{useGridSelection as v}from"./chunk-VLKDWKVR.js";import{useMarquee as k}from"./chunk-OLFYNMTD.js";import{copyToClipboard as y}from"./chunk-PH3P54QQ.js";import{Checkbox_default as b}from"./chunk-CGZBDI6C.js";import{useContextMenu as w,ContextMenu as x}from"./chunk-QIUIP6YZ.js";import{Banner as C}from"./chunk-6JDR6T4U.js";import{Input_default as N}from"./chunk-GZQD6IBV.js";import{DropdownMenu as I}from"./chunk-YZR4T5FZ.js";import{IconButton_default as D}from"./chunk-UGOJLNYR.js";import{useFileIntake as j,FileIntakeAlert as S}from"./chunk-7KIDOIPY.js";import{ColoredBadge as z}from"./chunk-5JUG74UR.js";import{Button_default as F}from"./chunk-UJJXWLHE.js";import{Icon as T}from"./chunk-UIWGVOFH.js";import{Tooltip as O}from"./chunk-QQ2LDC6C.js";import{buttonClasses as L}from"./chunk-UQYNPYF4.js";import{usePlotWidth as P}from"./chunk-MAFUXCPZ.js";import{useShellStrings as E}from"./chunk-43MCNASD.js";import{useRef as M,useMemo as A,useCallback as U,useState as R,useEffect as J}from"react";import{jsxs as B,Fragment as G,jsx as Q}from"react/jsx-runtime";var K="application/x-efficient-media-files",V="application/x-efficient-media-folder",Y="application/x-efficient-media-file";function H(e){if(!e||!Array.from(e.types).includes(Y))return null;try{const n=JSON.parse(e.getData(Y));if(n&&"string"==typeof n.id&&"string"==typeof n.url&&"string"==typeof n.name&&("image"===n.kind||"video"===n.kind))return{id:n.id,url:n.url,kind:n.kind,name:n.name}}catch{}return null}var W={type:"all",use:"any",sort:"newest"},Z={lock:/* @__PURE__ */Q(T,{name:"lock","aria-hidden":"true",className:"h-4 w-4"}),folder:/* @__PURE__ */Q(T,{name:"folder","aria-hidden":"true",className:"h-4 w-4"}),folderOpen:/* @__PURE__ */Q(T,{name:"folder-open","aria-hidden":"true",className:"h-4 w-4"}),folderPlus:/* @__PURE__ */Q(T,{name:"folder-plus","aria-hidden":"true",className:"h-4 w-4"}),trash:/* @__PURE__ */Q(T,{name:"trash","aria-hidden":"true",className:"h-4 w-4"}),upload:/* @__PURE__ */Q(T,{name:"upload","aria-hidden":"true",className:"h-4 w-4"}),search:/* @__PURE__ */Q(T,{name:"search","aria-hidden":"true",className:"h-4 w-4"}),grid:/* @__PURE__ */Q(T,{name:"grid","aria-hidden":"true",className:"h-4 w-4"}),list:/* @__PURE__ */Q(T,{name:"list","aria-hidden":"true",className:"h-4 w-4"}),more:/* @__PURE__ */Q(T,{name:"more","aria-hidden":"true",className:"h-4 w-4"}),copy:/* @__PURE__ */Q(T,{name:"copy","aria-hidden":"true",className:"h-4 w-4"}),edit:/* @__PURE__ */Q(T,{name:"edit","aria-hidden":"true",className:"h-4 w-4"}),swap:/* @__PURE__ */Q(T,{name:"swap","aria-hidden":"true",className:"h-4 w-4"}),crop:/* @__PURE__ */Q(T,{name:"crop","aria-hidden":"true",className:"h-4 w-4"}),external:/* @__PURE__ */Q(T,{name:"external","aria-hidden":"true",className:"h-4 w-4"}),undo:/* @__PURE__ */Q(T,{name:"undo","aria-hidden":"true",className:"h-4 w-4"})},$={link:/* @__PURE__ */Q(T,{name:"link","aria-hidden":"true",className:"h-3 w-3"}),email:/* @__PURE__ */Q(T,{name:"email","aria-hidden":"true",className:"h-3 w-3"}),lock:/* @__PURE__ */Q(T,{name:"lock","aria-hidden":"true",className:"h-3 w-3"}),clock:/* @__PURE__ */Q(T,{name:"clock","aria-hidden":"true",className:"h-3 w-3"})};function X(T){const{mode:H="manage",layout:X="auto",location:q,onLocationChange:_,folders:ee,products:ne,allFilesCount:le,trashCount:ae,files:ie,query:re,onQueryChange:te,filters:oe=W,onFiltersChange:de,extraFilters:se,view:ce="grid",onViewChange:ue,selectedIds:me,onSelectionChange:he,usedIn:pe,denied:fe={},accept:ge="image/*,video/*",maxSizeBytes:ve,busy:ke,progress:ye,onUpload:be,onNewFolder:we,onRename:xe,onMove:Ce,onTrash:Ne,onDeleteFolder:Ie,onRestore:De,onDeleteForever:je,onEmptyTrash:Se,onReplace:ze,onCropEdit:Fe,onOpenInDesign:Te,onChoose:Oe,onCancel:Le,pickNote:Pe,onDragOut:Ee,className:Me=""}=T,Ae=E().mediaLibrary,Ue=E().media,Re="pick"===H,Je=!Re,Be=M(null),Ge=P(Be,"phone"===X?343:1200),Qe="phone"===X||"auto"===X&&Ge<640,Ke=A(()=>function(e=[]){const n=/* @__PURE__ */new Map,l=(e,a)=>{for(const i of e){const e=[...a,i];n.set(i.id,{node:i,path:e}),i.children&&l(i.children,e)}};return l(e,[]),n}(ne),[ne]),Ve=A(()=>new Map(ee.map(e=>[e.id,e])),[ee]),Ye=A(()=>{const e=/* @__PURE__ */new Map;for(const n of ee){const l=n.parentId&&Ve.has(n.parentId)?n.parentId:null;e.set(l,[...e.get(l)??[],n])}return e},[ee,Ve]),He=U(e=>{const n=[];for(let l=e?Ve.get(e):void 0;l&&(n.unshift(l),!(n.length>ee.length));l=l.parentId?Ve.get(l.parentId):void 0);return n},[Ve,ee.length]),We=U((e,n)=>He(e).some(e=>e.id===n),[He]),[Ze,$e]=R(()=>/* @__PURE__ */new Set(["@files"])),Xe=e=>$e(n=>{const l=new Set(n);return l.has(e)?l.delete(e):l.add(e),l}),qe=U(e=>{$e(n=>e.every(e=>n.has(e))?n:/* @__PURE__ */new Set([...n,...e]))},[]),_e="files"===(en=q).place?`files:${en.folderId??""}`:"products"===en.place?`products:${en.nodeId??""}`:"trash";var en;J(()=>{if("files"===q.place)qe(["@files",...He(q.folderId).slice(0,-1).map(e=>e.id)]);else if("products"===q.place){const e=q.nodeId?Ke.get(q.nodeId)?.path??[]:[];qe(["@products",...e.slice(0,-1).map(e=>`p:${e.id}`)])}},[_e]);const nn="products"===q.place,ln="trash"===q.place,an="files"===q.place,rn=an?q.folderId:null,tn=nn&&q.nodeId?Ke.get(q.nodeId)?.path[0]:void 0,on=e=>e?.sharedFrom?`${Ae.readOnly} ${Ae.editedAtHq(e.sharedFrom)}`:Ae.readOnly,dn=A(()=>ie.map(e=>e.id),[ie]),sn=A(()=>new Map(ie.map(e=>[e.id,e])),[ie]),cn=v(dn),un=A(()=>dn.filter(e=>cn.selected.has(e)),[dn,cn.selected]),mn=1===un.length?sn.get(un[0]):void 0,hn=M(!0);J(()=>{hn.current?hn.current=!1:cn.clear()},[_e]);const pn=me?.join("\0");J(()=>{me&&cn.setSelection(me)},[pn]);const fn=M(pn??""),gn=un.join("\0");J(()=>{fn.current!==gn&&(fn.current=gn,he?.(un))},[gn]);const vn=(e,n={})=>{Re?cn.select(e):cn.select(e,{ctrl:!(!n.ctrlKey&&!n.metaKey),shift:!!n.shiftKey})},[kn,yn]=R(null),bn=e=>{const n=kn;if(yn(null),!n||null==e)return;e!==("folder"===n.kind?Ve.get(n.id)?.name:sn.get(n.id)?.name)&&xe?.(n,e)},wn=async e=>{if(!we)return;const n=await we(e);qe(["@files",...e?[e]:[]]),"string"==typeof n&&yn({kind:"folder",id:n})},xn=U(e=>{const n=[],l=n=>{if("files"===e.kind)return n===rn&&an?Ae.alreadyHere:void 0;const l=Ve.get(e.id);return n===e.id||n&&We(n,e.id)?Ae.notIntoItself:(l?.parentId??null)===n?Ae.folderAlreadyHere:void 0};n.push({key:s,label:Ae.allFiles,disabledReason:l(null)});const a=(e,i)=>{for(const r of Ye.get(e)??[])n.push({key:r.id,label:r.name,depth:i,disabledReason:l(r.id)}),a(r.id,i+1)};return a(null,1),n},[Ye,Ve,an,We,rn,Ae]),Cn=U(e=>{const n=new Set(e.map(e=>sn.get(e)?.kind??"image"));return 1===n.size?[...n][0]:"file"},[sn]),[Nn,In]=R(null),Dn={words:Ae,media:Ue,denied:fe,moveTargets:xn,kindOf:Cn,urlOf:e=>sn.get(e)?.url,newSubfolder:we&&Je?e=>{wn(e)}:void 0,rename:xe&&Je?e=>{"file"!==e.kind||cn.isSelected(e.id)||cn.select(e.id),yn(e)}:void 0,move:Ce&&Je?Ce:void 0,trash:Ne&&Je?Ne:void 0,deleteFolder:Ie&&Je?Ie:void 0,folderNotEmpty:e=>!!Ve.get(e)?.notEmpty,replace:ze&&Je?ze:void 0,copyUrl:e=>{const n=sn.get(e)?.url;n&&y(Ae.urlLabel,n)},openInDesign:Te,restore:De,deleteForever:je},jn=e=>c(e,Dn),Sn=w(),zn=(e,n)=>{Re||(cn.isSelected(e)||cn.select(e),Sn.open(n,(e=>{const n=cn.isSelected(e)?un:[e];return nn?{kind:"render",id:e}:ln?{kind:"trashed",ids:n}:{kind:"files",ids:n}})(e)))},[Fn,Tn]=R(null),[On,Ln]=R(null),[Pn,En]=R(null);J(()=>{if(!On&&!Fn)return;const e=()=>{Ln(null),Tn(null)};return window.addEventListener("dragend",e),window.addEventListener("drop",e),()=>{window.removeEventListener("dragend",e),window.removeEventListener("drop",e)}},[On,Fn]);const Mn=(e,n)=>Array.from(e.dataTransfer?.types??[]).includes(n),An=(e,n)=>!(!Ce||fe.move||Re)&&(!!Mn(e,K)||!(!Mn(e,V)||!Pn)&&(n!==Pn&&!(n&&We(n,Pn)))),Un=(e,n)=>({onDragEnter:l=>{An(l,n)&&(l.preventDefault(),Tn(e))},onDragOver:l=>{An(l,n)&&(l.preventDefault(),l.dataTransfer.dropEffect="move",Fn!==e&&Tn(e))},onDragLeave:n=>{const l=n.relatedTarget;l&&n.currentTarget.contains(l)||Tn(n=>n===e?null:n)},onDrop:e=>{if(An(e,n))if(e.preventDefault(),Tn(null),Mn(e,K)){let l;try{l=JSON.parse(e.dataTransfer.getData(K))}catch{l=null}Array.isArray(l)&&l.length&&Ce({kind:"files",ids:l.map(String)},n)}else Pn&&(Ce({kind:"folder",id:Pn},n),En(null))}}),Rn=e=>{const n=e=>Mn(e,K)||Mn(e,V)||Mn(e,"Files");return{onDragEnter:l=>{n(l)&&Ln(e)},onDragOver:l=>{n(l)&&On!==e&&Ln(e)},onDragLeave:n=>{const l=n.relatedTarget;l&&n.currentTarget.contains(l)||Ln(n=>n===e?null:n)}}},Jn=(e,n,l)=>/* @__PURE__ */Q(O,{side:"right",content:On===e?Ae.noDropProducts:on(l),open:On===e||!On&&void 0,children:/* @__PURE__ */Q("span",{children:n})}),Bn=e=>({onContextMenu:n=>{Sn.open(n,e)}}),Gn=(e,a,i)=>e.map(e=>{const r=`p:${e.id}`,t=i??e,o=Ze.has(r),d=e.children?.length?e.children:null;/* @__PURE__ */
2
+ return B("div",{role:"none",className:"contents",children:[
3
+ /* @__PURE__ */Q(n,{label:Jn(r,e.name,t),level:a,icon:d&&o?Z.folderOpen:Z.folder,count:e.count,countLabel:null!=e.count?e.countLabel??Ae.fileCount(e.count):void 0,selected:nn&&q.nodeId===e.id,expanded:d?o:void 0,onToggle:d?()=>Xe(r):void 0,onSelect:()=>_({place:"products",nodeId:e.id}),rowProps:{"data-media-row":r,...Rn(r),...Je?Bn({kind:"product-node",id:e.id}):{}}}),d&&o&&/* @__PURE__ */Q(l,{children:Gn(d,a+1,t)})]},e.id)}),Qn=(e,a)=>(Ye.get(e)??[]).map(e=>{const i=Ye.get(e.id),r=Ze.has(e.id),t="folder"===kn?.kind&&kn.id===e.id,o=jn({kind:"folder",id:e.id});/* @__PURE__ */
4
+ return B("div",{role:"none",className:"contents",children:[
5
+ /* @__PURE__ */Q(n,{label:e.name,level:a,icon:i&&r?Z.folderOpen:Z.folder,count:e.count,countLabel:null!=e.count?e.countLabel??Ae.fileCount(e.count):void 0,selected:t||an&&q.folderId===e.id,expanded:i?r:void 0,onToggle:i?()=>Xe(e.id):void 0,onSelect:()=>_({place:"files",folderId:e.id}),drop:Fn===e.id?"into":void 0,dragging:Pn===e.id,draggable:Je&&!!Ce&&!fe.move,rename:t?/* @__PURE__ */Q(m,{value:e.name,label:Ae.folderName,onDone:bn}):void 0,actions:Je&&o.length?/* @__PURE__ */Q(I,{align:"end","aria-label":Ae.folderActions,trigger:Z.more,items:o}):void 0,rowProps:{"data-media-row":e.id,...Un(e.id,e.id),...Je?Bn({kind:"folder",id:e.id}):{},...Je&&Ce&&!fe.move?{draggable:!0,onDragStart:n=>{n.dataTransfer.effectAllowed="move",n.dataTransfer.setData(V,e.id),En(e.id)},onDragEnd:()=>{En(null),Tn(null)}}:{}}}),i&&r&&/* @__PURE__ */Q(l,{children:Qn(e.id,a+1)})]},e.id)}),Kn=Ze.has("@files"),Vn=Ze.has("@products"),Yn=/* @__PURE__ */B(e,{"aria-label":Ae.folders,children:[ne&&/* @__PURE__ */B(G,{children:[
6
+ /* @__PURE__ */Q(n,{label:Jn("@products",Ae.products),level:1,icon:Z.lock,badge:{label:Ae.readOnlyBadge,tone:"neutral"},expanded:ne.length?Vn:void 0,onToggle:()=>Xe("@products"),selected:nn&&null==q.nodeId,onSelect:()=>_({place:"products",nodeId:null}),rowProps:{"data-media-row":"@products",...Rn("@products")}}),Vn&&ne.length>0&&/* @__PURE__ */Q(l,{children:Gn(ne,2)})]}),
7
+ /* @__PURE__ */Q(n,{label:Ae.allFiles,level:1,icon:Kn?Z.folderOpen:Z.folder,count:le,countLabel:null!=le?Ae.fileCount(le):void 0,expanded:Ye.get(null)?.length?Kn:void 0,onToggle:()=>Xe("@files"),selected:an&&null==q.folderId,onSelect:()=>_({place:"files",folderId:null}),drop:"@files"===Fn?"into":void 0,rowProps:{"data-media-row":"@files",...Un("@files",null)}}),Kn&&(Ye.get(null)?.length??0)>0&&/* @__PURE__ */Q(l,{children:Qn(null,2)}),Je&&/* @__PURE__ */Q(n,{label:Ae.trash,level:1,icon:Z.trash,count:ae,countLabel:null!=ae?Ae.fileCount(ae):void 0,selected:ln,onSelect:()=>_({place:"trash"}),rowProps:{"data-media-row":"@trash"}})]}),Hn=(()=>{if(ln)return[{label:Ae.trash}];if(nn){const e=q.nodeId?Ke.get(q.nodeId)?.path??[]:[];return[{label:Ae.products,onClick:e.length?()=>_({place:"products",nodeId:null}):void 0},...e.map((n,l)=>({label:n.name,onClick:l<e.length-1?()=>_({place:"products",nodeId:n.id}):void 0}))]}const e=He(rn);return[{label:Ae.allFiles,onClick:e.length?()=>_({place:"files",folderId:null}):void 0},...e.map((n,l)=>({label:n.name,onClick:l<e.length-1?()=>_({place:"files",folderId:n.id}):void 0}))]})(),Wn=nn?Ae.readOnly:fe.upload,Zn=!!be&&!ln&&!Wn,$n=j({accept:ge,maxSizeBytes:ve,multiple:!0,disabled:!Zn,onAccept:e=>be?.(e,rn)}),Xn=nn?Ae.noProductFolder:fe.newFolder,qn=e=>e?{"aria-disabled":!0,disabledReason:e}:{},_n=/* @__PURE__ */B("div",{className:"flex flex-wrap items-center gap-2",children:[Je&&we&&!ln&&/* @__PURE__ */Q(F,{variant:"secondary",size:"sm",leftIcon:Z.folderPlus,onClick:()=>{wn(rn)},...qn(Xn),children:Ae.newFolder}),be&&!ln&&/* @__PURE__ */Q(F,{variant:"primary",size:"sm",leftIcon:Z.upload,onClick:()=>$n.open(),...qn(Wn),children:Ae.upload}),Je&&ln&&Se&&ie.length>0&&/* @__PURE__ */Q(F,{variant:"danger",size:"sm",onClick:Se,...qn(fe.deleteForever),children:Ae.emptyTrash})]}),el=(e,n,l,a,i)=>/* @__PURE__ */Q("div",{style:{width:Qe?void 0:i,flex:Qe?"1 1 120px":"0 0 auto",minWidth:0},children:/* @__PURE__ */Q(h,{size:"sm","aria-label":e,value:n,onChange:a,options:l})},e),nl=e=>n=>de?.({...oe,[e]:n}),ll=/* @__PURE__ */B("div",{className:"flex flex-wrap items-center gap-2",children:[te&&/* @__PURE__ */Q("div",{style:{flex:"1 1 200px",minWidth:0},children:/* @__PURE__ */Q(N,{size:"sm",type:"search",leftIcon:Z.search,placeholder:nn?Ae.searchProducts:Ae.search,"aria-label":nn?Ae.searchProducts:Ae.search,value:re??"",onChange:e=>te(e.target.value)})}),de&&el(Ae.mediaType,oe.type,[{value:"all",label:Ae.allTypes},{value:"image",label:Ae.images},{value:"video",label:Ae.videos},{value:"svg",label:"SVG"},{value:"gif",label:"GIF"}],nl("type"),130),de&&!nn&&!ln&&el(Ae.use,oe.use,[{value:"any",label:Ae.anyUse},{value:"email",label:Ae.emailOnly},{value:"website",label:Ae.websiteOnly},{value:"unused",label:Ae.notUsed}],nl("use"),130),de&&Je&&el(Ae.sort,oe.sort,[{value:"newest",label:Ae.newest},{value:"name",label:Ae.byName},{value:"size",label:Ae.bySize}],nl("sort"),110),se?.map(e=>el(e.label,e.value,e.options,e.onChange,120)),ue&&/* @__PURE__ */Q(g,{size:"sm",label:Ae.view,value:ce,onChange:ue,options:[{value:"grid",label:Ae.grid,icon:Z.grid},{value:"list",label:Ae.list,icon:Z.list}]})]}),al=e=>{const n=[];return null!=e.trashedDaysAgo&&n.push({key:"t",label:Ae.daysAgo(e.trashedDaysAgo),count:e.trashedDaysAgo,icon:$.clock,tone:"neutral"}),e.usedCount&&n.push({key:"u",label:Ae.used(e.usedCount),count:e.usedCount,icon:$.link,tone:"active"}),e.email&&n.push({key:"e",label:Ae.email,icon:$.email,tone:"queued"}),e.private&&n.push({key:"p",label:Ae.private,icon:$.lock,tone:"neutral"}),n},il=e=>al(e).map(e=>/* @__PURE__ */Q(z,{tone:e.tone,size:"xs",children:e.label},e.key)),rl=Je&&an&&!!Ce&&!fe.move,tl=!!Ee&&!ln,ol=e=>!tl||e.private||e.pickDisabledReason?void 0:JSON.stringify({id:e.id,url:e.url,kind:"video"===e.kind?"video":"image",name:e.name}),dl=ie.map(e=>({id:e.id,url:e.thumbUrl??e.url,name:e.name,kind:e.kind,caption:e.name,badges:al(e),dragData:rl?JSON.stringify(cn.isSelected(e.id)?un:[e.id]):ol(e),...rl&&ol(e)?{dragAlso:{[Y]:ol(e)}}:{}})),sl=Qe?Math.max(72,Math.floor((Ge-24-16-1)/3)):112,cl=M(null),ul=k({containerRef:cl,enabled:Je&&!Qe&&ie.length>0,selected:cn.selected,setSelection:e=>cn.setSelection(e),clearSelection:cn.clear}),ml=e=>{if(Re){const n=sn.get(e);return void(!n||n.private||n.pickDisabledReason||Oe?.(n))}const n=dn.indexOf(e);n>=0&&In(n)},hl=ie.length?null:re?/* @__PURE__ */Q(o,{variant:"dashed",title:Ae.noMatches}):nn?/* @__PURE__ */Q(o,{variant:"dashed",title:Ae.emptyProducts,description:on(tn)}):ln?/* @__PURE__ */Q(o,{variant:"dashed",title:Ae.trashEmpty}):!Zn||Re?/* @__PURE__ */Q(o,{variant:"dashed",title:Ae.emptyFolder}):null,pl="list"===ce&&ie.length>0,fl=hl??(pl?/* @__PURE__ */Q("ul",{role:"listbox","aria-multiselectable":Je||void 0,"aria-label":Ae.folders,className:"flex flex-col gap-1",children:ie.map(e=>/* @__PURE__ */B("li",{role:"option","aria-selected":cn.isSelected(e.id),tabIndex:0,"data-grid-item":"","data-grid-id":e.id,onClick:n=>vn(e.id,n),onDoubleClick:()=>ml(e.id),onContextMenu:n=>zn(e.id,n),draggable:!!ol(e)||void 0,onDragStart:ol(e)?n=>{n.dataTransfer.effectAllowed="link",n.dataTransfer.setData(Y,ol(e)),Ee("start")}:void 0,onDragEnd:ol(e)?e=>Ee("none"===e.dataTransfer.dropEffect?"cancelled":"dropped"):void 0,onKeyDown:n=>{"Enter"!==n.key&&" "!==n.key||(n.preventDefault(),vn(e.id,n))},className:"flex h-12 cursor-pointer items-center gap-3 rounded-md px-2 text-sm rosh-focus-ring focus-visible:ring-2 focus-visible:ring-[color:var(--rosh-focus-ring-solid)] "+(cn.isSelected(e.id)?"bg-accent-tint text-blue-700":"text-ink hover:bg-gray-100"),children:[
8
+ /* @__PURE__ */Q("img",{src:e.thumbUrl??e.url,alt:"",className:"h-10 w-10 shrink-0 rounded bg-gray-100 object-contain"}),
9
+ /* @__PURE__ */Q("span",{className:"min-w-0 flex-1 truncate",children:e.name}),
10
+ /* @__PURE__ */Q("span",{className:"flex shrink-0 items-center gap-1",children:il(e)}),e.sizeLabel&&/* @__PURE__ */Q("span",{className:"w-16 shrink-0 text-right text-xs text-ink-faint",children:e.sizeLabel})]},e.id))}):/* @__PURE__ */Q(p,{items:dl,readOnly:!Zn||Re,onFiles:Zn&&!Re?e=>be(e,rn):void 0,accept:ge,maxSizeBytes:ve,busy:ke,progress:ye,fit:"contain",thumbSize:sl,dragType:rl?K:tl?Y:void 0,onDragOutChange:tl?e=>Ee(e):void 0,selected:cn.selected,onItemClick:vn,onItemDoubleClick:ml,onItemContextMenu:Je?zn:void 0,menuOnMedia:Je})),gl=u({count:un.length,kind:Cn(un),targets:xn({kind:"files",ids:un}),onPick:e=>Ce?.({kind:"files",ids:un},e.key===s?null:e.key)}),vl=L({variant:"secondary",size:"sm"}),kl=/* @__PURE__ */Q(I,{align:"start",triggerClassName:vl,trigger:/* @__PURE__ */B(G,{children:[Z.folder,Ae.moveTo]}),items:gl,disabled:!!fe.move}),yl=Je&&un.length>1&&!nn?/* @__PURE__ */B("div",{"data-media-bulk":"",className:"flex flex-wrap items-center gap-2 rounded-lg border border-line px-3 py-2",children:[
11
+ /* @__PURE__ */Q(b,{checked:un.length===ie.length,indeterminate:un.length<ie.length,onChange:e=>e?cn.selectAll():cn.clear(),label:Ae.selected(un.length)}),/* @__PURE__ */B(G,ln?{children:[De&&/* @__PURE__ */Q(F,{variant:"secondary",size:"sm",leftIcon:Z.undo,onClick:()=>De(un),...qn(fe.restore),children:Ae.restore}),je&&/* @__PURE__ */Q(F,{variant:"secondary-danger",size:"sm",onClick:()=>je(un),...qn(fe.deleteForever),children:Ae.deleteForever})]}:{children:[Ce&&kl,xe&&/* @__PURE__ */Q(F,{variant:"secondary",size:"sm",leftIcon:Z.edit,disabled:!0,children:Ae.rename}),Ne&&/* @__PURE__ */Q(F,{variant:"secondary",size:"sm",leftIcon:Z.trash,onClick:()=>Ne({kind:"files",ids:un}),...qn(fe.trash),children:Ae.moveFilesToTrash(un.length)})]}),
12
+ /* @__PURE__ */Q(F,{variant:"ghost",size:"sm",onClick:cn.clear,children:Ae.clearSelection})]}):null,bl=e=>{const n=[],l=(e,l,a)=>{null!=a&&""!==a&&n.push({key:e,label:l,value:a})},a="file"===kn?.kind&&kn.id===e.id;l("name",Ae.name,a?/* @__PURE__ */Q(m,{value:e.name,label:Ae.fileName,onDone:bn}):e.name),l("type",Ae.type,e.typeLabel),l("size",Ae.size,e.sizeLabel),l("resolution",Ae.resolution,e.resolution),nn?(l("design",Ae.design,e.design),l("finish",Ae.finish,e.finish),l("angle",Ae.angleLug,e.angleLug),l("owner",Ae.owner,e.owner)):(l("added",Ae.addedBy,e.addedBy),l("folder",Ae.folder,e.folderPath)),l("used",Ae.usedIn,null!=e.usedCount?Ae.places(e.usedCount):void 0);const i=c({kind:"files",ids:[e.id]},Dn).find(e=>"submenu"===e.type);/* @__PURE__ */
13
+ return B("div",{"data-media-details":"",className:"flex flex-col gap-3",children:[
14
+ /* @__PURE__ */Q("img",{src:e.url,alt:e.name,className:"aspect-square w-full rounded-lg bg-gray-100 object-contain"}),nn&&/* @__PURE__ */Q(C,{tone:"neutral",title:Ae.readOnlyBadge,children:on(tn)}),
15
+ /* @__PURE__ */Q(r,{size:"sm",columns:1,items:n}),!ln&&/* @__PURE__ */B("div",{className:"flex gap-2",children:[
16
+ /* @__PURE__ */Q("div",{style:{flex:"1 1 0",minWidth:0},children:/* @__PURE__ */Q(N,{size:"sm",readOnly:!0,value:e.url,"aria-label":Ae.fileUrl,onFocus:e=>e.currentTarget.select()})}),
17
+ /* @__PURE__ */Q(F,{variant:"secondary",size:"sm",leftIcon:Z.copy,onClick:()=>Dn.copyUrl(e.id),children:Ae.copyUrl})]}),an&&Je&&/* @__PURE__ */B("div",{className:"flex flex-wrap gap-2",children:[ze&&/* @__PURE__ */Q(F,{variant:"secondary",size:"sm",leftIcon:Z.swap,onClick:()=>ze(e.id),...qn(fe.replace),children:Ae.replace}),Fe&&/* @__PURE__ */Q(F,{variant:"secondary",size:"sm",leftIcon:Z.crop,onClick:()=>Fe(e.id),children:Ae.cropEdit}),Ce&&"submenu"===i?.type&&/* @__PURE__ */Q(I,{align:"start",triggerClassName:vl,trigger:/* @__PURE__ */B(G,{children:[Z.folder,Ae.moveTo]}),items:i.items,disabled:!!fe.move}),xe&&/* @__PURE__ */Q(F,{variant:"secondary",size:"sm",leftIcon:Z.edit,onClick:()=>yn({kind:"file",id:e.id}),...qn(fe.rename),children:Ae.rename}),Ne&&/* @__PURE__ */Q(D,{"aria-label":Ae.moveToTrash,size:"sm",onClick:()=>Ne({kind:"files",ids:[e.id]}),disabledReason:fe.trash,"aria-disabled":!!fe.trash||void 0,children:Z.trash})]}),ln&&Je&&/* @__PURE__ */B("div",{className:"flex flex-wrap gap-2",children:[De&&/* @__PURE__ */Q(F,{variant:"primary",size:"sm",leftIcon:Z.undo,onClick:()=>De([e.id]),...qn(fe.restore),children:Ae.restore}),je&&/* @__PURE__ */Q(F,{variant:"danger",size:"sm",onClick:()=>je([e.id]),...qn(fe.deleteForever),children:Ae.deleteForever})]}),nn&&Te&&/* @__PURE__ */Q(F,{variant:"secondary",size:"sm",leftIcon:Z.external,onClick:()=>Te({kind:"render",id:e.id}),children:Ae.openInDesign}),pe&&/* @__PURE__ */Q(f,{items:pe})]})},wl=mn?mn.private?Ae.privateNoPick:mn.pickDisabledReason:void 0,xl=Re?/* @__PURE__ */B("div",{"data-media-picker-footer":"",className:"flex flex-wrap items-center justify-between gap-2 border-t border-line px-3 py-2",children:[
18
+ /* @__PURE__ */Q("span",{className:"min-w-0 truncate text-sm text-ink-faint",children:mn?Ae.oneChosen(mn.name):Ae.noneChosen}),
19
+ /* @__PURE__ */B("div",{className:"flex gap-2",children:[Le&&/* @__PURE__ */Q(F,{variant:"secondary",size:"sm",onClick:Le,children:Ae.cancel}),
20
+ /* @__PURE__ */Q(F,{variant:"primary",size:"sm",disabled:!mn,...qn(wl),onClick:()=>{mn&&!wl&&Oe?.(mn)},children:Ae.chooseImage})]})]}):null,Cl=Je&&!!mn,Nl=/* @__PURE__ */B("div",{className:"flex min-w-0 flex-col gap-3",children:[Pe&&/* @__PURE__ */Q(C,{tone:"neutral",children:Pe}),
21
+ /* @__PURE__ */B("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[
22
+ /* @__PURE__ */Q(d,{items:Hn}),_n]}),ll,yl,
23
+ /* @__PURE__ */B("div",{ref:cl,className:"relative",onPointerDown:ul.onPointerDown,onKeyDown:e=>{Je&&(e.ctrlKey||e.metaKey)&&"a"===e.key.toLowerCase()?(e.preventDefault(),cn.selectAll()):"Escape"===e.key&&cn.size&&cn.clear()},children:[fl,
24
+ /* @__PURE__ */Q(a,{rect:ul.rect})]}),Zn&&/* @__PURE__ */Q("input",{...$n.inputProps}),
25
+ /* @__PURE__ */Q(S,{rejections:$n.rejections})]});/* @__PURE__ */
26
+ return B("div",{ref:Be,"data-media-library":"","data-layout":Qe?"phone":"wide",className:`flex h-full min-h-0 min-w-0 flex-col ${Me}`.trim(),children:[/* @__PURE__ */B("div",Qe?{className:"flex flex-col gap-3 p-3",children:[Yn,Nl]}:{className:"flex min-h-0 min-w-0 flex-1",children:[
27
+ /* @__PURE__ */Q("div",{className:"shrink-0 overflow-y-auto border-r border-line p-3",style:{width:280,"--rosh-tree-ground":"var(--surface)"},children:Yn}),
28
+ /* @__PURE__ */Q("div",{className:"min-w-0 flex-1 overflow-y-auto p-3",children:Nl}),Cl&&/* @__PURE__ */Q("div",{className:"shrink-0 overflow-y-auto border-l border-line p-3",style:{width:300},children:bl(mn)})]}),xl,Qe&&/* @__PURE__ */Q(t,{open:Cl,onClose:cn.clear,side:"bottom",title:mn?.name,children:mn&&bl(mn)}),Sn.state&&/* @__PURE__ */Q(x,{...Sn.props,items:jn(Sn.state.data)}),null!=Nn&&ie.length>0&&/* @__PURE__ */Q(i,{images:ie.map(e=>({url:e.url,caption:e.name})),startIndex:Math.min(Nn,ie.length-1),onClose:()=>In(null)})]})}export{K as MEDIA_FILES_DRAG_TYPE,Y as MEDIA_FILE_DRAG_TYPE,V as MEDIA_FOLDER_DRAG_TYPE,X as MediaLibrary,H as readMediaFileDrag};
@@ -0,0 +1,4 @@
1
+ import{SpinnerRing as e}from"./chunk-R2VKEMZH.js";import{useShellStrings as t}from"./chunk-43MCNASD.js";import{jsxs as n,Fragment as l,jsx as o}from"react/jsx-runtime";function r({selectedCount:r,hiddenSelectedCount:c=0,loadedCount:d,totalCount:i,label:a,isFetchingMore:s,extra:u,extraAfter:h}){const m=t().list,f=i??d,p=d>=f,x=c>0?m.selectedNotShown(r,c):r>0?m.selected(r):"";/* @__PURE__ */
2
+ return n(l,{children:[u,x?`${x} — `:"",p?null!=i?m.allLoaded(f,a):m.count(f,a):m.loadedOf(d,f,a),(C=h,null!=C&&!1!==C&&!0!==C&&""!==C?/* @__PURE__ */n(l,{children:[" · ",h]}):""),s?/* @__PURE__ */n(l,{children:[" · ",
3
+ /* @__PURE__ */n("span",{className:"inline-flex items-center gap-1",role:"status",children:[
4
+ /* @__PURE__ */o(e,{}),m.loadingMore]})]}):""]});var C}export{r as ListFooter};
@@ -0,0 +1,13 @@
1
+ import{copyToClipboard as e,selectionAt as t}from"./chunk-PH3P54QQ.js";import{useTableNav as n}from"./chunk-ATMJ5ZPK.js";import{escapeHtml as r}from"./chunk-G6DKCCWH.js";import{ListFooter as o}from"./chunk-TX5FZBPQ.js";import{ListLoadError as l}from"./chunk-YRJJKF5H.js";import{ResizableTable as i}from"./chunk-3PWI5IH7.js";import{Checkbox_default as a}from"./chunk-CGZBDI6C.js";import{LoadingSpinner as c}from"./chunk-SCGBCBXP.js";import{PopupMenu as d,PopupMenuLabel as s,PopupMenuItem as h,PopupMenuDivider as m}from"./chunk-IFQXTIMY.js";import{keepsNativeMenu as u}from"./chunk-5QFPTDQF.js";import{LoadingSpinner as p}from"./chunk-R2VKEMZH.js";import{shellHttp as f}from"./chunk-STKJA4PV.js";import{toast_default as g}from"./chunk-TRWHVG3A.js";import{useShellStrings as y}from"./chunk-43MCNASD.js";import{useState as k,useRef as b}from"react";import{jsx as x,Fragment as w,jsxs as C}from"react/jsx-runtime";function j(e){return Array.from(e.children).filter(e=>void 0!==e.dataset?.colKey&&"_select"!==e.dataset.colKey)}function v(e){return("string"==typeof e.innerText?e.innerText:e.textContent??"").replace(/\s+/g," ").trim()}function S(S){const{items:R,isLoading:N,emptyState:T,totalCount:P,isError:$,onRetry:A,errorTitle:L,errorMessage:M,tableId:F,columns:I,renderCell:K,getRowId:E=e=>e.id,sort:H,onSort:D,selected:B,setSelected:Q,onRowClick:U,onRowHover:W,getRowClassName:J,footerLabel:G,footerExtra:O,footerExtraAfter:X,sentinelRef:Z,isFetchingNextPage:_,saveDefaultPerms:V,exportEndpoint:Y,exportFilename:z="export.csv",contextActions:q}=S,[ee,te]=k(null),ne=b(null),re=y(),oe=re.entityList,le=e=>{Q(t=>{const n=new Set(t),r=E(e);return n.has(r)?n.delete(r):n.add(r),n})},ie=()=>{Q(e=>{const t=R.map(E),n=new Set(e);return t.every(t=>e.has(t))?t.forEach(e=>n.delete(e)):t.forEach(e=>n.add(e)),n})},ae=n(R,U,le,ie,(e,t)=>{Q(n=>{const r=new Set(n);for(let n=e;n<=t;n++)r.add(E(R[n]));return r})},ne),ce=R.filter(e=>B.has(E(e))),de=()=>{const e=[...ne.current?.querySelectorAll("tr[data-row-idx]")??[]].filter(e=>{const t=R[Number(e.dataset.rowIdx)];return void 0!==t&&B.has(E(t))}),t=e.length?j(e[0]).map(e=>e.dataset.colKey??""):[],n=new Map(I.map(e=>[e.key,e.label]));return{keys:t,header:t.map(e=>n.get(e)??e),body:e.map(e=>j(e).map(v))}},se=()=>{te(null);const{header:t,body:n}=de();if(!n.length)return;const o=[t,...n].map(e=>e.join("\t")).join("\n"),l="<table><thead><tr>"+t.map(e=>`<th>${r(e)}</th>`).join("")+"</tr></thead><tbody>"+n.map(e=>`<tr>${e.map(e=>`<td>${r(e)}</td>`).join("")}</tr>`).join("")+"</tbody></table>";e(oe.copiedRows(n.length),o,l)},he=async()=>{te(null);const e=ce.map(E);if(!e.length||!Y)return;const t=new URLSearchParams({ids:e.join(",")}),n=(()=>{const e=new Map(I.map(e=>[e.key,e.exportLabel??e.label]));try{const t=localStorage.getItem(`col-config-${F}`);if(t){const n=JSON.parse(t).filter(t=>!t.hidden&&"_select"!==t.key&&e.has(t.key)).map(t=>`${t.key}|${e.get(t.key)}`);if(n.length)return n.join(",")}}catch{}return I.filter(e=>!e.defaultHidden).map(e=>`${e.key}|${e.exportLabel??e.label}`).join(",")})();n&&t.set("cols",n);const r=Y.includes("?")?"&":"?";try{const n=await f.get(`${Y}${r}${t}`,{responseType:"blob"}),o=window.URL.createObjectURL(new Blob([n.data],{type:"text/csv"})),l=document.createElement("a");l.href=o,l.download=z,l.click(),window.URL.revokeObjectURL(o);const i=n.headers??{},a=Number(i["x-row-count"]);if("true"===String(i["x-truncated"]))return void g.notify(Number.isFinite(a)?oe.exportTruncated(a,e.length):oe.exportTruncatedUnknown(e.length));g.success(oe.exported(e.length))}catch{g.error(oe.exportFailed)}};if(N)/* @__PURE__ */return x(c,{});if($&&0===R.length)/* @__PURE__ */
2
+ return x(l,{title:L,message:M,onRetry:A});if(0===R.length)/* @__PURE__ */return x(w,{children:T});const me=R.length>0&&ce.length===R.length,ue=ce.length>0&&!me,pe=B.size-ce.length,fe=[{key:"_select",label:"",defaultWidth:52,minWidth:52,headerNode:/* @__PURE__ */x(a,{"aria-label":re.table.selectAll,checked:me,indeterminate:ue,onChange:ie,style:{height:14,width:14}})},...I],ge=/* @__PURE__ */x(o,{selectedCount:ce.length,hiddenSelectedCount:pe,loadedCount:R.length,totalCount:P,label:G,isFetchingMore:_,extra:O,extraAfter:X}),ye=Z?/* @__PURE__ */C(w,{children:[
3
+ /* @__PURE__ */x("div",{ref:Z}),_&&/* @__PURE__ */x(p,{size:"sm",padding:"py-3",label:re.list.loadingMore})]}):void 0;let ke=null;if(ee){const{x:t,y:n,item:r,text:o,firstColumn:l}=ee,i=q?q(ce):[],a=ce.length,c=()=>te(null),u=void 0!==P&&P>R.length;ke=/* @__PURE__ */C(d,{portal:!0,style:{left:t,top:n},onClose:c,minWidth:210,children:[
4
+ /* @__PURE__ */x(s,{children:pe>0?re.list.selectedNotShown(a,pe):re.list.selected(a)}),
5
+ /* @__PURE__ */x(h,{className:"font-medium",onClick:()=>{c(),U(r)},children:oe.open}),
6
+ /* @__PURE__ */x(m,{}),o&&/* @__PURE__ */x(h,{onClick:()=>{c(),e(oe.copiedText,o.text,o.html)},children:oe.copy}),l&&/* @__PURE__ */x(h,{onClick:()=>(t=>{te(null);const{keys:n,body:r}=de(),o=n.indexOf(t.key);o<0||!r.length||e(t.label,r.map(e=>e[o]).join("\n"))})(l),children:oe.copyColumn(l.label)}),
7
+ /* @__PURE__ */x(h,{disabled:0===a,onClick:se,children:oe.copyRows(a)}),Y&&/* @__PURE__ */x(h,{onClick:he,children:oe.exportSelected}),i.map((e,t)=>/* @__PURE__ */C("div",{children:[(e.divider||0===t)&&/* @__PURE__ */x(m,{}),
8
+ /* @__PURE__ */x(h,{danger:e.danger,disabled:e.disabled,onClick:()=>{c(),e.onClick(ce)},children:e.label})]},t)),
9
+ /* @__PURE__ */x(m,{}),!me&&/* @__PURE__ */x(h,{onClick:()=>{c(),Q(e=>/* @__PURE__ */new Set([...e,...R.map(E)]))},children:u?oe.selectAllLoaded(R.length):oe.selectAll}),
10
+ /* @__PURE__ */x(h,{onClick:()=>{c(),Q(/* @__PURE__ */new Set)},children:oe.clearSelection}),A&&/* @__PURE__ */x(h,{onClick:()=>{c(),A()},children:oe.refresh})]})}/* @__PURE__ */
11
+ return C("div",{className:"flex-1 flex flex-col mb-1 bg-white rounded-lg shadow overflow-hidden",children:[
12
+ /* @__PURE__ */x("div",{className:"flex-1 min-h-0 flex flex-col",children:/* @__PURE__ */x(i,{tableId:F,columns:fe,sort:H,onSort:D,footer:ge,afterBody:ye,saveDefaultPerms:V,children:e=>/* @__PURE__ */x("tbody",{ref:ne,className:"divide-y divide-gray-100",children:R.map((n,r)=>{const o=E(n);/* @__PURE__ */
13
+ return x("tr",{"data-row-idx":r,className:`cursor-pointer ${ae===r?"bg-blue-50 ring-1 ring-inset ring-blue-300":B.has(o)?"bg-blue-50 hover:bg-blue-100":"hover:bg-gray-50"} ${J?.(n)??""}`,onClick:()=>U(n),onContextMenu:e=>((e,n)=>{if(e.shiftKey||u(e.target))return;e.preventDefault();const r=E(n);B.has(r)||Q(/* @__PURE__ */new Set([r]));const o=j(e.currentTarget)[0]?.dataset.colKey,l=o?I.find(e=>e.key===o)?.label:void 0;te({x:e.clientX,y:e.clientY,item:n,text:t(e.target),firstColumn:o&&l?{key:o,label:l}:null})})(e,n),onMouseEnter:W?()=>W(n):void 0,children:e.map(e=>/* @__PURE__ */x("td",{"data-col-key":e.key,className:"px-4 py-3 whitespace-nowrap text-sm overflow-hidden",children:"_select"===e.key?/* @__PURE__ */x(a,{"aria-label":re.table.selectRow,checked:B.has(o),onChange:()=>le(n),onClick:e=>e.stopPropagation(),style:{height:14,width:14}}):K(n,e.key)},e.key))},o)})})})}),ke]})}export{S as EntityList};
@@ -1 +1 @@
1
- import{client_default as a}from"./chunk-UWF45S5L.js";var t=()=>a.get("/auth/numbering-configs/").then(a=>a.data?.results??a.data??[]),e="uploaded:wallpaper";function r(a,t){return"string"!=typeof a||!a||"none"===a||a.startsWith("#")?"":a===e?t||"":a}var l=()=>a.get("/auth/me/wallpaper/").then(a=>a.data),n=(t,e)=>{const r=new FormData;r.append("wallpaper",t);const l=e?{onUploadProgress:a=>e(a.total?Math.round(a.loaded/a.total*100):null)}:void 0;return a.post("/auth/me/wallpaper/",r,l).then(a=>a.data)},p=()=>a.delete("/auth/me/wallpaper/").then(a=>a.data);function o(a){const t=a?.response?.status,e=a?.response?.data,r=Array.isArray(e?.wallpaper)?e.wallpaper[0]:void 0;return r||(413===t?"That picture is too large to use as a wallpaper.":415===t?"That file is not a picture this can use as a wallpaper.":"The wallpaper could not be saved. Please try again.")}export{e as WALLPAPER_PREF_TOKEN,p as deleteWallpaper,t as getNumberingConfigs,l as getWallpaper,n as uploadWallpaper,r as wallpaperSrc,o as wallpaperUploadError};
1
+ import{client_default as a}from"./chunk-AHJAJLSK.js";var t=()=>a.get("/auth/numbering-configs/").then(a=>a.data?.results??a.data??[]),e="uploaded:wallpaper";function r(a,t){return"string"!=typeof a||!a||"none"===a||a.startsWith("#")?"":a===e?t||"":a}var l=()=>a.get("/auth/me/wallpaper/").then(a=>a.data),n=(t,e)=>{const r=new FormData;r.append("wallpaper",t);const l=e?{onUploadProgress:a=>e(a.total?Math.round(a.loaded/a.total*100):null)}:void 0;return a.post("/auth/me/wallpaper/",r,l).then(a=>a.data)},p=()=>a.delete("/auth/me/wallpaper/").then(a=>a.data);function o(a){const t=a?.response?.status,e=a?.response?.data,r=Array.isArray(e?.wallpaper)?e.wallpaper[0]:void 0;return r||(413===t?"That picture is too large to use as a wallpaper.":415===t?"That file is not a picture this can use as a wallpaper.":"The wallpaper could not be saved. Please try again.")}export{e as WALLPAPER_PREF_TOKEN,p as deleteWallpaper,t as getNumberingConfigs,l as getWallpaper,n as uploadWallpaper,r as wallpaperSrc,o as wallpaperUploadError};
@@ -1,9 +1,9 @@
1
- import{useWindowMenuItem as e,Modal as t}from"./chunk-UWF45S5L.js";import{navIcons as r}from"./chunk-4LXCCZDM.js";import{VERSION as n}from"./chunk-C4IJONGO.js";import{Icon as s}from"./chunk-UIWGVOFH.js";import{DEFAULT_SHELL_STRINGS as i,useShellStrings as o,splitAround as a}from"./chunk-43MCNASD.js";import{useState as l,useCallback as m,isValidElement as c,cloneElement as p}from"react";import{jsx as d,jsxs as f}from"react/jsx-runtime";var h=i.aboutApp,x={notepad:{name:"Notepad",version:"1.1.0",route:"/notepad",description:h.notepad},preview:{name:"Preview",version:"1.4.3",route:"/preview",description:h.preview},files:{name:"Files",version:"1.3.0",route:"/files",description:h.files},browser:{name:"Browser",version:"1.0.3",route:"/browser",description:h.browser}},u=/* @__PURE__ */d(s,{name:"info",className:"h-4 w-4",strokeWidth:1.5}),w=/* @__PURE__ */d(s,{name:"window",className:"h-9 w-9",strokeWidth:1.5});function N({app:s}){const i=x[s],[h,N]=l(!1),v=m(()=>N(!0),[]),b=o().aboutApp,k=b.title(i.name);if(e(k,v,u),!h)return null;const g=r[i.route],y=c(g)?p(g,{className:"h-9 w-9"}):w,[j,C]=a(b.partOf);/* @__PURE__ */
2
- return d(t,{open:!0,onClose:()=>N(!1),title:k,size:"sm",compact:!0,bodyScroll:!1,autoHeight:!0,dimensions:[320,320],children:/* @__PURE__ */f("div",{className:"flex flex-col items-center text-center px-5 pt-5 pb-4",children:[
1
+ import{useWindowMenuItem as e,Modal as t}from"./chunk-AHJAJLSK.js";import{navIcons as r}from"./chunk-4LXCCZDM.js";import{VERSION as n}from"./chunk-PWYLGTZS.js";import{Icon as s}from"./chunk-UIWGVOFH.js";import{DEFAULT_SHELL_STRINGS as i,useShellStrings as o,splitAround as a}from"./chunk-43MCNASD.js";import{useState as l,useCallback as m,isValidElement as c,cloneElement as p}from"react";import{jsx as d,jsxs as f}from"react/jsx-runtime";var h=i.aboutApp,x={notepad:{name:"Notepad",version:"1.1.0",route:"/notepad",description:h.notepad},preview:{name:"Preview",version:"1.4.3",route:"/preview",description:h.preview},files:{name:"Files",version:"1.3.0",route:"/files",description:h.files},browser:{name:"Browser",version:"1.0.3",route:"/browser",description:h.browser}},u=/* @__PURE__ */d(s,{name:"info",className:"h-4 w-4",strokeWidth:1.5}),w=/* @__PURE__ */d(s,{name:"window",className:"h-9 w-9",strokeWidth:1.5});function v({app:s}){const i=x[s],[h,v]=l(!1),N=m(()=>v(!0),[]),b=o().aboutApp,k=b.title(i.name);if(e(k,N,u),!h)return null;const g=r[i.route],y=c(g)?p(g,{className:"h-9 w-9"}):w,[j,A]=a(b.partOf);/* @__PURE__ */
2
+ return d(t,{open:!0,onClose:()=>v(!1),title:k,size:"sm",compact:!0,bodyScroll:!1,autoHeight:!0,dimensions:[320,320],children:/* @__PURE__ */f("div",{className:"flex flex-col items-center text-center px-5 pt-5 pb-4",children:[
3
3
  /* @__PURE__ */d("div",{className:"flex h-16 w-16 items-center justify-center rounded-2xl bg-gray-100 text-gray-600 shrink-0",children:y}),
4
4
  /* @__PURE__ */d("h2",{className:"mt-3 text-lg font-bold text-gray-900",children:i.name}),
5
5
  /* @__PURE__ */d("p",{className:"text-2xs font-mono text-ink-faintest",children:b.version(i.version)}),
6
6
  /* @__PURE__ */d("p",{className:"mt-2 text-xs text-gray-500 leading-relaxed",children:b[s]}),
7
7
  /* @__PURE__ */f("div",{className:"mt-4 pt-3 border-t border-gray-200 w-full",children:[
8
8
  /* @__PURE__ */f("p",{className:"text-2xs text-ink-faint",children:[j,
9
- /* @__PURE__ */d("span",{className:"font-medium text-gray-700",children:"efficient-shell"}),C]}),n&&/* @__PURE__ */d("p",{className:"mt-0.5 text-2xs font-mono text-ink-faintest",children:b.shellVersion(n)})]})]})})}export{N as AboutApp,x as BUILTIN_APP_INFO};
9
+ /* @__PURE__ */d("span",{className:"font-medium text-gray-700",children:"efficient-shell"}),A]}),n&&/* @__PURE__ */d("p",{className:"mt-0.5 text-2xs font-mono text-ink-faintest",children:b.shellVersion(n)})]})]})})}export{v as AboutApp,x as BUILTIN_APP_INFO};
@@ -69,7 +69,11 @@ interface EntityListProps<T> {
69
69
  onRowHover?: (item: T) => void;
70
70
  getRowClassName?: (item: T) => string;
71
71
  footerLabel: string;
72
+ /** Footer text drawn ahead of the selection sentence. */
72
73
  footerExtra?: ReactNode;
74
+ /** Footer text drawn after the count sentence, joined by " · " — e.g. the
75
+ * ticked rows' totals (`ListFooter`'s `extraAfter`). */
76
+ footerExtraAfter?: ReactNode;
73
77
  sentinelRef?: RefObject<any>;
74
78
  isFetchingNextPage?: boolean;
75
79
  /** Perm codenames that gate "Save as default for all users" in the column
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- export{EntityList as default}from"../chunk-VIOILTE4.js";import"../chunk-PH3P54QQ.js";import"../chunk-ATMJ5ZPK.js";import"../chunk-G6DKCCWH.js";import"../chunk-4H5NTMOF.js";import"../chunk-YRJJKF5H.js";import"../chunk-3PWI5IH7.js";import"../chunk-SI26KESU.js";import"../chunk-UKBXQXDZ.js";import"../chunk-ULJQYXHB.js";import"../chunk-CGZBDI6C.js";import"../chunk-SCGBCBXP.js";import"../chunk-F3ZOO23R.js";import"../chunk-2QY5BJLA.js";import"../chunk-UGTRSRIW.js";import"../chunk-KC3EX26K.js";import"../chunk-IFQXTIMY.js";import"../chunk-URHGHXDN.js";import"../chunk-5QFPTDQF.js";import"../chunk-UJJXWLHE.js";import"../chunk-XWFLIGDQ.js";import"../chunk-UIWGVOFH.js";import"../chunk-J75ZT2JQ.js";import"../chunk-R2VKEMZH.js";import"../chunk-CJH2BGXY.js";import"../chunk-QQ2LDC6C.js";import"../chunk-PGN5ME7B.js";import"../chunk-62LW225J.js";import"../chunk-GLUJS42B.js";import"../chunk-D65T4H6J.js";import"../chunk-STKJA4PV.js";import"../chunk-TRWHVG3A.js";import"../chunk-UQYNPYF4.js";import"../chunk-MRJKZWWV.js";import"../chunk-TWVUQUUD.js";import"../chunk-5FYDNH4Y.js";import"../chunk-LNXBTK7Q.js";import"../chunk-43MCNASD.js";import"../chunk-C3QOHMR6.js";
2
+ export{EntityList as default}from"../chunk-UVGEOQI4.js";import"../chunk-PH3P54QQ.js";import"../chunk-ATMJ5ZPK.js";import"../chunk-G6DKCCWH.js";import"../chunk-TX5FZBPQ.js";import"../chunk-YRJJKF5H.js";import"../chunk-3PWI5IH7.js";import"../chunk-SI26KESU.js";import"../chunk-UKBXQXDZ.js";import"../chunk-ULJQYXHB.js";import"../chunk-CGZBDI6C.js";import"../chunk-SCGBCBXP.js";import"../chunk-F3ZOO23R.js";import"../chunk-2QY5BJLA.js";import"../chunk-UGTRSRIW.js";import"../chunk-KC3EX26K.js";import"../chunk-IFQXTIMY.js";import"../chunk-URHGHXDN.js";import"../chunk-5QFPTDQF.js";import"../chunk-UJJXWLHE.js";import"../chunk-XWFLIGDQ.js";import"../chunk-UIWGVOFH.js";import"../chunk-J75ZT2JQ.js";import"../chunk-R2VKEMZH.js";import"../chunk-CJH2BGXY.js";import"../chunk-QQ2LDC6C.js";import"../chunk-PGN5ME7B.js";import"../chunk-62LW225J.js";import"../chunk-GLUJS42B.js";import"../chunk-D65T4H6J.js";import"../chunk-STKJA4PV.js";import"../chunk-TRWHVG3A.js";import"../chunk-UQYNPYF4.js";import"../chunk-MRJKZWWV.js";import"../chunk-TWVUQUUD.js";import"../chunk-5FYDNH4Y.js";import"../chunk-LNXBTK7Q.js";import"../chunk-43MCNASD.js";import"../chunk-C3QOHMR6.js";
@@ -11,19 +11,14 @@ interface ListFooterProps {
11
11
  totalCount?: number;
12
12
  label: string;
13
13
  isFetchingMore?: boolean;
14
+ /** Drawn first, ahead of the selection. */
14
15
  extra?: ReactNode;
16
+ /** Drawn after the count sentence, joined by " · " — the place for a figure
17
+ * ABOUT the selection ("Total qty 41,230 over 1,186 lines"), which reads
18
+ * as the sentence's continuation rather than its preface. Nothing is drawn,
19
+ * separator included, when it is empty. */
20
+ extraAfter?: ReactNode;
15
21
  }
16
- /**
17
- * Standardized footer for `EntityList`. Shows:
18
- * "[X selected — ] Y records"
19
- * "X selected, H not shown — Y records"
20
- * "Y of Z records · Loading more..."
21
- * "All N records loaded"
22
- *
23
- * The sentences are the catalog's `list` section — functions of the counts, so
24
- * a host's own plural rules choose the words — and the separators (the em dash,
25
- * the middle dot) stay here, where they are typography rather than language.
26
- */
27
- declare function ListFooter({ selectedCount, hiddenSelectedCount, loadedCount, totalCount, label, isFetchingMore, extra, }: ListFooterProps): react_jsx_runtime.JSX.Element;
22
+ declare function ListFooter({ selectedCount, hiddenSelectedCount, loadedCount, totalCount, label, isFetchingMore, extra, extraAfter, }: ListFooterProps): react_jsx_runtime.JSX.Element;
28
23
 
29
24
  export { ListFooter as default };
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- export{ListFooter as default}from"../chunk-4H5NTMOF.js";import"../chunk-R2VKEMZH.js";import"../chunk-MRJKZWWV.js";import"../chunk-43MCNASD.js";import"../chunk-C3QOHMR6.js";
2
+ export{ListFooter as default}from"../chunk-TX5FZBPQ.js";import"../chunk-R2VKEMZH.js";import"../chunk-MRJKZWWV.js";import"../chunk-43MCNASD.js";import"../chunk-C3QOHMR6.js";
@@ -1 +1 @@
1
- export{slugify}from"../chunk-24AL3CDS.js";export{ENTRANCE_ATTR,ENTRANCE_FROM,ENTRANCE_FROM_ATTR,ENTRANCE_FROM_DEFAULT,ENTRANCE_KINDS,ENTRANCE_KINDS_WITH_FROM,ENTRANCE_STATE_ATTR,armEntrance,entranceAttrs,playEntrance,readEntrance}from"../chunk-Q2SCJQ5H.js";export{HOVER_MOTION,MOTION_EASING,MOTION_GROUPS,MOTION_TIMING,motionSeconds,rotateDegrees}from"../chunk-AIJ3G6BD.js";export{hexWithAlpha,mixHex,rgbToHex}from"../chunk-CJSZW3OS.js";export{addShowWhenFacts,isShown,lazyShowWhenContext,showWhenFactReaders,showWhenFactsContext,showWhenOf,shownForOption,truthy,withRowRules,withRowsShownWhen,withShowWhen,withShowWhenFacts}from"../chunk-HCP7WOAL.js";export{fromDateKey,toDateKey}from"../chunk-2HMNOLKX.js";export{BORDER_LINE_STYLES}from"../chunk-NOMWJTN2.js";export{contrastRatio,hexToRgb,parseHexColor,readableInk,relativeLuminance}from"../chunk-S6OB6HJB.js";export{FOCAL_DEFAULT,FOCAL_NUDGE_COARSE,FOCAL_NUDGE_STEP,focalFromRect,formatFocal,nudgeFocal,parseFocal}from"../chunk-25RR3GQW.js";export{escapeHtml}from"../chunk-G6DKCCWH.js";export{currencyDecimals,currencySymbol,formatBytes,formatMoney,setCurrencyFormats,timeAgo}from"../chunk-GEYM4WN3.js";export{DATE_FORMAT_OPTIONS,TZ_AUTO,formatDate,formatDateTime,formatTime,getUserDateFormat,getUserTimezone,setUserDateFormat,setUserTimezone,syncTimezoneFromProfile}from"../chunk-Y3JW2GW5.js";export{EMPTY_VALUE}from"../chunk-36BRD5J3.js";import"../chunk-LF27WIN2.js";export{ROOT_THEME_ATTRIBUTES,rootIsDark,watchRootTheme}from"../chunk-LNXBTK7Q.js";
1
+ export{slugify}from"../chunk-24AL3CDS.js";export{ENTRANCE_ATTR,ENTRANCE_FROM,ENTRANCE_FROM_ATTR,ENTRANCE_FROM_DEFAULT,ENTRANCE_KINDS,ENTRANCE_KINDS_WITH_FROM,ENTRANCE_STATE_ATTR,armEntrance,entranceAttrs,playEntrance,readEntrance}from"../chunk-Q2SCJQ5H.js";export{HOVER_MOTION,MOTION_EASING,MOTION_GROUPS,MOTION_TIMING,motionSeconds,rotateDegrees}from"../chunk-AIJ3G6BD.js";export{hexWithAlpha,mixHex,rgbToHex}from"../chunk-CJSZW3OS.js";export{addShowWhenFacts,isShown,lazyShowWhenContext,showWhenFactReaders,showWhenFactsContext,showWhenOf,shownForOption,truthy,withRowRules,withRowsShownWhen,withShowWhen,withShowWhenFacts}from"../chunk-HCP7WOAL.js";export{BORDER_LINE_STYLES}from"../chunk-NOMWJTN2.js";export{contrastRatio,hexToRgb,parseHexColor,readableInk,relativeLuminance}from"../chunk-S6OB6HJB.js";export{FOCAL_DEFAULT,FOCAL_NUDGE_COARSE,FOCAL_NUDGE_STEP,focalFromRect,formatFocal,nudgeFocal,parseFocal}from"../chunk-25RR3GQW.js";export{fromDateKey,toDateKey}from"../chunk-2HMNOLKX.js";export{escapeHtml}from"../chunk-G6DKCCWH.js";export{currencyDecimals,currencySymbol,formatBytes,formatMoney,setCurrencyFormats,timeAgo}from"../chunk-GEYM4WN3.js";export{DATE_FORMAT_OPTIONS,TZ_AUTO,formatDate,formatDateTime,formatTime,getUserDateFormat,getUserTimezone,setUserDateFormat,setUserTimezone,syncTimezoneFromProfile}from"../chunk-Y3JW2GW5.js";export{EMPTY_VALUE}from"../chunk-36BRD5J3.js";import"../chunk-LF27WIN2.js";export{ROOT_THEME_ATTRIBUTES,rootIsDark,watchRootTheme}from"../chunk-LNXBTK7Q.js";
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- export{BrandAssetEditor as default}from"../chunk-LCC3NXQX.js";import"../chunk-CURXYF2R.js";import"../chunk-JQBVSPF5.js";import"../chunk-JDQGHQ2C.js";import"../chunk-6KBDNYRW.js";import"../chunk-53EW4M5S.js";import"../chunk-25RR3GQW.js";import"../chunk-MI67DI3H.js";import"../chunk-XK4SMAVR.js";import"../chunk-WCPAQHHA.js";import"../chunk-7KIDOIPY.js";import"../chunk-JPNAEN53.js";import"../chunk-UJJXWLHE.js";import"../chunk-XWFLIGDQ.js";import"../chunk-UIWGVOFH.js";import"../chunk-J75ZT2JQ.js";import"../chunk-R2VKEMZH.js";import"../chunk-CJH2BGXY.js";import"../chunk-QQ2LDC6C.js";import"../chunk-PGN5ME7B.js";import"../chunk-62LW225J.js";import"../chunk-GLUJS42B.js";import"../chunk-D65T4H6J.js";import"../chunk-UQYNPYF4.js";import"../chunk-MRJKZWWV.js";import"../chunk-TWVUQUUD.js";import"../chunk-5FYDNH4Y.js";import"../chunk-LNXBTK7Q.js";import"../chunk-43MCNASD.js";import"../chunk-C3QOHMR6.js";
2
+ export{BrandAssetEditor as default}from"../chunk-34SPT4I6.js";import"../chunk-PM4Y2FMQ.js";import"../chunk-JQBVSPF5.js";import"../chunk-JDQGHQ2C.js";import"../chunk-53EW4M5S.js";import"../chunk-6KBDNYRW.js";import"../chunk-MI67DI3H.js";import"../chunk-25RR3GQW.js";import"../chunk-XK4SMAVR.js";import"../chunk-WCPAQHHA.js";import"../chunk-7KIDOIPY.js";import"../chunk-JPNAEN53.js";import"../chunk-UJJXWLHE.js";import"../chunk-XWFLIGDQ.js";import"../chunk-UIWGVOFH.js";import"../chunk-J75ZT2JQ.js";import"../chunk-R2VKEMZH.js";import"../chunk-CJH2BGXY.js";import"../chunk-QQ2LDC6C.js";import"../chunk-PGN5ME7B.js";import"../chunk-62LW225J.js";import"../chunk-GLUJS42B.js";import"../chunk-D65T4H6J.js";import"../chunk-UQYNPYF4.js";import"../chunk-MRJKZWWV.js";import"../chunk-TWVUQUUD.js";import"../chunk-5FYDNH4Y.js";import"../chunk-LNXBTK7Q.js";import"../chunk-43MCNASD.js";import"../chunk-C3QOHMR6.js";
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- export{TextLinkField,LinkPicker as default}from"../chunk-WUGQAZMC.js";import"../chunk-C57PNNAW.js";import"../chunk-EQKUFYX6.js";import"../chunk-UDVQORQM.js";import"../chunk-EO5RLFRX.js";import"../chunk-7HIHQR3X.js";import"../chunk-2NMW66P5.js";import"../chunk-UJUTS6LJ.js";import"../chunk-Q5Z3KHT2.js";import"../chunk-GZQD6IBV.js";import"../chunk-YZR4T5FZ.js";import"../chunk-EB2UE6ZR.js";import"../chunk-UGOJLNYR.js";import"../chunk-AYZY3YNC.js";import"../chunk-UGTRSRIW.js";import"../chunk-CDAJKLGL.js";import"../chunk-IFQXTIMY.js";import"../chunk-URHGHXDN.js";import"../chunk-5QFPTDQF.js";import"../chunk-UJJXWLHE.js";import"../chunk-XWFLIGDQ.js";import"../chunk-UIWGVOFH.js";import"../chunk-J75ZT2JQ.js";import"../chunk-R2VKEMZH.js";import"../chunk-QQ2LDC6C.js";import"../chunk-PGN5ME7B.js";import"../chunk-62LW225J.js";import"../chunk-GLUJS42B.js";import"../chunk-D65T4H6J.js";import"../chunk-UQYNPYF4.js";import"../chunk-MRJKZWWV.js";import"../chunk-TWVUQUUD.js";import"../chunk-5FYDNH4Y.js";import"../chunk-LNXBTK7Q.js";import"../chunk-43MCNASD.js";import"../chunk-C3QOHMR6.js";
2
+ export{TextLinkField,LinkPicker as default}from"../chunk-EZPSNUYR.js";import"../chunk-C57PNNAW.js";import"../chunk-UDVQORQM.js";import"../chunk-EO5RLFRX.js";import"../chunk-7HIHQR3X.js";import"../chunk-EQKUFYX6.js";import"../chunk-2NMW66P5.js";import"../chunk-UJUTS6LJ.js";import"../chunk-Q5Z3KHT2.js";import"../chunk-GZQD6IBV.js";import"../chunk-YZR4T5FZ.js";import"../chunk-EB2UE6ZR.js";import"../chunk-UGOJLNYR.js";import"../chunk-AYZY3YNC.js";import"../chunk-UGTRSRIW.js";import"../chunk-CDAJKLGL.js";import"../chunk-IFQXTIMY.js";import"../chunk-URHGHXDN.js";import"../chunk-5QFPTDQF.js";import"../chunk-UJJXWLHE.js";import"../chunk-XWFLIGDQ.js";import"../chunk-UIWGVOFH.js";import"../chunk-J75ZT2JQ.js";import"../chunk-R2VKEMZH.js";import"../chunk-QQ2LDC6C.js";import"../chunk-PGN5ME7B.js";import"../chunk-62LW225J.js";import"../chunk-GLUJS42B.js";import"../chunk-D65T4H6J.js";import"../chunk-UQYNPYF4.js";import"../chunk-MRJKZWWV.js";import"../chunk-TWVUQUUD.js";import"../chunk-5FYDNH4Y.js";import"../chunk-LNXBTK7Q.js";import"../chunk-43MCNASD.js";import"../chunk-C3QOHMR6.js";
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- export{MEDIA_FILES_DRAG_TYPE,MEDIA_FILE_DRAG_TYPE,MEDIA_FOLDER_DRAG_TYPE,MediaLibrary as default,readMediaFileDrag}from"../chunk-I5CSYOOZ.js";import"../chunk-G7I255HN.js";import"../chunk-RVQUSPXC.js";import"../chunk-IC72MGON.js";import"../chunk-MGW7SX53.js";import"../chunk-CGUMJZUB.js";import"../chunk-SACUSHVN.js";import"../chunk-VWQNCYGQ.js";import"../chunk-NEAT7BIP.js";import"../chunk-PT77FC5X.js";import"../chunk-VLKDWKVR.js";import"../chunk-OLFYNMTD.js";import"../chunk-LACL4MAR.js";import"../chunk-BGJMDP6J.js";import"../chunk-32WEY6O5.js";import"../chunk-XMH2JOZ2.js";import"../chunk-UDVQORQM.js";import"../chunk-EO5RLFRX.js";import"../chunk-7HIHQR3X.js";import"../chunk-EEVLRCMA.js";import"../chunk-EIY6YGEZ.js";import"../chunk-2NMW66P5.js";import"../chunk-JQBVSPF5.js";import"../chunk-JDQGHQ2C.js";import"../chunk-6KBDNYRW.js";import"../chunk-PH3P54QQ.js";import"../chunk-CGZBDI6C.js";import"../chunk-QIUIP6YZ.js";import"../chunk-6JDR6T4U.js";import"../chunk-GZQD6IBV.js";import"../chunk-YZR4T5FZ.js";import"../chunk-EB2UE6ZR.js";import"../chunk-UGOJLNYR.js";import"../chunk-AYZY3YNC.js";import"../chunk-XK4SMAVR.js";import"../chunk-WCPAQHHA.js";import"../chunk-7KIDOIPY.js";import"../chunk-N7JX27JE.js";import"../chunk-3DVNXNTF.js";import"../chunk-2762IAB7.js";import"../chunk-VWGWZY7A.js";import"../chunk-7QSDPSXP.js";import"../chunk-5JUG74UR.js";import"../chunk-UGTRSRIW.js";import"../chunk-CDAJKLGL.js";import"../chunk-JPNAEN53.js";import"../chunk-IFQXTIMY.js";import"../chunk-URHGHXDN.js";import"../chunk-5QFPTDQF.js";import"../chunk-UJJXWLHE.js";import"../chunk-XWFLIGDQ.js";import"../chunk-UIWGVOFH.js";import"../chunk-J75ZT2JQ.js";import"../chunk-R2VKEMZH.js";import"../chunk-CJH2BGXY.js";import"../chunk-QQ2LDC6C.js";import"../chunk-PGN5ME7B.js";import"../chunk-62LW225J.js";import"../chunk-GLUJS42B.js";import"../chunk-D65T4H6J.js";import"../chunk-TRWHVG3A.js";import"../chunk-UQYNPYF4.js";import"../chunk-MRJKZWWV.js";import"../chunk-MAFUXCPZ.js";import"../chunk-TWVUQUUD.js";import"../chunk-5FYDNH4Y.js";import"../chunk-LNXBTK7Q.js";import"../chunk-43MCNASD.js";import"../chunk-C3QOHMR6.js";
2
+ export{MEDIA_FILES_DRAG_TYPE,MEDIA_FILE_DRAG_TYPE,MEDIA_FOLDER_DRAG_TYPE,MediaLibrary as default,readMediaFileDrag}from"../chunk-SZT72QMD.js";import"../chunk-G7I255HN.js";import"../chunk-RVQUSPXC.js";import"../chunk-IC72MGON.js";import"../chunk-MGW7SX53.js";import"../chunk-CGUMJZUB.js";import"../chunk-SACUSHVN.js";import"../chunk-MM5AFQ24.js";import"../chunk-NEAT7BIP.js";import"../chunk-PT77FC5X.js";import"../chunk-BGJMDP6J.js";import"../chunk-32WEY6O5.js";import"../chunk-XMH2JOZ2.js";import"../chunk-UDVQORQM.js";import"../chunk-EO5RLFRX.js";import"../chunk-7HIHQR3X.js";import"../chunk-EEVLRCMA.js";import"../chunk-EIY6YGEZ.js";import"../chunk-2NMW66P5.js";import"../chunk-JQBVSPF5.js";import"../chunk-JDQGHQ2C.js";import"../chunk-6KBDNYRW.js";import"../chunk-VLKDWKVR.js";import"../chunk-OLFYNMTD.js";import"../chunk-LACL4MAR.js";import"../chunk-PH3P54QQ.js";import"../chunk-CGZBDI6C.js";import"../chunk-QIUIP6YZ.js";import"../chunk-6JDR6T4U.js";import"../chunk-GZQD6IBV.js";import"../chunk-YZR4T5FZ.js";import"../chunk-EB2UE6ZR.js";import"../chunk-UGOJLNYR.js";import"../chunk-AYZY3YNC.js";import"../chunk-XK4SMAVR.js";import"../chunk-WCPAQHHA.js";import"../chunk-7KIDOIPY.js";import"../chunk-N7JX27JE.js";import"../chunk-3DVNXNTF.js";import"../chunk-7B5KFESH.js";import"../chunk-VWGWZY7A.js";import"../chunk-7QSDPSXP.js";import"../chunk-5JUG74UR.js";import"../chunk-UGTRSRIW.js";import"../chunk-CDAJKLGL.js";import"../chunk-JPNAEN53.js";import"../chunk-IFQXTIMY.js";import"../chunk-URHGHXDN.js";import"../chunk-5QFPTDQF.js";import"../chunk-UJJXWLHE.js";import"../chunk-XWFLIGDQ.js";import"../chunk-UIWGVOFH.js";import"../chunk-J75ZT2JQ.js";import"../chunk-R2VKEMZH.js";import"../chunk-CJH2BGXY.js";import"../chunk-QQ2LDC6C.js";import"../chunk-PGN5ME7B.js";import"../chunk-62LW225J.js";import"../chunk-GLUJS42B.js";import"../chunk-D65T4H6J.js";import"../chunk-TRWHVG3A.js";import"../chunk-UQYNPYF4.js";import"../chunk-MRJKZWWV.js";import"../chunk-MAFUXCPZ.js";import"../chunk-TWVUQUUD.js";import"../chunk-5FYDNH4Y.js";import"../chunk-LNXBTK7Q.js";import"../chunk-43MCNASD.js";import"../chunk-C3QOHMR6.js";
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- export{MediaUploadField as default}from"../chunk-CURXYF2R.js";import"../chunk-JQBVSPF5.js";import"../chunk-JDQGHQ2C.js";import"../chunk-6KBDNYRW.js";import"../chunk-53EW4M5S.js";import"../chunk-25RR3GQW.js";export{mediaFileName}from"../chunk-XK4SMAVR.js";import"../chunk-WCPAQHHA.js";import"../chunk-7KIDOIPY.js";import"../chunk-JPNAEN53.js";import"../chunk-UIWGVOFH.js";import"../chunk-J75ZT2JQ.js";import"../chunk-R2VKEMZH.js";import"../chunk-CJH2BGXY.js";import"../chunk-QQ2LDC6C.js";import"../chunk-PGN5ME7B.js";import"../chunk-62LW225J.js";import"../chunk-GLUJS42B.js";import"../chunk-D65T4H6J.js";import"../chunk-MRJKZWWV.js";import"../chunk-TWVUQUUD.js";import"../chunk-5FYDNH4Y.js";import"../chunk-LNXBTK7Q.js";import"../chunk-43MCNASD.js";import"../chunk-C3QOHMR6.js";
2
+ export{MediaUploadField as default}from"../chunk-PM4Y2FMQ.js";import"../chunk-JQBVSPF5.js";import"../chunk-JDQGHQ2C.js";import"../chunk-53EW4M5S.js";import"../chunk-6KBDNYRW.js";import"../chunk-25RR3GQW.js";export{mediaFileName}from"../chunk-XK4SMAVR.js";import"../chunk-WCPAQHHA.js";import"../chunk-7KIDOIPY.js";import"../chunk-JPNAEN53.js";import"../chunk-UIWGVOFH.js";import"../chunk-J75ZT2JQ.js";import"../chunk-R2VKEMZH.js";import"../chunk-CJH2BGXY.js";import"../chunk-QQ2LDC6C.js";import"../chunk-PGN5ME7B.js";import"../chunk-62LW225J.js";import"../chunk-GLUJS42B.js";import"../chunk-D65T4H6J.js";import"../chunk-MRJKZWWV.js";import"../chunk-TWVUQUUD.js";import"../chunk-5FYDNH4Y.js";import"../chunk-LNXBTK7Q.js";import"../chunk-43MCNASD.js";import"../chunk-C3QOHMR6.js";
package/dist/index.d.ts CHANGED
@@ -1466,6 +1466,15 @@ interface ChangelogEntry {
1466
1466
  changes: string[];
1467
1467
  }
1468
1468
 
1469
+ /** How a host sets the entity windows' fallback poll: a cadence in ms, `false`
1470
+ * for none, or a function read on every scheduling decision, so the answer
1471
+ * can follow live state (for example "none while the realtime socket is
1472
+ * connected"). */
1473
+ type EntityRefetchIntervalOption = number | false | (() => number | false);
1474
+ /** How a host sets `refetchOnWindowFocus` for entity windows: a boolean, or a
1475
+ * function read on every focus event. */
1476
+ type EntityRefetchOnWindowFocusOption = boolean | (() => boolean);
1477
+
1469
1478
  type PreviewFileKind = 'pdf' | 'dxf' | '3d' | 'image' | 'csv';
1470
1479
 
1471
1480
  interface DesktopItem {
@@ -1481,6 +1490,12 @@ interface DesktopItem {
1481
1490
  fileKind?: PreviewFileKind;
1482
1491
  }
1483
1492
 
1493
+ declare function DesktopHostProvider({ value, children }: {
1494
+ value: DesktopHostConfig;
1495
+ children: ReactNode;
1496
+ }): react.FunctionComponentElement<react.ProviderProps<DesktopHostConfig>>;
1497
+ declare function useDesktopHost(): DesktopHostConfig;
1498
+
1484
1499
  interface DesktopFolder {
1485
1500
  id: string;
1486
1501
  name: string;
@@ -1563,12 +1578,19 @@ interface DesktopHostConfig {
1563
1578
  * a file on someone's Downloads folder is not a bug report. Rejecting shows
1564
1579
  * the error in the HUD and keeps what the user typed. */
1565
1580
  onSubmitPerfReport?: (report: PerfReport) => void | Promise<void>;
1581
+ /** Fallback poll of an open entity window's record. A number is the cadence
1582
+ * in ms, `false` turns polling off, a function is read at every scheduling
1583
+ * decision (`() => (socketConnected ? false : 60_000)`). Default 60 000. A
1584
+ * minimized window never polls whatever this says, and a record the server
1585
+ * answered with a permanent 4xx stops polling too. */
1586
+ entityRefetchInterval?: EntityRefetchIntervalOption;
1587
+ /** Whether an entity window refetches its record when the browser tab
1588
+ * regains focus: a boolean, or a function read on every focus event.
1589
+ * Default `true`. A host with a live push channel turns it off while the
1590
+ * channel is up. */
1591
+ entityRefetchOnWindowFocus?: EntityRefetchOnWindowFocusOption;
1566
1592
  }
1567
- declare function DesktopHostProvider({ value, children }: {
1568
- value: DesktopHostConfig;
1569
- children: ReactNode;
1570
- }): react_jsx_runtime.JSX.Element;
1571
- declare function useDesktopHost(): DesktopHostConfig;
1593
+
1572
1594
  /**
1573
1595
  * `showItems` false draws a bare desktop: no Trash, shortcuts, folders, sticky
1574
1596
  * notes or version watermark, and no desktop right-click menu or rubber band.
@@ -2622,4 +2644,4 @@ declare function useUndoable<T>(value: T, apply: (next: T) => void, opts: Undoab
2622
2644
  */
2623
2645
  declare function useUndoableState<T>(initial: T | (() => T), opts: UndoableOptions): [T, React.Dispatch<React.SetStateAction<T>>];
2624
2646
 
2625
- export { type ActivityKind, type AsyncEnvironment, BLOCKED_PCT_CPU, type BatteryInfo, BehaviorPanel, type BottleneckKind, type BulkColumn, type BulkColumnKind, BulkImportGrid, type BulkImportGridProps, type BulkRow, CancelButton, ChangePasswordForm, type ChangePasswordFormProps, type ChangelogEntry, type ClockCalendarConfig, CopyButton, Customization, type CustomizationOmitSection, type CustomizationProps, type CustomizationSection, DEV_BANNER_TEXT, Desktop, type DesktopContextMenuItem, type DesktopHostConfig, DesktopHostProvider, DevIndicator, DocFavStar, type DuplicateGroup, EditState, type EntityFetcher, EntityWindowFallback, type EntityWindowFallbackProps, EntityWindowLoading, EntityWindowState, type EntityWindowStateProps, FilterBar, type FilterOption, type FpsGroup, type HealthCheckResult, LOG_CAP, Layout, type LayoutMode, type LayoutProps, type LogSummary, MIN_EVENT_SAMPLES, MIN_GROUP_SAMPLES, MODAL_SUBMIT_SELECTOR, type MenuLayer, type MergeBulkOptions, type MergeBulkResult, type MobileAppConfig, Modal, ModalActions, type ModalEdit, NotificationBell, type NotificationsConfig, type OpenPageOptions, PaginatedResponse, PdfActionButton, type PdfActionButtonProps, type PerfEnvironment, type PerfLogRecord, type PerfReading, type PerfReport, PerfStats, type PerfStatsProps, type PlatformHints, SMOOTH_FPS, SearchConfig, ServerStatusIndicator, type ServerStatusIndicatorProps, type ServerStatusUser, type ShellAuth, ShellAuthProvider, type ShellBranding, ShellContextMenu, type ShellContextMenuProps, ShellEntityFetcherProvider, type ShellNotification, ShortcutHelp, SoundsPanel, type StagedTarget, StartMenu, type StickyEntityRef, type StickyResolver, SystemPreferences, type SystemPreferencesProps, type SystemPreferencesSection, type TitleParts, type TitleRole, type TodoProvider, type TodoTask, UndoControls, type UndoControlsApi, type UndoControlsProps, UndoProvider, type UndoProviderProps, type UndoSnapshot, type UndoState, type UndoStep, type UndoableOptions, type Verdict, WidgetManager, WindowCrashedFallback, WindowErrorBoundary, WindowManagerProvider, WindowRegistry, type WindowTarget, type WindowTargetOptions, WindowTitle, activateWindowById, appendRecord as appendPerfRecord, applyDevTitle, beginWindowGesture, classifyActivity, classify as classifyPerf, commitExposeHighlight, copyToClipboard, createWindowRegistry, createWindowTarget, describeMachine, describePerfReport, exitExposeMode, findDuplicateKeys, getActiveWindowRoute, getExposeHighlight, getWindowPosition, installThemeIconSets, isDevEnv, isInteracting, layoutModeOf, markMenuOpen, mergeBulkItems, notificationRowParts, toCsv as perfLogToCsv, perfReportFile, readEnvironment as readPerfEnvironment, requestAsyncEnvironment, requestWindowFront, setExposeHighlight, setShellAuthBridge, setShellNavIcons, setShellTodoProvider, setWindowDefaultPosition, setWindowPosition, splitTitle, subscribeExposeHighlight, summariseFrames, summariseLog as summarisePerfLog, toggleExposeMode, useBrowserLayoutEffect, useCurrentTabKey, useDesktopHost, useEditHotkey, useEnclosingModalId, useFilters, useInfiniteScroll, useIsActiveWindow, useModalActive, useModalDuplicate, useModalSave, useNewHotkey, usePageSearch, useSetLayoutMode, useShellAuth, useShellEntityFetcher, useUndo, useUndoCanEdit, useUndoable, useUndoableState, useWidgetSettings, useWindowDirty, useWindowManager, useWindowMenuItem, useWindowTarget, useWindowTitle };
2647
+ export { type ActivityKind, type AsyncEnvironment, BLOCKED_PCT_CPU, type BatteryInfo, BehaviorPanel, type BottleneckKind, type BulkColumn, type BulkColumnKind, BulkImportGrid, type BulkImportGridProps, type BulkRow, CancelButton, ChangePasswordForm, type ChangePasswordFormProps, type ChangelogEntry, type ClockCalendarConfig, CopyButton, Customization, type CustomizationOmitSection, type CustomizationProps, type CustomizationSection, DEV_BANNER_TEXT, Desktop, type DesktopContextMenuItem, type DesktopHostConfig, DesktopHostProvider, DevIndicator, DocFavStar, type DuplicateGroup, EditState, type EntityFetcher, type EntityRefetchIntervalOption, type EntityRefetchOnWindowFocusOption, EntityWindowFallback, type EntityWindowFallbackProps, EntityWindowLoading, EntityWindowState, type EntityWindowStateProps, FilterBar, type FilterOption, type FpsGroup, type HealthCheckResult, LOG_CAP, Layout, type LayoutMode, type LayoutProps, type LogSummary, MIN_EVENT_SAMPLES, MIN_GROUP_SAMPLES, MODAL_SUBMIT_SELECTOR, type MenuLayer, type MergeBulkOptions, type MergeBulkResult, type MobileAppConfig, Modal, ModalActions, type ModalEdit, NotificationBell, type NotificationsConfig, type OpenPageOptions, PaginatedResponse, PdfActionButton, type PdfActionButtonProps, type PerfEnvironment, type PerfLogRecord, type PerfReading, type PerfReport, PerfStats, type PerfStatsProps, type PlatformHints, SMOOTH_FPS, SearchConfig, ServerStatusIndicator, type ServerStatusIndicatorProps, type ServerStatusUser, type ShellAuth, ShellAuthProvider, type ShellBranding, ShellContextMenu, type ShellContextMenuProps, ShellEntityFetcherProvider, type ShellNotification, ShortcutHelp, SoundsPanel, type StagedTarget, StartMenu, type StickyEntityRef, type StickyResolver, SystemPreferences, type SystemPreferencesProps, type SystemPreferencesSection, type TitleParts, type TitleRole, type TodoProvider, type TodoTask, UndoControls, type UndoControlsApi, type UndoControlsProps, UndoProvider, type UndoProviderProps, type UndoSnapshot, type UndoState, type UndoStep, type UndoableOptions, type Verdict, WidgetManager, WindowCrashedFallback, WindowErrorBoundary, WindowManagerProvider, WindowRegistry, type WindowTarget, type WindowTargetOptions, WindowTitle, activateWindowById, appendRecord as appendPerfRecord, applyDevTitle, beginWindowGesture, classifyActivity, classify as classifyPerf, commitExposeHighlight, copyToClipboard, createWindowRegistry, createWindowTarget, describeMachine, describePerfReport, exitExposeMode, findDuplicateKeys, getActiveWindowRoute, getExposeHighlight, getWindowPosition, installThemeIconSets, isDevEnv, isInteracting, layoutModeOf, markMenuOpen, mergeBulkItems, notificationRowParts, toCsv as perfLogToCsv, perfReportFile, readEnvironment as readPerfEnvironment, requestAsyncEnvironment, requestWindowFront, setExposeHighlight, setShellAuthBridge, setShellNavIcons, setShellTodoProvider, setWindowDefaultPosition, setWindowPosition, splitTitle, subscribeExposeHighlight, summariseFrames, summariseLog as summarisePerfLog, toggleExposeMode, useBrowserLayoutEffect, useCurrentTabKey, useDesktopHost, useEditHotkey, useEnclosingModalId, useFilters, useInfiniteScroll, useIsActiveWindow, useModalActive, useModalDuplicate, useModalSave, useNewHotkey, usePageSearch, useSetLayoutMode, useShellAuth, useShellEntityFetcher, useUndo, useUndoCanEdit, useUndoable, useUndoableState, useWidgetSettings, useWindowDirty, useWindowManager, useWindowMenuItem, useWindowTarget, useWindowTitle };