1import{vt as e}from"./src-CC3Tx-9Z.js";import{t}from"./react-Dh68y4fg.js";function n(e,t,n,r,i){e().registrations.get(n)?.onSuspend(),t({activePanel:r,suspendedPanel:n}),i()}var r=t()((t,r)=>({activePanel:null,suspendedPanel:null,registrations:new Map,register:(e,n)=>{let i=new Map(r().registrations);i.set(e,n),t({registrations:i})},unregister:e=>{let n=new Map(r().registrations);n.delete(e);let i={registrations:n};r().activePanel===e&&(i.activePanel=null),r().suspendedPanel===e&&(i.suspendedPanel=null),t(i)},requestSlot:(i,a)=>{let{activePanel:o}=r();if(o===null||o===i){t({activePanel:i}),a();return}let s=r().registrations.get(o);if(!s){t({activePanel:i,suspendedPanel:null}),a();return}if(!(s.hasUnsavedChanges?.()??!1)){n(r,t,o,i,a);return}let c=s.confirmCloseMessage??{title:`Close panel?`,body:`You have unsaved changes. Are you sure you want to close this panel?`},l=o;e.openConfirmModal({title:c.title,children:c.body,labels:{confirm:`Close`,cancel:`Cancel`},onConfirm:()=>{r().activePanel===l&&n(r,t,l,i,a)}})},releaseSlot:e=>{let{activePanel:n,suspendedPanel:i}=r();if(n===e)if(i){let e=r().registrations.get(i);t({activePanel:i,suspendedPanel:null}),e?.onResume()}else t({activePanel:null,suspendedPanel:null})}})),i={register:(e,t)=>r.getState().register(e,t),unregister:e=>r.getState().unregister(e),requestSlot:(e,t)=>r.getState().requestSlot(e,t),releaseSlot:e=>r.getState().releaseSlot(e)};export{i as t};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.