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
@@ -0,0 +1,99 @@
1
+ import{computeMaximizedBox as e,isSidebarStripReserved as t,boxFillsWorkArea as n,readAlwaysMaximizedFlag as r,WORK_AREA_CHANGED_EVENT as o,scrollerIsFluid as i,growBoxToWidth as a,widthToFit as s,navIcons as l}from"./chunk-4LXCCZDM.js";import{ROW_HEIGHTS as c}from"./chunk-AW7TOB6N.js";import{reportBoundaryError as u}from"./chunk-KNUR2UEG.js";import{isStaleChunkError as d}from"./chunk-JDCM2VHG.js";import{Result as h}from"./chunk-Y4RERPFN.js";import{CMD_Z as m,CMD_SHIFT_Z as p}from"./chunk-ZDMZM7HD.js";import{CopyButton as f}from"./chunk-HE767CVB.js";import{confirm as w}from"./chunk-SCU2CWNJ.js";import{ItemCount as y}from"./chunk-N7JX27JE.js";import{isInOverlayOver as g}from"./chunk-3DVNXNTF.js";import{dialogA11y as v}from"./chunk-VWGWZY7A.js";import{ColoredBadge as b}from"./chunk-5JUG74UR.js";import{LoadingSpinner as x}from"./chunk-SCGBCBXP.js";import{activationOrder as k,activeListeners as E,ModalActionsContext as C,subscribeActive as M,getActiveModalId as N,KEY_ACTIVATED_SELECTOR as S}from"./chunk-F3ZOO23R.js";import{useShellAuth as L}from"./chunk-2QY5BJLA.js";import{useIsMobile as T,useIsPhone as z}from"./chunk-UGTRSRIW.js";import{useShellPrefs as A}from"./chunk-KC3EX26K.js";import{focusableIn as D}from"./chunk-CDAJKLGL.js";import{StatusBadge as P}from"./chunk-JPNAEN53.js";import{PopupMenu as I,PopupMenuItem as R,PopupMenuDivider as W,PopupMenuLabel as K}from"./chunk-IFQXTIMY.js";import{Button_default as $}from"./chunk-UJJXWLHE.js";import{Icon as O}from"./chunk-UIWGVOFH.js";import{LoadingSpinner as j}from"./chunk-R2VKEMZH.js";import{Z_LAYERS as F}from"./chunk-62LW225J.js";import{shellHttp as q,isShellHttpConfigured as B}from"./chunk-STKJA4PV.js";import{runEscapeInterceptors as H}from"./chunk-TWVUQUUD.js";import{useShellStrings as U}from"./chunk-43MCNASD.js";import{createContext as Y,createElement as X,useContext as V,Component as J,useLayoutEffect as G,useRef as _,useEffect as Z,useState as Q,useSyncExternalStore as ee,useCallback as te,isValidElement as ne,Fragment as re,Children as oe,cloneElement as ie,useMemo as ae,useId as se,useReducer as le,Suspense as ce}from"react";import{jsxs as ue,jsx as de,Fragment as he}from"react/jsx-runtime";import{createPortal as me}from"react-dom";import{useLocation as pe}from"react-router-dom";import{useQueryClient as fe,useQuery as we}from"@tanstack/react-query";function ye(e){return"component"in e}function ge(e){return"endpoint"in e}var ve={};function be(e){ve=e}var xe=new Proxy({},{get:(e,t)=>ve[t],has:(e,t)=>t in ve,ownKeys:()=>Object.keys(ve),getOwnPropertyDescriptor(e,t){if(t in ve)return{configurable:!0,enumerable:!0,value:ve[t]}}});function ke(){return B()}var Ee=q,Ce=Y({});function Me({value:e,children:t}){return X(Ce.Provider,{value:e},t)}function Ne(){return V(Ce)}var Se=Y(null);function Le(){return V(Se)?.pageSearch??""}var Te=null,ze=/* @__PURE__ */new Set;function Ae(e){Te!==e&&(Te=e,ze.forEach(e=>e()))}function De(){return Te}function Pe(e){return ze.add(e),()=>{ze.delete(e)}}var Ie=null;function Re(e){Ie=e}function We({error:e,onReload:t}){const n=d(e);/* @__PURE__ */
2
+ return ue("div",{className:"flex-1 flex flex-col items-center justify-center gap-3 px-6 py-12 text-center",children:[
3
+ /* @__PURE__ */de(O,{name:"warning",className:"h-8 w-8 text-amber-500",strokeWidth:1.5}),
4
+ /* @__PURE__ */ue("div",{className:"min-w-0",children:[
5
+ /* @__PURE__ */de("p",{className:"text-sm font-medium text-gray-700",children:n?"This window needs the latest version of the app":"This window crashed"}),
6
+ /* @__PURE__ */de("p",{className:"mt-1 text-xs text-gray-400 max-w-sm break-words",children:n?"A new version was deployed while this tab was open. Reload the page to pick it up.":e.message||String(e)})]}),
7
+ /* @__PURE__ */de("button",{type:"button",onClick:n?()=>window.location.reload():t,className:"bg-blue-600 hover:bg-blue-700 text-white px-4 py-2 text-sm font-medium rounded-lg",children:n?"Reload page":"Reload window"})]})}var Ke=class extends J{state={error:null};static getDerivedStateFromError(e){return{error:e instanceof Error?e:new Error(String(e))}}componentDidCatch(e,t){console.error("[efficient-shell] window content crashed:",e,t.componentStack),u(e)}reset=()=>this.setState({error:null});render(){const{error:e}=this.state;return e?this.props.fallback?this.props.fallback(e,this.reset):/* @__PURE__ */de(We,{error:e,onReload:this.reset}):this.props.children}},$e=Y(null),Oe="text-xs text-gray-500 hover:text-gray-700 disabled:opacity-40 disabled:hover:text-gray-500 disabled:cursor-default";function je({className:e="",auto:t=!1}){const n=V($e),r=U().undo,o=n?.claimOwnMount;if(G(()=>{if(!t&&o)return o(!0),()=>o(!1)},[t,o]),!n||!n.enabled)return null;const{undo:i,redo:a,canUndo:s,canRedo:l,undoLabel:c,redoLabel:u}=n;/* @__PURE__ */
8
+ return ue("div",{className:`flex items-center gap-2 ${e}`,"data-undo-controls":t?"shell":"form",children:[
9
+ /* @__PURE__ */de("button",{type:"button",onClick:i,disabled:!s,title:s?r.undoStep(c??"",m):r.nothingToUndo,className:Oe,children:r.undo}),
10
+ /* @__PURE__ */de("button",{type:"button",onClick:a,disabled:!l,title:l?r.redoStep(u??"",p):r.nothingToRedo,className:Oe,children:r.redo})]})}var Fe=/* @__PURE__ */new Set([408,429]);function qe(e){const t=e?.response?.status;return"number"==typeof t?t:void 0}function Be(e){const t=qe(e);return null!=t&&(t>=400&&t<500&&!Fe.has(t))}function He(e,t){return!Be(t)&&e<3}function Ue(e){if("page"!==e.type)return!0;const t=e.route?xe[e.route]:void 0;if(!t||!ye(t))return!0;const n=t;return!n.widget&&!n.utility}function Ye(e){const t=e.route?xe[e.route]:void 0;if(!t||!ye(t))return;const n=t;return n.taskbarGroup?n.taskbarGroup:{key:e.route,label:n.label,icon:e.route}}var Xe=(e,t)=>!!t&&"page"===e.type&&e.route===t;var Ve="flex-1 min-h-0";function Je(){const e=U().record;/* @__PURE__ */
11
+ return de(j,{label:e.loading,padding:"",className:Ve})}function Ge(e){return e??void 0}function _e({isPending:e,isFetching:t,enabled:n=!0,error:r,onRetry:o}){const i=U().record;if(t||e&&n)/* @__PURE__ */return de(Je,{});if(r){const e=qe(r);if(401===e)/* @__PURE__ */
12
+ return de(h,{status:"warning",title:i.signInRequired,subTitle:i.signInBody,className:Ve});if(403===e)/* @__PURE__ */
13
+ return de(h,{status:"403",className:Ve});if(404===e||410===e)/* @__PURE__ */
14
+ return de(h,{status:"404",title:i.notFound,className:Ve});const t=null==e||408===e||429===e||e>=500;/* @__PURE__ */
15
+ return de(h,{status:"500",title:i.loadFailed,subTitle:t?i.checkConnection:i.rejected,extra:t?/* @__PURE__ */de($,{variant:"secondary",size:"sm",onClick:o,children:i.retry}):void 0,className:Ve})}/* @__PURE__ */
16
+ return de(h,{status:"404",title:i.notFound,className:Ve})}function Ze({entity:e,children:t,...n}){return null!=e?/* @__PURE__ */de(he,{children:t(e)}):/* @__PURE__ */de(_e,{...n})}var Qe=/^[a-z]+(?:-[a-z]+)*-\d{13}$/;function et(e){return"string"==typeof e&&(e.startsWith("new-")||Qe.test(e))}function tt(e){if(et(e.entityId))return!0;const t=e.entitySnapshot;return!(!t||"object"!=typeof t||!t._new&&!t._duplicate)}var nt=Y({openWindows:[],openEntity:()=>{},openPage:()=>{},reorderWindows:()=>{},closeEntity:()=>{},minimize:()=>{},items:[],restore:()=>{},remove:()=>{},restoreIfMinimized:()=>!1,openItems:[]}),rt=Y(null);function ot(e){const t=V(rt),n=_(null);null===n.current&&(n.current=/* @__PURE__ */Symbol("window-dirty")),G(()=>{if(t)return t(n.current,e)},[t,e]),Z(()=>{if(!t||!e)return;const n=e=>{e.preventDefault(),e.returnValue=""};return window.addEventListener("beforeunload",n),()=>window.removeEventListener("beforeunload",n)},[t,e])}function it(){const e=_(/* @__PURE__ */new Map),[t,n]=Q(!1);return{dirty:t,registerDirty:te((t,r)=>{const o=()=>{const t=Array.from(e.current.values()).some(Boolean);n(e=>e===t?e:t)};return e.current.set(t,r),o(),()=>{e.current.delete(t),o()}},[])}}function at(){return V(nt)}function st(e){if("page"!==e.type&&tt(e))return null;const t="page"===e.type?"page":e.entityType||"",n="page"===e.type?e.route||"":e.entityId||"";return t&&n?{entityType:t,entityId:n,label:e.label}:null}function lt({item:e,onClose:t,accentRgb:n}){const{dirty:r,registerDirty:o}=it(),i=xe[e.route];if(!i||!ye(i))return null;const a=i,s=a.component;/* @__PURE__ */
17
+ return de(_r,{open:!0,onClose:t,icon:l[e.route],title:a.label,size:a.size||"2xl",dirty:r,allowPinOnTop:a.allowPinOnTop,initialPosition:a.initialPosition,widget:a.widget,compact:a.compact,appStyle:a.appStyle,flushBody:a.flushBody,autoHeight:a.autoHeight,autoMinHeight:a.autoMinHeight,autoWidth:a.autoWidth,dimensions:a.dimensions,windowKey:e.id,openedFromKey:e.openedFrom,accentRgb:n,children:/* @__PURE__ */de(rt.Provider,{value:o,children:/* @__PURE__ */de(ce,{fallback:/* @__PURE__ */de("div",{className:"flex items-center justify-center py-12",children:/* @__PURE__ */de(x,{})}),children:/* @__PURE__ */de(s,{})})})})}function ct({entityType:e,entityId:t,label:n}){const r=U(),o=fe(),{data:i}=we({queryKey:["my-profile-sidebar"],enabled:ke(),queryFn:()=>Ee.get("/auth/me/").then(e=>e.data)}),a=(i?.preferences||{}).favorite_documents||[],s=a.some(n=>n.entityType===e&&n.entityId===t);/* @__PURE__ */
18
+ return de("button",{onClick:()=>{const r=s?a.filter(n=>!(n.entityType===e&&n.entityId===t)):[...a,{entityType:e,entityId:t,label:n}];Ee.patch("/auth/me/",{preferences:{favorite_documents:r}}).then(()=>{o.invalidateQueries({queryKey:["my-profile-sidebar"]})})},title:s?r.taskbar.removeFromDesktop:r.taskbar.addToDesktop,className:"shrink-0 transition-colors "+(s?"text-yellow-500 hover:text-yellow-600":"text-gray-300 hover:text-yellow-400"),children:/* @__PURE__ */de(O,{name:"star",className:"h-4 w-4",fill:s?"currentColor":"none",strokeWidth:1.5})})}var ut=/* @__PURE__ */new Set,dt=()=>"hidden";function ht({item:e,onClose:t,onMinimize:n,accentRgb:r}){const o=xe[e.entityType];if(!o||!ge(o))return null;const i=o,[a,s]=Q(!1),{dirty:c,registerDirty:u}=it(),d=i.queryKey||i.endpoint.replace(/^\/|\/$/g,"").split("/").pop()||e.entityType,h=e.entitySnapshot?._duplicate,m=et(e.entityId),p=Ne(),f=(w=e.id,ee(M,()=>{const e=qn.get(w);return null!=e&&Wn.has(e)}));var w;const y=!i.selfFetching&&!h&&!m&&ke(),g=we({queryKey:[d,e.entityId],queryFn:()=>{return Ee.get((t=i.endpoint,n=String(e.entityId),`${t}${encodeURIComponent(n)}/`)).then(e=>e.data);var t,n},initialData:Ge(e.entitySnapshot),initialDataUpdatedAt:0,enabled:y,staleTime:0,refetchOnWindowFocus:()=>{return void 0===(e=p.entityRefetchOnWindowFocus)||("function"==typeof e?e():e);var e},refetchOnMount:"always",refetchInterval:e=>function(e,t={}){if(Be(e))return!1;if(t.minimized)return!1;const n=t.hostInterval;if(void 0===n)return 6e4;const r="function"==typeof n?n():n;return"number"==typeof r&&r>0&&r}(e.state.error,{minimized:f,hostInterval:p.entityRefetchInterval}),refetchIntervalInBackground:!1,retry:He}),v=g.data,b=g.refetch;Z(()=>{var t;if(y)return t=t=>{t!==e.id||ut.has(t)||b({cancelRefetch:!1})},rr.add(t),()=>{rr.delete(t)}},[b,e.id,y]);const k=te(()=>{a&&!c?s(!1):t()},[a,c,t]),E=(i.useEdit??dt)(v??null),C=!i.useEdit||m||h?void 0:{state:E,editing:a,onEdit:()=>s(!0),onDiscard:()=>s(!1)},N=i.selfFetching?e.label:v?i.title(v,a,s):e.label,S=i.icon,L=S?l[S]:null,T=N,z=!i.selfFetching&&v&&i.footer&&!h?i.footer(v):void 0;return i.rendersOwnModal?i.selfFetching?/* @__PURE__ */de(ce,{fallback:/* @__PURE__ */de(x,{}),children:i.render(v??e.entitySnapshot,t,e.entityId,a,s)}):null!=v?/* @__PURE__ */de(ce,{fallback:/* @__PURE__ */de(_r,{open:!0,onClose:t,title:e.label,size:i.size||"2xl",children:/* @__PURE__ */de(Je,{})}),children:i.render(v,t,e.entityId,a,s)}):/* @__PURE__ */de(_r,{open:!0,onClose:t,title:e.label,size:i.size||"2xl",children:/* @__PURE__ */de(_e,{isPending:g.isPending,isFetching:g.isFetching,enabled:y,error:g.error,onRetry:b})}):/* @__PURE__ */de(_r,{open:!0,onClose:k,onMinimize:n,initialBox:e.savedBox,icon:L,title:T,footer:z,copyText:e.label,windowKey:e.id,openedFromKey:e.openedFrom,size:i.size||"2xl",dirty:c,editing:a||m||h,edit:C,dimensions:i.dimensions,autoHeight:i.autoHeight,autoMinHeight:i.autoMinHeight,autoWidth:i.autoWidth,appStyle:i.appStyle,flushBody:i.flushBody,accentRgb:r,children:/* @__PURE__ */de(rt.Provider,{value:u,children:/* @__PURE__ */de(ce,{fallback:/* @__PURE__ */de(Je,{}),children:i.selfFetching?i.render(null,t,e.entityId,a,s):/* @__PURE__ */de(Ze,{entity:v,isPending:g.isPending,isFetching:g.isFetching,enabled:y,error:g.error,onRetry:b,children:n=>i.render(n,t,e.entityId,a,s)})})})})}function mt(e){return document.querySelector(`[data-modal-panel][data-window-key="${e}"]`)}function pt(e){return document.querySelector(`[data-modal-panel][data-window-root][data-window-owner="${e}"]`)}function ft(e){const t=mt(e),n=t??pt(e);if(!n)return;if(t&&!fr(t))return r=e,void window.dispatchEvent(new CustomEvent("modal-reveal",{detail:{windowKey:r}}));var r;const o=n.getAttribute("data-modal-id");o&&or(o)}function wt(){const e=N();if(!e)return;const t=document.querySelector(`[data-modal-panel][data-modal-id="${e}"]`);return t?.getAttribute("data-window-key")??void 0}var yt=/* @__PURE__ */new Map;function gt(){const e=wt();if(e)return yt.get(e)}function vt(e){const t=document.querySelectorAll("[data-modal-panel]");for(const n of Array.from(t)){const t=n.querySelector("[data-window-title]");if(t?.textContent?.includes(e))return n}return null}var bt="rosh-peek-style",xt=F.peek,kt=F.taskbarPreview;function Et(e){"undefined"!=typeof document&&(!function(){if("undefined"==typeof document||document.getElementById(bt))return;const e=document.createElement("style");e.id=bt,e.textContent=`body.rosh-peeking [data-modal-panel]{transition:opacity .18s ease}body.rosh-peeking [data-modal-panel]:not([data-peek-focus]){opacity:.4}body.rosh-peeking [data-modal-panel][data-peek-focus]{opacity:1}body.rosh-peeking [data-modal-panel][data-peek-focus]:not([data-pinned-top]){z-index:${xt}!important}html.rosh-reduce-transparency body.rosh-peeking [data-modal-panel]:not([data-peek-focus]){opacity:.92}@media (prefers-reduced-motion:reduce){body.rosh-peeking [data-modal-panel]{transition:none}}`,document.head.appendChild(e)}(),document.querySelectorAll("[data-modal-panel][data-peek-focus]").forEach(e=>e.removeAttribute("data-peek-focus")),e&&e.setAttribute("data-peek-focus",""),document.body.classList.toggle("rosh-peeking",!!e))}function Ct(){"undefined"!=typeof document&&(document.body.classList.remove("rosh-peeking"),document.querySelectorAll("[data-modal-panel][data-peek-focus]").forEach(e=>e.removeAttribute("data-peek-focus")))}function Mt({id:e,label:t,maxW:n,maxH:r,titleAbove:o=!1,onClick:i,onClose:a}){const s=U(),l=_(null),[c,u]=Q({w:n,h:Math.round(.75*r)}),[d,h]=Q(!1);return G(()=>{const o=l.current;if(!o)return;const i=mt(e)??vt(t);if(!i)return void h(!1);const a=i.getBoundingClientRect();if(0===a.width||0===a.height)return void h(!1);const s=Math.min(n/a.width,r/a.height),c=Math.max(80,Math.round(a.width*s)),d=Math.max(60,Math.round(a.height*s));u({w:c,h:d}),h(!0);const m=i.cloneNode(!0);return m.style.position="absolute",m.style.top="0",m.style.left="0",m.style.right="auto",m.style.bottom="auto",m.style.width=a.width+"px",m.style.height=a.height+"px",m.style.transform=`scale(${s})`,m.style.transformOrigin="top left",m.style.pointerEvents="none",m.style.animation="none",m.style.zIndex="auto",m.removeAttribute("data-modal-panel"),m.removeAttribute("data-modal-id"),m.removeAttribute("data-window-key"),m.removeAttribute("role"),m.removeAttribute("aria-labelledby"),m.removeAttribute("aria-label"),m.querySelectorAll('[role="dialog"], [data-portal]').forEach(e=>{e.style.display="none"}),o.innerHTML="",o.appendChild(m),()=>{o.innerHTML=""}},[e,t,n,r]),/* @__PURE__ */ue("div",{style:{width:c.w,height:c.h},className:"relative rounded-md overflow-hidden bg-white/95 border border-line-strong shadow-(--elevation-panel) cursor-pointer ring-2 ring-transparent group-hover:ring-blue-400 transition shrink-0",onClick:i,children:[
19
+ /* @__PURE__ */de("div",{ref:l,className:"absolute inset-0 z-0 overflow-hidden"}),!d&&/* @__PURE__ */ue("div",{className:"absolute inset-0 flex flex-col items-center justify-center text-gray-400 bg-gray-50",children:[
20
+ /* @__PURE__ */de(O,{name:"window",className:"h-6 w-6",strokeWidth:1.5}),
21
+ /* @__PURE__ */de("span",{className:"mt-1 text-3xs uppercase tracking-wide",children:"Hidden"})]}),!o&&/* @__PURE__ */de("div",{className:"absolute bottom-0 left-0 right-0 z-10 px-2 py-1 text-2xs font-medium text-on-accent bg-gradient-to-t from-black/80 to-transparent truncate pointer-events-none",children:t}),a&&/* @__PURE__ */de("button",{onClick:e=>{e.stopPropagation(),a()},className:"absolute top-1 right-1 z-20 h-5 w-5 rounded-full bg-gray-900/90 ring-1 ring-white/80 shadow-sm hover:bg-red-500 text-on-accent flex items-center justify-center",title:s.taskbar.closeWindow,children:/* @__PURE__ */de(O,{name:"close",className:"h-3 w-3",strokeWidth:3})})]})}function Nt({items:e,anchorEl:t,onActivate:n,onClose:r,onMouseEnter:o,onMouseLeave:i}){const a=U(),s=e.length>1,l=_(null),[c,u]=Q({left:-9999,top:-9999,ready:!1}),[d,h]=Q(()=>"undefined"!=typeof document&&getComputedStyle(document.documentElement).getPropertyValue("--taskbar-position")?.trim()||"bottom");G(()=>{const e=l.current;if(!e)return;const n=()=>{const n=t.getBoundingClientRect(),r=e.getBoundingClientRect(),o=getComputedStyle(document.documentElement).getPropertyValue("--taskbar-position")?.trim()||"bottom";h(o);let i,a=n.left+n.width/2-r.width/2;"top"===o?i=n.bottom+8:"left"===o?(a=n.right+8,i=n.top+n.height/2-r.height/2):"right"===o?(a=n.left-r.width-8,i=n.top+n.height/2-r.height/2):i=n.top-r.height-8,a=Math.max(8,Math.min(a,window.innerWidth-r.width-8)),i=Math.max(8,Math.min(i,window.innerHeight-r.height-8)),u({left:a,top:i,ready:!0})};n();const r=new ResizeObserver(n);return r.observe(e),()=>r.disconnect()},[t,e.length]),Z(()=>Ct,[]);const m="top"===d,p=(m?"mt-1":"mb-1")+" max-w-[240px] truncate text-2xs font-medium text-ink-strongest bg-white/80 px-2 py-0.5 rounded shadow-sm ring-2 ring-transparent transition group-hover:ring-blue-400";return me(
22
+ /* @__PURE__ */de("div",{ref:l,"data-taskbar-preview":"",style:{position:"fixed",left:c.left,top:c.top,zIndex:kt,maxWidth:"calc(100vw - 16px)",opacity:c.ready?1:0},className:s?"flex gap-2 flex-wrap":"",onMouseEnter:o,onMouseLeave:()=>{Ct(),i()},children:e.map(e=>{const t=mt(e.id)??vt(e.label),o=t?function(e){if(fr(e))return null;const t=e.getBoundingClientRect(),n=cr(),r=t.left+t.width/2-(n.x+n.w/2),o=t.top+t.height/2-(n.y+n.h/2);return 180*Math.atan2(o,r)/Math.PI}(t):null;/* @__PURE__ */
23
+ return ue("div",{className:"group flex flex-col items-center",onMouseEnter:()=>Et(t),children:[!m&&/* @__PURE__ */de("span",{className:p,children:e.label}),
24
+ /* @__PURE__ */de(Mt,{id:e.id,label:e.label,maxW:240,maxH:160,titleAbove:!0,onClick:()=>n(e.id),onClose:()=>r(e.id)}),m&&/* @__PURE__ */de("span",{className:p,children:e.label}),null!==o&&/* @__PURE__ */ue("span",{title:a.taskbar.offscreenHint,className:"mt-1 inline-flex items-center gap-1 rounded bg-amber-500 px-2 py-0.5 text-2xs font-semibold text-on-accent shadow-sm",children:[
25
+ /* @__PURE__ */de(O,{name:"arrow-right",className:"h-3 w-3",style:{transform:`rotate(${o}deg)`},strokeWidth:3}),"Off screen"]})]},e.id)})}),document.body)}function St(e,t){const n=getComputedStyle(document.documentElement).getPropertyValue("--taskbar-position")?.trim()||"bottom";return"top"===n?{left:Math.min(e,window.innerWidth-220),top:t+4}:"left"===n?{left:e+4,top:Math.min(t,window.innerHeight-160)}:"right"===n?{right:window.innerWidth-e+4,top:Math.min(t,window.innerHeight-160)}:{left:Math.min(e,window.innerWidth-220),bottom:window.innerHeight-t+4}}function Lt({openWindows:e,onRemove:t,onSplitView:n,onActivate:r,onActivateById:o}){const i=U(),[a,s]=Q(null);Z(()=>{let e,t;const n=()=>{clearInterval(e),clearTimeout(t),e=void 0},r=()=>{const e=document.getElementById("taskbar-windows");return s(t=>t===e?t:e),!!e},o=()=>{n(),r()||(e=setInterval(()=>{r()&&n()},100),t=setTimeout(n,5e3))};return o(),window.addEventListener("react-os-shell:layout-mode-changed",o),()=>{n(),window.removeEventListener("react-os-shell:layout-mode-changed",o)}},[]);const c=ee(M,N),[,u]=Q(0);Z(()=>{const e=()=>u(e=>e+1);return window.addEventListener("modal-geometry",e),window.addEventListener("resize",e),()=>{window.removeEventListener("modal-geometry",e),window.removeEventListener("resize",e)}},[]);const[,d]=Q(0);Z(()=>{const e=()=>d(e=>e+1);return window.addEventListener("window-title-update",e),()=>window.removeEventListener("window-title-update",e)},[]);const h=e=>{const t=vt(e),n=t?.querySelector("[data-window-title]");return n?.textContent?.trim()||e},[m,p]=Q(null),[f,w]=Q(null),[g,v]=Q(null),b=_(null),x=()=>{b.current&&(clearTimeout(b.current),b.current=null),b.current=setTimeout(()=>{p(null),w(null)},150)},k=e.filter(e=>!e.route||!xe[e.route]?.utility);if(!a||!a.isConnected||0===k.length)return null;const E=[],C=/* @__PURE__ */new Map;for(const e of k){const t=e.route?xe[e.route]:void 0,n=t?.taskbarGroup,r=n?.key??e.route??`entity:${e.id}`,o=C.get(r);if(void 0!==o)E[o].items.push(e);else{C.set(r,E.length);const o=n?.label??t?.label??e.label;E.push({key:r,route:n?.icon??e.route,label:o,items:[e]})}}return me(
26
+ /* @__PURE__ */ue(he,{children:[E.map(e=>{const n=e.route?l[e.route]:null,r=e.items[e.items.length-1];let a=!1;if(c){const t=document.querySelector(`[data-modal-id="${c}"]`);if(t){const n=t.querySelector("[data-window-title]"),r=n?.textContent??"";a=e.items.some(e=>r.includes(e.label))}}const s=e.items.length>1,u=e.items.some(e=>{const t=mt(e.id)??vt(e.label);return!!t&&!fr(t)});/* @__PURE__ */
27
+ return ue("button",{onClick:()=>o(r.id),onMouseEnter:t=>{return n=e.items,r=t.currentTarget,void(g||(b.current&&(clearTimeout(b.current),b.current=null),b.current=setTimeout(()=>{p(n),w(r)},350)));var n,r},onMouseLeave:x,onDoubleClick:e=>{e.stopPropagation(),window.dispatchEvent(new CustomEvent("modal-center",{detail:{windowKey:r.id,label:r.label}}))},onContextMenu:t=>{t.preventDefault(),t.stopPropagation(),b.current&&(clearTimeout(b.current),b.current=null),p(null),w(null),s?v({x:t.clientX,y:t.clientY,items:e.items,label:e.label}):window.dispatchEvent(new CustomEvent("modal-context-menu",{detail:{windowKey:r.id,label:r.label,x:t.clientX,y:t.clientY}}))},style:{width:"var(--window-tab-width, 200px)",fontSize:"var(--window-tab-font-size, 12px)"},"data-tab-group":e.key,className:"group relative flex items-center gap-2 rounded-lg px-3 py-2 font-medium transition-all min-w-0 shrink "+(a?"bg-blue-100/60 border border-blue-400/60 text-blue-700":"bg-gray-50/40 border border-gray-200/40 text-gray-700 hover:bg-gray-200/40"),children:[n&&ne(n)?ie(n,{className:"h-3.5 w-3.5 shrink-0"}):/* @__PURE__ */de(O,{name:"expand",className:"h-3.5 w-3.5 shrink-0",strokeWidth:2}),
28
+ /* @__PURE__ */de("span",{className:"truncate flex-1",children:s?e.label:h(r.label)}),u&&/* @__PURE__ */de("span",{title:i.taskbar.offscreenDot,className:"shrink-0 h-1.5 w-1.5 rounded-full bg-amber-500"}),s&&/* @__PURE__ */de(y,{count:e.items.length,label:i.count.windows(e.items.length)}),!s&&/* @__PURE__ */de("span",{role:"button",onClick:e=>{e.stopPropagation(),t(r.id)},className:"ml-auto text-gray-400 hover:text-red-500 shrink-0 opacity-0 group-hover:opacity-100 transition-opacity",children:/* @__PURE__ */de(O,{name:"close",className:"h-3 w-3",strokeWidth:2})})]},e.key)}),
29
+ /* @__PURE__ */de("div",{className:"flex-1"}),k.length>=2&&/* @__PURE__ */ue("button",{onClick:n,title:i.taskbar.expose,className:"flex items-center gap-1 rounded px-2 py-1 text-2xs font-medium text-blue-600 border border-blue-300 hover:bg-accent-tint transition-colors shrink-0",children:[
30
+ /* @__PURE__ */de(O,{name:"grid",className:"h-3 w-3",strokeWidth:2}),"Exposé"]}),g&&/* @__PURE__ */ue(I,{portal:!0,minWidth:200,style:St(g.x,g.y),onClose:()=>v(null),children:[
31
+ /* @__PURE__ */de(K,{children:g.label}),
32
+ /* @__PURE__ */ue(R,{onClick:()=>{v(null),g.items.forEach(e=>function(e){const t=qn.get(e);t&&ir(t)}(e.id))},children:[
33
+ /* @__PURE__ */de(O,{name:"remove",className:"h-4 w-4",strokeWidth:1.5}),i.taskbar.minimizeAllWindows]}),
34
+ /* @__PURE__ */ue(R,{onClick:()=>{v(null),g.items.forEach(e=>o(e.id))},children:[
35
+ /* @__PURE__ */de("svg",{className:"h-4 w-4 text-gray-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:1.5,children:/* @__PURE__ */de("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3.75 3.75h6.5v6.5h-6.5zM13.75 8.75h6.5v6.5h-6.5z"})}),i.taskbar.restoreAllWindows]}),
36
+ /* @__PURE__ */de(W,{}),
37
+ /* @__PURE__ */ue(R,{danger:!0,onClick:()=>{v(null),g.items.forEach(e=>t(e.id))},children:[
38
+ /* @__PURE__ */de(O,{name:"close",className:"h-4 w-4",strokeWidth:2}),`${i.taskbar.closeAllWindows} (${g.items.length})`]})]}),m&&f&&/* @__PURE__ */de(Nt,{items:m,anchorEl:f,onActivate:e=>{o(e),p(null),w(null)},onClose:e=>{t(e),p(null),w(null)},onMouseEnter:()=>{b.current&&(clearTimeout(b.current),b.current=null)},onMouseLeave:x})]}),a)}var Tt=["/login","/forgot-password","/reset-password","/force-change-password"];function zt({children:e,windowAccentForRoute:t}){const n=pe(),r=Tt.some(e=>n.pathname.startsWith(e)),[o,i]=Q([]),a=_(o);G(()=>{a.current=o},[o]);const s=ee(Pe,De,De),l=_(/* @__PURE__ */new Map),c=e=>{const t=Ue(e),n=!!s&&"page"===e.type&&e.route===s,r=e.pageSearch||void 0,o=l.current.get(e.id);if(o&&o.tab===t&&o.home===n&&o.pageSearch===r)return o;const i={key:e.id,tab:t,home:n,...r?{pageSearch:r}:{}};return l.current.set(e.id,i),i};Z(()=>{yt.clear();for(const e of o)e.route&&yt.set(e.id,e.route)},[o]);const u=te(e=>{i(t=>t.filter(t=>t.id!==e))},[]),d=te(e=>{var t;mt(e)||pt(e)?(t=e,window.dispatchEvent(new CustomEvent(Tr,{detail:{windowKey:t}}))):u(e)},[u]),h=(e,t=!1)=>{const n=Kn;t&&ut.add(e),setTimeout(()=>{const r=document.querySelector(`[data-modal-panel][data-window-key="${e}"]`),o=r?.getAttribute("data-modal-id");var i,a;!o||(i=o,a=n,($n.get(i)??-1)>a)||or(o),t&&ut.delete(e)},50)},m=(e,t,n)=>{const r=Ie;if(n||!r)return[...e,t];const o=function(e,t,n){if(!Ue(t))return e.length;if(t.shellOwned&&Xe(t,n.home))return 0;const r=Xe(t,n.home)?void 0:Ye(t)?.key;if(r){let t=-1;if(e.forEach((e,o)=>{Ue(e)&&!Xe(e,n.home)&&Ye(e)?.key===r&&(t=o)}),t>=0)return t+1}if("page"===t.type&&t.route&&!Xe(t,n.home)&&n.favorites.includes(t.route))return e.length>0&&Xe(e[0],n.home)?1:0;const o=t.openedFrom?e.findIndex(e=>e.id===t.openedFrom):-1;if(o>=0){const t=/* @__PURE__ */new Set([e[o].id]);let r=o+1;for(;r<e.length&&e[r].openedFrom&&t.has(e[r].openedFrom);)t.add(e[r].id),r++;const i=t=>Ue(e[t])&&!Xe(e[t],n.home)?Ye(e[t])?.key:void 0;for(;r>0&&r<e.length&&void 0!==i(r)&&i(r)===i(r-1);)r++;return r}return e.length}(e,t,{home:De(),favorites:r.favorites});return[...e.slice(0,o),t,...e.slice(o)]},p=te(e=>{i(t=>function(e,t){const n=new Set(t),r=new Map(e.map(e=>[e.id,e])),o=t.map(e=>r.get(e)).filter(e=>!!e);if(o.length!==n.size)return e;let i=0;const a=e.map(e=>n.has(e.id)?o[i++]:e);return a.every((t,n)=>t===e[n])?e:a}(t,e))},[]),f=te((e,t,n,r,o,a={})=>{if(!xe[e]||!ge(xe[e]))return;const s=`${e}:${t}`,l=wt();i(i=>{const c=i.find(n=>n.entityType===e&&String(n.entityId)===String(t));return c?(h(c.id),i):(h(s,!0),m(i,{id:s,type:"modal",label:r||t,route:o||window.location.pathname,entityType:e,entityId:t,entitySnapshot:Ge(n),openedFrom:l},!!a.append))})},[]),w=te((e,t={})=>{if(!xe[e]||!ye(xe[e]))return;const n=xe[e],{reuse:r=!1,background:o=!1,shellOwned:s,search:l,append:c=!1}=t,u=e=>{var t;o?(t=e,Xn.add(t)):h(e)};if(n.widget){const t=a.current.find(t=>"page"===t.type&&t.route===e);if(t)return void d(t.id)}const p=wt();i(t=>{if(n.multiInstance){const i=t.filter(t=>"page"===t.type&&t.route===e);if(r&&!l&&i.length>0)return o||h(i[i.length-1].id),t;const a=`page:${e}:${Math.random().toString(36).slice(2,8)}`;return u(a),m(t,{id:a,type:"page",label:n.label,route:e,openedFrom:p,...s?{shellOwned:s}:{},...l?{pageSearch:l}:{}},c)}const i=t.find(t=>"page"===t.type&&t.route===e);if(i)return n.widget?t:(o||h(i.id),l&&i.pageSearch!==l?t.map(e=>e===i?{...e,pageSearch:l}:e):t);const a=`page:${e}`;return u(a),m(t,{id:a,type:"page",label:n.label,route:e,openedFrom:p,...s?{shellOwned:s}:{},...l?{pageSearch:l}:{}},c)})},[d]),y=te(()=>{},[]),g=te(()=>{},[]),v=d,b=d;/* @__PURE__ */
39
+ return ue(nt.Provider,{value:{openWindows:o,openEntity:f,openPage:w,reorderWindows:p,closeEntity:v,minimize:y,items:[],openItems:o,restore:g,remove:b,restoreIfMinimized:()=>!1},children:[e,
40
+ /* @__PURE__ */de(Lt,{openWindows:o,onRemove:d,onSplitView:Jr,onActivate:e=>{document.querySelectorAll("[data-modal-panel]").forEach(t=>{const n=t.querySelector("[data-window-title]");if(n?.textContent?.includes(e)){const e=t.getAttribute("data-modal-id");e&&or(e)}})},onActivateById:ft}),
41
+ /* @__PURE__ */de(Gr,{}),!r&&o.map(e=>{const n=e.route?t?.(e.route):void 0;
42
+ /* @__PURE__ */
43
+ return de(Se.Provider,{value:c(e),children:/* @__PURE__ */de(Ke,{fallback:(t,n)=>/* @__PURE__ */de(_r,{open:!0,onClose:()=>u(e.id),title:e.label,size:"md",autoHeight:!0,windowKey:e.id,children:/* @__PURE__ */de(We,{error:t,onReload:n})}),children:/* @__PURE__ */de(sn,{spec:st(e),children:/* @__PURE__ */de(oo,{windowId:e.id,children:"page"===e.type?/* @__PURE__ */de(lt,{item:e,onClose:()=>u(e.id),accentRgb:n}):/* @__PURE__ */de(ht,{item:e,onClose:()=>u(e.id),onMinimize:()=>{},accentRgb:n})})})})},e.id)})]})}var At=400;function Dt({panelRef:e,bodyRef:t,open:n,widget:r,active:o,minimized:i}){const a=_(null),s=_(!1);n&&!s.current&&(a.current="undefined"==typeof document?null:document.activeElement),s.current=n;const l=_(!1),c=_(void 0),u=_(i),d=u.current&&!i;u.current=i;const h=()=>{l.current=!0,clearTimeout(c.current),c.current=setTimeout(()=>{l.current=!1},At)};Z(()=>{n&&!r&&h()},[n,r]),Z(()=>{d&&n&&!r&&h()},[d]),Z(()=>()=>clearTimeout(c.current),[]),Z(()=>{if(!n||r||!o||i||!l.current)return;l.current=!1;const a=e.current;if(!a||a.contains(document.activeElement))return;if(document.activeElement?.closest('[aria-modal="true"]'))return;const s=t.current?D(t.current)[0]:void 0;s?s.focus():(a.hasAttribute("tabindex")||a.setAttribute("tabindex","-1"),a.focus())},[n,r,o,i,e,t]),G(()=>{if(!n||r)return;const t=e.current;return()=>{const e=a.current,n=document.activeElement;(!n||n===document.body||!!t?.contains(n))&&e&&e.isConnected&&!t?.contains(e)&&e.focus?.()}},[n,r,e])}var Pt=null,It=/* @__PURE__ */new Set;function Rt(){return Pt}function Wt(e){if(Pt!==e){Pt=e;for(const e of It)e()}}function Kt(e){return It.add(e),()=>{It.delete(e)}}var $t=!1,Ot={menus:0,submenus:0,menuKey:null,moveMs:0,resizeMs:0},jt=()=>{};function Ft(e){$t=e,Ot={menus:0,submenus:0,menuKey:null,moveMs:0,resizeMs:0}}function qt(e,t){$t&&("submenu"===e?Ot.submenus++:Ot.menus++,Ot.menuKey=t)}function Bt(e){if(!$t)return jt;const t=performance.now();let n=!1;return()=>{if(n)return;if(n=!0,!$t)return;const r=performance.now()-t;"move"===e?Ot.moveMs+=r:Ot.resizeMs+=r}}function Ht(){const e=Ot;return Ot={menus:0,submenus:0,menuKey:null,moveMs:0,resizeMs:0},e}var Ut=/* @__PURE__ */new Set([P,b]),Yt=e=>Ut.has(e)||"function"==typeof e&&"badge"===e.titleRole,Xt=/* @__PURE__ */new Set(["button","a","input","select","textarea","kbd"]),Vt=/* @__PURE__ */new Set(["svg"]);function Jt(e){const t=[],n={text:"",accessories:[],badges:[],actions:[]};return Gt(e,n,t),n.text=t.join("").replace(/\s+/g," ").trim(),n}function Gt(e,t,n){if(null==e||"boolean"==typeof e)return;if("string"==typeof e||"number"==typeof e)return void n.push(String(e));if(Array.isArray(e))return void e.forEach(e=>Gt(e,t,n));if(!ne(e))return;const r=e;if(r.type===f)return void(void 0===t.copy&&"string"==typeof r.props.text&&r.props.text&&(t.copy=r.props.text));if(r.type===re)return void oe.toArray(r.props.children).forEach(e=>Gt(e,t,n));if("string"==typeof r.type){if(Vt.has(r.type))return;if(!Xt.has(r.type))return n.push(" "),oe.toArray(r.props.children).forEach(e=>Gt(e,t,n)),void n.push(" ")}const o=ie(r,{key:`title-part-${t.accessories.length}`});t.accessories.push(o),(Yt(r.type)?t.badges:t.actions).push(o)}var _t=/* @__PURE__ */new Map,Zt=/* @__PURE__ */new Set,Qt=0;function en(){Qt++,Zt.forEach(e=>e())}function tn(e){return _t.get(e)}function nn(e){return Zt.add(e),()=>{Zt.delete(e)}}function rn(){return Qt}var on=Y(""),an=Y(null);function sn({spec:e,children:t}){/* @__PURE__ */
44
+ return de(an.Provider,{value:e,children:t})}var ln=/* @__PURE__ */new Set(["button","input","textarea","select","kbd","svg"]),cn='button[type="submit"], button[data-submit], button.btn-submit, button.bg-green-600, button.bg-blue-600';function un(e){return dn(e).replace(/\s+/g," ").trim()}function dn(e){if(null==e||"boolean"==typeof e)return"";if("string"==typeof e)return e;if("number"==typeof e)return String(e);if(Array.isArray(e))return e.map(dn).join("");if(ne(e)){const t=e,n="string"==typeof t.type?t.type:"";return ln.has(n)?"":` ${dn(t.props?.children)} `}return""}function hn(e){const t=V(on);Z(()=>{if(!t)return;const n=n=>{n.detail===t&&e()};return window.addEventListener("widget-open-settings",n),()=>window.removeEventListener("widget-open-settings",n)},[e,t])}var mn={};function pn(e,t,n){const r=V(on);Z(()=>{if(!r)return;mn[r]||(mn[r]=[]);const o={label:e,icon:n,onClick:t};return mn[r].push(o),()=>{mn[r]=(mn[r]||[]).filter(e=>e!==o)}},[r,e,t,n])}function fn({title:e}){const t=_(null);return Z(()=>{const n=setTimeout(()=>{const n=t.current?.closest("[data-modal-id]"),r=n?.getAttribute("data-modal-id");r&&window.dispatchEvent(new CustomEvent("window-title-update",{detail:{id:r,title:e}}))},0);return()=>clearTimeout(n)},[e]),/* @__PURE__ */de("span",{ref:t,style:{display:"none"},"aria-hidden":"true"})}function wn(e){}function yn(){return V(on)}function gn({children:e,position:t="right",quiet:n=!1}){const r=V(C),[o,i]=Q(null);return Z(()=>{if(!r)return;const e="left"===t?r.leftRef:r.rightRef,o=()=>!!e.current&&(i(e.current),n||r.notify(),!0);if(o())return;const a=setInterval(()=>{o()&&clearInterval(a)},50),s=setTimeout(()=>clearInterval(a),2e3);return()=>{clearInterval(a),clearTimeout(s)}},[r,t,n]),o?me(e,o):null}function vn({onClick:e,children:t,className:n}){const r=V(C);/* @__PURE__ */
45
+ return de("button",{type:"button",onClick:async()=>{if(r?.isDirty){const{confirm:e}=await(import("./shell/ConfirmDialog.js"));if(!await e({title:"Discard changes?",message:"You have unsaved changes. Are you sure you want to cancel? All changes will be lost.",confirmLabel:"Discard",cancelLabel:"Keep Editing",variant:"warning"}))return}e()},className:n||"bg-white text-gray-700 border border-gray-300 px-4 py-2 text-sm font-medium rounded-lg hover:bg-gray-50",children:t||"Cancel"})}var bn="erp_window_positions",xn={};try{const e=localStorage.getItem(bn);e&&(xn=JSON.parse(e))}catch{}var kn=null;function En(){kn&&clearTimeout(kn),kn=setTimeout(()=>{try{localStorage.setItem(bn,JSON.stringify(xn))}catch{}},500)}var Cn="erp_activation_order",Mn=[];try{const e=localStorage.getItem(Cn),t=e?JSON.parse(e):null;Array.isArray(t)&&t.every(e=>"string"==typeof e)&&(Mn=t)}catch{}var Nn=null;function Sn(){Nn&&clearTimeout(Nn),Nn=setTimeout(()=>{try{localStorage.setItem(Cn,JSON.stringify(Mn))}catch{}},500)}function Ln(e,t){xn[e]||(xn[e]=t,En())}function Tn(e){return xn[e]?{...xn[e]}:null}function zn(e,t){xn[e]=t,En()}function An(){const r=e(),o=t();let i=!1;for(const e of Object.keys(xn))n(xn[e],r,o)&&(delete xn[e],i=!0);i&&En()}var Dn={sm:384,md:512,lg:672,xl:896,"2xl":1152,"3xl":1408},Pn=4e3,In=()=>{if("undefined"==typeof document)return"large";const e=getComputedStyle(document.documentElement).getPropertyValue("--default-window-size")?.trim();return"small"===e||"medium"===e||"maximized"===e?e:"large"},Rn={small:.8,medium:1,large:1.25,maximized:1.25},Wn=/* @__PURE__ */new Set,Kn=0,$n=/* @__PURE__ */new Map;var On=0;function jn(){return On}function Fn(){On++,E.forEach(e=>e())}var qn=/* @__PURE__ */new Map,Bn=/* @__PURE__ */new Map,Hn=/* @__PURE__ */new Map;function Un(){for(let e=k.length-1;e>=0;e--){const t=Hn.get(k[e]);if(t?.tab)return t.owner}return null}function Yn(){return ee(M,Un,()=>null)}var Xn=/* @__PURE__ */new Set;var Vn=null;function Jn(e){Vn=null,or(e)}function Gn(e){Vn=e;const t=qn.get(e);t&&Jn(t)}var _n=/* @__PURE__ */new Map;function Zn(e){return _n.get(e)?.holdsChanges()??!1}function Qn(e){const t=_n.get(e);return t?t.ask():Promise.resolve(!0)}function er(e){Vn===e&&(Vn=null)}function tr(e,t,n){if(n&&Hn.set(e,n),t)if(qn.set(t,e),Bn.set(e,t),Xn.delete(t)){k.unshift(e);const n=Mn.indexOf(t);-1!==n&&Mn.splice(n,1),Mn.unshift(t),Sn()}else!function(e,t){const n=Mn.indexOf(t);if(-1===n)return void k.push(e);let r=k.length;for(let e=0;e<k.length;e++){const t=Bn.get(k[e]);if(t&&Mn.indexOf(t)>n){r=e;break}}k.splice(r,0,e)}(e,t),-1===Mn.indexOf(t)&&(Mn.push(t),Sn());else k.push(e);Fn(),window.dispatchEvent(new CustomEvent("modal-reorder")),t&&Vn===t&&Jn(e)}function nr(e){return e?Hn.get(e)?.owner??Bn.get(e)??null:null}var rr=/* @__PURE__ */new Set;function or(e){const t=nr(N()),n=k.indexOf(e);-1!==n&&k.splice(n,1),k.push(e);const r=Hn.get(e);if(r?.root)for(const[e,t]of Hn){if(t.root||t.owner!==r.owner||Wn.has(e))continue;const n=k.indexOf(e);-1!==n&&k.splice(n,1),k.push(e)}Wn.delete(e);const o=Bn.get(e);if(o){const e=Mn.indexOf(o);-1!==e&&Mn.splice(e,1),Mn.push(o),Sn(),Vn&&Vn!==o&&(Vn=null)}Fn(),window.dispatchEvent(new CustomEvent("modal-reorder"));const i=nr(N());i&&i!==t&&rr.forEach(e=>e(i))}function ir(e){const t=k.indexOf(e);-1!==t&&k.splice(t,1),Wn.add(e),$n.set(e,++Kn);const n=Bn.get(e);if(n){const e=Mn.indexOf(n);-1!==e&&(Mn.splice(e,1),Sn())}Fn(),window.dispatchEvent(new CustomEvent("modal-reorder"))}var ar=/* @__PURE__ */new Set;var sr=8,lr=32;function cr(){return e()}var ur=c.windowBar,dr=80,hr=384,mr=400;function pr(e,t=cr()){const n=Math.min(Math.max(e.x,t.x+dr-e.w),t.x+t.w-dr),r=Math.min(Math.max(e.y,t.y),t.y+t.h-ur);return n===e.x&&r===e.y?e:{...e,x:n,y:r}}function fr(e){const t=e.getBoundingClientRect();if(0===t.width||0===t.height)return!0;const n=cr();return t.left>=n.x-1&&t.top>=n.y-1&&t.right<=n.x+n.w+1&&t.bottom<=n.y+n.h+1}function wr(e){const t=cr(),n=Math.floor(t.w/2),r=Math.floor(t.h/2);switch(e){case"top":return{x:t.x,y:t.y,w:t.w,h:t.h};case"left":return{x:t.x,y:t.y,w:n,h:t.h};case"right":return{x:t.x+n,y:t.y,w:t.w-n,h:t.h};case"tl":return{x:t.x,y:t.y,w:n,h:r};case"tr":return{x:t.x+n,y:t.y,w:t.w-n,h:r};case"bl":return{x:t.x,y:t.y+r,w:n,h:t.h-r};case"br":return{x:t.x+n,y:t.y+r,w:t.w-n,h:t.h-r}}}var yr=null;function gr(e){const t=(yr||((yr=document.createElement("div")).style.cssText=["position: fixed","pointer-events: none",`z-index: ${F.snapPreview}`,"border-radius: 8px","background: rgba(59, 130, 246, 0.18)","border: 2px solid rgb(59, 130, 246)","transition: left 120ms ease, top 120ms ease, width 120ms ease, height 120ms ease, opacity 120ms ease","opacity: 0","display: none"].join(";"),document.body.appendChild(yr)),yr);t.style.display="block",t.style.left=`${e.x}px`,t.style.top=`${e.y}px`,t.style.width=`${e.w}px`,t.style.height=`${e.h}px`,t.style.opacity="1"}function vr(){yr&&(yr.style.opacity="0",yr.style.display="none")}var br=[{zone:"left",labelKey:"snapLeft",region:"inset-y-0 left-0 w-1/2"},{zone:"right",labelKey:"snapRight",region:"inset-y-0 right-0 w-1/2"},{zone:"tl",labelKey:"snapTopLeft",region:"top-0 left-0 h-1/2 w-1/2"},{zone:"tr",labelKey:"snapTopRight",region:"top-0 right-0 h-1/2 w-1/2"},{zone:"bl",labelKey:"snapBottomLeft",region:"bottom-0 left-0 h-1/2 w-1/2"},{zone:"br",labelKey:"snapBottomRight",region:"bottom-0 right-0 h-1/2 w-1/2"}],xr=350,kr=200;function Er({maximized:e,onToggleMax:t,onSnap:n,buttonClassName:r,strings:o}){const[i,a]=Q(!1),s=_(void 0),l=_(void 0);Z(()=>()=>{clearTimeout(s.current),clearTimeout(l.current)},[]);const c=()=>{clearTimeout(l.current),s.current=setTimeout(()=>a(!0),xr)},u=()=>{clearTimeout(s.current),l.current=setTimeout(()=>a(!1),kr)};/* @__PURE__ */
46
+ return ue("span",{className:"relative inline-flex",onMouseEnter:c,onMouseLeave:u,children:[
47
+ /* @__PURE__ */de("button",{onClick:t,onFocus:c,onBlur:u,title:e?o.windowed:o.maximize,className:r,children:e?"❐":"⤢"}),i&&/* @__PURE__ */de("div",{role:"group","aria-label":o.snapLayouts,onMouseEnter:()=>clearTimeout(l.current),onMouseLeave:u,className:"absolute right-0 top-full z-30 mt-1 grid w-max grid-cols-2 gap-1 rounded-lg border border-line bg-surface p-2 shadow-lg",children:br.map(({zone:e,labelKey:t,region:r})=>/* @__PURE__ */de("button",{type:"button","aria-label":o[t],title:o[t],onClick:()=>{a(!1),n(e)},onFocus:()=>clearTimeout(l.current),onBlur:u,className:"relative h-7 w-11 rounded border border-gray-300 bg-gray-50 hover:border-blue-400 focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-400",children:/* @__PURE__ */de("span",{"aria-hidden":"true",className:`absolute rounded-sm bg-blue-500/70 ${r}`,style:{margin:2}})},e))})]})}var Cr="rosh-gesture-style";var Mr={se:"nwse-resize",nw:"nwse-resize",sw:"nesw-resize",ne:"nesw-resize",n:"ns-resize",s:"ns-resize",e:"ew-resize",w:"ew-resize"},Nr=4;function Sr(e,t,n,r){!function(){if("undefined"==typeof document||document.getElementById(Cr))return;const e=document.createElement("style");e.id=Cr,e.textContent="body.rosh-gesturing [data-modal-panel]{will-change:transform}",document.head.appendChild(e)}();try{e.setPointerCapture(t)}catch{}document.body.classList.add("rosh-gesturing");const o=document.createElement("div");o.setAttribute("data-drag-shield",""),o.style.cssText=`position:fixed;inset:0;z-index:2147483647;cursor:${n};background:transparent;touch-action:none`,document.body.appendChild(o);const i=Bt(r);let a=!1;return()=>{if(!a){a=!0,i();try{e.releasePointerCapture(t)}catch{}o.remove(),document.body.classList.remove("rosh-gesturing")}}}function Lr(e){const t=k.indexOf(e);if(-1===t)return-1;const n=F.window+t*F.windowStep,r=Hn.get(e);if(!r||r.root)return n;let o=-1;for(const[e,t]of Hn){if(!t.root||t.owner!==r.owner)continue;const n=k.indexOf(e);-1!==n&&(o=Math.max(o,F.window+n*F.windowStep))}return o>=n?o+2+Math.min(t,7):n}"undefined"!=typeof window&&window.addEventListener("deactivate-all-modals",function(){for(let e=k.length-1;e>=0;e--)ar.has(k[e])||k.splice(e,1);Mn=Mn.filter(e=>{const t=qn.get(e);return null!=t&&ar.has(t)}),Sn(),Fn(),window.dispatchEvent(new CustomEvent("modal-reorder"))});var Tr="modal-close-request";function zr(e){ee(M,jn);const t=V(C);if(k.length<=1)return!0;if(e){const t=qn.get(e);if(null!=t)return N()===t}return t?.active??null!=N()}var Ar=!1,Dr=/* @__PURE__ */new Set;function Pr(e){return Dr.add(e),()=>Dr.delete(e)}function Ir(){return Ar}function Rr(e){Ar!==e&&(Ar=e,Dr.forEach(e=>e()))}function Wr(){Rr(!Ar)}function Kr(){Rr(!1)}var $r=null,Or=/* @__PURE__ */new Set;function jr(e){return Or.add(e),()=>Or.delete(e)}function Fr(){return $r}function qr(e){$r!==e&&($r=e,Or.forEach(e=>e()))}var Br=null,Hr=/* @__PURE__ */new Set;function Ur(e){return Hr.add(e),()=>Hr.delete(e)}function Yr(){return Br}function Xr(e){Br!==e&&(Br=e,Hr.forEach(e=>e()))}function Vr(){if(!Br)return void Rr(!1);qr(Br),Xr(null),Rr(!1)}function Jr(){Rr(!Ar),window.dispatchEvent(new CustomEvent("modal-split-view"))}function Gr(){const e=ee(Pr,Ir),[t,n]=Q(e),[r,o]=Q(e);return Z(()=>{if(e){n(!0);const e=requestAnimationFrame(()=>o(!0));return()=>cancelAnimationFrame(e)}o(!1);const t=setTimeout(()=>n(!1),280);return()=>clearTimeout(t)},[e]),t&&"undefined"!=typeof document?me(
48
+ /* @__PURE__ */de("div",{onMouseDown:e=>{e.stopPropagation(),Rr(!1)},style:{position:"fixed",inset:0,background:"rgba(0,0,0,0.55)",backdropFilter:"blur(2px)",WebkitBackdropFilter:"blur(2px)",zIndex:F.expose,cursor:"pointer",opacity:r?1:0,transition:"opacity 260ms cubic-bezier(0.2, 0.8, 0.2, 1)",pointerEvents:r?"auto":"none"}}),document.body):null}function _r({open:t,onClose:l,title:c,icon:u,copyText:d,size:h="lg",dirty:m=!1,onNext:p,onPrev:f,footer:y,bodyScroll:b,onMinimize:x,initialBox:E,actions:L,actionsLeft:D,editing:P=!1,edit:K,allowPinOnTop:j,initialPosition:q,widget:B,compact:Y,appStyle:X,flushBody:J,autoHeight:re,autoMinHeight:oe,autoWidth:le,widgetMenu:ce,dimensions:pe,windowKey:fe,openedFromKey:we,accentRgb:ye,children:ge}){const[ve,be]=Q(()=>r()),xe=T()&&!ve,ke=z()&&!!B,[Ee,Ce]=Q(0),[Me,Ne]=Q(!1),Le=_(null),Te=_(0);Z(()=>{Te.current=Ee},[Ee]);const ze=te(e=>{xe&&(Le.current={startX:e.clientX,startY:e.clientY,pointerId:e.pointerId},Ne(!0),Wt(we??null))},[xe,we]),Ae=ee(Kt,Rt);Z(()=>{if(!Me)return;const e=e=>{if(!Le.current)return;const t=e.clientX-Le.current.startX;if(Math.abs(e.clientY-Le.current.startY)>Math.abs(t)+12)return Le.current=null,Ne(!1),Ce(0),void Wt(null);Ce(Math.max(0,t))},t=()=>{if(!Le.current)return;const e=.3*window.innerWidth,t=Te.current>e;Le.current=null,Ne(!1),t?(Ce(window.innerWidth),setTimeout(()=>{l(),Ce(0),Wt(null)},180)):(Ce(0),Wt(null))};return window.addEventListener("pointermove",e),window.addEventListener("pointerup",t),window.addEventListener("pointercancel",t),()=>{window.removeEventListener("pointermove",e),window.removeEventListener("pointerup",t),window.removeEventListener("pointercancel",t)}},[Me]);const[De,Pe]=Q(c),Ie=U(),Re=Ie.window;Z(()=>{Pe(c)},[c]);const We=ae(()=>un(De).trim()||void 0,[De]),Oe=se(),[Fe,qe]=Q(!1),Be=_(!1),[He,Ue]=Q(!1),[Ye,Xe]=Q(null),Ve=V(an),Je=V(Se),{prefs:Ge,save:_e}=A(),Ze=!!Ge.window_accent_stripe,Qe=Ge.favorite_documents||[],et=!!Ve&&Qe.some(e=>e.entityType===Ve.entityType&&e.entityId===Ve.entityId),tt=te(()=>{if(!Ve)return;const e=et?Qe.filter(e=>!(e.entityType===Ve.entityType&&e.entityId===Ve.entityId)):[...Qe,{entityType:Ve.entityType,entityId:Ve.entityId,label:Ve.label}];_e({favorite_documents:e})},[Ve,et,Qe,_e]),[nt,rt]=Q(null),[it,st]=Q("top-right"===q?"right":"left"),lt=_(!1),ct=_(null);G(()=>{const e=ct.current;e&&(ye?e.style.setProperty("--window-accent-rgb",ye):e.style.removeProperty("--window-accent-rgb"))},[ye]);const ut=_(!1),dt=_(null),ht=_(null),mt=_(null),[pt,ft]=Q(!1),wt=_(null),yt=_(null),gt=_(null),[vt,bt]=Q(!1);G(()=>{const e=yt.current,t=gt.current;if(!e||!t)return;const n=()=>bt(function(e,t){return e.scrollWidth>t.clientWidth}(t,e));if(n(),"undefined"==typeof ResizeObserver)return;const r=new ResizeObserver(n);return r.observe(e),r.observe(t),()=>r.disconnect()},[null!=y&&!1!==y]);const xt=!!K&&!B&&!Y&&!X&&(K.editing||"hidden"!==K.state),kt=!!(y||L||D)||pt||xt,Et=V($e),Ct=""!==V(on),Mt=_(null);Mt.current=Je?{owner:Je.key,tab:Je.tab,root:!Ct}:null;const Nt=fe||(Je&&!Ct?Je.key:null),St=!!Et&&!Ct&&Et.enabled&&Et.hasState&&(P||Et.declaredEditable)&&!Et.handMounted&&kt&&!B&&!Y&&!X&&!xe,Lt=/* @__PURE__ */de(O,{name:"window",className:"h-4 w-4",strokeWidth:1.5}),Tt=u&&ne(u)?ie(u,{className:`h-4 w-4 ${u.props?.className??""}`.trim()}):u??Lt,zt=()=>/* @__PURE__ */de("button",{onPointerDown:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation();const t=e.currentTarget.getBoundingClientRect();Xe(e=>e?null:{x:t.left,y:t.bottom+4})},className:"shrink-0 p-0.5 rounded hover:bg-gray-200/50 transition-colors",title:"Window menu",children:Tt}),At=40,{minimize:Pt,items:It,restoreIfMinimized:$t,openWindows:Ot}=at(),jt=_(`modal-${Math.random().toString(36).slice(2,8)}`).current;Z(()=>{if(B)return ar.add(jt),()=>{ar.delete(jt)}},[B,jt]),Z(()=>{const e=e=>{const t=e.detail;t?.id===jt&&Pe(t.title)};return window.addEventListener("window-title-update",e),()=>window.removeEventListener("window-title-update",e)},[jt]);const[Ft,qt]=Q(F.window),Bt=function(e){const t=ee(M,N);return k.length<=1||t===e}(jt),Ht=_(K);Ht.current=K;const Ut=!!K&&!K.editing&&"enabled"===K.state;Z(()=>{if(!t||!Bt||!Ut)return;const e=e=>{("KeyE"===e.code||"E"===e.key||"e"===e.key)&&e.altKey&&e.shiftKey&&!e.metaKey&&!e.ctrlKey&&(g(e.target,ct.current)||(e.preventDefault(),e.stopPropagation(),Ht.current?.onEdit()))};return window.addEventListener("keydown",e,!0),()=>window.removeEventListener("keydown",e,!0)},[t,Bt,Ut]);const Yt=function(e){return ee(M,()=>Wn.has(e))}(jt);Dt({panelRef:ct,bodyRef:dt,open:t,widget:!!B,active:Bt,minimized:Yt});const Xt=ee(Pr,Ir),Vt=ee(jr,Fr),Gt=ee(Ur,Yr),Zt=!j&&!B,Qt=Xt&&Zt,[tn,nn]=Q(!1),rn=Qt&&Gt===jt,[sn,ln]=Q(!1),dn=sn&&Zt&&Vt===jt?"picked":null,hn=_(Qt);Z(()=>{if(hn.current&&!Qt){ln(!0);const e=setTimeout(()=>{ln(!1),$r===jt&&qr(null)},700);return hn.current=Qt,()=>clearTimeout(e)}hn.current=Qt},[Qt,jt]),Z(()=>{Qt||nn(!1)},[Qt]),Z(()=>{const e=ht.current,t=mt.current;if(!e&&!t)return;const n=e=>e?Array.from(e.children).filter(e=>"shell"!==e.dataset.undoControls).length:0,r=()=>ft(n(e)+n(t)>0);r();const o=new MutationObserver(r);return e&&o.observe(e,{childList:!0}),t&&o.observe(t,{childList:!0}),()=>o.disconnect()},[t]),Z(()=>{const e=e=>{if(e.target.closest('button[type="submit"]')&&ct.current){const t=ct.current.querySelector("form");t&&(e.preventDefault(),t.requestSubmit())}},t=ht.current,n=mt.current;return t&&t.addEventListener("click",e),n&&n.addEventListener("click",e),()=>{t&&t.removeEventListener("click",e),n&&n.removeEventListener("click",e)}},[t]);const pn=_(!1),fn=te(e,[]),wn=te(()=>{const t=e(),n=pe?pe[0]:Dn[h]||672,o=t.w-80,i=t.h-80,a=Math.min(n,o),s=Rn[In()],l=pe?Math.min(pe[1],i):(()=>{const e=("sm"===h?500:"md"===h?600:"lg"===h?700:"xl"===h?800:920)*s;return Math.max(320,Math.min(e,t.h-80))})(),c="cascade"!==(getComputedStyle(document.documentElement).getPropertyValue("--window-position")?.trim()||"cascade")||r()?0:30*(k.length-1),u=Math.max(At,(i-l)/2),d=(o-a)/2,m=t.h-At-l-u;return"top-right"===q?{x:t.x+t.w-a-At,y:t.y+At,w:a,h:l}:"top-left"===q?{x:t.x+At,y:t.y+At,w:a,h:l}:{x:t.x+Math.max(At,(o-a)/2+At)+Math.min(c,Math.max(0,d)),y:t.y+u+Math.min(c,Math.max(0,m)),w:a,h:l}},[h]),yn=_(!1);t||(yn.current=!1);const gn=fe||d||null;Z(()=>{if(!t)return;tr(jt,gn,Mt.current??void 0),fe||or(jt),pn.current=!1,qt(Lr(jt));const e=()=>{qt(Lr(jt))},n=()=>{},r=e=>{if(!e)return!1;if(e.windowKey)return e.windowKey===fe;if(!e.label)return!1;const t=ct.current?.querySelector("[data-window-title]");return!!t?.textContent?.includes(e.label)},o=e=>{if(!r(e.detail))return;if(or(jt),zn.current)return;const t=cr(),n=Math.min(Xn.current.w,t.w-40),o=Math.min(Xn.current.h,t.h-40),i=t.x+(t.w-n)/2,a=t.y+(t.h-o)/2;kn({x:i,y:a,w:n,h:o}),Un(!1)},i=e=>{const t=e.detail;r(t)&&(or(jt),Xe({x:t.x,y:t.y}))},a=e=>{if(e.detail?.windowKey!==fe)return;or(jt);const t=Xn.current,n=function(e,t=cr()){const n=Math.min(e.w,t.w),r=Math.min(e.h,t.h);return{w:n,h:r,x:Math.min(Math.max(e.x,t.x),t.x+t.w-n),y:Math.min(Math.max(e.y,t.y),t.y+t.h-r)}}(t);if(n.x===t.x&&n.y===t.y&&n.w===t.w&&n.h===t.h)return;const r=ct.current,o="function"==typeof window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;if(r&&!o){let e=!1;const t=()=>{e||(e=!0,r.style.transition="",window.dispatchEvent(new CustomEvent("modal-geometry")))};r.style.transition="left .28s ease, top .28s ease, width .28s ease, height .28s ease",r.addEventListener("transitionend",t,{once:!0}),window.setTimeout(t,400)}kn(n)};return window.addEventListener("modal-reorder",e),window.addEventListener("modal-split-view",n),window.addEventListener("modal-center",o),window.addEventListener("modal-reveal",a),window.addEventListener("modal-context-menu",i),()=>{!function(e){const t=k.indexOf(e);-1!==t&&(k.splice(t,1),Fn()),Wn.delete(e),$n.delete(e),Hn.delete(e);const n=Bn.get(e);n&&(Bn.delete(e),qn.delete(n))}(jt),window.removeEventListener("modal-reorder",e),window.removeEventListener("modal-split-view",n),window.removeEventListener("modal-center",o),window.removeEventListener("modal-reveal",a),window.removeEventListener("modal-context-menu",i),window.dispatchEvent(new CustomEvent("modal-reorder"))}},[t,jt,gn,fn]);const vn=!B&&"maximized"===In(),[bn,kn]=Q(()=>{if(gn&&xn[gn]){const e={...xn[gn]};return pe&&(e.w=pe[0],re||(e.h=pe[1])),pr(e)}return E?{x:E.x,y:E.y,w:E.w,h:E.h}:vn?fn():wn()}),[Cn,Mn]=Q(()=>!re),Nn=_(ve),Sn=_(null);Z(()=>{const e=()=>{const e=r();e!==Nn.current&&Sn.current?.(e),Nn.current=e,be(e),qt(Lr(jt))};return window.addEventListener("react-os-shell:layout-mode-changed",e),()=>window.removeEventListener("react-os-shell:layout-mode-changed",e)},[jt]);const Ln=ve&&!!Je?.tab&&!Ct&&!B&&!xe,Tn=Ln,zn=_(Tn);zn.current=Tn;const An=Yn(),Kn=ve&&!!Je?.tab&&!B&&!xe&&!Xt&&An!==Je.key,On=!!B&&ve&&!Xt&&null!==An,[jn,Un]=Q(()=>gn&&xn[gn]||E?Tn:Tn||vn),Xn=_(bn);Xn.current=bn;const Vn=_(jn);G(()=>{Vn.current=jn},[jn]),G(()=>{if(Cn||Ln)return;const e=ct.current,t=dt.current;if(!e||!t)return;const n=oe??(B?0:240),r=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--taskbar-height"))||0;let o=0,i=null,a=null;const s=()=>{const c=t.firstElementChild;if(!c||e.offsetHeight<=0)return;c!==a&&(a&&l.unobserve(a),l.observe(c),a=c);const u=e.offsetHeight-t.offsetHeight,d=t.style.flex,h=t.style.overflowY,m=t.style.height;t.style.flex="0 0 auto",t.style.height="auto",t.style.overflowY="visible";const p=t.offsetHeight,f=c.offsetHeight;t.style.flex=d,t.style.height=m,t.style.overflowY=h;const w=c.offsetHeight>f+4,y=Math.max(n,window.innerHeight-r-Math.max(0,Xn.current.y)-24),g=w?Math.min(Xn.current.h,y):Math.min(Math.max(n,u+p),y),v=Math.abs(g-o)>1;v&&(o=g,kn(e=>Math.abs(e.h-g)>1?{...e,h:g}:e)),B||(g<=n?i&&(clearTimeout(i),i=null):(v||null===i)&&(i&&clearTimeout(i),i=setTimeout(()=>{const e=o;s(),o===e&&Mn(!0)},160)))},l=new ResizeObserver(s);s(),wt.current&&l.observe(wt.current);const c=new MutationObserver(s);return c.observe(t,{childList:!0,subtree:!0,characterData:!0}),()=>{l.disconnect(),c.disconnect(),i&&clearTimeout(i)}},[Cn,B,oe,kt,Ln]),G(()=>{if(!re||!Cn||B||!t)return;const e=wt.current;if(!e)return;let n=e.offsetHeight;const r=new ResizeObserver(()=>{if(!e.isConnected)return;const t=e.offsetHeight,r=t-n,o=t>0!=n>0;if(n=t,!o||0===r||jn)return;if(document.body.classList.contains("rosh-gesturing"))return;const i=oe??240,a=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--taskbar-height"))||0,s=Math.max(i,window.innerHeight-a-Math.max(0,Xn.current.y)-24);kn(e=>({...e,h:Math.min(Math.max(i,e.h+r),s)}))});return r.observe(e),()=>r.disconnect()},[re,Cn,B,t,jn,oe]);const Jn=!1!==le&&!B&&!X&&!xe,[Gn,Zn]=Q(()=>!Jn);G(()=>{if(Gn||!t)return;if(!Jn||jn)return void Zn(!0);const n=ct.current,r=dt.current;if(!n||!r)return;const o=/* @__PURE__ */new WeakSet;let l=Xn.current.w,c=0;const u=()=>Zn(!0),d=()=>{c=0;const t=Xn.current;if(Math.abs(t.w-l)>1||document.body.classList.contains("rosh-gesturing"))return void u();const d=e(),h=d.w-80;if(t.w>=h)return void u();const m=[],p=[];for(const e of[r,...Array.from(r.querySelectorAll("*"))]){const t=e.scrollWidth-e.clientWidth;if(t<=4||o.has(e))continue;const n=getComputedStyle(e).overflowX;"auto"!==n&&"scroll"!==n||(m.push(e),p.push(t))}if(!m.length)return;const f=Math.min(h,t.w+Math.max(...p)),w=f-t.w,y=n.style.width;n.style.width=`${f}px`;const g=m.map((e,t)=>({over:p[t],residual:e.scrollWidth-e.clientWidth}));n.style.width=y,g.forEach((e,t)=>{i(e,w)||o.add(m[t])});const v=a(t,s(t.w,w,g),d,At);v!==t&&(l=v.w,kn(v))};d();const h=new MutationObserver(()=>{c||(c=requestAnimationFrame(d))});h.observe(r,{childList:!0,subtree:!0,characterData:!0,attributes:!0,attributeFilter:["style","class","hidden"]});const m=setTimeout(u,Pn);return()=>{h.disconnect(),c&&cancelAnimationFrame(c),clearTimeout(m)}},[Gn,t,Jn,jn]);const Qn=_(null),er=!(!Je?.tab||Ct||B||xe);Sn.current=t=>{if(!er)return;if(t)return Qn.current||(Qn.current={box:{...Xn.current},maximized:Vn.current}),void(Vn.current=!0);const r=Qn.current;Qn.current=null;const o=e();if(r?.maximized)return Vn.current=!0,Un(!0),void kn(o);const i=r?.box??(gn?xn[gn]:void 0);if(Vn.current=!1,Un(!1),i&&!n(i,o,!1)){const e={...i};pe&&(e.w=pe[0],re||(e.h=pe[1])),kn(pr(e))}else kn(wn())},Z(()=>{Tn&&(Vn.current=!0,Un(!0),kn(fn()))},[Tn,fn]),Z(()=>{if(B)return;const e=()=>{const e=gn?xn[gn]:void 0;if(Vn.current=!1,Un(!1),e){const t={...e};pe&&(t.w=pe[0],re||(t.h=pe[1])),kn(pr(t))}else kn(wn())};return window.addEventListener("react-os-shell:restore-windowed",e),()=>window.removeEventListener("react-os-shell:restore-windowed",e)},[B,wn,gn]),Z(()=>{t&&gn&&!Ln&&(xn[gn]=bn,En()),t&&window.dispatchEvent(new CustomEvent("modal-geometry"))},[bn,t,gn,Ln]),Z(()=>{if(!t)return;const e=()=>{Vn.current?kn(fn()):document.body.classList.contains("rosh-gesturing")||kn(pr)};window.addEventListener("resize",e),window.addEventListener(o,e);let n=null;return jn&&(n=new MutationObserver(e),n.observe(document.body,{childList:!0,subtree:!1,attributes:!0,attributeFilter:["class"]})),()=>{window.removeEventListener("resize",e),window.removeEventListener(o,e),n?.disconnect()}},[t,jn,fn]),Z(()=>{if(t&&(qe(!1),Be.current=!1,lt.current=!1,Zn(!Jn),!zn.current)){if(gn&&xn[gn]){const e=xn[gn];return void kn(t=>pr({...e,...re?{h:t.h}:{},...Jn?{x:t.x,w:t.w}:{}}))}E&&(kn({x:E.x,y:E.y,w:E.w,h:E.h}),Un(E.maximized))}},[t]),Z(()=>{if(!t||"auto"!==m)return;let e;const n=t=>{ct.current?.contains(t.target)&&!Be.current&&(Be.current=!0,e=setTimeout(()=>qe(!0),0))};return document.addEventListener("input",n,!0),document.addEventListener("change",n,!0),()=>{clearTimeout(e),document.removeEventListener("input",n,!0),document.removeEventListener("change",n,!0)}},[t,m]);const nr="auto"===m?Fe:!0===m,rr=Je&&!Ct?Je.key:null,ur=ae(()=>Jt(De),[De]),dr=_({shortcutSpec:Ve,isOnDesktop:et,toggleDesktopShortcut:tt,taskbarStrings:Ie.taskbar});G(()=>{dr.current={shortcutSpec:Ve,isOnDesktop:et,toggleDesktopShortcut:tt,taskbarStrings:Ie.taskbar}});const fr=_(null);fr.current||(fr.current={open:(e,t)=>Xe({x:e,y:t}),items:()=>{const e=dr.current,t=[];e.shortcutSpec&&t.push({label:e.isOnDesktop?e.taskbarStrings.removeFromDesktop:e.taskbarStrings.addToDesktop,onSelect:e.toggleDesktopShortcut});for(const e of mn[jt]||[])t.push({label:e.label,icon:e.icon,onSelect:e.onClick});return t}}),Z(()=>{if(t&&rr)return()=>{return e=rr,void(_t.delete(e)&&en());var e}},[t,rr]),ot(!(fe||!t)&&nr);const yr=te(()=>nr||"auto"===m&&Be.current,[nr,m]),br=te(async e=>{if(lt.current)return!1;if(!yr())return!0;lt.current=!0;const t=We,n="close"===e?"Are you sure you want to close?":"discard"===e?"Are you sure you want to stop editing?":"Are you sure you want to continue?",r=await w({title:"Discard changes?",message:t?`“${t}” has unsaved changes. ${n} All changes will be lost.`:`You have unsaved changes. ${n} All changes will be lost.`,confirmLabel:"Discard",cancelLabel:"Keep Editing",variant:"warning"});return lt.current=!1,r},[yr,We]),xr=te(()=>lt.current?Promise.resolve():yr()?br("close").then(e=>{e&&l()}):(l(),Promise.resolve()),[yr,br,l]),kr=te(async()=>{await br("discard")&&(Be.current=!1,qe(!1),Ht.current?.onDiscard())},[br]),Cr=te(async()=>{const e=await br("switch");return e&&(Be.current=!1,qe(!1)),e},[br]),zr=_(()=>!1);G(()=>{zr.current=yr}),G(()=>{if(!t||!fe)return;const e={holdsChanges:()=>zr.current(),ask:Cr};return _n.set(fe,e),()=>{_n.get(fe)===e&&_n.delete(fe)}},[t,fe,Cr]),G(()=>{if(!t||!Nt)return;const e=e=>{e.detail?.windowKey===Nt&&xr()};return window.addEventListener(Tr,e),()=>window.removeEventListener(Tr,e)},[t,Nt,xr]);const Ar=_(null),Dr=te(e=>{if(0!==e.button)return;if(e.target.closest("button, input, a, kbd, select, textarea"))return;if(Xe(null),or(jt),zn.current)return void e.preventDefault();e.preventDefault();const t=e.currentTarget,n=e.pointerId;let r=null;const o=e.clientX,i=e.clientY,a=ct.current,s=a?.getBoundingClientRect();let l,c,u,d;if(Ar.current){const t=Ar.current;Ar.current=null,d=t.w,u=t.h;const n=s?Math.min(Math.max(20,e.clientX-s.left),t.w-20):t.w/2;l=e.clientX-n,c=e.clientY-12,a&&(a.style.width=`${d}px`,a.style.height=`${u}px`,a.style.left=`${l}px`,a.style.top=`${c}px`)}else l=s?s.left:Xn.current.x,c=s?s.top:Xn.current.y,u=s?s.height:Xn.current.h,d=s?s.width:Xn.current.w;Un(!1),kn(e=>({...e,x:l,y:c,w:d,h:u}));let h=null;const m=e=>{if(!r){if(Math.abs(e.clientX-o)<Nr&&Math.abs(e.clientY-i)<Nr)return;r=Sr(t,n,"move","move"),a&&(a.style.transition="none")}const s=l+e.clientX-o,u=Math.max(0,c+e.clientY-i);if(a&&(a.style.transform=`translate(${s-l}px, ${u-c}px)`),Xn.current={...Xn.current,x:s,y:u},!B){const t=function(e,t){const n=cr(),r=e<=n.x+sr,o=e>=n.x+n.w-sr,i=t<=n.y+sr,a=t>=n.y+n.h-sr,s=e<=n.x+lr,l=e>=n.x+n.w-lr,c=t<=n.y+lr,u=t>=n.y+n.h-lr;return i&&s?"tl":i&&l?"tr":a&&s?"bl":a&&l?"br":c&&r?"tl":c&&o?"tr":u&&r?"bl":u&&o?"br":i?"top":r?"left":o?"right":null}(e.clientX,e.clientY);t!==h&&(h=t,t?gr(wr(t)):vr())}},p=()=>{window.removeEventListener("pointermove",m),window.removeEventListener("pointerup",p),r?.(),vr();const e=pr({...Xn.current});if(Xn.current=e,!B&&h){Ar.current={x:l,y:c,w:d,h:u};const e=wr(h);return a&&(a.style.left=`${e.x}px`,a.style.top=`${e.y}px`,a.style.width=`${e.w}px`,a.style.height=`${e.h}px`,a.style.transform="",a.style.transition=""),void kn(e)}if(B){const t=e.x+e.w/2,n=window.innerWidth/2;st(t>n?"right":"left")}a&&(a.style.left=`${e.x}px`,a.style.top=`${e.y}px`,a.style.transform="",a.style.transition=""),kn(e)};window.addEventListener("pointermove",m),window.addEventListener("pointerup",p)},[]),Wr=te((e,t)=>{if(0!==e.button)return;e.preventDefault(),e.stopPropagation();const n=e.currentTarget,r=e.pointerId;let o=null;const i=e.clientX,a=e.clientY,s=ct.current,l=s?.getBoundingClientRect(),c=l?l.left:Xn.current.x,u=l?l.top:Xn.current.y,d=l?l.width:Xn.current.w,h=l?l.height:Xn.current.h,m="sw"===t||"nw"===t||"w"===t,p="ne"===t||"nw"===t||"n"===t,f="se"===t||"ne"===t||"e"===t,w="se"===t||"sw"===t||"s"===t;Un(!1),kn({x:c,y:u,w:d,h:h}),Xn.current={x:c,y:u,w:d,h:h};let y=0,g=null;const v=()=>{if(y=0,!g)return;const e=g;g=null,Xn.current=e,s&&(s.style.left=`${e.x}px`,s.style.top=`${e.y}px`,s.style.width=`${e.w}px`,s.style.height=`${e.h}px`)},b=e=>{if(!o){if(Math.abs(e.clientX-i)<Nr&&Math.abs(e.clientY-a)<Nr)return;o=Sr(n,r,Mr[t],"resize")}g=((e,t)=>{let n=c,r=u,o=d,i=h;if(f&&(o=Math.max(hr,d+e)),w&&(i=Math.max(mr,h+t)),m){const t=Math.max(hr,d-e);n=c+d-t,o=t}if(p){const e=Math.max(mr,h-t);r=u+h-e,i=e}return{x:n,y:r,w:o,h:i}})(e.clientX-i,e.clientY-a),y||(y=requestAnimationFrame(v))},x=()=>{window.removeEventListener("pointermove",b),window.removeEventListener("pointerup",x),y&&cancelAnimationFrame(y),v(),o?.(),kn({...Xn.current})};window.addEventListener("pointermove",b),window.addEventListener("pointerup",x)},[]),Kr=te(e=>{if(e.target.closest("button, input, a, kbd, select, textarea"))return;const t={ArrowLeft:[-1,0],ArrowRight:[1,0],ArrowUp:[0,-1],ArrowDown:[0,1]}[e.key];if(!t&&"Enter"!==e.key)return;if(e.preventDefault(),e.stopPropagation(),or(jt),"Enter"===e.key)return void(jn?(Un(!1),kn(wn())):(Un(!0),kn(fn())));const[n,r]=t;if(e.ctrlKey||e.metaKey){const e=()=>{Ar.current||(Ar.current={...Xn.current})};if(r<0)return e(),Un(!0),void kn(fn());if(r>0){if(jn)return Un(!1),void kn(wn());if(Ar.current){const e=pr(Ar.current);return Ar.current=null,Xn.current=e,void kn(e)}return void ir(jt)}e(),Un(!1);const t=wr(n<0?"left":"right");return Xn.current=t,void kn(t)}if(jn)return;const o=Xn.current,i=e.shiftKey?{...o,w:Math.max(hr,o.w+24*n),h:Math.max(mr,o.h+24*r)}:pr({...o,x:o.x+24*n,y:Math.max(0,o.y+24*r)});Xn.current=i,kn(i)},[jt,jn,wn,fn]),Or=te(e=>{Ar.current||(Ar.current={...Xn.current}),Un(!1);const t=wr(e);Xn.current=t,kn(t),or(jt)},[jt]),Br=Tn||Qt?{}:{tabIndex:0,role:"group","aria-label":We?`${We} — ${Re.windowSuffix}`:Re.windowSuffix,"aria-keyshortcuts":"ArrowUp ArrowDown ArrowLeft ArrowRight Shift+ArrowUp Shift+ArrowDown Shift+ArrowLeft Shift+ArrowRight Control+ArrowUp Control+ArrowDown Control+ArrowLeft Control+ArrowRight Enter",onKeyDown:Kr},Hr=()=>{Un(!0),kn(fn())},Xr=te(()=>{const e=ct.current;if(!e)return;const t=e.querySelector("form");if(t)t.requestSubmit();else{const t=e.querySelector(cn);t&&!t.disabled&&t.click()}},[]);Z(()=>{if(!t)return;if(B)return;const e=e=>{if(k[k.length-1]===jt&&!g(e.target,ct.current)&&"Enter"===e.key){const t=e.target;if("TEXTAREA"===t.tagName||t.isContentEditable)return;if(e.metaKey||e.ctrlKey)e.preventDefault(),Xr();else{if("INPUT"===t.tagName&&t.closest("form"))return;if(!(t instanceof Element&&ct.current?.contains(t)))return;if(t.closest(S))return;e.preventDefault()}}};return window.addEventListener("keydown",e,!0),()=>window.removeEventListener("keydown",e,!0)},[t,Xr,jt,B]),Z(()=>{if(!t)return;const e=e=>{k[k.length-1]===jt&&(g(e.target,ct.current)||((e.metaKey||e.ctrlKey)&&"s"===e.key?(e.preventDefault(),document.dispatchEvent(new CustomEvent("modal-save",{detail:{modalId:jt}})),Be.current=!1,qe(!1)):e.altKey&&e.shiftKey&&("KeyD"===e.code||"D"===e.key||"d"===e.key)&&(e.preventDefault(),document.dispatchEvent(new CustomEvent("modal-duplicate",{detail:{modalId:jt}})))))};return window.addEventListener("keydown",e,!0),()=>window.removeEventListener("keydown",e,!0)},[t]),Z(()=>{if(!t)return;if(B)return;const e=e=>{if("Escape"===e.key&&k[k.length-1]===jt){if(H(e))return e.preventDefault(),void e.stopPropagation();if(Ln&&!P)return;e.preventDefault(),e.stopPropagation(),xr()}};return window.addEventListener("keydown",e,!0),()=>window.removeEventListener("keydown",e,!0)},[t,xr,jt,B,Ln,P]);const Vr=t&&(void 0!==p||void 0!==f),[Jr]=Q(()=>{if("undefined"==typeof document)return null;const e=document.createElement("span");return e.className="flex shrink-0 items-center gap-2",e.setAttribute("data-tab-actions",""),e}),Gr=Ln&&!Je?.home&&ur.actions.length>0;Z(()=>{t&&rr&&function(e,t){const n=_t.get(e);n&&n.title===t.title&&n.dirty===t.dirty&&n.copy===t.copy&&n.actions===t.actions&&n.menu===t.menu||(_t.set(e,t),en())}(rr,{title:ur.text||We,dirty:nr,copy:ur.copy,actions:Gr&&Jr?Jr:void 0,menu:fr.current??void 0})},[t,rr,We,nr,ur.text,ur.copy,Gr,Jr]);const _r=te(e=>{const t=document.getElementById("nav-boundary-toast");t&&t.remove();const n="bottom"===e?["That's the last one, chief.","You've hit rock bottom... of the list.","End of the line, buddy.","Nothing left. Go outside.","Congratulations, you scrolled to the void.","There's no more. I checked.","You've reached the edge of the known universe.","Plot twist: there is no next one.","Even scrolling has limits. Unlike your ambition.","Last one. Time to touch grass."]:["Already at the top. Overachiever.","There is no item above this. Trust me.","You're #1. Literally.","Can't go higher. You've peaked.","This is it. The summit. The top.","First item. No VIP lounge above this.","Going up? Nope. Elevator's broken.","You want negative indexes? Bold.","Top of the list. Top of the world.","The only way is down from here."],r=n[Math.floor(Math.random()*n.length)],o=document.createElement("div");o.id="nav-boundary-toast",o.className="fixed bottom-6 left-1/2 -translate-x-1/2 z-(--z-toast) bg-gray-900 text-on-accent flex min-h-10 items-center px-5 py-3 rounded-lg shadow-lg text-sm font-medium transition-opacity duration-300",o.textContent=r,document.body.appendChild(o),setTimeout(()=>{o.style.opacity="0",setTimeout(()=>o.remove(),300)},2e3)},[]);if(Z(()=>{if(!t)return;const e=e=>{if(k[k.length-1]!==jt)return;if(g(e.target,ct.current))return;const t=e.target.tagName;"INPUT"!==t&&"TEXTAREA"!==t&&"SELECT"!==t&&(e.target.isContentEditable||("j"===e.key&&Vr&&(e.preventDefault(),p?p():_r("bottom")),"k"===e.key&&Vr&&(e.preventDefault(),f?f():_r("top"))))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[t,p,f,Vr,_r,jt]),!t||yn.current)return null;const Zr=Qt?function(e){if("undefined"==typeof document)return null;const t=Array.from(document.querySelectorAll("[data-modal-panel]")).filter(e=>{const t=e;return!t.hasAttribute("data-utility")&&!t.hasAttribute("data-widget")&&"none"!==t.style.display});t.sort((e,t)=>(e.getAttribute("data-modal-id")||"").localeCompare(t.getAttribute("data-modal-id")||""));const n=t.findIndex(t=>t.getAttribute("data-modal-id")===e),r=t.length;if(n<0||r<1)return null;const o=Math.ceil(Math.sqrt(r)),i=Math.ceil(r/o),a=Math.floor(n/o),s=n%o,l=r-o*(i-1),c=a===i-1&&l<o,u=cr(),d=(u.w-20*(o+1))/o,h=(u.h-14*(i+1)-22*i)/i,m=c?(o-l)*(d+20)/2:0;return{x:u.x+20+s*(d+20)+m,y:u.y+14+a*(h+14+22),w:d,h:h}}(jt):null,Qr=Qt&&Zr?Math.min(Zr.w/bn.w,Zr.h/bn.h):1,eo=(()=>{if(Qt&&Zr){const e=Qr,t=bn.w*e,n=bn.h*e,r=Zr.x+(Zr.w-t)/2-bn.x,o=Zr.y+(Zr.h-n)/2-bn.y,i=tn||rn;return{transform:`translate(${r}px, ${o}px) scale(${e})`,transformOrigin:"top left",transition:"transform 280ms cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 280ms",cursor:"pointer",zIndex:F.expose+(i?20:10),boxShadow:i?"0 24px 72px rgba(0,0,0,0.6), 0 0 0 2px rgba(255,255,255,0.55), 0 0 36px 12px rgba(96,165,250,0.85), 0 0 96px 28px rgba(96,165,250,0.55)":"0 16px 48px rgba(0,0,0,0.55)",pointerEvents:"auto"}}if(sn&&Zt){const e="picked"===dn;return{transition:e?"transform 640ms cubic-bezier(0.34, 1.42, 0.64, 1), box-shadow 600ms":"transform 600ms cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 600ms",...e?{zIndex:F.expose+30}:{}}}return null})(),to=v({modal:!1,titleId:!B&&(Ln?!Je?.home:!xe)?Oe:void 0,label:ur.text||We}),no=/* @__PURE__ */ue("div",{children:[
49
+ /* @__PURE__ */ue("div",{ref:ct,"data-modal-panel":!0,"data-modal-id":jt,"data-window-key":fe||void 0,...j?{"data-utility":""}:{},...He?{"data-pinned-top":""}:{},...B?{"data-widget":""}:{},...Je?{"data-window-owner":Je.key}:{},...Je&&!Ct?{"data-window-root":""}:{},...Ln?{"data-window-tab":""}:{},...to,className:Ln?"fixed flex flex-col overflow-hidden":"fixed rounded-(--radius-window) flex flex-col overflow-hidden "+(B?Bt?"shadow-xl":"shadow-lg":"border "+(Bt?"shadow-xl border-line":"shadow-lg border-line-strong")),onMouseDownCapture:e=>{if(ut.current=!1,Qt){if(e.target.closest("[data-expose-close]"))return;return e.preventDefault(),e.stopPropagation(),qr(jt),Rr(!1),void or(jt)}if(!Bt&&!B&&!He&&0===e.button){const t=e.target;t.closest("[data-modal-panel]")===ct.current&&t.closest("button, input, a, select, textarea")&&!t.closest("[data-window-chrome]")&&(e.preventDefault(),e.stopPropagation(),ut.current=!0,Xe(null),or(jt),window.addEventListener("mouseup",()=>{setTimeout(()=>{ut.current=!1},0)},{once:!0}))}},onClickCapture:e=>{ut.current&&(ut.current=!1,e.preventDefault(),e.stopPropagation())},onMouseDown:e=>{if(Qt)return;Xe(null);e.target.closest("[data-modal-panel]")===ct.current&&(e.target.closest("button, input, a, select, textarea")||or(jt))},style:xe?{zIndex:Ft+1,top:0,left:0,right:0,bottom:"var(--mobile-bottom-nav, 56px)",width:"auto",height:"auto",transform:`translateX(${Ee}px)`,transition:Me?"none":"transform 180ms ease-out",...B?{display:"none"}:{},...Ft<0?{display:"none"}:{},...Bt||He||Ae&&fe===Ae?{}:{display:"none"}}:{zIndex:He?F.pinnedWindow:Ft+1,width:bn.w,height:bn.h,top:bn.y,...B&&"right"===it?{right:window.innerWidth-bn.x-bn.w}:{left:bn.x},...Ft<0&&!He?{display:"none"}:{},...ke?{display:"none"}:{},...Kn||On?{visibility:"hidden",pointerEvents:"none"}:{},...eo??{}},children:[xe&&!B&&/* @__PURE__ */de("div",{onPointerDown:ze,className:"absolute top-0 bottom-0 left-0 w-[22px] z-[5]",style:{touchAction:"pan-y"},"aria-hidden":"true"}),B?null:Ln?Je?.home?null:/* @__PURE__ */ue(he,{children:[
50
+ /* @__PURE__ */de("h2",{id:Oe,"data-window-title":!0,className:"sr-only",children:ur.text||We}),Gr&&Jr&&me(
51
+ /* @__PURE__ */de(he,{children:ur.actions}),Jr),ur.badges.length>0&&/* @__PURE__ */de("div",{"data-window-chrome":"","data-record-bar":"",className:"flex h-9 shrink-0 select-none items-center gap-2 overflow-hidden border-b border-gray-200 px-4",style:{backgroundColor:"rgb(var(--window-content-rgb))"},children:ur.badges})]}):xe?null:
52
+ /* @__PURE__ */ue("div",Y?{onPointerDown:Dr,"data-window-chrome":"",...Br,className:"flex items-center justify-between h-(--row-height-compact-bar) px-3 border-b border-line shrink-0 cursor-move select-none rounded-t-(--radius-window) focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-blue-400 "+(Bt?"backdrop-blur-sm":""),style:{touchAction:"none",backgroundColor:Bt?"rgb(var(--window-header-rgb) / var(--active-header-opacity, 0.8))":"rgb(var(--window-header-rgb) / var(--inactive-header-opacity, 0.7))"},children:[
53
+ /* @__PURE__ */ue("div",{"data-window-title":!0,title:We,className:"text-sm font-medium min-w-0 flex-1 truncate flex items-center gap-2",style:{color:Bt?"var(--window-title-active, rgb(17 24 39))":"var(--window-title-inactive, rgb(156 163 175))"},children:[!Qt&&zt(),
54
+ /* @__PURE__ */de("span",{id:Oe,className:"truncate",children:Qt?un(De):De})]}),!Qt&&/* @__PURE__ */ue("div",{className:"flex items-center gap-2 shrink-0 ml-2",children:[j&&/* @__PURE__ */de("button",{onClick:()=>Ue(e=>!e),title:He?Re.unpin:Re.pinOnTop,className:"p-0.5 rounded hover:bg-gray-200 "+(He?"text-blue-600":"text-gray-400 hover:text-gray-600"),children:/* @__PURE__ */de(O,{name:"bookmark-square",className:"h-3 w-3",fill:He?"currentColor":"none",strokeWidth:1.5})}),
55
+ /* @__PURE__ */de("button",{type:"button",onClick:xr,"aria-label":Re.close,className:"rounded p-0.5 text-ink-faintest hover:text-gray-600 hover:bg-gray-200",children:/* @__PURE__ */de(O,{name:"close",className:"h-4 w-4"})})]})]}:X?{onPointerDown:Dr,"data-window-chrome":"",...Br,className:"flex items-center justify-between h-(--row-height-compact-bar) px-3 border-b border-line shrink-0 cursor-move select-none rounded-t-(--radius-window) focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-blue-400 "+(Bt?"backdrop-blur-sm":""),style:{touchAction:"none",backgroundColor:Bt?"rgb(var(--window-header-rgb) / var(--active-header-opacity, 0.8))":"rgb(var(--window-header-rgb) / var(--inactive-header-opacity, 0.7))"},children:[
56
+ /* @__PURE__ */ue("div",{"data-window-title":!0,title:We,className:"text-sm font-medium min-w-0 flex-1 truncate flex items-center gap-2",style:{color:Bt?"var(--window-title-active, rgb(17 24 39))":"var(--window-title-inactive, rgb(156 163 175))"},children:[!Qt&&zt(),
57
+ /* @__PURE__ */de("span",{id:Oe,className:"truncate",children:Qt?un(De):De})]}),!Qt&&/* @__PURE__ */ue("div",{className:"flex items-center gap-2 shrink-0 ml-2",children:[j&&/* @__PURE__ */de("button",{onClick:()=>Ue(e=>!e),title:He?Re.unpin:Re.pinOnTop,className:"p-0.5 rounded hover:bg-gray-200 "+(He?"text-blue-600":"text-gray-400 hover:text-gray-600"),children:/* @__PURE__ */de(O,{name:"bookmark-square",className:"h-3 w-3",fill:He?"currentColor":"none",strokeWidth:1.5})}),
58
+ /* @__PURE__ */de("button",{onClick:()=>ir(jt),title:Re.minimize,className:"text-gray-400 hover:text-gray-600 px-1 py-0.5 rounded hover:bg-gray-200 text-xs leading-none",children:"─"}),!Tn&&/* @__PURE__ */de(Er,{maximized:jn,onToggleMax:()=>{jn?(Un(!1),kn(wn())):Hr()},onSnap:Or,buttonClassName:"text-gray-400 hover:text-gray-600 px-1 py-0.5 rounded hover:bg-gray-200 text-xs leading-none",strings:Re}),
59
+ /* @__PURE__ */de("button",{type:"button",onClick:xr,"aria-label":Re.close,className:"rounded p-0.5 text-ink-faintest hover:text-gray-600 hover:bg-gray-200",children:/* @__PURE__ */de(O,{name:"close",className:"h-4 w-4"})})]})]}:{onPointerDown:Dr,"data-window-chrome":"",...Br,className:"flex items-center justify-between h-(--row-height-window-bar) px-3 border-b border-gray-200 shrink-0 cursor-move select-none rounded-t-(--radius-window) focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-blue-400 "+(Bt?"backdrop-blur-sm":""),style:{touchAction:"none",backgroundColor:Bt?"rgb(var(--window-header-rgb) / var(--active-header-opacity, 0.8))":"rgb(var(--window-header-rgb) / var(--inactive-header-opacity, 0.7))"},children:[
60
+ /* @__PURE__ */ue("div",{"data-window-title":!0,title:We,className:"text-sm font-medium min-w-0 flex-1 truncate flex items-center gap-2",style:{color:Bt?"var(--window-title-active, rgb(17 24 39))":"var(--window-title-inactive, rgb(156 163 175))"},children:[!Qt&&zt(),
61
+ /* @__PURE__ */de("span",{id:Oe,className:"truncate",children:Qt?un(De):De})]}),!Qt&&/* @__PURE__ */ue("div",{className:"flex items-center gap-3 shrink-0 ml-4",children:[j&&/* @__PURE__ */de("button",{onClick:()=>Ue(e=>!e),title:He?Re.unpin:Re.pinOnTop,className:"text-xs px-2 py-1 rounded hover:bg-gray-200 "+(He?"text-blue-600":"text-gray-400 hover:text-gray-600"),children:/* @__PURE__ */de(O,{name:"bookmark-square",className:"h-3.5 w-3.5",fill:He?"currentColor":"none",strokeWidth:1.5})}),
62
+ /* @__PURE__ */de("button",{onClick:()=>ir(jt),title:Re.minimize,className:"text-gray-400 hover:text-gray-600 text-xs px-2 py-1 rounded hover:bg-gray-200",children:"─"}),!Tn&&/* @__PURE__ */de(Er,{maximized:jn,onToggleMax:()=>{jn?(Un(!1),kn(wn())):Hr()},onSnap:Or,buttonClassName:"text-gray-400 hover:text-gray-600 text-xs px-2 py-1 rounded hover:bg-gray-200",strings:Re}),
63
+ /* @__PURE__ */de("button",{type:"button",onClick:xr,"aria-label":Re.close,className:"rounded-(--radius-control) text-ink-faintest hover:text-gray-600",children:/* @__PURE__ */de(O,{name:"close",className:"h-5 w-5"})})]})]}),ye&&Ze&&!B&&!xe&&/* @__PURE__ */de("div",{"aria-hidden":"true",className:"h-[3px] shrink-0 pointer-events-none",style:{backgroundColor:`rgb(var(--window-accent-rgb) / ${Bt?.9:.55})`}}),
64
+ /* @__PURE__ */de(on.Provider,{value:jt,children:/* @__PURE__ */de(C.Provider,{value:{rightRef:ht,leftRef:mt,notify:()=>ft(!0),active:Bt,isDirty:nr,footerOpen:kt&&!B&&!Y&&!X&&!xe},children:/* @__PURE__ */de("div",{ref:dt,...B?{onPointerDown:Dr,onContextMenu:e=>{e.preventDefault(),rt({x:e.clientX,y:e.clientY})}}:{},className:`flex-1 min-h-0 flex flex-col ${B?"p-0 cursor-move":X||J?"p-0":Y?"p-2":"p-4"} ${B||Ln?"":"backdrop-blur-sm"} ${!1===b||X||J?"overflow-hidden":"overflow-y-auto overscroll-contain"} ${B?"rounded-2xl select-none":""}`,style:{...B?{touchAction:"none"}:{},backgroundColor:B?"transparent":Ln?"rgb(var(--window-content-rgb))":Bt?"rgb(var(--window-content-rgb) / var(--active-content-opacity, 0.9))":"rgb(var(--window-content-rgb) / var(--inactive-content-opacity, 0.8))"},children:/* @__PURE__ */de(Ke,{children:ge})})})}),B&&nt&&/* @__PURE__ */ue(I,{minWidth:160,style:{left:nt.x,top:nt.y},onClose:()=>rt(null),children:[
65
+ /* @__PURE__ */de(R,{onClick:()=>{rt(null),window.dispatchEvent(new CustomEvent("widget-open-settings",{detail:jt}))},children:"Settings"}),
66
+ /* @__PURE__ */de(W,{}),ce&&/* @__PURE__ */ue(he,{children:[ce,
67
+ /* @__PURE__ */de(W,{})]}),
68
+ /* @__PURE__ */ue(R,{onClick:()=>{rt(null),Ue(e=>!e)},children:[
69
+ /* @__PURE__ */de("span",{className:"flex-1",children:"Always on Top"}),He&&/* @__PURE__ */de(O,{name:"check",className:"h-4 w-4 text-blue-600 shrink-0",strokeWidth:2})]}),
70
+ /* @__PURE__ */de(W,{}),
71
+ /* @__PURE__ */de(R,{onClick:()=>{rt(null),xr()},children:"Close"})]}),
72
+ /* @__PURE__ */ue("div",{onPointerDown:Dr,ref:wt,"data-modal-footer":"",className:`px-4 py-2 border-t border-gray-200 shrink-0 flex items-center justify-between text-xs select-none${Ln?"":" cursor-move"}${Bt&&!Ln?" backdrop-blur-sm":""}${B||Y||X||xe||!kt?" hidden":""}`,style:{touchAction:"none",backgroundColor:Ln?"rgb(var(--window-footer-rgb))":Bt?"rgb(var(--window-footer-rgb) / var(--active-header-opacity, 0.8))":"rgb(var(--window-footer-rgb) / var(--inactive-header-opacity, 0.7))"},children:[
73
+ /* @__PURE__ */ue("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[St&&/* @__PURE__ */de(je,{auto:!0}),D,
74
+ /* @__PURE__ */de("div",{ref:mt,"data-modal-actions-left":!0,className:"flex items-center gap-2 shrink-0"}),null!=y&&!1!==y&&
75
+ /* @__PURE__ */de("div",{ref:yt,"data-modal-footer-facts":"",className:"min-w-0 flex-1 overflow-hidden",children:/* @__PURE__ */de("div",{ref:gt,className:"inline-flex items-center gap-2 whitespace-nowrap"+(vt?" invisible":""),children:y})})]}),
76
+ /* @__PURE__ */ue("div",{"data-modal-footer-right":"",className:"flex items-center gap-2 ml-auto shrink-0",children:[xt&&K&&(K.editing?/* @__PURE__ */de($,{variant:"secondary",size:"sm","data-modal-discard":"",onClick:()=>{kr()},children:Re.discard}):"object"==typeof K.state?/* @__PURE__ */de($,{variant:"secondary",size:"sm","data-modal-edit":"","aria-disabled":!0,disabledReason:K.state.disabledReason,children:Re.edit}):/* @__PURE__ */de($,{variant:"secondary",size:"sm","data-modal-edit":"",onClick:()=>K.onEdit(),children:Re.edit})),
77
+ /* @__PURE__ */de("div",{ref:ht,"data-modal-actions":!0,className:"flex items-center gap-2"}),L]})]}),!B&&!xe&&!Qt&&Bt&&!Tn&&/* @__PURE__ */ue(he,{children:[
78
+ /* @__PURE__ */de("div",{onPointerDown:e=>Wr(e,"se"),className:"absolute bottom-0 right-0 w-3 h-3 cursor-nwse-resize z-10"}),
79
+ /* @__PURE__ */de("div",{onPointerDown:e=>Wr(e,"sw"),className:"absolute bottom-0 left-0 w-3 h-3 cursor-nesw-resize z-10"}),
80
+ /* @__PURE__ */de("div",{onPointerDown:e=>Wr(e,"ne"),className:"absolute top-0 right-0 w-3 h-3 cursor-nesw-resize z-10"}),
81
+ /* @__PURE__ */de("div",{onPointerDown:e=>Wr(e,"nw"),className:"absolute top-0 left-0 w-3 h-3 cursor-nwse-resize z-10"}),
82
+ /* @__PURE__ */de("div",{onPointerDown:e=>Wr(e,"n"),className:"absolute top-0 left-3 right-3 h-1 cursor-ns-resize"}),
83
+ /* @__PURE__ */de("div",{onPointerDown:e=>Wr(e,"s"),className:"absolute bottom-0 left-3 right-3 h-1 cursor-ns-resize"}),
84
+ /* @__PURE__ */de("div",{onPointerDown:e=>Wr(e,"e"),className:"absolute top-3 bottom-3 right-0 w-1 cursor-ew-resize"}),
85
+ /* @__PURE__ */de("div",{onPointerDown:e=>Wr(e,"w"),className:"absolute top-3 bottom-3 left-0 w-1 cursor-ew-resize"})]}),Qt&&/* @__PURE__ */de("div",{className:"absolute inset-0",style:{zIndex:F.hint,cursor:"pointer",background:"transparent"},onMouseEnter:()=>nn(!0),onMouseLeave:()=>nn(!1),onMouseDown:e=>{e.stopPropagation(),e.preventDefault(),or(jt),Rr(!1)},onClick:e=>{e.stopPropagation(),e.preventDefault()},children:tn&&/* @__PURE__ */de("button",{type:"button","data-expose-close":!0,"aria-label":Ie.taskbar.closeWindow,title:"Close",className:"absolute flex items-center justify-center rounded-full bg-black/55 text-on-accent shadow-lg ring-1 ring-white/40 transition-colors hover:bg-red-500",style:{top:8,right:8,width:30,height:30,transform:`scale(${1/Qr})`,transformOrigin:"top right",zIndex:F.raised},onMouseDown:e=>{e.stopPropagation(),e.preventDefault()},onClick:e=>{e.stopPropagation(),e.preventDefault(),xr()},children:/* @__PURE__ */de(O,{name:"close",className:"h-4 w-4",strokeWidth:2.2})})})]}),Qt&&Zr&&/* @__PURE__ */de("div",{className:"fixed pointer-events-none select-none truncate text-center",style:{left:Zr.x,top:Zr.y+Zr.h+4,width:Zr.w,zIndex:F.expose+(tn?21:11),color:"white",fontSize:"var(--text-xs)",fontWeight:500,textShadow:"0 1px 2px rgba(0,0,0,0.6)"},children:un(De)})]}),ro=Ye&&/* @__PURE__ */ue(I,{style:{left:Ye.x,top:Ye.y},onClose:()=>Xe(null),minWidth:160,children:[!B&&!Y&&!Ln&&/* @__PURE__ */ue(he,{children:[
86
+ /* @__PURE__ */ue(R,{onClick:()=>{ir(jt),Xe(null)},children:[
87
+ /* @__PURE__ */de(O,{name:"remove",className:"h-4 w-4",strokeWidth:1.5}),Re.minimize]}),!Tn&&/* @__PURE__ */ue(R,jn?{onClick:()=>{Un(!1),kn(wn()),Xe(null)},children:[
88
+ /* @__PURE__ */de(O,{name:"collapse",className:"h-4 w-4",strokeWidth:1.5}),Re.windowed]}:{onClick:()=>{Hr(),Xe(null)},children:[
89
+ /* @__PURE__ */de(O,{name:"expand",className:"h-4 w-4",strokeWidth:1.5}),Re.maximize]})]}),j&&!Ln&&/* @__PURE__ */ue(R,{onClick:()=>{Ue(e=>!e),Xe(null)},children:[
90
+ /* @__PURE__ */de(O,{name:"bookmark-square",className:"h-4 w-4 "+(He?"text-blue-600":""),fill:He?"currentColor":"none",strokeWidth:1.5}),He?Re.unpin:Re.pinOnTop]}),Ve&&/* @__PURE__ */ue(R,{onClick:()=>{Xe(null),tt()},children:[
91
+ /* @__PURE__ */de(O,{name:"star",className:"h-4 w-4",fill:et?"currentColor":"none",strokeWidth:1.5}),et?Ie.taskbar.removeFromDesktop:Ie.taskbar.addToDesktop]}),(mn[jt]||[]).length>0&&/* @__PURE__ */de(he,{children:(mn[jt]||[]).map((e,t)=>/* @__PURE__ */ue(R,{onClick:()=>{Xe(null),e.onClick()},children:[e.icon,e.label]},t))}),!(Ln&&Je?.home)&&/* @__PURE__ */ue(he,{children:[
92
+ /* @__PURE__ */de(W,{}),
93
+ /* @__PURE__ */ue(R,{danger:!0,onClick:()=>{Xe(null),xr()},children:[
94
+ /* @__PURE__ */de(O,{name:"close",className:"h-4 w-4"}),Re.close]})]})]}),oo=!!fe&&Ot.some(e=>e.id===fe),io=!Yt||oo||B?null:/* @__PURE__ */ue("div",{"data-modal-restore-tab":!0,"data-modal-id":jt,className:"fixed left-1/2 z-(--z-restore-tab) flex -translate-x-1/2 items-center gap-1 rounded-lg border border-line-strong bg-surface px-2 py-1 shadow-lg",style:{bottom:"calc(var(--taskbar-height, 0px) + 12px)"},children:[
95
+ /* @__PURE__ */de("button",{type:"button",onClick:()=>or(jt),title:Re.restore,className:"max-w-[16rem] truncate rounded px-2 py-0.5 text-sm font-medium text-gray-700 hover:bg-gray-100 hover:text-gray-900",children:We||Re.windowSuffix}),
96
+ /* @__PURE__ */de("button",{type:"button",onClick:()=>or(jt),title:Re.restore,"aria-label":Re.restore,className:"rounded px-2 py-0.5 text-xs leading-none text-ink-faintest hover:bg-gray-100 hover:text-gray-600",children:"▴"}),
97
+ /* @__PURE__ */de("button",{type:"button",onClick:()=>{xr()},title:Re.close,"aria-label":Re.close,className:"rounded px-2 py-0.5 text-xs leading-none text-ink-faintest hover:bg-gray-100 hover:text-gray-600",children:"✕"})]});return me(
98
+ /* @__PURE__ */ue(an.Provider,{value:null,children:[no,ro,io]}),document.body)}"undefined"!=typeof window&&window.addEventListener("keydown",e=>{Ar&&"Escape"===e.key&&(Xr(null),Rr(!1))});var Zr=100,Qr={past:[],future:[]};function eo(e,t){switch(t.type){case"record":{const n=e.past[e.past.length-1];if(null!==t.step.coalesceKey&&n?.coalesceKey===t.step.coalesceKey)return 0===e.future.length?e:{...e,future:[]};const r=[...e.past,t.step];return{past:r.length>Zr?r.slice(r.length-Zr):r,future:[]}}case"undo":return 0===e.past.length?e:{past:e.past.slice(0,-1),future:[t.redoStep,...e.future]};case"redo":return 0===e.future.length?e:{past:[...e.past,t.undoStep],future:e.future.slice(1)};case"clear":return 0===e.past.length&&0===e.future.length?e:Qr}}var to=/* @__PURE__ */new Set(["INPUT","TEXTAREA","SELECT"]);var no=500,ro=250;function oo({children:e,canEdit:t=!0,perms:n,windowId:r}){const[o,i]=le(eo,Qr),a=_(/* @__PURE__ */new Map),[s,l]=Q(0),c=s>0,[u,d]=Q(0),[h,m]=Q(0),p=h>0,{hasAnyPerm:f}=L(),w=t&&0===u&&(!(n&&n.length>0)||f(n)),y=_(null),g=_(!1),v=te(()=>{const e={};for(const[t,n]of a.current)e[t]=n.getLast();return e},[]),b=te((e,t)=>{a.current.has(e)||l(e=>e+1),a.current.set(e,t)},[]),x=te(e=>{a.current.delete(e)&&l(e=>e-1)},[]),k=te(e=>{d(t=>t+(e?1:-1))},[]),E=te(e=>{m(t=>t+(e?1:-1))},[]),[M,N]=Q(0),S=M>0,T=te(e=>{N(t=>t+(e?1:-1))},[]),z=V($e),A=z?.claimReadOnly;Z(()=>{if(A&&!w)return A(!0),()=>A(!1)},[A,w]);const D=z?.claimOwnMount;Z(()=>{if(D&&S)return D(!0),()=>D(!1)},[D,S]);const P=_({last:0,count:0,tripped:!1}),I=_(!1),R=te((e,t,n)=>{if(g.current)return void(n&&function(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||"object"!=typeof t||null===e||null===t)return!1;if(Array.isArray(e)!==Array.isArray(t))return!1;try{return JSON.stringify(e)===JSON.stringify(t)}catch{return!1}}(n.prev,n.next)||(I.current=!0));if(!w||y.current)return;const r=P.current;if(r.tripped)return;const o=Date.now();if(o-r.last>ro&&(r.count=0),r.last=o,++r.count>no)return r.tripped=!0,void console.error(`[efficient-shell] UndoProvider: "${e}" recorded ${no} undo steps with no pause between them, which no user action can do. The value passed to useUndoable for this slice is almost certainly rebuilt on every render (a .map/.filter/object literal in the call) rather than held in state, so it reads as changed every time — and since recording a step re-renders the form, that is a loop. Undo recording is now off for this form to keep the tab responsive.`);y.current={values:v(),label:e,coalesceKey:t},queueMicrotask(()=>{const e=y.current;y.current=null,e&&i({type:"record",step:e})})},[w,v]),W=te(e=>{for(const[t,n]of Object.entries(e)){const e=a.current.get(t);e&&(e.setLast(n),e.apply(n))}},[]),K=te(()=>{const e=o.past[o.past.length-1];if(!e)return;const t={values:v(),label:e.label,coalesceKey:null};W(e.values),i({type:"undo",redoStep:t})},[o.past,v,W]),$=te(()=>{const e=o.future[0];if(!e)return;const t={values:v(),label:e.label,coalesceKey:null};W(e.values),i({type:"redo",undoStep:t})},[o.future,v,W]),[O,j]=Q(0),F=_(0),q=_(0),B=_(!1),H=te(()=>{g.current=!0,I.current=!1,y.current=null,F.current+=1,q.current=F.current,j(F.current)},[]),U=_(void 0),Y=te(e=>{void 0!==e&&(void 0!==U.current&&e!==U.current&&(B.current=!0),U.current=e),H()},[H]);Z(()=>{g.current&&O===q.current&&(g.current=!1,y.current=null,(I.current||B.current)&&i({type:"clear"}),I.current=!1,B.current=!1)},[O]);const X=te(()=>{B.current=!0,i({type:"clear"}),H()},[H]),J=w&&o.past.length>0,G=w&&o.future.length>0,ee=zr(r),ne=_({undo:K,redo:$,canUndo:J,canRedo:G});ne.current={undo:K,redo:$,canUndo:J,canRedo:G},Z(()=>{if(!ee||!w)return;const e=e=>{const t=function(e){if(!e.metaKey&&!e.ctrlKey||e.altKey)return null;const t=e.key.toLowerCase(),n="z"===t?e.shiftKey?"redo":"undo":"y"!==t||!e.ctrlKey||e.metaKey||e.shiftKey?null:"redo";if(!n)return null;const r=e.target;return r?.isContentEditable||r?.tagName&&to.has(r.tagName.toUpperCase())?null:n}(e);if(!t)return;const n=ne.current;("undo"===t?n.canUndo:n.canRedo)&&(e.preventDefault(),"undo"===t?n.undo():n.redo())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[ee,w]);const re=ae(()=>({register:b,unregister:x,record:R,undo:K,redo:$,clear:X,baseline:Y,canUndo:J,canRedo:G,enabled:w,hasState:c,handMounted:S,claimOwnMount:T,claimReadOnly:k,declaredEditable:p,claimEditable:E,undoLabel:J?o.past[o.past.length-1].label:null,redoLabel:G?o.future[0].label:null}),[b,x,R,K,$,X,Y,J,G,w,c,S,T,k,p,E,o.past,o.future]),oe=""!==yn(),ie=V(C)?.footerOpen??!1,se=oe&&w&&c&&!S&&ie;/* @__PURE__ */
99
+ return ue($e.Provider,{value:re,children:[se&&/* @__PURE__ */de(gn,{position:"left",quiet:!0,children:/* @__PURE__ */de(je,{auto:!0})}),e]})}function io(){const e=V($e),t=te(()=>{},[]);return{undo:e?.undo??t,redo:e?.redo??t,clear:e?.clear??t,baseline:e?.baseline??t,canUndo:e?.canUndo??!1,canRedo:e?.canRedo??!1,undoLabel:e?.undoLabel??null,redoLabel:e?.redoLabel??null,enabled:e?.enabled??!1,hasState:e?.hasState??!1}}function ao(e){const t=V($e),n=t?.claimReadOnly,r=t?.claimEditable;Z(()=>{const t=e?r:n;if(t)return t(!0),()=>t(!1)},[n,r,e])}function so(e,t,n){const r=V($e),o=se(),i=_(e),a=_(t);a.current=t,Z(()=>{if(r)return r.register(o,{getLast:()=>i.current,setLast:e=>{i.current=e},apply:e=>a.current(e)}),()=>r.unregister(o)},[r,o]);const{label:s,coalesceKey:l=null}=n,c=_(r);c.current=r;const u=_({label:s,coalesceKey:l});u.current={label:s,coalesceKey:l},Z(()=>{const t=c.current;t&&(Object.is(e,i.current)||(t.record(u.current.label,u.current.coalesceKey,{prev:i.current,next:e}),i.current=e))},[e])}function lo(e,t){const[n,r]=Q(e);return so(n,e=>r(()=>e),t),[n,r]}export{vn as CancelButton,Me as DesktopHostProvider,ct as DocFavStar,_e as EntityWindowFallback,Je as EntityWindowLoading,Ze as EntityWindowState,cn as MODAL_SUBMIT_SELECTOR,_r as Modal,gn as ModalActions,je as UndoControls,oo as UndoProvider,xe as WINDOW_REGISTRY,We as WindowCrashedFallback,Ke as WindowErrorBoundary,zt as WindowManagerProvider,fn as WindowTitle,ft as activateWindowById,Bt as beginWindowGesture,er as cancelWindowFront,Ee as client_default,Vr as commitExposeHighlight,Qn as confirmWindowDiscard,Ht as drainPerfEvents,Kr as exitExposeMode,An as forgetMaximizedWindowBoxes,gt as getActiveWindowRoute,Yr as getExposeHighlight,rn as getWindowChromeVersion,Tn as getWindowPosition,et as isDraftEntityId,tt as isDraftEntityWindow,ge as isEntityEntry,ye as isPageEntry,ke as isShellApiClientConfigured,Ue as isTabWindow,qt as markMenuOpen,tn as readWindowChrome,Gn as requestWindowFront,Xr as setExposeHighlight,Ft as setPerfCollecting,Ae as setShellHomeRoute,Re as setShellTabStrip,be as setShellWindowRegistry,Ln as setWindowDefaultPosition,zn as setWindowPosition,Jt as splitTitle,Ur as subscribeExposeHighlight,nn as subscribeWindowChrome,Ye as tabGroupOf,Wr as toggleExposeMode,Yn as useCurrentTabKey,Ne as useDesktopHost,yn as useEnclosingModalId,zr as useIsActiveWindow,Le as usePageSearch,io as useUndo,ao as useUndoCanEdit,so as useUndoable,lo as useUndoableState,hn as useWidgetSettings,ot as useWindowDirty,at as useWindowManager,pn as useWindowMenuItem,wn as useWindowTitle,Zn as windowHoldsChanges};
@@ -1,8 +1,8 @@
1
- import{SearchableSelect as e}from"./chunk-C57PNNAW.js";import{labelClasses as a}from"./chunk-EQKUFYX6.js";import{Select_default as l}from"./chunk-UDVQORQM.js";import{isSafeLinkHref as t}from"./chunk-Q5Z3KHT2.js";import{Input_default as r}from"./chunk-GZQD6IBV.js";import{INPUT_SIZES as n}from"./chunk-AYZY3YNC.js";import{Button_default as i}from"./chunk-UJJXWLHE.js";import{Icon as o}from"./chunk-UIWGVOFH.js";import{registerModalEscapeInterceptor as s}from"./chunk-TWVUQUUD.js";import{useShellStrings as u}from"./chunk-43MCNASD.js";import{useId as d,useRef as c,useState as p,useEffect as m}from"react";import{jsx as f,jsxs as v,Fragment as g}from"react/jsx-runtime";function h(e){return"select"===e.type?e.options:"groups"===e.type?e.groups.flatMap(e=>e.options):[]}var b="address",x={kindOf:()=>b,targetOf:e=>e,readFilter:()=>null,withFilter:e=>e},k=e=>t(e.trim());function y(t){const{value:n,kinds:o,rules:y=x,filtersFor:w,label:N,readOnly:C,placeholder:F,className:O="",tidyAddress:j,addressAddon:A}=t,$=void 0!==t.onApply,D=u().link,E=y.isSafe??k,U=d(),z=c(null),Q=c(null),[T,W]=p({url:n}),H=$?T.url:n,[K,M]=p(!1),[P,V]=p(null),[Y,B]=p(null),[L,R]=p(!1),S=c(null),Z=c(()=>{});Z.current=$?t.onCancel:()=>{},m(()=>{if($)return s(e=>{const a=z.current;return!!("Escape"===e.key&&a&&e.target instanceof Node&&a.contains(e.target))&&(Z.current(),!0)},()=>z.current)},[$]),m(()=>{if(!$)return;const e=Q.current;e?(e.focus(),e.select()):z.current?.querySelector("button, input")?.focus()},[]);const G=o??[{value:b,label:D.address,target:{type:"text"}}],I=P&&P.against===H?P.kind:y.kindOf(H),J=G.filter(e=>!e.hideWhenEmpty||h(e.target).length>0||e.value===I),X=J.find(e=>"text"===e.target.type),q=J.find(e=>e.value===I)??X??J[0];if(!q)return null;const _="text"!==q.target.type,ee=_?y.targetOf(H):H,ae=h(q.target),le=ae.find(e=>e.value===ee),te=e=>({value:e,label:D.unavailable(e)}),re="select"===q.target.type&&ee&&w?w(ee):null,ne=re?y.readFilter(H):null,ie=ne?re?.find(e=>e.param===ne.param):void 0,oe=Y&&Y.against===H?Y.text:H,se=_?H:j?j(oe.trim()).trim():oe.trim(),ue=$&&j?se:oe,de=!_&&""!==ue.trim()&&!E(ue),ce=de&&(!$||K);_&&L&&R(!1);const pe=(e,a)=>{$?W({url:e,name:a}):void 0===a?t.onChange(e):t.onChange(e,a)},me=(e,a)=>{V(a=>a?{...a,against:e}:a),pe(e,a)},fe=e=>{if(!e)return me("");const a=ae.find(a=>a.value===e);me(e,a?.label)},ve=e=>{M(!1);const a=e.trim();a?E(e)?(B({text:e,against:a}),me(a)):B({text:e,against:H}):(B({text:e,against:""}),me(""))},ge=e=>{const a=e.relatedTarget;if(a&&(a===Q.current||S.current?.contains(a)))return;if(R(!1),$||!j||C)return;const l=j(oe.trim());l.trim()!==oe.trim()&&ve(l)},he=()=>{if(!$||!se)return;if(!_&&de)return void M(!0);const e=_&&T.url===se?T.name:void 0,a=t.onApply;void 0===e?a(se):a(se,e)},be=(e,a)=>a&&!e.some(e=>e.value===a)?[te(a),...e]:[...e],xe=(a,t,r,n,i)=>{const o=[];for(const e of r){const a=o[o.length-1],l={value:e.value,label:e.label};e.group?a&&"options"in a&&a.label===e.group?a.options.push(l):o.push({label:e.group,options:[l]}):o.push(l)}if(i){const l=r.some(e=>""===e.value);/* @__PURE__ */
2
- return f(e,{"aria-label":a,value:t,options:o,disabled:C,clearable:l,placeholder:r.find(e=>""===e.value)?.label,onChange:n})}/* @__PURE__ */
3
- return f(l,{size:"sm","aria-label":a,value:t,options:o,readOnly:C,onChange:n})};let ke;if("text"===q.target.type)ke=/* @__PURE__ */f(r,{ref:Q,id:`${U}-address`,size:"sm",type:"text",invalid:ce,"aria-label":D.address,"aria-describedby":ce?`${U}-why`:void 0,placeholder:F??D.addressPlaceholder,spellCheck:!1,autoComplete:"off",value:oe,readOnly:C,onChange:e=>ve(e.target.value),onFocus:()=>R(!0),onBlur:ge,onKeyDown:j&&!$?e=>{"Enter"===e.key&&e.currentTarget.blur()}:void 0});else{const e="groups"===q.target.type?q.target.groups.flatMap(e=>e.options.map(a=>({value:a.value,label:a.label,group:e.label}))):q.target.options.map(e=>({value:e.value,label:e.label})),a=[{value:"",label:q.target.placeholder},...be(e,ee)];ke=xe(q.label,ee,a,fe,e.length>10)}const ye=/* @__PURE__ */v(g,{children:[o&&xe(D.linkType,q.value,J.map(e=>({value:e.value,label:e.label})),e=>{B(null),M(!1);const a=J.find(a=>a.value===e);if(!a||"text"===a.target.type)return void V({kind:e,against:H});const l=h(a.target)[0];V({kind:e,against:l?l.value:""}),l?pe(l.value,l.label):pe("")},!1),ke,A&&L&&!C&&"text"===q.target.type&&/* @__PURE__ */f("div",{ref:S,onBlur:ge,children:A({url:oe,onChange:ve})}),re&&xe(D.filter,ne?.param??"",[{value:"",label:D.noFilter},...ne&&!ie?[te(ne.param)]:[],...re.map(e=>({value:e.param,label:e.label}))],e=>{if(!e)return me(ee,le?.label);const a=re?.find(a=>a.param===e),l=a?.values[0];l&&me(y.withFilter(ee,{param:e,value:l.value}),l.label)},!1),re&&ne&&xe(D.value,ne.value,be((ie?.values??[]).map(e=>({value:e.value,label:e.label})),ne.value),e=>{if(!ne)return;const a=ie?.values.find(a=>a.value===e);me(y.withFilter(ee,{param:ne.param,value:e}),a?.label)},(ie?.values.length??0)>10),ce&&/* @__PURE__ */f("p",{id:`${U}-why`,role:"alert",className:"text-2xs leading-4 text-red-600",children:D.unsafe}),q.hint&&/* @__PURE__ */f("p",{className:"text-2xs leading-4 text-ink-faintest",children:q.hint}),re&&/* @__PURE__ */f("p",{className:"text-2xs leading-4 text-ink-faintest",children:D.filterHint})]});if(!$)/* @__PURE__ */
1
+ import{SearchableSelect as e}from"./chunk-C57PNNAW.js";import{Select_default as a}from"./chunk-UDVQORQM.js";import{labelClasses as l}from"./chunk-EQKUFYX6.js";import{isSafeLinkHref as t}from"./chunk-Q5Z3KHT2.js";import{Input_default as r}from"./chunk-GZQD6IBV.js";import{INPUT_SIZES as n}from"./chunk-AYZY3YNC.js";import{Button_default as i}from"./chunk-UJJXWLHE.js";import{Icon as o}from"./chunk-UIWGVOFH.js";import{registerModalEscapeInterceptor as s}from"./chunk-TWVUQUUD.js";import{useShellStrings as u}from"./chunk-43MCNASD.js";import{useId as d,useRef as c,useState as p,useEffect as m}from"react";import{jsx as f,jsxs as v,Fragment as g}from"react/jsx-runtime";function h(e){return"select"===e.type?e.options:"groups"===e.type?e.groups.flatMap(e=>e.options):[]}var b="address",x={kindOf:()=>b,targetOf:e=>e,readFilter:()=>null,withFilter:e=>e},k=e=>t(e.trim());function y(t){const{value:n,kinds:o,rules:y=x,filtersFor:w,label:N,readOnly:C,placeholder:F,className:O="",tidyAddress:j,addressAddon:A}=t,$=void 0!==t.onApply,D=u().link,E=y.isSafe??k,U=d(),z=c(null),Q=c(null),[T,W]=p({url:n}),H=$?T.url:n,[K,M]=p(!1),[P,V]=p(null),[Y,B]=p(null),[L,R]=p(!1),S=c(null),Z=c(()=>{});Z.current=$?t.onCancel:()=>{},m(()=>{if($)return s(e=>{const a=z.current;return!!("Escape"===e.key&&a&&e.target instanceof Node&&a.contains(e.target))&&(Z.current(),!0)},()=>z.current)},[$]),m(()=>{if(!$)return;const e=Q.current;e?(e.focus(),e.select()):z.current?.querySelector("button, input")?.focus()},[]);const G=o??[{value:b,label:D.address,target:{type:"text"}}],I=P&&P.against===H?P.kind:y.kindOf(H),J=G.filter(e=>!e.hideWhenEmpty||h(e.target).length>0||e.value===I),X=J.find(e=>"text"===e.target.type),q=J.find(e=>e.value===I)??X??J[0];if(!q)return null;const _="text"!==q.target.type,ee=_?y.targetOf(H):H,ae=h(q.target),le=ae.find(e=>e.value===ee),te=e=>({value:e,label:D.unavailable(e)}),re="select"===q.target.type&&ee&&w?w(ee):null,ne=re?y.readFilter(H):null,ie=ne?re?.find(e=>e.param===ne.param):void 0,oe=Y&&Y.against===H?Y.text:H,se=_?H:j?j(oe.trim()).trim():oe.trim(),ue=$&&j?se:oe,de=!_&&""!==ue.trim()&&!E(ue),ce=de&&(!$||K);_&&L&&R(!1);const pe=(e,a)=>{$?W({url:e,name:a}):void 0===a?t.onChange(e):t.onChange(e,a)},me=(e,a)=>{V(a=>a?{...a,against:e}:a),pe(e,a)},fe=e=>{if(!e)return me("");const a=ae.find(a=>a.value===e);me(e,a?.label)},ve=e=>{M(!1);const a=e.trim();a?E(e)?(B({text:e,against:a}),me(a)):B({text:e,against:H}):(B({text:e,against:""}),me(""))},ge=e=>{const a=e.relatedTarget;if(a&&(a===Q.current||S.current?.contains(a)))return;if(R(!1),$||!j||C)return;const l=j(oe.trim());l.trim()!==oe.trim()&&ve(l)},he=()=>{if(!$||!se)return;if(!_&&de)return void M(!0);const e=_&&T.url===se?T.name:void 0,a=t.onApply;void 0===e?a(se):a(se,e)},be=(e,a)=>a&&!e.some(e=>e.value===a)?[te(a),...e]:[...e],xe=(l,t,r,n,i)=>{const o=[];for(const e of r){const a=o[o.length-1],l={value:e.value,label:e.label};e.group?a&&"options"in a&&a.label===e.group?a.options.push(l):o.push({label:e.group,options:[l]}):o.push(l)}if(i){const a=r.some(e=>""===e.value);/* @__PURE__ */
2
+ return f(e,{"aria-label":l,value:t,options:o,disabled:C,clearable:a,placeholder:r.find(e=>""===e.value)?.label,onChange:n})}/* @__PURE__ */
3
+ return f(a,{size:"sm","aria-label":l,value:t,options:o,readOnly:C,onChange:n})};let ke;if("text"===q.target.type)ke=/* @__PURE__ */f(r,{ref:Q,id:`${U}-address`,size:"sm",type:"text",invalid:ce,"aria-label":D.address,"aria-describedby":ce?`${U}-why`:void 0,placeholder:F??D.addressPlaceholder,spellCheck:!1,autoComplete:"off",value:oe,readOnly:C,onChange:e=>ve(e.target.value),onFocus:()=>R(!0),onBlur:ge,onKeyDown:j&&!$?e=>{"Enter"===e.key&&e.currentTarget.blur()}:void 0});else{const e="groups"===q.target.type?q.target.groups.flatMap(e=>e.options.map(a=>({value:a.value,label:a.label,group:e.label}))):q.target.options.map(e=>({value:e.value,label:e.label})),a=[{value:"",label:q.target.placeholder},...be(e,ee)];ke=xe(q.label,ee,a,fe,e.length>10)}const ye=/* @__PURE__ */v(g,{children:[o&&xe(D.linkType,q.value,J.map(e=>({value:e.value,label:e.label})),e=>{B(null),M(!1);const a=J.find(a=>a.value===e);if(!a||"text"===a.target.type)return void V({kind:e,against:H});const l=h(a.target)[0];V({kind:e,against:l?l.value:""}),l?pe(l.value,l.label):pe("")},!1),ke,A&&L&&!C&&"text"===q.target.type&&/* @__PURE__ */f("div",{ref:S,onBlur:ge,children:A({url:oe,onChange:ve})}),re&&xe(D.filter,ne?.param??"",[{value:"",label:D.noFilter},...ne&&!ie?[te(ne.param)]:[],...re.map(e=>({value:e.param,label:e.label}))],e=>{if(!e)return me(ee,le?.label);const a=re?.find(a=>a.param===e),l=a?.values[0];l&&me(y.withFilter(ee,{param:e,value:l.value}),l.label)},!1),re&&ne&&xe(D.value,ne.value,be((ie?.values??[]).map(e=>({value:e.value,label:e.label})),ne.value),e=>{if(!ne)return;const a=ie?.values.find(a=>a.value===e);me(y.withFilter(ee,{param:ne.param,value:e}),a?.label)},(ie?.values.length??0)>10),ce&&/* @__PURE__ */f("p",{id:`${U}-why`,role:"alert",className:"text-2xs leading-4 text-red-600",children:D.unsafe}),q.hint&&/* @__PURE__ */f("p",{className:"text-2xs leading-4 text-ink-faintest",children:q.hint}),re&&/* @__PURE__ */f("p",{className:"text-2xs leading-4 text-ink-faintest",children:D.filterHint})]});if(!$)/* @__PURE__ */
4
4
  return f("div",{ref:z,className:`flex min-w-0 flex-auto flex-col gap-2 ${O}`.trim(),role:N?"group":void 0,"aria-label":N,children:ye});const we=t.onRemove;/* @__PURE__ */
5
- return v("div",{ref:z,role:"dialog","aria-label":N??D.title,className:`flex min-w-0 flex-col gap-2 rounded-xl border border-line bg-surface p-3 shadow-lg ${O}`.trim(),onKeyDown:e=>{"Enter"!==e.key||e.defaultPrevented||e.target instanceof Element&&e.target.closest("button")||(e.preventDefault(),he())},children:[_?/* @__PURE__ */f("span",{className:a({inline:!0}),children:D.title}):/* @__PURE__ */f("label",{htmlFor:`${U}-address`,className:a({inline:!0}),children:D.title}),ye,
5
+ return v("div",{ref:z,role:"dialog","aria-label":N??D.title,className:`flex min-w-0 flex-col gap-2 rounded-xl border border-line bg-surface p-3 shadow-lg ${O}`.trim(),onKeyDown:e=>{"Enter"!==e.key||e.defaultPrevented||e.target instanceof Element&&e.target.closest("button")||(e.preventDefault(),he())},children:[_?/* @__PURE__ */f("span",{className:l({inline:!0}),children:D.title}):/* @__PURE__ */f("label",{htmlFor:`${U}-address`,className:l({inline:!0}),children:D.title}),ye,
6
6
  /* @__PURE__ */v("div",{className:"flex items-center justify-between gap-2",children:[we?/* @__PURE__ */f(i,{variant:"ghost-danger",size:"sm","data-window-action":"remove",onClick:we,children:D.remove}):null,
7
7
  /* @__PURE__ */v("span",{className:"ml-auto flex gap-1",children:[
8
8
  /* @__PURE__ */f(i,{variant:"secondary",size:"sm","data-window-action":"cancel",onClick:()=>Z.current(),children:D.cancel}),
@@ -1,9 +1,9 @@
1
- import{useOverlayTarget as e,usePopupAnchor as r,OverlayLayerProvider as t}from"./chunk-3DVNXNTF.js";import{useDiscardGuard as i}from"./chunk-2762IAB7.js";import{dialogA11y as o}from"./chunk-VWGWZY7A.js";import{useDismissPopupsOnOpen as l}from"./chunk-7QSDPSXP.js";import{useFocusTrap as n,useScrollLock as a}from"./chunk-CDAJKLGL.js";import{Icon as s}from"./chunk-UIWGVOFH.js";import{Z_LAYERS as d}from"./chunk-62LW225J.js";import{useHydrated as c}from"./chunk-D65T4H6J.js";import{registerModalEscapeInterceptor as m}from"./chunk-TWVUQUUD.js";import{useShellStrings as h}from"./chunk-43MCNASD.js";import{useRef as f,useId as u,useState as p,useEffect as b}from"react";import{createPortal as g}from"react-dom";import{jsxs as x,Fragment as y,jsx as v}from"react/jsx-runtime";var w={sm:"sm:w-[320px]",md:"sm:w-[448px]",lg:"sm:w-[640px]"},k={right:"inset-y-0 right-0",left:"inset-y-0 left-0",bottom:"inset-x-0 bottom-0"};function N(e,r){const t=window.innerHeight-(r.top+r.height);if("bottom"===e)return{left:r.left,width:r.width,bottom:t};const i={top:r.top,height:r.height};return"left"===e?{...i,left:r.left}:{...i,right:window.innerWidth-(r.left+r.width)}}function j({onClose:e}){const r=h().dialog;/* @__PURE__ */
2
- return v("button",{type:"button",onClick:e,"aria-label":r.close,className:"rounded-(--radius-control) p-1 text-gray-400 hover:bg-gray-100 hover:text-gray-600 rosh-focus-ring focus-visible:ring-2 focus-visible:ring-[color:var(--rosh-focus-ring-solid)]",children:/* @__PURE__ */v(s,{name:"close",className:"h-5 w-5",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true"})})}function C({open:s,onClose:h,side:C="right",size:W="md",title:D,description:A,footer:H,children:I,blocking:L=!1,dirty:U=!1,initialFocus:V,"aria-label":z,"aria-labelledby":B,"aria-describedby":F,className:G=""}){const J=f(null),S=u(),T=u(),P=u(),Q=e(c()),[X,K]=p(null),M=i({open:s,dirty:U,onClose:h,title:D,layer:X}),O=f(null),Y=r(s&&null!==Q,O);if(l(s),n(J,s&&null!==Q,V),a(s),b(()=>{if(s)return m(()=>(L||M(),!0),()=>J.current)},[s,L,M]),!s||!Q)return null;const Z="bottom"===C,$={...Z?{maxHeight:"85vh"}:{},...Y?N(C,Y):{}};/* @__PURE__ */
3
- return x(y,{children:[/* @__PURE__ */v("span",{ref:O,hidden:!0,"data-popup-anchor":""}),g(
4
- /* @__PURE__ */v(t,{value:X,children:/* @__PURE__ */x("div",{ref:K,className:"fixed inset-0",style:{zIndex:d.overlay},role:"presentation","data-overlay-layer":"",children:[
5
- /* @__PURE__ */v("div",{className:"fixed inset-0 bg-black/30",onClick:L?void 0:M,"aria-hidden":"true"}),
6
- /* @__PURE__ */x("div",{ref:J,...o({modal:!0,titleId:D?P:void 0,labelledBy:B,label:z}),"aria-describedby":F??(A?T:I?S:void 0),"data-drawer-side":C,"data-popup-panel":"",style:$,className:["fixed flex flex-col bg-white shadow-xl",Z?"":`w-full max-w-full ${w[W]}`,Y?"":k[C],Z?"rounded-t-xl":"",G].filter(Boolean).join(" "),children:[D?/* @__PURE__ */x("div",{className:"flex shrink-0 items-center justify-between gap-4 border-b border-gray-100 px-4 py-3",children:[
1
+ import{useOverlayTarget as e,usePopupAnchor as r,OverlayLayerProvider as t}from"./chunk-3DVNXNTF.js";import{useDiscardGuard as i}from"./chunk-7B5KFESH.js";import{dialogA11y as o}from"./chunk-VWGWZY7A.js";import{useDismissPopupsOnOpen as l}from"./chunk-7QSDPSXP.js";import{useFocusTrap as n,useScrollLock as a}from"./chunk-CDAJKLGL.js";import{Icon as s}from"./chunk-UIWGVOFH.js";import{Z_LAYERS as d}from"./chunk-62LW225J.js";import{useHydrated as c}from"./chunk-D65T4H6J.js";import{registerModalEscapeInterceptor as m}from"./chunk-TWVUQUUD.js";import{useShellStrings as h}from"./chunk-43MCNASD.js";import{useRef as f,useId as u,useState as p,useEffect as b}from"react";import{createPortal as g}from"react-dom";import{jsxs as x,Fragment as y,jsx as v}from"react/jsx-runtime";var k={sm:"sm:w-[320px]",md:"sm:w-[448px]",lg:"sm:w-[640px]"},w={right:"inset-y-0 right-0",left:"inset-y-0 left-0",bottom:"inset-x-0 bottom-0"};function N(e,r){const t=window.innerHeight-(r.top+r.height);if("bottom"===e)return{left:r.left,width:r.width,bottom:t};const i={top:r.top,height:r.height};return"left"===e?{...i,left:r.left}:{...i,right:window.innerWidth-(r.left+r.width)}}function j({onClose:e}){const r=h().dialog;/* @__PURE__ */
2
+ return v("button",{type:"button",onClick:e,"aria-label":r.close,className:"rounded-(--radius-control) p-1 text-gray-400 hover:bg-gray-100 hover:text-gray-600 rosh-focus-ring focus-visible:ring-2 focus-visible:ring-[color:var(--rosh-focus-ring-solid)]",children:/* @__PURE__ */v(s,{name:"close",className:"h-5 w-5",strokeWidth:"2",strokeLinecap:"round","aria-hidden":"true"})})}function C({open:s,onClose:h,side:C="right",size:W="md",title:D,description:H,footer:F,children:L,blocking:S=!1,dirty:U=!1,initialFocus:V,"aria-label":z,"aria-labelledby":A,"aria-describedby":B,className:G=""}){const I=f(null),J=u(),T=u(),K=u(),P=e(c()),[Q,X]=p(null),E=i({open:s,dirty:U,onClose:h,title:D,layer:Q}),M=f(null),O=r(s&&null!==P,M);if(l(s),n(I,s&&null!==P,V),a(s),b(()=>{if(s)return m(()=>(S||E(),!0),()=>I.current)},[s,S,E]),!s||!P)return null;const Y="bottom"===C,Z={...Y?{maxHeight:"85vh"}:{},...O?N(C,O):{}};/* @__PURE__ */
3
+ return x(y,{children:[/* @__PURE__ */v("span",{ref:M,hidden:!0,"data-popup-anchor":""}),g(
4
+ /* @__PURE__ */v(t,{value:Q,children:/* @__PURE__ */x("div",{ref:X,className:"fixed inset-0",style:{zIndex:d.overlay},role:"presentation","data-overlay-layer":"",children:[
5
+ /* @__PURE__ */v("div",{className:"fixed inset-0 bg-black/30 backdrop-blur-sm",onClick:S?void 0:E,"aria-hidden":"true"}),
6
+ /* @__PURE__ */x("div",{ref:I,...o({modal:!0,titleId:D?K:void 0,labelledBy:A,label:z}),"aria-describedby":B??(H?T:L?J:void 0),"data-drawer-side":C,"data-popup-panel":"",style:Z,className:["fixed flex flex-col bg-white shadow-xl",Y?"":`w-full max-w-full ${k[W]}`,O?"":w[C],Y?"rounded-t-xl":"",G].filter(Boolean).join(" "),children:[D?/* @__PURE__ */x("div",{className:"flex shrink-0 items-center justify-between gap-4 border-b border-gray-100 px-4 py-3",children:[
7
7
  /* @__PURE__ */x("div",{className:"min-w-0",children:[
8
- /* @__PURE__ */v("h2",{id:P,className:"text-base font-semibold text-gray-900",children:D}),A&&/* @__PURE__ */v("p",{id:T,className:"mt-0.5 text-sm text-gray-500",children:A})]}),!L&&/* @__PURE__ */v(j,{onClose:M})]}):!L&&/* @__PURE__ */v("div",{className:"absolute right-2 top-2 z-10",children:/* @__PURE__ */v(j,{onClose:M})}),
9
- /* @__PURE__ */x("div",{id:S,className:"min-h-0 flex-1 overflow-y-auto px-4 py-4",children:[A&&!D&&/* @__PURE__ */v("p",{id:T,className:("mb-3 text-sm text-gray-500 "+(L?"":"pr-8")).trim(),children:A}),I]}),H&&/* @__PURE__ */v("div",{className:"flex shrink-0 justify-end gap-3 border-t border-gray-100 px-4 py-3",children:H})]})]})}),Q)]})}export{C as Drawer};
8
+ /* @__PURE__ */v("h2",{id:K,className:"text-base font-semibold text-gray-900",children:D}),H&&/* @__PURE__ */v("p",{id:T,className:"mt-0.5 text-sm text-gray-500",children:H})]}),!S&&/* @__PURE__ */v(j,{onClose:E})]}):!S&&/* @__PURE__ */v("div",{className:"absolute right-2 top-2 z-10",children:/* @__PURE__ */v(j,{onClose:E})}),
9
+ /* @__PURE__ */x("div",{id:J,className:"min-h-0 flex-1 overflow-y-auto px-4 py-4",children:[H&&!D&&/* @__PURE__ */v("p",{id:T,className:("mb-3 text-sm text-gray-500 "+(S?"":"pr-8")).trim(),children:H}),L]}),F&&/* @__PURE__ */v("div",{className:"flex shrink-0 justify-end gap-3 border-t border-gray-100 px-4 py-3",children:F})]})]})}),P)]})}export{C as Drawer};
@@ -1,9 +1,9 @@
1
- import{CountBadge as e}from"./chunk-LTESFDTF.js";import{isShown as i}from"./chunk-HCP7WOAL.js";import{SettingRowNameContext as n,SettingAutoContext as a}from"./chunk-2NMW66P5.js";import{useShellStrings as t}from"./chunk-43MCNASD.js";import{isValidElement as l}from"react";import{jsx as s,jsxs as r,Fragment as d}from"react/jsx-runtime";var c={pad:"p-4",gap:"gap-4",text:"text-sm",bodyTop:"mt-4",bodyPad:"pt-3"},m=e=>Array.isArray(e)?e.some(m):l(e);function o({label:l,icon:o,action:h,value:u,readout:f,changed:p=!1,description:x,children:N,controlId:v,labelId:g,unknownText:b="—",quiet:y=!1,size:k="default",viewState:w,divider:$=!0,showWhen:j,values:P,context:T,className:A=""}){const F=t();if(!i(j,P,T))return null;const S="auto"===w?/* @__PURE__ */s("span",{"data-setting-auto":"","aria-hidden":"true",className:"shrink-0 rounded-sm border border-line px-1 text-2xs font-normal leading-4 text-ink-faint",children:F.settingView.auto}):"edited"===w?/* @__PURE__ */r("span",{"data-setting-edited":"",className:"inline-flex shrink-0 items-center",children:[
1
+ import{CountBadge as e}from"./chunk-LTESFDTF.js";import{SettingRowNameContext as i,SettingAutoContext as n}from"./chunk-2NMW66P5.js";import{isShown as a}from"./chunk-HCP7WOAL.js";import{useShellStrings as t}from"./chunk-43MCNASD.js";import{isValidElement as l}from"react";import{jsx as s,jsxs as r,Fragment as d}from"react/jsx-runtime";var c={pad:"p-4",gap:"gap-4",text:"text-sm",bodyTop:"mt-4",bodyPad:"pt-3"},m=e=>Array.isArray(e)?e.some(m):l(e);function o({label:l,icon:o,action:h,value:u,readout:f,changed:p=!1,description:x,children:N,controlId:v,labelId:g,unknownText:b="—",quiet:y=!1,size:k="default",viewState:w,divider:$=!0,showWhen:j,values:P,context:T,className:A=""}){const F=t();if(!a(j,P,T))return null;const S="auto"===w?/* @__PURE__ */s("span",{"data-setting-auto":"","aria-hidden":"true",className:"shrink-0 rounded-sm border border-line px-1 text-2xs font-normal leading-4 text-ink-faint",children:F.settingView.auto}):"edited"===w?/* @__PURE__ */r("span",{"data-setting-edited":"",className:"inline-flex shrink-0 items-center",children:[
2
2
  /* @__PURE__ */s("span",{"aria-hidden":"true",className:"inline-flex",children:/* @__PURE__ */s(e,{dot:!0,tone:"accent"})}),
3
- /* @__PURE__ */s("span",{className:"sr-only",children:F.settingView.edited})]}):null,W=null!=f&&!1!==f;if("compact"===k){const e=m(u),i=m(h);if(!e&&!i)return null;const t=g,c=["es-field"];e||c.push("is-inline"),p&&c.push("is-changed"),A&&c.push(A);const b=/* @__PURE__ */r(d,{children:[null!=o&&/* @__PURE__ */s("span",{className:"es-field-icon","aria-hidden":"true",children:o}),
4
- /* @__PURE__ */s("span",{className:"es-field-label",id:t,children:l}),S]}),y=e=>/* @__PURE__ */s(n.Provider,{value:t,children:/* @__PURE__ */s(a.Provider,{value:"auto"===w,children:e})});/* @__PURE__ */
3
+ /* @__PURE__ */s("span",{className:"sr-only",children:F.settingView.edited})]}):null,W=null!=f&&!1!==f;if("compact"===k){const e=m(u),a=m(h);if(!e&&!a)return null;const t=g,c=["es-field"];e||c.push("is-inline"),p&&c.push("is-changed"),A&&c.push(A);const b=/* @__PURE__ */r(d,{children:[null!=o&&/* @__PURE__ */s("span",{className:"es-field-icon","aria-hidden":"true",children:o}),
4
+ /* @__PURE__ */s("span",{className:"es-field-label",id:t,children:l}),S]}),y=e=>/* @__PURE__ */s(i.Provider,{value:t,children:/* @__PURE__ */s(n.Provider,{value:"auto"===w,children:e})});/* @__PURE__ */
5
5
  return r("div",{className:c.join(" "),children:[
6
- /* @__PURE__ */r("div",{className:"es-field-head",children:[v?/* @__PURE__ */s("label",{className:"es-field-name",htmlFor:v,children:b}):/* @__PURE__ */s("span",{className:"es-field-name",children:b}),W&&/* @__PURE__ */s("span",{className:"es-field-value",children:f}),i&&y(h)]}),e&&/* @__PURE__ */s("div",{className:"es-field-ctl",children:y(u)}),x?/* @__PURE__ */s("p",{className:"es-field-hint",children:x}):null,N]})}const C=c,D=void 0!==u||void 0===N&&null==h,I=null==u||""===u,L=y?"text-gray-500":"text-gray-800",M=I?"text-gray-400":y?"text-gray-500":"text-gray-900",V=`${C.text} font-medium ${L}`,q=v?/* @__PURE__ */s("label",{htmlFor:v,id:g,className:V,children:l}):/* @__PURE__ */s("span",{id:g,className:V,children:l}),z=/* @__PURE__ */s(n.Provider,{value:g,children:/* @__PURE__ */s(a.Provider,{value:"auto"===w,children:I?b:u})}),B=[$?"border-t border-line-subtle first:border-t-0":"",C.pad,A].filter(Boolean).join(" "),E=null!=N&&!1!==N&&/* @__PURE__ */s("div",{className:`${C.bodyTop} border-t border-line-subtle ${C.bodyPad}`,children:N});/* @__PURE__ */
6
+ /* @__PURE__ */r("div",{className:"es-field-head",children:[v?/* @__PURE__ */s("label",{className:"es-field-name",htmlFor:v,children:b}):/* @__PURE__ */s("span",{className:"es-field-name",children:b}),W&&/* @__PURE__ */s("span",{className:"es-field-value",children:f}),a&&y(h)]}),e&&/* @__PURE__ */s("div",{className:"es-field-ctl",children:y(u)}),x?/* @__PURE__ */s("p",{className:"es-field-hint",children:x}):null,N]})}const C=c,D=void 0!==u||void 0===N&&null==h,I=null==u||""===u,L=y?"text-gray-500":"text-gray-800",M=I?"text-gray-400":y?"text-gray-500":"text-gray-900",V=`${C.text} font-medium ${L}`,q=v?/* @__PURE__ */s("label",{htmlFor:v,id:g,className:V,children:l}):/* @__PURE__ */s("span",{id:g,className:V,children:l}),z=/* @__PURE__ */s(i.Provider,{value:g,children:/* @__PURE__ */s(n.Provider,{value:"auto"===w,children:I?b:u})}),B=[$?"border-t border-line-subtle first:border-t-0":"",C.pad,A].filter(Boolean).join(" "),E=null!=N&&!1!==N&&/* @__PURE__ */s("div",{className:`${C.bodyTop} border-t border-line-subtle ${C.bodyPad}`,children:N});/* @__PURE__ */
7
7
  return r("div",W?{className:B,children:[
8
8
  /* @__PURE__ */r("div",{"data-setting-line":"",className:"flex flex-wrap items-center justify-between gap-x-2 gap-y-2",children:[
9
9
  /* @__PURE__ */s("div",{className:"flex-1 basis-0",children:/* @__PURE__ */r("div",{className:`flex min-w-0 items-center gap-2 ${L}`,children:[null!=o&&/* @__PURE__ */s("span",{"aria-hidden":"true",className:"inline-flex h-4 w-4 shrink-0 items-center justify-center",children:o}),q,S]})}),
@@ -1,9 +1,9 @@
1
- import{Segmented as e}from"./chunk-JQBVSPF5.js";import{FormField as a}from"./chunk-6KBDNYRW.js";import{ImageFocusPoint as i}from"./chunk-53EW4M5S.js";import{isVideoUrl as t,mediaPromptLine as o,mediaFileName as r,FilenameBadge as n,BusyOverlay as l,UploadGlyph as s,dropzoneClass as c,zoneFocusClass as d}from"./chunk-XK4SMAVR.js";import{TransferProgress as u}from"./chunk-WCPAQHHA.js";import{useFileIntake as m,FileIntakeAlert as h}from"./chunk-7KIDOIPY.js";import{Icon as p}from"./chunk-UIWGVOFH.js";import{useShellStrings as b}from"./chunk-43MCNASD.js";import{useState as g,useRef as v,useEffect as f,useId as y}from"react";import{jsxs as k,jsx as j,Fragment as x}from"react/jsx-runtime";var N=["flex h-8 items-center justify-center rounded-(--radius-control) text-(--status-on-solid)","not-disabled:hover:bg-white/10 disabled:cursor-not-allowed disabled:opacity-60","rosh-focus-ring focus-visible:ring-2 focus-visible:ring-[color:var(--rosh-focus-ring-solid)]"].join(" ");function w({value:w,onChange:L,onPick:R,onFile:C,label:F,hint:U,error:P,required:O,className:H,accept:S="image/*",maxSizeBytes:$,fit:z="cover",height:A=112,placeholder:I,cta:W,acceptHint:B,showFilename:K=!0,allowReplace:V=!0,allowRemove:q=!0,replaceLabel:D,removeLabel:M,busy:Q=!1,busyLabel:Y,choosingLabel:_,pickFailedLabel:E,progress:G,disabled:J=!1,kind:X,onKindChange:T,focus:Z,onFocusChange:ee,focusLabel:ae}){const ie=b().media,te=W??ie.cta,oe=X??(/video/.test(S)&&!/image/.test(S)?"video":"image"),re="string"==typeof M&&M?M:ie.remove,[ne,le]=g(!1),[se,ce]=g(!1),de=v(!0);f(()=>()=>{de.current=!1},[]);const ue=Q||ne,me=ne&&!Q?_??ie.choosing:Y??ie.uploading,he=P??(se?E??ie.pickFailed:void 0),pe=e=>{if(!R)return;ce(!1);const a=R(e);a&&"function"==typeof a.then&&(le(!0),a.then(e=>{de.current&&(le(!1),"string"==typeof e&&e&&L(e))},()=>{de.current&&(le(!1),ce(!0))}))},be=y(),ge=v(null),[ve,fe]=g(null);f(()=>()=>{ge.current&&URL.revokeObjectURL(ge.current)},[]);const ye=J||ue,ke=!!w&&(t(w,S)||w===ve),je=I??o(S,ie),xe=D??(ke||"video"===oe?ie.changeVideo:ie.changeImage),Ne=e=>{R?pe(e):C?C(e):(e=>{ge.current&&URL.revokeObjectURL(ge.current);const a=URL.createObjectURL(e);ge.current=a,fe(e.type.startsWith("video/")?a:null),L(a)})(e)},we=m({accept:S,maxSizeBytes:$,acceptHint:B,multiple:!1,disabled:ye,onAccept:([e])=>Ne(e)}),{dragOver:Le}=we,Re=()=>{ye||(R?pe():we.open())},Ce=w?r(w):"",Fe=!ke&&!!ee,Ue=J||!V&&!q?null:/* @__PURE__ */k("div",{"data-media-bar":"",className:["absolute inset-x-0 bottom-0 flex items-center gap-1 p-1 text-(--status-on-solid)","opacity-0 transition-opacity duration-(--motion-fast)","group-hover/media:opacity-100 group-focus-within/media:opacity-100 [@media(hover:none)]:opacity-100"].join(" "),style:{background:"var(--rosh-media-scrim-button)"},children:[V&&/* @__PURE__ */k("button",{id:Fe?void 0:be,type:"button","aria-labelledby":`${be}-change`,onClick:()=>Re(),disabled:ue,className:`min-w-0 flex-1 gap-1 px-2 text-sm font-medium ${N}`,children:[
1
+ import{Segmented as e}from"./chunk-JQBVSPF5.js";import{ImageFocusPoint as a}from"./chunk-53EW4M5S.js";import{FormField as i}from"./chunk-6KBDNYRW.js";import{isVideoUrl as t,mediaPromptLine as o,mediaFileName as r,FilenameBadge as n,BusyOverlay as l,UploadGlyph as s,dropzoneClass as c,zoneFocusClass as d}from"./chunk-XK4SMAVR.js";import{TransferProgress as u}from"./chunk-WCPAQHHA.js";import{useFileIntake as m,FileIntakeAlert as h}from"./chunk-7KIDOIPY.js";import{Icon as p}from"./chunk-UIWGVOFH.js";import{useShellStrings as b}from"./chunk-43MCNASD.js";import{useState as g,useRef as v,useEffect as f,useId as y}from"react";import{jsxs as k,jsx as j,Fragment as x}from"react/jsx-runtime";var N=["flex h-8 items-center justify-center rounded-(--radius-control) text-(--status-on-solid)","not-disabled:hover:bg-white/10 disabled:cursor-not-allowed disabled:opacity-60","rosh-focus-ring focus-visible:ring-2 focus-visible:ring-[color:var(--rosh-focus-ring-solid)]"].join(" ");function w({value:w,onChange:L,onPick:R,onFile:C,label:F,hint:U,error:P,required:O,className:H,accept:S="image/*",maxSizeBytes:$,fit:z="cover",height:A=112,placeholder:I,cta:W,acceptHint:B,showFilename:K=!0,allowReplace:V=!0,allowRemove:q=!0,replaceLabel:D,removeLabel:M,busy:Q=!1,busyLabel:Y,choosingLabel:_,pickFailedLabel:E,progress:G,disabled:J=!1,kind:X,onKindChange:T,focus:Z,onFocusChange:ee,focusLabel:ae}){const ie=b().media,te=W??ie.cta,oe=X??(/video/.test(S)&&!/image/.test(S)?"video":"image"),re="string"==typeof M&&M?M:ie.remove,[ne,le]=g(!1),[se,ce]=g(!1),de=v(!0);f(()=>()=>{de.current=!1},[]);const ue=Q||ne,me=ne&&!Q?_??ie.choosing:Y??ie.uploading,he=P??(se?E??ie.pickFailed:void 0),pe=e=>{if(!R)return;ce(!1);const a=R(e);a&&"function"==typeof a.then&&(le(!0),a.then(e=>{de.current&&(le(!1),"string"==typeof e&&e&&L(e))},()=>{de.current&&(le(!1),ce(!0))}))},be=y(),ge=v(null),[ve,fe]=g(null);f(()=>()=>{ge.current&&URL.revokeObjectURL(ge.current)},[]);const ye=J||ue,ke=!!w&&(t(w,S)||w===ve),je=I??o(S,ie),xe=D??(ke||"video"===oe?ie.changeVideo:ie.changeImage),Ne=e=>{R?pe(e):C?C(e):(e=>{ge.current&&URL.revokeObjectURL(ge.current);const a=URL.createObjectURL(e);ge.current=a,fe(e.type.startsWith("video/")?a:null),L(a)})(e)},we=m({accept:S,maxSizeBytes:$,acceptHint:B,multiple:!1,disabled:ye,onAccept:([e])=>Ne(e)}),{dragOver:Le}=we,Re=()=>{ye||(R?pe():we.open())},Ce=w?r(w):"",Fe=!ke&&!!ee,Ue=J||!V&&!q?null:/* @__PURE__ */k("div",{"data-media-bar":"",className:["absolute inset-x-0 bottom-0 flex items-center gap-1 p-1 text-(--status-on-solid)","opacity-0 transition-opacity duration-(--motion-fast)","group-hover/media:opacity-100 group-focus-within/media:opacity-100 [@media(hover:none)]:opacity-100"].join(" "),style:{background:"var(--rosh-media-scrim-button)"},children:[V&&/* @__PURE__ */k("button",{id:Fe?void 0:be,type:"button","aria-labelledby":`${be}-change`,onClick:()=>Re(),disabled:ue,className:`min-w-0 flex-1 gap-1 px-2 text-sm font-medium ${N}`,children:[
2
2
  /* @__PURE__ */j(p,{name:"swap","aria-hidden":"true",className:"h-4 w-4 shrink-0"}),
3
3
  /* @__PURE__ */j("span",{id:`${be}-change`,className:"truncate",children:xe})]}),q&&/* @__PURE__ */j("button",{type:"button","aria-label":re,onClick:()=>{ge.current&&(URL.revokeObjectURL(ge.current),ge.current=null),fe(null),L("")},disabled:ue,className:`ml-auto w-8 shrink-0 ${N}`,children:/* @__PURE__ */j(p,{name:"trash","aria-hidden":"true",className:"h-4 w-4"})})]}),Pe=/* @__PURE__ */k("div",{...we.zoneProps,"data-media-frame":"",className:["group/media relative overflow-hidden rounded-(--radius-control) border transition-colors",Fe?"":"bg-gray-100",Le?"border-blue-500":"border-line"].join(" "),style:Fe?void 0:{height:A},children:[Fe?
4
- /* @__PURE__ */j(i,{value:Z??"",onChange:e=>ee?.(e),label:ae??ie.focus,image:w,hint:null,id:be,disabled:ye,className:"[&_[data-image-focus-picture]]:rounded-none [&_[data-image-focus-picture]]:border-0"}):ke?/* @__PURE__ */j("video",{src:w??void 0,muted:!0,playsInline:!0,preload:"metadata","aria-label":Ce||void 0,className:"h-full w-full",style:{objectFit:z}}):/* @__PURE__ */j("img",{src:w??void 0,alt:Ce,className:"h-full w-full",style:{objectFit:z,objectPosition:Z||void 0}}),K&&w&&/* @__PURE__ */j(n,{children:Ce}),Ue,ue&&/* @__PURE__ */j(l,{label:me,progress:G,rounded:"rounded-md"})]}),Oe=/* @__PURE__ */j("button",{type:"button",id:be,onClick:()=>Re(),disabled:ye,"aria-label":"string"==typeof je?je:ie.upload,"aria-busy":ue||void 0,"aria-invalid":!!he||void 0,"aria-required":O||void 0,"aria-describedby":he?`${be}-error`:U?`${be}-hint`:void 0,...we.zoneProps,className:c(Le,ye,d(ye)),style:{minHeight:A},children:ue?/* @__PURE__ */j(u,{state:"busy",verb:me,pct:G}):/* @__PURE__ */k(x,{children:[
4
+ /* @__PURE__ */j(a,{value:Z??"",onChange:e=>ee?.(e),label:ae??ie.focus,image:w,hint:null,id:be,disabled:ye,className:"[&_[data-image-focus-picture]]:rounded-none [&_[data-image-focus-picture]]:border-0"}):ke?/* @__PURE__ */j("video",{src:w??void 0,muted:!0,playsInline:!0,preload:"metadata","aria-label":Ce||void 0,className:"h-full w-full",style:{objectFit:z}}):/* @__PURE__ */j("img",{src:w??void 0,alt:Ce,className:"h-full w-full",style:{objectFit:z,objectPosition:Z||void 0}}),K&&w&&/* @__PURE__ */j(n,{children:Ce}),Ue,ue&&/* @__PURE__ */j(l,{label:me,progress:G,rounded:"rounded-md"})]}),Oe=/* @__PURE__ */j("button",{type:"button",id:be,onClick:()=>Re(),disabled:ye,"aria-label":"string"==typeof je?je:ie.upload,"aria-busy":ue||void 0,"aria-invalid":!!he||void 0,"aria-required":O||void 0,"aria-describedby":he?`${be}-error`:U?`${be}-hint`:void 0,...we.zoneProps,className:c(Le,ye,d(ye)),style:{minHeight:A},children:ue?/* @__PURE__ */j(u,{state:"busy",verb:me,pct:G}):/* @__PURE__ */k(x,{children:[
5
5
  /* @__PURE__ */j("span",{className:"text-ink-faintest",children:/* @__PURE__ */j(s,{})}),
6
6
  /* @__PURE__ */j("span",{className:"px-3 text-xs text-ink-faint",children:je}),
7
7
  /* @__PURE__ */j("span",{className:"text-sm font-medium text-blue-600",children:te}),B&&/* @__PURE__ */j("span",{className:"text-xs text-ink-faintest",children:B})]})});/* @__PURE__ */
8
- return k(a,{label:F,htmlFor:be,hint:U,error:he,required:O,className:H,children:[T&&/* @__PURE__ */j("div",{"data-media-kind":"",className:"mb-2",children:/* @__PURE__ */j(e,{value:oe,onChange:e=>T(e),options:[{value:"image",label:ie.image,icon:/* @__PURE__ */j(p,{name:"image","aria-hidden":"true",className:"h-4 w-4"}),disabled:ye},{value:"video",label:ie.video,icon:/* @__PURE__ */j(p,{name:"play","aria-hidden":"true",className:"h-4 w-4"}),disabled:ye}],block:!0,size:"md",label:"string"==typeof F&&F?F:ie.upload})}),w?Pe:Oe,!R&&/* @__PURE__ */j("input",{...we.inputProps}),
8
+ return k(i,{label:F,htmlFor:be,hint:U,error:he,required:O,className:H,children:[T&&/* @__PURE__ */j("div",{"data-media-kind":"",className:"mb-2",children:/* @__PURE__ */j(e,{value:oe,onChange:e=>T(e),options:[{value:"image",label:ie.image,icon:/* @__PURE__ */j(p,{name:"image","aria-hidden":"true",className:"h-4 w-4"}),disabled:ye},{value:"video",label:ie.video,icon:/* @__PURE__ */j(p,{name:"play","aria-hidden":"true",className:"h-4 w-4"}),disabled:ye}],block:!0,size:"md",label:"string"==typeof F&&F?F:ie.upload})}),w?Pe:Oe,!R&&/* @__PURE__ */j("input",{...we.inputProps}),
9
9
  /* @__PURE__ */j(h,{rejections:we.rejections})]})}export{w as MediaUploadField};
@@ -0,0 +1 @@
1
+ var r="12.7.0",a=r;export{a as APP_VERSION,r as VERSION};
@@ -1 +1 @@
1
- import{setBoundaryErrorReporter as e}from"./chunk-KNUR2UEG.js";import{VERSION as t}from"./chunk-C4IJONGO.js";var n=-1,i=()=>n,a=e=>{addEventListener("pageshow",t=>{t.persisted&&(n=t.timeStamp,e(t))},!0)},r=(e,t,n,i)=>{let a,r;return o=>{var s,c;t.value>=0&&(o||i)&&(r=t.value-(a??0),(r||void 0===a)&&(a=t.value,t.delta=r,t.rating=(s=t.value)>(c=n)[1]?"poor":s>c[0]?"needs-improvement":"good",e(t)))}},o=e=>{requestAnimationFrame(()=>requestAnimationFrame(()=>e()))},s=()=>{const e=performance.getEntriesByType("navigation")[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},c=()=>s()?.activationStart??0,d=-1,l=/* @__PURE__ */new Set,u=()=>"hidden"!==document.visibilityState||document.prerendering?1/0:0,f=e=>{if("hidden"===document.visibilityState){if("visibilitychange"===e.type)for(const e of l)e();isFinite(d)||(d="visibilitychange"===e.type?e.timeStamp:0,removeEventListener("prerenderingchange",f,!0))}},h=(e=!1)=>{if(e&&(d=1/0),d<0){const e=c(),t=document.prerendering?void 0:globalThis.performance.getEntriesByType("visibility-state").find(t=>"hidden"===t.name&&t.startTime>=e)?.startTime;d=t??u(),addEventListener("visibilitychange",f,!0),addEventListener("prerenderingchange",f,!0),a(()=>{setTimeout(()=>{d=u()})})}return{get firstHiddenTime(){return d},onHidden(e){l.add(e)}}},g=(e,t=-1,n,a=0,r,o,d)=>{const l=s(),u=l?.navigationId||0;let f="navigate";return n?f=n:i()>=0?f="back-forward-cache":l&&(document.prerendering||c()>0?f="prerender":document.wasDiscarded?f="restore":l.type&&(f=l.type.replace(/_/g,"-"))),{name:e,value:t,rating:"good",delta:0,entries:[],id:`v6-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e12}`,navigationType:f,navigationId:a||u,navigationInteractionId:r,navigationURL:o||l?.name,navigationStartTime:d||0}},v=/* @__PURE__ */new WeakMap;function p(e,t){let n=v.get(t);return n||(n=/* @__PURE__ */new WeakMap,v.set(t,n)),n.get(e)||n.set(e,new t),n.get(e)}var m,y=class{t;i=0;o=[];h(e){if(e.hadRecentInput)return;const t=this.o[0],n=this.o.at(-1);this.i&&t&&n&&e.startTime-n.startTime<1e3&&e.startTime-t.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),this.t?.(e)}},T=(e,t,n={})=>{try{const i=e.filter(e=>PerformanceObserver.supportedEntryTypes.includes(e));if(i.length>0){const e=new PerformanceObserver(e=>{queueMicrotask(()=>{const n=e.getEntries();i.length>1&&n.sort((e,t)=>e.startTime+e.duration-(t.startTime+t.duration)),t(n)})});for(const t of i)e.observe({type:t,buffered:!0,...n});return e}}catch{}},w=e=>globalThis.PerformanceObserver?.supportedEntryTypes?.includes("soft-navigation")&&"function"==typeof globalThis.PerformanceSoftNavigation?.prototype?.getLargestInteractionContentfulPaint&&e&&e.reportSoftNavs,I=(e,t)=>{if(e.set(t.navigationId,t),e.size>2){const t=e.keys().next().value;void 0!==t&&e.delete(t)}},b=e=>{let t=!1;return()=>{t||(e(),t=!0)}},C=class{l},E=e=>{document.prerendering?addEventListener("prerenderingchange",e,!0):e()},L=[1800,3e3],P=(e,t={})=>{const n=w(t);E(()=>{const s=p(t,C),d=h();let l,u=g("FCP");const f=T(["paint"],e=>{for(const t of e)"first-contentful-paint"===t.name&&(f.disconnect(),t.startTime<d.firstHiddenTime&&(u.value=Math.max(t.startTime-c(),0),u.entries.push(t),u.navigationId=t.navigationId||u.navigationId,l(!0)))});f&&(l=r(e,u,L,t.reportAllChanges),a(n=>{u=g("FCP",-1,"back-forward-cache",u.navigationId,u.navigationInteractionId,u.navigationURL,i()),l=r(e,u,L,t.reportAllChanges),o(()=>{u.value=performance.now()-n.timeStamp,l(!0)})})),n&&T(["soft-navigation"],n=>{n.forEach(n=>{s.l&&n.navigationId&&I(s.l,n);const i=Math.max((n.presentationTime||n.paintTime||0)-n.startTime,0);u=g("FCP",i,"soft-navigation",n.navigationId,n.interactionId,n.name,n.startTime),l=r(e,u,L,t.reportAllChanges),l(!0)})},t)})},A=[.1,.25],k=0,S=1/0,z=0,M=e=>{for(const t of e)t.interactionId&&(S=Math.min(S,t.interactionId),z=Math.max(z,t.interactionId),k=z?(z-S)/7+1:0)},$=()=>m?k:performance.interactionCount??0,_=class{u=0;v=[];m=/* @__PURE__ */new Map;p;T;_(){return $()-this.u}M(){this.u=$(),this.v.length=0,this.m.clear()}L(e){const t=this._(),n=Math.min(this.v.length-1,Math.floor(t/50));return!t||-1!==n||"soft-navigation"!==e&&"back-forward-cache"!==e?this.v[n]:{P:8,id:-1,entries:[]}}h(e){if(this.p?.(e),!e.interactionId)return;const t=this.v.at(-1);let n=this.m.get(e.interactionId);if(n||this.v.length<10||e.duration>t.P){if(n?e.duration>n.P?(n.entries=[e],n.P=e.duration):e.duration===n.P&&e.startTime===n.entries[0].startTime&&n.entries.push(e):(n={id:e.interactionId,entries:[e],P:e.duration},this.m.set(n.id,n),this.v.push(n)),this.v.sort((e,t)=>t.P-e.P),this.v.length>10){const e=this.v.splice(10);for(const t of e)this.m.delete(t.id)}this.T?.(n)}}},Z=e=>{const t="requestIdleCallback"in globalThis?1e3:0,n=globalThis.requestIdleCallback||setTimeout,i=globalThis.cancelIdleCallback||clearTimeout;if("hidden"===document.visibilityState)e();else{const a=b(e);let r=-1;const o=()=>{i(r),a()};addEventListener("visibilitychange",o,{once:!0,capture:!0}),r=n(()=>{removeEventListener("visibilitychange",o,{capture:!0}),a()},{timeout:t})}},F=[200,500],R=(e,t={})=>{if(!globalThis.PerformanceEventTiming||!("interactionId"in PerformanceEventTiming.prototype))return;const n=h();E(()=>{"interactionCount"in performance||m||(m=T(["event"],M,{durationThreshold:0}));let o,s=g("INP");const c=p(t,_),d=(n,i,a,d,l)=>{c.M(),s=g("INP",-1,n,i,a,d,l),o=r(e,s,F,t.reportAllChanges)},l=()=>{const e=c.L(s.navigationType);e&&e.P!==s.value&&(s.value=e.P,s.entries=e.entries,o())},u=e=>{l(),o(!0),d("soft-navigation",e.navigationId,e.interactionId,e.name,e.startTime)},f=(e,t=!1)=>{Z(()=>{for(const t of e)"soft-navigation"!==t.entryType?c.h(t):u(t);l(),t&&o(!0)})},h=["event","first-input"];w(t)&&h.push("soft-navigation");const v=T(h,f,{...t,durationThreshold:t.durationThreshold??40});o=r(e,s,F,t.reportAllChanges),v&&(n.onHidden(()=>{f(v.takeRecords(),!0)}),a(()=>{d("back-forward-cache",s.navigationId,s.navigationInteractionId,s.navigationURL,i())}))})},j=class{p;l;h(e){this.p?.(e)}},x=[2500,4e3],N=[800,1800],O=e=>{document.prerendering?E(()=>O(e)):"complete"!==document.readyState?addEventListener("load",()=>O(e),!0):setTimeout(e)};var B=/^[A-Za-z0-9/_:.\-[\]{}*@~]+$/,U=/^[A-Za-z_$][A-Za-z0-9_$.]*$/,H=/^[A-Za-z0-9][A-Za-z0-9.+_-]*$/;var q=class{constructor(e){this.head=e}head;events=[];waiting=/* @__PURE__ */new Map;seen=/* @__PURE__ */new Set;get size(){return this.events.length}addVital(e){this.events.push(e)}addError(e){const t=function(e){return e.frames.length?`${e.name}|${e.frames.join("|")}`:`${e.name}|${e.message.replace(/\d/g,"0")}`}(e),n=this.waiting.get(t);return n?(n.count=Math.min(1e3,n.count+e.count),!0):!(this.seen.has(t)||this.seen.size>=20)&&(this.seen.add(t),this.waiting.set(t,e),this.events.push(e),!0)}drain(){const e=this.events;this.events=[],this.waiting.clear();const t=[],n=JSON.stringify({...this.head,events:[]}).length;let i=[],a=n;for(const r of e){const e=JSON.stringify(r).length+1;n+e>30720||((50===i.length||a+e>30720)&&(t.push({...this.head,events:i}),i=[],a=n),i.push(r),a+=e)}return i.length&&t.push({...this.head,events:i}),t}},J=/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/g,K=/\beyJ[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}(?:\.[A-Za-z0-9_-]*)?|\b[Bb]earer\s+[A-Za-z0-9._~+/=-]{8,}/g,V=/\b[a-z][a-z0-9+.-]*:\/\/\S+/gi,W=/\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b/gi,D=/\d{4,}/g,G=/(^|[/:])(?:\d+|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}|[0-9a-f]{16,})(?=$|[/:])/gi,Q=/^[a-z][a-z0-9+.-]*:\/\/[^/]*/i,X=/(?:\(|@|\bat\s+)?((?:[a-z][a-z0-9+.-]*:\/\/|\/)[^\s()@]*?):(\d+):(\d+)\)?\s*$/i;function Y(e,t,n){const i=e.replace(Q,"").split(/[?#]/,1)[0];return i?`${i}:${t}:${n}`.slice(0,256):null}function ee(e){if("string"!=typeof e)return[];const t=[];for(const n of e.split("\n")){const e=X.exec(n.trim()),i=e&&Y(e[1],e[2],e[3]);if(i&&t.push(i),5===t.length)break}return t}function te(e){const t=e instanceof Error?e.name:void 0;return"string"==typeof t&&t.length<=64&&U.test(t)?t:"Error"}function ne(e){if("string"!=typeof e)return"unknown";const t=e.trim().replace(Q,"").split(/[?#]/,1)[0].replace(G,(e,t)=>":"===t?":id":`${t}:id`);return t&&t.length<=128&&!t.includes("//")&&B.test(t)?t:"unknown"}var ie={flush(){},reportError(){},stop(){}},ae=null,re=/* @__PURE__ */new Set(["LCP","FCP","TTFB"]);function oe(e,t,n){const i=function(e){if(e.anonymous)return{credentials:"omit",headers:{"Content-Type":"application/json"}};const t=e.getAccessToken();return t?{credentials:"same-origin",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`}}:null}(t);if(!i)return;const a=t.anonymous?"/api/storefront-analytics/web-vitals/":"/api/client-telemetry/web-batches/";n(t.endpoint??a,{...i,method:"POST",keepalive:!0,body:JSON.stringify(e)}).catch(e=>{console.debug("[efficient-shell] client telemetry batch dropped:",e)})}function se(e){((e,t={})=>{let n=!1;const s=w(t);E(()=>{let d,l=h(),u=g("LCP");const f=p(t,j),v=(i,a,o,s,c)=>{u=g("LCP",-1,i,a,o,s,c),d=r(e,u,x,t.reportAllChanges),n=!1,"soft-navigation"===i&&(l=h(!0))},m=e=>{f.l&&e.navigationId&&I(f.l,e),n||d(!0),v("soft-navigation",e.navigationId,e.interactionId,e.name,e.startTime);const t=e.getLargestInteractionContentfulPaint?.();t&&y([t])},y=e=>{t.reportAllChanges||s||(e=e.slice(-1));for(const t of e){if(!t)continue;if("soft-navigation"===t.entryType){m(t);continue}let e=0,n=[],i=t.startTime;if("largest-contentful-paint"===t.entryType)e=Math.max(t.startTime-c(),0),f.h(t),n=[t];else if("interaction-contentful-paint"===t.entryType){const a=t;if(!u.navigationId)continue;if("interactionId"in a&&a.interactionId!=u.navigationInteractionId)continue;i=a.largestContentfulPaint?.renderTime||0,e=Math.max(i-t.startTime,0),a.largestContentfulPaint&&(f.h(a.largestContentfulPaint),n=[a.largestContentfulPaint])}i<l.firstHiddenTime&&(u.value=e,u.entries=n,d())}},w=["largest-contentful-paint"];s&&w.push("interaction-contentful-paint","soft-navigation");const b=T(w,y);if(b){d=r(e,u,x,t.reportAllChanges);const c=["keydown","click","visibilitychange"],l=e=>{if(e.isTrusted&&!n){const e=u.id;Z(()=>{if(!n){if(!s){b.disconnect();for(const e of c)removeEventListener(e,l,{capture:!0})}e===u.id&&(n=!0,d(!0))}})}};for(const e of c)addEventListener(e,l,{capture:!0});a(a=>{v("back-forward-cache",u.navigationId,u.navigationInteractionId,u.navigationURL,i()),d=r(e,u,x,t.reportAllChanges),o(()=>{u.value=performance.now()-a.timeStamp,n=!0,d(!0)})})}})})(e),R(e),((e,t={})=>{const n=h();P(b(()=>{let s,c=g("CLS",0);const d=p(t,y),l=(n,i,a,o,l)=>{c=g("CLS",0,n,i,a,o,l),d.i=0,s=r(e,c,A,t.reportAllChanges)},u=(e=!1)=>{d.i>c.value&&(c.value=d.i,c.entries=d.o),s(e)},f=e=>{u(!0),l("soft-navigation",e.navigationId,e.interactionId,e.name,e.startTime)},h=e=>{for(const t of e)"soft-navigation"!==t.entryType?d.h(t):f(t);u()},v=["layout-shift"];w(t)&&v.push("soft-navigation");const m=T(v,h);m&&(s=r(e,c,A,t.reportAllChanges),n.onHidden(()=>{h(m.takeRecords()),s(!0)}),a(()=>{l("back-forward-cache",c.navigationId,c.navigationInteractionId,c.navigationURL,i()),o(s)}),setTimeout(s))}))})(e),P(e),((e,t={})=>{const n=w(t);let o=g("TTFB"),d=r(e,o,N,t.reportAllChanges);O(()=>{const l=s();if(l){const s=l.responseStart;o.value=Math.max(s-c(),0),o.entries=[l],d(!0),a(()=>{o=g("TTFB",0,"back-forward-cache",o.navigationId,o.navigationInteractionId,o.navigationURL,i()),d=r(e,o,N,t.reportAllChanges),d(!0)}),n&&T(["soft-navigation"],n=>{n.forEach(n=>{n.navigationId&&(o=g("TTFB",0,"soft-navigation",n.navigationId,n.interactionId,n.name,n.startTime),o.entries=[n],d=r(e,o,N,t.reportAllChanges),d(!0))})},t)}})})(e)}function ce(n){if(ae?.stop(),ae=null,!1===n.enabled||"undefined"==typeof window||"undefined"==typeof document)return ie;if(!function(e){const t="string"==typeof e.app&&H.test(e.app),n="string"==typeof e.release&&H.test(e.release);return t&&n||console.warn("[efficient-shell] client telemetry not started: `app` and `release` must be version-like strings."),t&&n}(n))return ie;const i=function(e){const t=e.vitalsSampleRate??1;return t>0&&(t>=1||(e.random??Math.random)()<t)}(n);if(n.anonymous&&!i)return ie;const a=n.fetch??window.fetch.bind(window),r=new q({app:n.app,release:n.release,shell_version:H.test(t)?t:""}),o=ne(n.routeKey()),s=function(e=("undefined"==typeof window?void 0:window)){if(!e)return"desktop";const t="function"==typeof e.matchMedia&&e.matchMedia("(pointer: coarse)").matches,n=e.innerWidth;return n<600?"mobile":t&&n<1280?"tablet":"desktop"}(window);let c=!1;const d=()=>{for(const e of r.drain())oe(e,n,a)},l=e=>{c||n.anonymous||(r.addError(e),r.size>=50&&d())},u=(e,t)=>{return{type:"error",source:t,name:te(e),message:(a=e,i=a instanceof Error?a.message:"string"==typeof a?a:a&&"object"==typeof a&&"string"==typeof a.message?a.message:"",i.slice(0,640).replace(J,"[redacted]").replace(K,"[redacted]").replace(V,"[url]").replace(W,"[id]").replace(D,"[n]").replace(/\s+/g," ").trim().slice(0,160)),frames:ee(e instanceof Error?e.stack:void 0),route:ne(n.routeKey()),count:1};var i,a};i&&(n.observeVitals??se)(e=>{c||(r.addVital(function(e,t,n,i){return{type:"vital",name:e.name,value:e.value,route:re.has(e.name)?t:n(),navigation:e.navigationType??"navigate",device:i}}(e,o,()=>ne(n.routeKey()),s)),r.size>=50&&d())});const f=n.anonymous?()=>{}:function(t,n){const i=e=>{const{error:i,message:a,filename:r,lineno:o,colno:s}=e;if(null!=i)return void t(n(i,"onerror"));const c=r?ee(`at ${r}:${o??0}:${s??0}`):[];t({...n(a??"","onerror"),frames:c})},a=e=>t(n(e.reason,"unhandledrejection"));window.addEventListener("error",i),window.addEventListener("unhandledrejection",a);const r=e(e=>t(n(e,"boundary")));return()=>{window.removeEventListener("error",i),window.removeEventListener("unhandledrejection",a),r()}}(l,u),h=()=>{"hidden"===document.visibilityState&&d()};document.addEventListener("visibilitychange",h),window.addEventListener("pagehide",d);const g=window.setInterval(d,n.flushIntervalMs??6e4),v={flush:d,reportError:e=>l(u(e,"boundary")),stop(){c||(d(),c=!0,f(),document.removeEventListener("visibilitychange",h),window.removeEventListener("pagehide",d),window.clearInterval(g),ae===v&&(ae=null))}};return ae=v,v}export{ce as startClientTelemetry};
1
+ import{setBoundaryErrorReporter as e}from"./chunk-KNUR2UEG.js";import{VERSION as t}from"./chunk-PWYLGTZS.js";var n=-1,i=()=>n,a=e=>{addEventListener("pageshow",t=>{t.persisted&&(n=t.timeStamp,e(t))},!0)},r=(e,t,n,i)=>{let a,r;return o=>{var s,c;t.value>=0&&(o||i)&&(r=t.value-(a??0),(r||void 0===a)&&(a=t.value,t.delta=r,t.rating=(s=t.value)>(c=n)[1]?"poor":s>c[0]?"needs-improvement":"good",e(t)))}},o=e=>{requestAnimationFrame(()=>requestAnimationFrame(()=>e()))},s=()=>{const e=performance.getEntriesByType("navigation")[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},c=()=>s()?.activationStart??0,d=-1,l=/* @__PURE__ */new Set,u=()=>"hidden"!==document.visibilityState||document.prerendering?1/0:0,f=e=>{if("hidden"===document.visibilityState){if("visibilitychange"===e.type)for(const e of l)e();isFinite(d)||(d="visibilitychange"===e.type?e.timeStamp:0,removeEventListener("prerenderingchange",f,!0))}},h=(e=!1)=>{if(e&&(d=1/0),d<0){const e=c(),t=document.prerendering?void 0:globalThis.performance.getEntriesByType("visibility-state").find(t=>"hidden"===t.name&&t.startTime>=e)?.startTime;d=t??u(),addEventListener("visibilitychange",f,!0),addEventListener("prerenderingchange",f,!0),a(()=>{setTimeout(()=>{d=u()})})}return{get firstHiddenTime(){return d},onHidden(e){l.add(e)}}},g=(e,t=-1,n,a=0,r,o,d)=>{const l=s(),u=l?.navigationId||0;let f="navigate";return n?f=n:i()>=0?f="back-forward-cache":l&&(document.prerendering||c()>0?f="prerender":document.wasDiscarded?f="restore":l.type&&(f=l.type.replace(/_/g,"-"))),{name:e,value:t,rating:"good",delta:0,entries:[],id:`v6-${Date.now()}-${Math.floor(8999999999999*Math.random())+1e12}`,navigationType:f,navigationId:a||u,navigationInteractionId:r,navigationURL:o||l?.name,navigationStartTime:d||0}},v=/* @__PURE__ */new WeakMap;function p(e,t){let n=v.get(t);return n||(n=/* @__PURE__ */new WeakMap,v.set(t,n)),n.get(e)||n.set(e,new t),n.get(e)}var m,y=class{t;i=0;o=[];h(e){if(e.hadRecentInput)return;const t=this.o[0],n=this.o.at(-1);this.i&&t&&n&&e.startTime-n.startTime<1e3&&e.startTime-t.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),this.t?.(e)}},T=(e,t,n={})=>{try{const i=e.filter(e=>PerformanceObserver.supportedEntryTypes.includes(e));if(i.length>0){const e=new PerformanceObserver(e=>{queueMicrotask(()=>{const n=e.getEntries();i.length>1&&n.sort((e,t)=>e.startTime+e.duration-(t.startTime+t.duration)),t(n)})});for(const t of i)e.observe({type:t,buffered:!0,...n});return e}}catch{}},w=e=>globalThis.PerformanceObserver?.supportedEntryTypes?.includes("soft-navigation")&&"function"==typeof globalThis.PerformanceSoftNavigation?.prototype?.getLargestInteractionContentfulPaint&&e&&e.reportSoftNavs,I=(e,t)=>{if(e.set(t.navigationId,t),e.size>2){const t=e.keys().next().value;void 0!==t&&e.delete(t)}},b=e=>{let t=!1;return()=>{t||(e(),t=!0)}},C=class{l},E=e=>{document.prerendering?addEventListener("prerenderingchange",e,!0):e()},L=[1800,3e3],P=(e,t={})=>{const n=w(t);E(()=>{const s=p(t,C),d=h();let l,u=g("FCP");const f=T(["paint"],e=>{for(const t of e)"first-contentful-paint"===t.name&&(f.disconnect(),t.startTime<d.firstHiddenTime&&(u.value=Math.max(t.startTime-c(),0),u.entries.push(t),u.navigationId=t.navigationId||u.navigationId,l(!0)))});f&&(l=r(e,u,L,t.reportAllChanges),a(n=>{u=g("FCP",-1,"back-forward-cache",u.navigationId,u.navigationInteractionId,u.navigationURL,i()),l=r(e,u,L,t.reportAllChanges),o(()=>{u.value=performance.now()-n.timeStamp,l(!0)})})),n&&T(["soft-navigation"],n=>{n.forEach(n=>{s.l&&n.navigationId&&I(s.l,n);const i=Math.max((n.presentationTime||n.paintTime||0)-n.startTime,0);u=g("FCP",i,"soft-navigation",n.navigationId,n.interactionId,n.name,n.startTime),l=r(e,u,L,t.reportAllChanges),l(!0)})},t)})},A=[.1,.25],k=0,S=1/0,z=0,M=e=>{for(const t of e)t.interactionId&&(S=Math.min(S,t.interactionId),z=Math.max(z,t.interactionId),k=z?(z-S)/7+1:0)},$=()=>m?k:performance.interactionCount??0,Z=class{u=0;v=[];m=/* @__PURE__ */new Map;p;T;_(){return $()-this.u}M(){this.u=$(),this.v.length=0,this.m.clear()}L(e){const t=this._(),n=Math.min(this.v.length-1,Math.floor(t/50));return!t||-1!==n||"soft-navigation"!==e&&"back-forward-cache"!==e?this.v[n]:{P:8,id:-1,entries:[]}}h(e){if(this.p?.(e),!e.interactionId)return;const t=this.v.at(-1);let n=this.m.get(e.interactionId);if(n||this.v.length<10||e.duration>t.P){if(n?e.duration>n.P?(n.entries=[e],n.P=e.duration):e.duration===n.P&&e.startTime===n.entries[0].startTime&&n.entries.push(e):(n={id:e.interactionId,entries:[e],P:e.duration},this.m.set(n.id,n),this.v.push(n)),this.v.sort((e,t)=>t.P-e.P),this.v.length>10){const e=this.v.splice(10);for(const t of e)this.m.delete(t.id)}this.T?.(n)}}},_=e=>{const t="requestIdleCallback"in globalThis?1e3:0,n=globalThis.requestIdleCallback||setTimeout,i=globalThis.cancelIdleCallback||clearTimeout;if("hidden"===document.visibilityState)e();else{const a=b(e);let r=-1;const o=()=>{i(r),a()};addEventListener("visibilitychange",o,{once:!0,capture:!0}),r=n(()=>{removeEventListener("visibilitychange",o,{capture:!0}),a()},{timeout:t})}},F=[200,500],R=(e,t={})=>{if(!globalThis.PerformanceEventTiming||!("interactionId"in PerformanceEventTiming.prototype))return;const n=h();E(()=>{"interactionCount"in performance||m||(m=T(["event"],M,{durationThreshold:0}));let o,s=g("INP");const c=p(t,Z),d=(n,i,a,d,l)=>{c.M(),s=g("INP",-1,n,i,a,d,l),o=r(e,s,F,t.reportAllChanges)},l=()=>{const e=c.L(s.navigationType);e&&e.P!==s.value&&(s.value=e.P,s.entries=e.entries,o())},u=e=>{l(),o(!0),d("soft-navigation",e.navigationId,e.interactionId,e.name,e.startTime)},f=(e,t=!1)=>{_(()=>{for(const t of e)"soft-navigation"!==t.entryType?c.h(t):u(t);l(),t&&o(!0)})},h=["event","first-input"];w(t)&&h.push("soft-navigation");const v=T(h,f,{...t,durationThreshold:t.durationThreshold??40});o=r(e,s,F,t.reportAllChanges),v&&(n.onHidden(()=>{f(v.takeRecords(),!0)}),a(()=>{d("back-forward-cache",s.navigationId,s.navigationInteractionId,s.navigationURL,i())}))})},j=class{p;l;h(e){this.p?.(e)}},x=[2500,4e3],B=[800,1800],N=e=>{document.prerendering?E(()=>N(e)):"complete"!==document.readyState?addEventListener("load",()=>N(e),!0):setTimeout(e)};var U=/^[A-Za-z0-9/_:.\-[\]{}*@~]+$/,O=/^[A-Za-z_$][A-Za-z0-9_$.]*$/,H=/^[A-Za-z0-9][A-Za-z0-9.+_-]*$/;var q=class{constructor(e){this.head=e}head;events=[];waiting=/* @__PURE__ */new Map;seen=/* @__PURE__ */new Set;get size(){return this.events.length}addVital(e){this.events.push(e)}addError(e){const t=function(e){return e.frames.length?`${e.name}|${e.frames.join("|")}`:`${e.name}|${e.message.replace(/\d/g,"0")}`}(e),n=this.waiting.get(t);return n?(n.count=Math.min(1e3,n.count+e.count),!0):!(this.seen.has(t)||this.seen.size>=20)&&(this.seen.add(t),this.waiting.set(t,e),this.events.push(e),!0)}drain(){const e=this.events;this.events=[],this.waiting.clear();const t=[],n=JSON.stringify({...this.head,events:[]}).length;let i=[],a=n;for(const r of e){const e=JSON.stringify(r).length+1;n+e>30720||((50===i.length||a+e>30720)&&(t.push({...this.head,events:i}),i=[],a=n),i.push(r),a+=e)}return i.length&&t.push({...this.head,events:i}),t}},J=/[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/g,K=/\beyJ[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}(?:\.[A-Za-z0-9_-]*)?|\b[Bb]earer\s+[A-Za-z0-9._~+/=-]{8,}/g,W=/\b[a-z][a-z0-9+.-]*:\/\/\S+/gi,V=/\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b/gi,D=/\d{4,}/g,G=/(^|[/:])(?:\d+|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}|[0-9a-f]{16,})(?=$|[/:])/gi,Y=/^[a-z][a-z0-9+.-]*:\/\/[^/]*/i,Q=/(?:\(|@|\bat\s+)?((?:[a-z][a-z0-9+.-]*:\/\/|\/)[^\s()@]*?):(\d+):(\d+)\)?\s*$/i;function X(e,t,n){const i=e.replace(Y,"").split(/[?#]/,1)[0];return i?`${i}:${t}:${n}`.slice(0,256):null}function ee(e){if("string"!=typeof e)return[];const t=[];for(const n of e.split("\n")){const e=Q.exec(n.trim()),i=e&&X(e[1],e[2],e[3]);if(i&&t.push(i),5===t.length)break}return t}function te(e){const t=e instanceof Error?e.name:void 0;return"string"==typeof t&&t.length<=64&&O.test(t)?t:"Error"}function ne(e){if("string"!=typeof e)return"unknown";const t=e.trim().replace(Y,"").split(/[?#]/,1)[0].replace(G,(e,t)=>":"===t?":id":`${t}:id`);return t&&t.length<=128&&!t.includes("//")&&U.test(t)?t:"unknown"}var ie={flush(){},reportError(){},stop(){}},ae=null,re=/* @__PURE__ */new Set(["LCP","FCP","TTFB"]);function oe(e,t,n){const i=function(e){if(e.anonymous)return{credentials:"omit",headers:{"Content-Type":"application/json"}};const t=e.getAccessToken();return t?{credentials:"same-origin",headers:{"Content-Type":"application/json",Authorization:`Bearer ${t}`}}:null}(t);if(!i)return;const a=t.anonymous?"/api/storefront-analytics/web-vitals/":"/api/client-telemetry/web-batches/";n(t.endpoint??a,{...i,method:"POST",keepalive:!0,body:JSON.stringify(e)}).catch(e=>{console.debug("[efficient-shell] client telemetry batch dropped:",e)})}function se(e){((e,t={})=>{let n=!1;const s=w(t);E(()=>{let d,l=h(),u=g("LCP");const f=p(t,j),v=(i,a,o,s,c)=>{u=g("LCP",-1,i,a,o,s,c),d=r(e,u,x,t.reportAllChanges),n=!1,"soft-navigation"===i&&(l=h(!0))},m=e=>{f.l&&e.navigationId&&I(f.l,e),n||d(!0),v("soft-navigation",e.navigationId,e.interactionId,e.name,e.startTime);const t=e.getLargestInteractionContentfulPaint?.();t&&y([t])},y=e=>{t.reportAllChanges||s||(e=e.slice(-1));for(const t of e){if(!t)continue;if("soft-navigation"===t.entryType){m(t);continue}let e=0,n=[],i=t.startTime;if("largest-contentful-paint"===t.entryType)e=Math.max(t.startTime-c(),0),f.h(t),n=[t];else if("interaction-contentful-paint"===t.entryType){const a=t;if(!u.navigationId)continue;if("interactionId"in a&&a.interactionId!=u.navigationInteractionId)continue;i=a.largestContentfulPaint?.renderTime||0,e=Math.max(i-t.startTime,0),a.largestContentfulPaint&&(f.h(a.largestContentfulPaint),n=[a.largestContentfulPaint])}i<l.firstHiddenTime&&(u.value=e,u.entries=n,d())}},w=["largest-contentful-paint"];s&&w.push("interaction-contentful-paint","soft-navigation");const b=T(w,y);if(b){d=r(e,u,x,t.reportAllChanges);const c=["keydown","click","visibilitychange"],l=e=>{if(e.isTrusted&&!n){const e=u.id;_(()=>{if(!n){if(!s){b.disconnect();for(const e of c)removeEventListener(e,l,{capture:!0})}e===u.id&&(n=!0,d(!0))}})}};for(const e of c)addEventListener(e,l,{capture:!0});a(a=>{v("back-forward-cache",u.navigationId,u.navigationInteractionId,u.navigationURL,i()),d=r(e,u,x,t.reportAllChanges),o(()=>{u.value=performance.now()-a.timeStamp,n=!0,d(!0)})})}})})(e),R(e),((e,t={})=>{const n=h();P(b(()=>{let s,c=g("CLS",0);const d=p(t,y),l=(n,i,a,o,l)=>{c=g("CLS",0,n,i,a,o,l),d.i=0,s=r(e,c,A,t.reportAllChanges)},u=(e=!1)=>{d.i>c.value&&(c.value=d.i,c.entries=d.o),s(e)},f=e=>{u(!0),l("soft-navigation",e.navigationId,e.interactionId,e.name,e.startTime)},h=e=>{for(const t of e)"soft-navigation"!==t.entryType?d.h(t):f(t);u()},v=["layout-shift"];w(t)&&v.push("soft-navigation");const m=T(v,h);m&&(s=r(e,c,A,t.reportAllChanges),n.onHidden(()=>{h(m.takeRecords()),s(!0)}),a(()=>{l("back-forward-cache",c.navigationId,c.navigationInteractionId,c.navigationURL,i()),o(s)}),setTimeout(s))}))})(e),P(e),((e,t={})=>{const n=w(t);let o=g("TTFB"),d=r(e,o,B,t.reportAllChanges);N(()=>{const l=s();if(l){const s=l.responseStart;o.value=Math.max(s-c(),0),o.entries=[l],d(!0),a(()=>{o=g("TTFB",0,"back-forward-cache",o.navigationId,o.navigationInteractionId,o.navigationURL,i()),d=r(e,o,B,t.reportAllChanges),d(!0)}),n&&T(["soft-navigation"],n=>{n.forEach(n=>{n.navigationId&&(o=g("TTFB",0,"soft-navigation",n.navigationId,n.interactionId,n.name,n.startTime),o.entries=[n],d=r(e,o,B,t.reportAllChanges),d(!0))})},t)}})})(e)}function ce(n){if(ae?.stop(),ae=null,!1===n.enabled||"undefined"==typeof window||"undefined"==typeof document)return ie;if(!function(e){const t="string"==typeof e.app&&H.test(e.app),n="string"==typeof e.release&&H.test(e.release);return t&&n||console.warn("[efficient-shell] client telemetry not started: `app` and `release` must be version-like strings."),t&&n}(n))return ie;const i=function(e){const t=e.vitalsSampleRate??1;return t>0&&(t>=1||(e.random??Math.random)()<t)}(n);if(n.anonymous&&!i)return ie;const a=n.fetch??window.fetch.bind(window),r=new q({app:n.app,release:n.release,shell_version:H.test(t)?t:""}),o=ne(n.routeKey()),s=function(e=("undefined"==typeof window?void 0:window)){if(!e)return"desktop";const t="function"==typeof e.matchMedia&&e.matchMedia("(pointer: coarse)").matches,n=e.innerWidth;return n<600?"mobile":t&&n<1280?"tablet":"desktop"}(window);let c=!1;const d=()=>{for(const e of r.drain())oe(e,n,a)},l=e=>{c||n.anonymous||(r.addError(e),r.size>=50&&d())},u=(e,t)=>{return{type:"error",source:t,name:te(e),message:(a=e,i=a instanceof Error?a.message:"string"==typeof a?a:a&&"object"==typeof a&&"string"==typeof a.message?a.message:"",i.slice(0,640).replace(J,"[redacted]").replace(K,"[redacted]").replace(W,"[url]").replace(V,"[id]").replace(D,"[n]").replace(/\s+/g," ").trim().slice(0,160)),frames:ee(e instanceof Error?e.stack:void 0),route:ne(n.routeKey()),count:1};var i,a};i&&(n.observeVitals??se)(e=>{c||(r.addVital(function(e,t,n,i){return{type:"vital",name:e.name,value:e.value,route:re.has(e.name)?t:n(),navigation:e.navigationType??"navigate",device:i}}(e,o,()=>ne(n.routeKey()),s)),r.size>=50&&d())});const f=n.anonymous?()=>{}:function(t,n){const i=e=>{const{error:i,message:a,filename:r,lineno:o,colno:s}=e;if(null!=i)return void t(n(i,"onerror"));const c=r?ee(`at ${r}:${o??0}:${s??0}`):[];t({...n(a??"","onerror"),frames:c})},a=e=>t(n(e.reason,"unhandledrejection"));window.addEventListener("error",i),window.addEventListener("unhandledrejection",a);const r=e(e=>t(n(e,"boundary")));return()=>{window.removeEventListener("error",i),window.removeEventListener("unhandledrejection",a),r()}}(l,u),h=()=>{"hidden"===document.visibilityState&&d()};document.addEventListener("visibilitychange",h),window.addEventListener("pagehide",d);const g=window.setInterval(d,n.flushIntervalMs??6e4),v={flush:d,reportError:e=>l(u(e,"boundary")),stop(){c||(d(),c=!0,f(),document.removeEventListener("visibilitychange",h),window.removeEventListener("pagehide",d),window.clearInterval(g),ae===v&&(ae=null))}};return ae=v,v}export{ce as startClientTelemetry};