react-dockable-desktop 5.3.2 → 5.3.3

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.
package/dist/index.js CHANGED
@@ -20,5 +20,5 @@ Fix options:
20
20
  .layout { display: flex; flex-direction: column; height: 100vh; }
21
21
  .workspace { flex: 1; min-height: 0; }
22
22
 
23
- 3. Verify styles.css is imported \u2014 it anchors html, body, #root to 100% height.`)}mn({width:Math.max(100,f.width),height:Math.max(100,f.height)})});return u.observe(r),()=>{u.disconnect()}},[]),he(()=>{let r=rt.width,P=rt.height;l.floating.forEach(u=>{let p=typeof u.width=="string"?parseFloat(u.width):u.width,f=typeof u.height=="string"?parseFloat(u.height):u.height,T=typeof u.x=="string"?parseFloat(u.x):u.x,O=typeof u.y=="string"?parseFloat(u.y):u.y,A=p,K=f,te=T,X=O,ee=!1;if(A>r&&(A=Math.max(200,r-20),ee=!0),K>P&&(K=Math.max(150,P-40),ee=!0),!u.anchor){let se=r-100;te>se&&(te=Math.max(0,se),ee=!0);let ne=P-40;X>ne&&(X=Math.max(0,ne),ee=!0)}ee&&b(u.id,{x:te,y:X,width:A,height:K})})},[rt,l.floating,b]),he(()=>{let r=P=>{if(P.button!==0)return;let u=P.target;if(!u||typeof u.closest!="function")return;let p=u.closest(".rdd-floating-window");if(p){let T=p.getAttribute("data-window-id");T&&(C(T),S(T));return}let f=u.closest(".rdd-workspace-panel");if(f){let T=f.getAttribute("data-active-panel-id");T&&C(T)}};return document.addEventListener("pointerdown",r),()=>{document.removeEventListener("pointerdown",r)}},[S,C]);let fn=(r,P)=>{P.preventDefault();let u=l.floating.find(X=>X.id===r);if(!u||u.maximized)return;S(r);let p=P.currentTarget,f=p.closest(".rdd-floating-window"),T=P.clientX,O=P.clientY,A=f?f.offsetLeft:0,K=f?f.offsetTop:0,te=()=>{let X=Te.current,ee=Ge.current,se=$e.current,ne=ft.current;if(ne)b(r,{anchor:Nt?Bt(ne):ne});else if(se)E(r,qe(se));else if(ee){let ie=ee.index;ee.side==="right"&&(ie+=1),c(r,ee.leafId,ie)}else X&&W(r,X.leafId,qe(X.position));Ve(null),Fe()};if(P.pointerType==="touch"){let X=P.pointerId,ee=!1,se=()=>{ee=!0,clearTimeout(ie),p.removeEventListener("pointermove",ne),p.removeEventListener("pointerup",se),p.removeEventListener("pointercancel",se)},ne=ae=>{Math.hypot(ae.clientX-T,ae.clientY-O)>nt&&se()},ie=setTimeout(()=>{if(ee)return;p.removeEventListener("pointermove",ne),p.removeEventListener("pointerup",se),p.removeEventListener("pointercancel",se);try{p.setPointerCapture(X)}catch{return}p.classList.add("rdd-long-press-active"),document.body.classList.add("rdd-dragging-active"),N(r);let ae=bt=>{let vt=bt.clientX-T,yt=bt.clientY-O;b(r,{x:A+vt,y:K+yt,anchor:null}),zt(bt.clientX,bt.clientY)},xe=()=>{p.classList.remove("rdd-long-press-active"),document.body.classList.remove("rdd-dragging-active"),p.removeEventListener("pointermove",ae),p.removeEventListener("pointerup",xe),p.removeEventListener("pointercancel",it),te()},it=()=>{p.classList.remove("rdd-long-press-active"),document.body.classList.remove("rdd-dragging-active"),p.removeEventListener("pointermove",ae),p.removeEventListener("pointerup",xe),p.removeEventListener("pointercancel",it),Fe()};p.addEventListener("pointermove",ae),p.addEventListener("pointerup",xe),p.addEventListener("pointercancel",it)},tt);p.addEventListener("pointermove",ne),p.addEventListener("pointerup",se),p.addEventListener("pointercancel",se)}else{let X=!1,ee=ie=>{let ae=ie.clientX-T,xe=ie.clientY-O;!X&&(Math.abs(ae)>5||Math.abs(xe)>5)&&(X=!0,N(r)),X&&b(r,{x:A+ae,y:K+xe,anchor:null})},se=()=>{document.body.classList.remove("rdd-dragging-active"),window.removeEventListener("pointermove",ee),window.removeEventListener("pointerup",se),window.removeEventListener("pointercancel",ne),X&&te()},ne=()=>{document.body.classList.remove("rdd-dragging-active"),window.removeEventListener("pointermove",ee),window.removeEventListener("pointerup",se),window.removeEventListener("pointercancel",ne),X&&Fe()};document.body.classList.add("rdd-dragging-active"),window.addEventListener("pointermove",ee),window.addEventListener("pointerup",se),window.addEventListener("pointercancel",ne)}},i=(r,P,u)=>{u.preventDefault(),u.stopPropagation();let p=l.floating.find(ae=>ae.id===r);if(!p||p.maximized)return;S(r);let f=u.currentTarget,T=f.closest(".rdd-floating-window"),O={x:T?T.offsetLeft:0,y:T?T.offsetTop:0,w:T?T.offsetWidth:400,h:T?T.offsetHeight:300},A=rt.width,K=rt.height,te=typeof p.x=="string"?parseFloat(p.x):p.x,X=typeof p.y=="string"?parseFloat(p.y):p.y,ee=typeof p.width=="string"?parseFloat(p.width):p.width,se=typeof p.height=="string"?parseFloat(p.height):p.height,ne=P==="se"&&Math.abs(te+ee-A)<4,ie=P==="se"&&Math.abs(X+se-K)<4;Ue({element:f,pointerId:u.pointerId,startClientX:u.clientX,startClientY:u.clientY,captureStart:()=>O,activeClasses:[{el:document.body,classes:["rdd-resizing-active"]}],onMove:(ae,xe,it)=>{let bt=$t(P,ae,xe,it,{minW:200,minH:150}),{x:vt,y:yt,w:hn,h:bn}=bt;ne&&(vt=A-hn,vt<0&&(vt=0,hn=A)),ie&&(yt=K-bn,yt<0&&(yt=0,bn=K)),b(r,{x:vt,y:yt,width:hn,height:bn})}})},v=r=>{if(U.current){let P=r==="left"?-150:150;U.current.scrollBy({left:P,behavior:"smooth"})}},d=En(()=>{V.current&&clearTimeout(V.current),oe(!0)},[]),a=En(()=>{V.current=setTimeout(()=>oe(!1),400)},[]);he(()=>{n==="autohide"&&l.minimized.length>F.current&&(V.current&&clearTimeout(V.current),oe(!0),V.current=setTimeout(()=>oe(!1),2e3)),F.current=l.minimized.length},[l.minimized.length,n]);let B=kn();return he(()=>(e?document.documentElement.setAttribute("data-workspace-skin",e):document.documentElement.removeAttribute("data-workspace-skin"),()=>{document.documentElement.removeAttribute("data-workspace-skin")}),[e]),he(()=>(B==="light"?document.documentElement.setAttribute("data-color-scheme","light"):document.documentElement.removeAttribute("data-color-scheme"),()=>{document.documentElement.removeAttribute("data-color-scheme")}),[B]),he(()=>(m?document.documentElement.classList.remove("rdd-no-animations"):document.documentElement.classList.add("rdd-no-animations"),()=>{document.documentElement.classList.remove("rdd-no-animations")}),[m]),le("div",{className:`rdd-workspace${m?"":" rdd-no-animations"}`,"data-workspace-skin":e,"data-color-scheme":B,style:{display:"flex",flexDirection:"column",position:"relative",width:"100%",height:"100%",overflow:"hidden",userSelect:"none"},dir:l.dir,children:[le("div",{ref:ht,className:l.draggedPanelId?"rdd-dragging-active":void 0,style:{flexGrow:1,width:"100%",position:"relative",overflow:"hidden"},children:[l.draggedPanelId!==null&&le(vo,{children:[M("div",{"data-edge-trigger":"left",className:"rdd-workspace-edge-trigger rdd-edge-trigger-left",onPointerEnter:()=>fe("left"),onPointerLeave:()=>fe(null)}),M("div",{"data-edge-trigger":"right",className:"rdd-workspace-edge-trigger rdd-edge-trigger-right",onPointerEnter:()=>fe("right"),onPointerLeave:()=>fe(null)}),M("div",{"data-edge-trigger":"top",className:"rdd-workspace-edge-trigger rdd-edge-trigger-top",onPointerEnter:()=>fe("top"),onPointerLeave:()=>fe(null)}),M("div",{"data-edge-trigger":"bottom",className:"rdd-workspace-edge-trigger rdd-edge-trigger-bottom",onPointerEnter:()=>fe("bottom"),onPointerLeave:()=>fe(null)})]}),l.draggedPanelId!==null&&["top-left","top-right","bottom-left","bottom-right"].map(r=>M("div",{className:`rdd-corner-zone rdd-corner-zone--${r}${mt===r?" rdd-corner-zone--hovered":""}`,onPointerEnter:()=>{Ve(r),fe(null)},onPointerLeave:()=>Ve(null),"aria-hidden":"true"},r)),l.draggedPanelId!==null&&Re!==null&&M("div",{className:"rdd-workspace-edge-preview",style:(()=>{let r=`${l.edgeSplitRatio*100}%`;switch(Re){case"left":return{left:0,top:0,bottom:0,width:r};case"right":return{right:0,top:0,bottom:0,width:r};case"top":return{top:0,left:0,right:0,height:r};case"bottom":return{bottom:0,left:0,right:0,height:r}}})()}),M("div",{style:{width:"100%",height:"100%",overflow:"hidden",position:"relative"},children:l.gridRoot?M(Co,{node:l.gridRoot,path:[],onTabRightClick:Wt,activeDropZone:Me,onHoverDropZone:Ut,onTabDragStart:Jt,hoveredTab:jt,onTabHover:Zt,defaultPanelIcon:t,onRequestClosePanel:z}):M("div",{className:"rdd-empty-workspace-grid",children:"Grid Empty"})}),l.floating.map(r=>{let P=l.panels[r.id];if(!P)return null;let u=r.maximized,p=l.draggedPanelId===r.id,f=l.activePanelId===r.id,O=D.get(P.component)?.defaultOptions;return le("div",{"data-window-id":r.id,dir:l.dir,onPointerDownCapture:()=>{C(r.id),S(r.id)},className:`rdd-floating-window ${u?"rdd-maximized":""} ${f?"rdd-window-focused":""} ${G??""}`,style:(()=>{let te=typeof r.width=="number"?`${r.width}px`:r.width,X=typeof r.height=="number"?`${r.height}px`:r.height;if(u)return{position:"absolute",left:0,top:0,width:"100%",height:"100%",zIndex:r.z,pointerEvents:p?"none":"auto"};if(r.anchor){let ee=l.floating.filter(xe=>xe.anchor===r.anchor&&!xe.maximized),se=ee.findIndex(xe=>xe.id===r.id),ne=8;for(let xe=0;xe<se;xe++){let it=typeof ee[xe].height=="number"?ee[xe].height:parseFloat(ee[xe].height);ne+=it+8}let ie=r.anchor.startsWith("top");return{position:"absolute",[r.anchor.endsWith("-right")?"insetInlineEnd":"insetInlineStart"]:8,[ie?"top":"bottom"]:ne,width:te,height:X,zIndex:r.z,transition:p?"none":"top 0.2s ease, bottom 0.2s ease",pointerEvents:p?"none":"auto"}}return{position:"absolute",left:typeof r.x=="number"?`${r.x}px`:r.x,top:typeof r.y=="number"?`${r.y}px`:r.y,width:te,height:X,zIndex:r.z,pointerEvents:p?"none":"auto"}})(),children:[le("div",{onDoubleClick:()=>x(r.id),onPointerDown:A=>{O?.canDrag!==!1&&fn(r.id,A)},className:"rdd-floating-window-titlebar rdd-cursor-move",style:{cursor:u||O?.canDrag===!1?"default":"move"},children:[le("span",{className:"rdd-floating-window-title",children:[M("span",{className:"rdd-window-title-icon",children:O?.icon||t||In}),le("span",{children:[de(P.title,H),P.dirty?" *":""]})]}),le("div",{className:"rdd-titlebar-actions",style:{gap:"var(--rdd-header-button-gap, 4px)"},onPointerDown:A=>A.stopPropagation(),children:[O?.renderHeaderActions&&M("div",{className:"rdd-window-header-actions",children:O.renderHeaderActions(r.id)}),k(r.id).length>0&&M("button",{type:"button",className:"rdd-custom-tab-btn rdd-btn-more-actions",title:"More actions",onClick:A=>{A.stopPropagation();let K=k(r.id);K.length!==0&&g({event:A,items:K})},children:le("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor",style:{display:"block"},children:[M("circle",{cx:"12",cy:"5",r:"2"}),M("circle",{cx:"12",cy:"12",r:"2"}),M("circle",{cx:"12",cy:"19",r:"2"})]})}),M("button",{type:"button",title:u?de(s.restoreSize,H):de(s.maximize,H),onClick:()=>x(r.id),className:"rdd-custom-tab-btn rdd-btn-maximize-tab",children:M("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:M("rect",{x:"4",y:"4",width:"16",height:"16",rx:"1.5"})})}),O?.canMinimize!==!1&&M("button",{type:"button",title:de(s.minimize,H),onClick:()=>R(r.id),className:"rdd-custom-tab-btn rdd-btn-minimize-tab",children:M("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",children:M("path",{d:"M5 12h14"})})}),O?.canClose!==!1&&M("button",{type:"button",title:de(s.close,H),onClick:()=>z(r.id),className:"rdd-custom-tab-btn rdd-btn-close-tab",children:M("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",children:M("path",{d:"M18 6L6 18M6 6l12 12"})})})]})]}),M("div",{className:Y??void 0,style:{flexGrow:1,width:"100%",overflow:"hidden",position:"relative",isolation:"isolate"},children:M(xo,{panelId:r.id},r.id)}),!u&&le(vo,{children:[M("div",{onPointerDown:A=>i(r.id,"n",A),className:"rdd-resize-handle rdd-resize-n"}),M("div",{onPointerDown:A=>i(r.id,"ne",A),className:"rdd-resize-handle rdd-resize-ne"}),M("div",{onPointerDown:A=>i(r.id,"e",A),className:"rdd-resize-handle rdd-resize-e"}),M("div",{onPointerDown:A=>i(r.id,"se",A),className:"rdd-resize-handle rdd-resize-se"}),M("div",{onPointerDown:A=>i(r.id,"s",A),className:"rdd-resize-handle rdd-resize-s"}),M("div",{onPointerDown:A=>i(r.id,"sw",A),className:"rdd-resize-handle rdd-resize-sw"}),M("div",{onPointerDown:A=>i(r.id,"w",A),className:"rdd-resize-handle rdd-resize-w"}),M("div",{onPointerDown:A=>i(r.id,"nw",A),className:"rdd-resize-handle rdd-resize-nw"})]})]},r.id)})]}),(n==="always"||l.minimized.length>0)&&le("div",{className:["rdd-taskbar-footer-container",`taskbar-mode-${n}`,n==="autohide"&&me?"rdd-taskbar-expanded":""].filter(Boolean).join(" "),style:{height:"48px",zIndex:100},onPointerEnter:n==="autohide"?d:void 0,onPointerLeave:n==="autohide"?a:void 0,children:[n==="autohide"&&M("div",{className:"rdd-taskbar-peek-handle"}),M("button",{type:"button",onClick:()=>v("left"),className:"rdd-taskbar-nav-btn",style:{display:l.minimized.length>4?"block":"none"},children:"\u25C0"}),M("div",{ref:U,className:"rdd-taskbar-items-container",style:{scrollSnapType:"x mandatory"},children:l.minimized.map(r=>{let u=D.get(r.component)?.defaultOptions?.icon||t||In;return M("div",{onClick:()=>{ce.current!=="touch"&&($(null),h(r.id))},onContextMenu:p=>ot(r.id,p),onPointerDown:p=>{if(ce.current=p.pointerType,p.pointerType!=="touch")return;let f=p.currentTarget,T=p.clientX,O=p.clientY,A=p.pointerId,K=!1,te=()=>{K=!0,clearTimeout(se),f.removeEventListener("pointermove",ee),f.removeEventListener("pointerup",X),f.removeEventListener("pointercancel",te)},X=()=>{te();let ne=f.getBoundingClientRect();I?.id===r.id?(h(r.id),$(null)):$({id:r.id,rect:ne,title:r.title,component:r.component,fromTouch:!0})},ee=ne=>{Math.hypot(ne.clientX-T,ne.clientY-O)>nt&&te()},se=setTimeout(()=>{if(K)return;f.removeEventListener("pointermove",ee),f.removeEventListener("pointerup",X),f.removeEventListener("pointercancel",te);try{f.setPointerCapture(A)}catch{return}navigator.vibrate&&navigator.vibrate(10);let ne=ie=>{f.removeEventListener("pointerup",ne),f.removeEventListener("pointercancel",ne),ot(r.id,ie)};f.addEventListener("pointerup",ne),f.addEventListener("pointercancel",ne)},tt);f.addEventListener("pointermove",ee),f.addEventListener("pointerup",X),f.addEventListener("pointercancel",te)},onPointerEnter:p=>{if(p.pointerType==="touch"||ye)return;q.current&&clearTimeout(q.current);let f=p.currentTarget.getBoundingClientRect();p.clientX>=f.left&&p.clientX<=f.right&&p.clientY>=f.top&&p.clientY<=f.bottom&&$({id:r.id,rect:f,title:r.title,component:r.component})},onPointerLeave:p=>{p.pointerType!=="touch"&&(q.current=setTimeout(()=>{$(null)},150))},className:"rdd-taskbar-glassmorphic-item",style:{backdropFilter:"blur(6px)",transition:"all 0.2s",cursor:"pointer",scrollSnapAlign:"start",width:"38px",height:"38px",position:"relative",padding:0},children:M("span",{className:"rdd-taskbar-item-icon",children:u})},r.id)})}),I&&bo(le("div",{className:"rdd-taskbar-item-tooltip",dir:l.dir,style:{position:"fixed",left:`${I.rect.left+I.rect.width/2}px`,top:`${I.rect.top-8}px`,transform:"translateX(-50%) translateY(-100%)",opacity:1,pointerEvents:"auto",zIndex:999999},onPointerEnter:()=>{q.current&&clearTimeout(q.current)},onPointerLeave:r=>{r.pointerType!=="touch"&&$(null)},onClick:()=>{h(I.id),$(null)},onContextMenu:r=>ot(I.id,r),onPointerDown:r=>{if(r.pointerType!=="touch")return;let P=I.id,u=r.currentTarget,p=r.clientX,f=r.clientY,T=r.pointerId,O=!1,A=()=>{O=!0,clearTimeout(te),u.removeEventListener("pointermove",K),u.removeEventListener("pointerup",A),u.removeEventListener("pointercancel",A)},K=X=>{Math.hypot(X.clientX-p,X.clientY-f)>nt&&A()},te=setTimeout(()=>{if(O)return;u.removeEventListener("pointermove",K),u.removeEventListener("pointerup",A),u.removeEventListener("pointercancel",A);try{u.setPointerCapture(T)}catch{return}navigator.vibrate&&navigator.vibrate(10);let X=ee=>{u.removeEventListener("pointerup",X),u.removeEventListener("pointercancel",X),ot(P,ee)};u.addEventListener("pointerup",X),u.addEventListener("pointercancel",X)},tt);u.addEventListener("pointermove",K),u.addEventListener("pointerup",A),u.addEventListener("pointercancel",A)},children:[le("div",{className:"rdd-tooltip-header-row",children:[le("span",{className:"rdd-tooltip-title-text rdd-text-truncate",style:{maxWidth:"140px"},children:[de(I.title,H),l.panels[I.id]?.dirty?" *":""]}),M("span",{onClick:r=>{r.stopPropagation(),z(I.id),$(null)},title:de(s.closePanel,H),className:"rdd-tooltip-close-x",children:M("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:M("path",{d:"M18 6L6 18M6 6l12 12"})})})]}),M(Pr,{panelId:I.id})]}),document.body),M("button",{type:"button",onClick:()=>v("right"),className:"rdd-taskbar-nav-btn",style:{display:l.minimized.length>4?"block":"none"},children:"\u25B6"})]}),Object.keys(l.panels).map(r=>{let P=l.panels[r];if(!P)return null;let u=Po(r);return bo(M(xr,{panelId:r,children:M("div",{style:{width:"100%",height:"100%"},dir:l.dir,children:yr(r,P,D)})}),u,r)}),j===null&&M(o.Component,{ref:re,theme:"dark",formatMessageProvider:H,onShow:()=>ve(!0),onHide:()=>ve(!1)}),l.draggedPanelId!==null&&!l.floating.some(r=>r.id===l.draggedPanelId)&&le("div",{className:"rdd-drag-ghost-tab",style:{left:Z.x+12,top:Z.y+12,zIndex:1e5},children:["\u{1F4C4} ",de(l.panels[l.draggedPanelId]?.title,H)||"Tab"]})]})},Rr=wr;var zn=class{registry;initialState;config;_actions=null;_initialized=!1;_pendingCalls=[];_pendingOpenPanelIds=new Set;_pendingSubscriptions=[];_disconnectedWarnTimer=null;constructor(t={}){if(this.registry=new xt,this.initialState=t.initialState??null,this.config={formatMessage:t.formatMessage,predefinedMessages:t.predefinedMessages,dir:t.dir,defaultSplitRatio:t.defaultSplitRatio,defaultEdgeSplitRatio:t.defaultEdgeSplitRatio,zIndexBase:t.zIndexBase},t.panels)for(let[n,o]of Object.entries(t.panels))this.registry.register(n,o.component,o.defaultOptions)}_connect(t){this._actions=t,this._disconnectedWarnTimer!==null&&(clearTimeout(this._disconnectedWarnTimer),this._disconnectedWarnTimer=null),this._initialized||(this._initialized=!0);for(let o of this._pendingSubscriptions)o.unsub=t.subscribe(o.event,o.callback);let n=this._pendingCalls.splice(0);for(let o of n)o(t)}_disconnect(){this._actions=null;for(let t of this._pendingSubscriptions)t.unsub?.(),t.unsub=null}get isConnected(){return this._actions!==null}_startWarnTimer(){this._disconnectedWarnTimer===null&&(this._disconnectedWarnTimer=setTimeout(()=>{!this.isConnected&&this._pendingCalls.length>0&&console.error("[react-dockable-desktop] WorkspaceClient has "+this._pendingCalls.length+" queued call(s) but was never connected to a WindowManagerProvider. Did you forget client={workspace} on <WindowManagerProvider>?")},process.env.NODE_ENV==="production"?5e3:1e3))}_dispatch(t){this._actions?t(this._actions):(this._pendingCalls.push(t),this._startWarnTimer())}_subscribeRaw(t,n){if(this._actions)return this._actions.subscribe(t,n);let o={event:t,callback:n,unsub:null};return this._pendingSubscriptions.push(o),()=>{o.unsub?.(),o.unsub=null;let m=this._pendingSubscriptions.indexOf(o);m!==-1&&this._pendingSubscriptions.splice(m,1)}}openPanel(...t){if(this._actions){this._actions.openPanel(...t);return}let n=t[0];this._pendingOpenPanelIds.has(n)||(this._pendingOpenPanelIds.add(n),this._pendingCalls.push(o=>{this._pendingOpenPanelIds.delete(n),o.openPanel(...t)}),this._startWarnTimer())}closePanel(t){this._dispatch(n=>n.closePanel(t))}minimizePanel(t){this._dispatch(n=>n.minimizePanel(t))}restorePanel(t){this._dispatch(n=>n.restorePanel(t))}floatPanel(...t){this._dispatch(n=>n.floatPanel(...t))}dockPanel(...t){this._dispatch(n=>n.dockPanel(...t))}maximizePanel(t){this._dispatch(n=>n.maximizePanel(t))}focusPanel(t){this._dispatch(n=>n.focusPanel(t))}isOpen(t){return this._actions?.isOpen(t)??!1}getOpenPanelIds(){return this._actions?.getOpenPanelIds()??[]}findPanelId(t,n){return this._actions?.findPanelId(t,n)??null}saveLayout(){return this._actions?.saveLayout()??""}loadLayout(t){return this._actions?this._actions.loadLayout(t):(this._pendingCalls.push(n=>{n.loadLayout(t)}),!1)}setDirection(t){this._dispatch(n=>n.setDirection(t))}updateSplitSizes(t,n){this._dispatch(o=>o.updateSplitSizes(t,n))}updateFloatingPosition(t,n){this._dispatch(o=>o.updateFloatingPosition(t,n))}setDraggedPanelId(t){this._dispatch(n=>n.setDraggedPanelId(t))}dockPanelToGroup(t,n,o){this._dispatch(m=>m.dockPanelToGroup(t,n,o))}movePanelOrder(t,n,o){this._dispatch(m=>m.movePanelOrder(t,n,o))}closeLeafGroup(t){this._dispatch(n=>n.closeLeafGroup(t))}registerCloseGuard(t,n){this._dispatch(o=>o.registerCloseGuard(t,n))}unregisterCloseGuard(t){this._dispatch(n=>n.unregisterCloseGuard(t))}registerStateProvider(t,n){this._dispatch(o=>o.registerStateProvider(t,n))}unregisterStateProvider(t){this._dispatch(n=>n.unregisterStateProvider(t))}setPanelDirty(t,n,o){this._dispatch(m=>m.setPanelDirty(t,n,o))}updatePanelTitle(t,n){this._dispatch(o=>o.updatePanelTitle(t,n))}requestClosePanel(t,n){return this._actions?this._actions.requestClosePanel(t,n):(this._pendingCalls.push(o=>{o.requestClosePanel(t,n)}),Promise.resolve())}dockPanelToWorkspaceEdge(t,n){this._dispatch(o=>o.dockPanelToWorkspaceEdge(t,n))}showContextMenu(t){this._dispatch(n=>n.showContextMenu(t))}publish(t,n){this._dispatch(o=>o.publish(t,n))}subscribe(t,n){return this._subscribeRaw(t,n)}onPanelOpen(t){return this._subscribeRaw("panel:opened",n=>{let o=n;t(o.id,o.component)})}onPanelClose(t){return this._subscribeRaw("panel:closed",n=>{t(n.id)})}onPanelMinimize(t){return this._subscribeRaw("panel:minimized",n=>{t(n.id)})}onPanelRestore(t){return this._subscribeRaw("panel:restored",n=>{t(n.id)})}onLayoutChanged(t){return this._subscribeRaw("layout:changed",()=>t())}onPanelsExcluded(t){return this._subscribeRaw("layout:panels-excluded",n=>{t(n.panels)})}};import{useContext as Hr}from"react";import{createContext as Mr,useContext as Tr,useMemo as Sr,useState as wo}from"react";import{jsx as kr}from"react/jsx-runtime";var Ro=Mr(null),an=({children:e})=>{let[t,n]=wo({}),[o,m]=wo({}),l=Sr(()=>({getActiveInGroup:D=>t[D]??null,setActiveInGroup:(D,h)=>n(R=>({...R,[D]:h})),isModifierActive:D=>o[D]??!1,setModifierActive:(D,h)=>m(R=>({...R,[D]:h})),toggleModifier:D=>m(h=>({...h,[D]:!h[D]}))}),[t,o]);return kr(Ro.Provider,{value:l,children:e})};function ln(){let e=Tr(Ro);if(!e)throw new Error("useToolbar must be used within DockableDesktopProvider");return e}import{createContext as Er,useCallback as Ir,useContext as Mo,useLayoutEffect as Lr,useMemo as Nr,useRef as zr,useSyncExternalStore as Dr}from"react";import{jsx as _r}from"react/jsx-runtime";function Wr(){let e=new Map,t=new Set,n=()=>t.forEach(o=>o());return{publish(o,m){return e.set(o,m),n(),()=>{e.get(o)===m&&(e.delete(o),n())}},get(o){return e.get(o)??null},subscribe(o){return t.add(o),()=>t.delete(o)}}}var Dn=Er(null),Wn=({children:e})=>{let t=Nr(()=>Wr(),[]);return _r(Dn.Provider,{value:t,children:e})};function Or(e){let t=nn(),n=Mo(Dn),o=zr(null);if(!n)throw new Error("usePanelContribution must be used within PanelContributionProvider");Lr(()=>{if(n)return o.current?.(),o.current=n.publish(t,e),()=>{o.current?.(),o.current=null}},[n,t,e])}function On(){let e=Le(m=>m.activePanelId),t=Mo(Dn);if(!t)throw new Error("useActivePanelContribution must be used within PanelContributionProvider");let n=Ir(m=>t?t.subscribe(m):()=>{},[t]),o=()=>t&&e?t.get(e):null;return Dr(n,o,o)}function To(e,t=null){return{id:e.id,label:e.label,icon:e.icon??t,renderContent:()=>e.content}}function Ar(e){let t=On();return t?.toolbarItems?.length?[...e,{type:"separator"},...t.toolbarItems]:e}function Fr(e,t=null){let n=On();return n?.sidebarSections?.length?[...e,...n.sidebarSections.map(o=>To(o,t))]:e}import{jsx as Yt}from"react/jsx-runtime";var Br=({contextMenuAdapter:e=Tt,...t})=>{let n=Hr(St),o=Yt(an,{children:Yt(Pn,{...t,children:Yt(Wn,{children:Yt(Tn,{children:t.children})})})});return n!==null?o:Yt(Rn,{adapter:e,formatMessageProvider:t.formatMessage,children:o})};import{useCallback as Xt,useRef as So,useEffect as Gr,useState as Yr,useMemo as Xr}from"react";import{useEffect as $r}from"react";function dn(e){$r(()=>{let t=window.scrollX,n=window.scrollY,o=()=>window.scrollTo(t,n);window.addEventListener("scroll",o);let m=window.setTimeout(()=>{window.removeEventListener("scroll",o)},e);return()=>{window.clearTimeout(m),window.removeEventListener("scroll",o)}},[e])}import{Fragment as jr,jsx as Oe,jsxs as An}from"react/jsx-runtime";var Vr=({modal:e,index:t,isTopmost:n})=>{let{close:o,openModal:m,updateInstance:l,setDirty:D}=ct(),h=De(),R=_e(),{dir:y}=Le(),{modalClass:x,modalBodyClass:b}=je(),S=So(null),{id:L,Component:N,props:W,options:c,dirty:E,dirtyOptions:C}=e,k=c,[g,w]=Yr(k.icon||null),_=So(k);_.current=k,dn(180);let H=de(k.title,h),s=Xt(async F=>{if(F?.force){o(L);return}if(S.current){if(!await S.current())return;o(L);return}if(E){m(pt,{title:C?.title||R.unsavedChangesTitle,message:C?.message||{id:R.unsavedChangesMessage.id,defaultMessage:R.unsavedChangesMessage.defaultMessage,values:{title:H}},alert:C?.alert,alertType:C?.alertType||"danger",useYesNoTitles:!0,onOK:()=>o(L)},{size:"small"});return}o(L)},[o,m,L,E,C,H,R]),z=Xt((F,I)=>D(L,F,I),[D,L]),G=Xt(F=>l(L,{options:{..._.current,title:F}}),[l,L]),Y=Xt(F=>w(F),[]),j=Xt(F=>(S.current=F,()=>{S.current=null}),[]),re=Xr(()=>({requestClose:s,setDirty:z,setTitle:G,setIcon:Y,onCloseRequested:j,containerType:"modal",instanceId:L}),[s,z,G,Y,j,L]),U=E?`${H} *`:H,me=k.size?`rdd-modal-size-${k.size}`:"rdd-modal-size-auto",oe=k.closable!==!1;Gr(()=>{if(!n||!oe)return;let F=I=>{I.key==="Escape"&&(I.stopPropagation(),s())};return document.addEventListener("keydown",F),()=>document.removeEventListener("keydown",F)},[s,oe,n]);let V=`calc(var(--rdd-z-base, 1000) + 9000 + ${t*10})`;return An("div",{className:"rdd-modal-overlay",style:{zIndex:V},dir:y,children:[Oe("div",{className:"rdd-modal-curtain",onClick:oe?()=>s():void 0}),An("div",{className:`rdd-modal-window ${me} ${x??""}`,children:[An("div",{className:"rdd-modal-header",children:[g&&Oe("div",{className:"rdd-modal-icon",children:g}),Oe("h4",{className:"rdd-modal-title",children:U}),oe&&Oe("button",{className:"rdd-modal-close-button",onClick:()=>s(),title:h(R.closeTooltip),type:"button",children:Oe("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:Oe("path",{d:"M18 6L6 18M6 6l12 12"})})})]}),Oe("div",{className:`rdd-modal-body ${b??""}`,children:Oe(st,{value:re,children:Oe(N,{...W,panelId:L})})})]})]})},Kr=()=>{let{modals:e}=Ze();return e.length===0?null:Oe(jr,{children:e.map((t,n)=>Oe(Vr,{modal:t,index:n,isTopmost:n===e.length-1},t.id))})},qr=Kr;import{useCallback as Et,useRef as ko,useEffect as Eo,useState as Zr,useMemo as Ur}from"react";import{Fragment as ni,jsx as ke,jsxs as Fn}from"react/jsx-runtime";var cn=({panel:e,position:t,defaultWidth:n})=>{let{close:o,openModal:m,updateInstance:l,setDirty:D,registerCloseHandler:h,unregisterCloseHandler:R}=ct(),{modals:y}=Ze(),x=De(),b=_e(),{dir:S}=Le(),{sidePanelClass:L,sidePanelBodyClass:N}=je(),W=ko(null),{id:c,Component:E,props:C,options:k,dirty:g,dirtyOptions:w}=e,_=k,[H,s]=Zr(_.icon||null),z=ko(_);z.current=_,dn(250);let G=de(_.title,x),Y=Et(async q=>{if(q?.force){o(c);return}if(W.current){if(!await W.current())return;o(c);return}if(g){m(pt,{title:w?.title||b.unsavedChangesTitle,message:w?.message||{id:b.unsavedChangesMessage.id,defaultMessage:b.unsavedChangesMessage.defaultMessage,values:{title:G}},alert:w?.alert,alertType:w?.alertType||"danger",useYesNoTitles:!0,onOK:()=>o(c)},{size:"small"});return}o(c)},[o,m,c,g,w,G,b]),j=Et(async()=>W.current?await W.current():!g,[g]);Eo(()=>(h(c,j),()=>R(c)),[c,j,h,R]);let re=Et((q,ce)=>D(c,q,ce),[D,c]),U=Et(q=>l(c,{options:{...z.current,title:q}}),[l,c]),me=Et(q=>s(q),[]),oe=Et(q=>(W.current=q,()=>{W.current=null}),[]),V=Ur(()=>({requestClose:Y,setDirty:re,setTitle:U,setIcon:me,onCloseRequested:oe,containerType:t==="left"?"left-panel":"right-panel",instanceId:c}),[Y,re,U,me,oe,t,c]),F=g?`${G} *`:G;Eo(()=>{let q=ce=>{ce.key==="Escape"&&y.length===0&&Y()};return document.addEventListener("keydown",q),()=>document.removeEventListener("keydown",q)},[Y,y.length]);let I=_.width||n||400,$=typeof I=="number"?`${I}px`:I;return ke("div",{className:`rdd-side-panel rdd-side-panel-${t} rdd-side-panel-visible ${L??""}`,style:{width:$},dir:S,children:Fn("div",{className:"rdd-side-panel-window",children:[Fn("div",{className:"rdd-side-panel-header",children:[H&&ke("div",{className:"rdd-side-panel-icon",children:H}),ke("h4",{className:"rdd-side-panel-title",children:F}),ke("button",{className:"rdd-side-panel-close-button",onClick:()=>Y(),title:x(b.closeTooltip),type:"button",children:ke("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:ke("path",{d:"M18 6L6 18M6 6l12 12"})})})]}),ke("div",{className:`rdd-side-panel-body ${N??""}`,children:ke(st,{value:V,children:ke(E,{...C,panelId:c})})})]})})},Jr=({defaultWidth:e})=>{let{leftPanel:t,rightPanel:n}=Ze();return Fn(ni,{children:[t&&ke(cn,{panel:t,position:"left",defaultWidth:e},t.id),n&&ke(cn,{panel:n,position:"right",defaultWidth:e},n.id)]})},Qr=({defaultWidth:e})=>{let{leftPanel:t}=Ze();return t?ke(cn,{panel:t,position:"left",defaultWidth:e},t.id):null},ei=({defaultWidth:e})=>{let{rightPanel:t}=Ze();return t?ke(cn,{panel:t,position:"right",defaultWidth:e},t.id):null},ti=Jr;import oi,{useState as _n,useEffect as Hn,useRef as Bn,useCallback as un,useImperativeHandle as ri,useContext as zo,useMemo as Qe,createContext as Do,forwardRef as ii,memo as si}from"react";import{jsx as ue,jsxs as pn}from"react/jsx-runtime";function $n(e){return"renderContent"in e}function ai(e){return"render"in e}function Io(e){return e==null?[]:Array.isArray(e)?e:[e]}var Wo=Do(null),Oo=Do(null);function li({tabId:e,onClose:t,onOpen:n,setActiveTabId:o,children:m}){let l=Qe(()=>({tabId:e,onClose:t,onOpen:n,openTab:D=>o(D)}),[e,t,n,o]);return ue(Oo.Provider,{value:l,children:m})}function Lo(e,t,n,o){if(ai(e))return ue(oi.Fragment,{children:e.render()},e.id??t);if($n(e)){let m=n===e.id;return ue("button",{type:"button",onClick:()=>o(e.id),className:`rdd-sidebar-tab-btn${m?" rdd-active":""}`,title:e.label,"aria-pressed":m,children:e.icon},e.id)}return ue("button",{type:"button",onClick:e.onClick,disabled:e.disabled,className:"rdd-sidebar-tab-btn rdd-sidebar-header-action-btn",title:e.label,"aria-label":e.label,children:e.icon},e.id??t)}var No=si(function({tabs:t,headerEntries:n,footerEntries:o,activeTabId:m,isVisible:l,position:D,onTabClick:h}){return ue("div",{style:{width:l?"56px":"0px",height:"100%",overflow:"hidden",transition:"width 0.25s cubic-bezier(0.4, 0, 0.2, 1)",flexShrink:0},children:pn("div",{className:`rdd-sidebar-tabs-strip rdd-${D}${n.length?" rdd-sidebar-tabs-strip--has-header-action":""}${o.length?" rdd-sidebar-tabs-strip--has-footer-action":""}`,style:{width:"56px",height:"100%"},children:[n.length>0&&ue("div",{className:"rdd-sidebar-header-area",children:n.map((R,y)=>Lo(R,y,m,h))}),ue("div",{className:"rdd-sidebar-tabs-list",children:t.map(R=>{let y=m===R.id;return ue("button",{type:"button",onClick:()=>h(R.id),className:`rdd-sidebar-tab-btn${y?" rdd-active":""}`,title:R.label,"aria-pressed":y,children:R.icon},R.id)})}),o.length>0&&ue("div",{className:"rdd-sidebar-footer-area",children:o.map((R,y)=>Lo(R,y,m,h))})]})})});function di({position:e,currentWidth:t,minWidth:n,maxWidth:o,onWidthChange:m,rootRef:l}){return ue("div",{className:"rdd-resizer-bar",style:{cursor:"col-resize",width:"1px",height:"100%",flexShrink:0,zIndex:20},onPointerDown:h=>{h.preventDefault();let R=h.currentTarget,y=[{el:R,classes:["rdd-active"]},{el:document.body,classes:["rdd-resizing-active","rdd-resizing-col-active"]}];l.current&&y.push({el:l.current,classes:["rdd-sidebar-resizing"]}),Ue({element:R,pointerId:h.pointerId,startClientX:h.clientX,startClientY:h.clientY,captureStart:()=>t,activeClasses:y,onMove:(x,b,S)=>{let L=e==="right"?S-x:S+x;m(Math.max(n,Math.min(o,L)))}})}})}var ci=ii(function({position:t="right",tabs:n,headerAction:o,footerAction:m,defaultWidth:l,minWidth:D=150,maxWidth:h=600,onWidthChange:R,activeTabId:y,onActiveTabChange:x,visible:b,onVisibilityChange:S,stripVisible:L,onStripVisibilityChange:N,showCloseButton:W=!1,children:c},E){let C=y!==void 0,[k,g]=_n(()=>l??280),w=un(Z=>{g(Z),R?.(Z)},[R]),[_,H]=_n(null),s=C?y:_,z=Qe(()=>Io(o),[o]),G=Qe(()=>Io(m),[m]),Y=Qe(()=>z.filter($n),[z]),j=Qe(()=>G.filter($n),[G]),re=Qe(()=>[...Y,...n,...j],[Y,n,j]),[U,me]=_n(()=>new Set),oe=Qe(()=>{let Z=new Set(U);s&&Z.add(s);for(let Pe of re)Pe.eagerMount&&Z.add(Pe.id);return Z},[U,s,re]),V=Bn(s??null);Hn(()=>{V.current=s??null},[s]);let F=Bn(k);Hn(()=>{F.current=k},[k]);let I=Bn(null),$=un(Z=>{me(Z!==null?Pe=>{if(Pe.has(Z))return Pe;let Re=new Set(Pe);return Re.add(Z),Re}:Pe=>{let Re=!1,Ae=new Set(Pe);for(let $e of Pe){let fe=re.find(mt=>mt.id===$e);fe&&!fe.eagerMount&&!fe.preserveState&&(Ae.delete($e),Re=!0)}return Re?Ae:Pe}),C||H(Z),x?.(Z)},[C,x,re]);Hn(()=>{s!=null&&!re.some(Z=>Z.id===s)&&$(null)},[s,re,$]),ri(E,()=>({openTab:Z=>$(Z),closeDrawer:()=>$(null),getActiveTab:()=>V.current,show:()=>S?.(!0),hide:()=>S?.(!1),toggle:()=>S?.(b===!1),showStrip:()=>N?.(!0),hideStrip:()=>N?.(!1),setWidth:Z=>w(Math.max(D,Math.min(h,Z))),getWidth:()=>F.current}),[$,b,S,N,w,D,h]);let q=un(Z=>{$(s===Z?null:Z)},[s,$]),ce=un(()=>$(null),[$]),be=Qe(()=>({openTab:Z=>$(Z),closeDrawer:()=>$(null),getActiveTab:()=>V.current}),[$]),ve=b!==!1,ye=ve&&L!==!1,Me=ve&&s!=null,Se=ue("div",{className:`rdd-sidebar-content-drawer rdd-${t}`,style:{flexBasis:Me?`${k}px`:"0px",flexShrink:1,flexGrow:0,minWidth:Me?`${D}px`:"0px",maxWidth:Me?`${h}px`:"0px",overflow:"hidden",transition:"flex-basis 0.2s cubic-bezier(0.4, 0, 0.2, 1), min-width 0.2s cubic-bezier(0.4, 0, 0.2, 1), max-width 0.2s cubic-bezier(0.4, 0, 0.2, 1)"},children:re.map(Z=>{if(!oe.has(Z.id))return null;let Re=s===Z.id,Ae=()=>$(Z.id);return pn("div",{style:{display:Re?"flex":"none",flexDirection:"column",height:"100%",width:"100%"},children:[pn("div",{className:"rdd-sidebar-drawer-header",children:[ue("span",{className:"rdd-sidebar-header-title",children:Z.label}),W&&ue("button",{type:"button",className:"rdd-sidebar-drawer-close-button",onClick:ce,title:"Close","aria-label":"Close",children:ue("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:ue("path",{d:"M18 6L6 18M6 6l12 12"})})})]}),ue("div",{className:"rdd-sidebar-drawer-body",children:ue(li,{tabId:Z.id,onClose:ce,onOpen:Ae,setActiveTabId:$,children:Z.renderContent(Z.id,ce,Ae)})})]},Z.id)})}),Te=Me?ue(di,{position:t,currentWidth:k,minWidth:D,maxWidth:h,onWidthChange:w,rootRef:I}):null;return ue(Wo.Provider,{value:be,children:pn("div",{ref:I,style:{display:"flex",flexDirection:"row",width:"100%",height:"100%",overflow:"hidden"},children:[t==="left"&&ue(No,{tabs:n,headerEntries:z,footerEntries:G,activeTabId:s,isVisible:ye,position:t,onTabClick:q}),t==="left"&&Se,t==="left"&&Te,ue("div",{style:{flex:"1 1 0%",minWidth:0,overflow:"hidden"},children:c}),t==="right"&&Te,t==="right"&&Se,t==="right"&&ue(No,{tabs:n,headerEntries:z,footerEntries:G,activeTabId:s,isVisible:ye,position:t,onTabClick:q})]})})});function ui(){let e=zo(Wo);if(!e)throw new Error("useSidebar must be used within Sidebar");return e}function pi(){let e=zo(Oo);if(!e)throw new Error("useSidebarTab must be used within a Sidebar tab renderContent tree");return e}import{forwardRef as gi,useImperativeHandle as mi,useState as Ao,useRef as Fo,useEffect as _o,useLayoutEffect as fi}from"react";import{createPortal as hi}from"react-dom";import{Fragment as xi,jsx as Ne,jsxs as Ho}from"react/jsx-runtime";function bi(e,t,n=!1,o=8){switch(t){case"left":return n?{right:window.innerWidth-e.left+o,top:e.top}:{left:e.right+o,top:e.top};case"right":return n?{left:e.right+o,top:e.top}:{right:window.innerWidth-e.left+o,top:e.top};case"top":return n?{top:e.bottom+o,right:window.innerWidth-e.right}:{top:e.bottom+o,left:e.left};case"bottom":return n?{bottom:window.innerHeight-e.top+o,right:window.innerWidth-e.right}:{bottom:window.innerHeight-e.top+o,left:e.left}}}function vi({item:e,position:t,toolbar:n}){let[o,m]=Ao(!1),[l,D]=Ao(null),h=Fo(null),R=Fo(null),y=e.activeItemId!==void 0,x=y?e.activeItemId:n.getActiveInGroup(e.id),b=e.items.find(c=>!("type"in c)&&c.id===x),S=x!==null,L=b?.icon??e.defaultIcon,N=b?.label??e.label,W=()=>{e.disabled||(!o&&h.current&&D(h.current.getBoundingClientRect()),m(c=>!c))};return fi(()=>{if(!o||!R.current)return;let c=R.current,E=c.getBoundingClientRect(),C=8;E.right>window.innerWidth-C&&(c.style.left=`${Math.max(C,window.innerWidth-E.width-C)}px`,c.style.right="auto"),E.left<C&&(c.style.left=`${C}px`,c.style.right="auto"),E.bottom>window.innerHeight-C&&(c.style.top=`${Math.max(C,window.innerHeight-E.height-C)}px`,c.style.bottom="auto"),E.top<C&&(c.style.top=`${C}px`,c.style.bottom="auto")},[o]),_o(()=>{if(!o)return;let c=E=>{let C=E.target;h.current?.contains(C)||R.current?.contains(C)||m(!1)};return document.addEventListener("mousedown",c),()=>document.removeEventListener("mousedown",c)},[o]),_o(()=>{if(!o)return;let c=E=>{E.key==="Escape"&&m(!1)};return document.addEventListener("keydown",c),()=>document.removeEventListener("keydown",c)},[o]),Ho(xi,{children:[Ne("button",{ref:h,type:"button",className:`rdd-toolbar-btn rdd-toolbar-btn-group${S?" rdd-active":""}`,title:N,"aria-label":N,"aria-expanded":o,"aria-haspopup":"menu",disabled:e.disabled,onClick:W,children:L}),o&&l&&hi(Ne("div",{ref:R,className:`rdd-toolbar-group-flyout rdd-${t}`,style:bi(l,t,document.documentElement.dir==="rtl"),role:"menu",children:e.items.map((c,E)=>{if("type"in c)return Ne("div",{className:"rdd-toolbar-group-flyout-sep",role:"separator"},`sep-${E}`);let C=x===c.id;return Ho("button",{type:"button",className:`rdd-toolbar-group-flyout-item${C?" rdd-active":""}`,disabled:c.disabled,role:"menuitem","aria-pressed":C,onClick:()=>{y?e.onActiveItemChange?.(c.id):n.setActiveInGroup(e.id,c.id),c.onActivate?.(c.id),m(!1)},children:[Ne("span",{className:"rdd-toolbar-group-flyout-icon",children:c.icon}),Ne("span",{className:"rdd-toolbar-group-flyout-label",children:c.label}),c.shortcut&&Ne("span",{className:"rdd-toolbar-group-flyout-shortcut",children:c.shortcut})]},c.id)})}),document.body)]})}function yi(e,t,n,o){switch(e.type){case"separator":return Ne("div",{className:"rdd-toolbar-separator",role:"separator"},`sep-${t}`);case"action":return Ne("button",{type:"button",className:"rdd-toolbar-btn rdd-toolbar-btn-action",title:e.label,"aria-label":e.label,disabled:e.disabled,onClick:e.onClick,children:e.icon},e.id);case"radio":{let m=n.getActiveInGroup(e.group)===e.id;return Ne("button",{type:"button",className:`rdd-toolbar-btn rdd-toolbar-btn-radio${m?" rdd-active":""}`,title:e.label,"aria-label":e.label,"aria-pressed":m,disabled:e.disabled,onClick:()=>{n.setActiveInGroup(e.group,e.id),e.onActivate?.(e.id)},children:e.icon},e.id)}case"toggle":{let m=e.active!==void 0,l=m?e.active:n.isModifierActive(e.id);return Ne("button",{type:"button",className:`rdd-toolbar-btn rdd-toolbar-btn-toggle${l?" rdd-active":""}`,title:e.label,"aria-label":e.label,"aria-pressed":l,disabled:e.disabled,onClick:()=>{m||n.toggleModifier(e.id),e.onToggle?.(!l)},children:e.icon},e.id)}case"group":return Ne(vi,{item:e,position:o,toolbar:n},e.id)}}var Pi=gi(function({position:t="left",items:n,visible:o,onVisibilityChange:m,className:l,style:D},h){let R=ln(),y=t==="left"||t==="right";mi(h,()=>({show:()=>m?.(!0),hide:()=>m?.(!1),toggle:()=>m?.(o===!1)}),[o,m]);let x=o!==!1?{}:y?{width:"0px"}:{height:"0px"};return Ne("div",{className:`rdd-toolbar-strip rdd-${t}${l?` ${l}`:""}`,role:"toolbar","aria-orientation":y?"vertical":"horizontal",style:{...x,...D},children:n.map((b,S)=>yi(b,S,R,t))})});import{useCallback as Yn,useEffect as Vt,useLayoutEffect as Ci,useRef as It,useState as Xn}from"react";import{createPortal as Bo}from"react-dom";import{jsx as ge,jsxs as Kt}from"react/jsx-runtime";var Vn=class{listeners=new Set;counter=0;subscribe(t){this.listeners.add(t)}unsubscribe(t){this.listeners.delete(t)}show(t,n={}){let o=n.id??`toast-${++this.counter}`;return this.emit({kind:"show",id:o,message:t,rawOpts:{...n,id:o}}),o}update(t,n,o){this.emit({kind:"update",id:t,message:n,patch:o})}dismiss(t){this.emit({kind:"dismiss",id:t})}emit(t){this.listeners.forEach(n=>n(t))}},Ee=new Vn,wi=Object.assign((e,t)=>Ee.show(e,t),{info:(e,t)=>Ee.show(e,{...t,type:"info"}),success:(e,t)=>Ee.show(e,{...t,type:"success"}),warning:(e,t)=>Ee.show(e,{...t,type:"warning"}),error:(e,t)=>Ee.show(e,{...t,type:"error"}),dismiss:e=>Ee.dismiss(e),promise:(e,t,n)=>{let o=Ee.show(t.pending,{...n,type:"info",duration:0});return e.then(m=>{let l=typeof t.success=="function"?t.success(m):t.success;Ee.update(o,l,{type:"success",duration:n?.duration??5e3})},m=>{let l=typeof t.error=="function"?t.error(m):t.error;Ee.update(o,l,{type:"error",duration:n?.duration??5e3})}),e}}),Ri=()=>Kt("svg",{className:"rdd-toast__icon",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[ge("circle",{cx:"8",cy:"8",r:"7",stroke:"currentColor",strokeWidth:"1.5"}),ge("path",{d:"M8 5v.01M8 7.5v3.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]}),Mi=()=>Kt("svg",{className:"rdd-toast__icon",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[ge("circle",{cx:"8",cy:"8",r:"7",stroke:"currentColor",strokeWidth:"1.5"}),ge("path",{d:"M5 8l2 2 4-4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]}),Ti=()=>Kt("svg",{className:"rdd-toast__icon",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[ge("path",{d:"M8 2.5L14 13.5H2L8 2.5z",stroke:"currentColor",strokeWidth:"1.5",strokeLinejoin:"round"}),ge("path",{d:"M8 7v2.5M8 11.5v.01",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]}),Si=()=>Kt("svg",{className:"rdd-toast__icon",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[ge("circle",{cx:"8",cy:"8",r:"7",stroke:"currentColor",strokeWidth:"1.5"}),ge("path",{d:"M5.5 5.5l5 5M10.5 5.5l-5 5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]}),ki=()=>ge("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:ge("path",{d:"M4 4l8 8M12 4l-8 8",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})}),Ei={info:ge(Ri,{}),success:ge(Mi,{}),warning:ge(Ti,{}),error:ge(Si,{})};function Ii({id:e,message:t,options:n,exiting:o,isLeft:m,showProgress:l,pauseOnHover:D,animation:h,onDismiss:R,onExited:y}){let x=It(null),b=It(null),S=It(n.duration),L=It(0),[N,W]=Xn(!1),c=h==="none"?"rdd-toast--visible":h==="fade"?"rdd-toast--fade-entering":m?"rdd-toast--entering-left":"rdd-toast--entering",[E,C]=Xn(c);Ci(()=>{x.current&&(x.current.style.maxHeight=`${x.current.offsetHeight}px`)},[]),Vt(()=>{if(h==="none")return;let s=requestAnimationFrame(()=>C("rdd-toast--visible"));return()=>cancelAnimationFrame(s)},[]);let k=Yn(s=>{s<=0||(L.current=Date.now(),b.current=setTimeout(()=>R(e),s))},[e,R]);Vt(()=>(b.current&&clearTimeout(b.current),S.current=n.duration,k(n.duration),()=>{b.current&&clearTimeout(b.current)}),[n.duration,k]),Vt(()=>{if(!o)return;let s=x.current;if(!s||h==="none"){y(e);return}let z=Y=>{Y.propertyName==="max-height"&&y(e)};s.addEventListener("transitionend",z);let G=setTimeout(()=>y(e),520);return()=>{s.removeEventListener("transitionend",z),clearTimeout(G)}},[o,e,y,h]);let g=()=>{!D||n.duration===0||(b.current&&(clearTimeout(b.current),b.current=null,S.current=Math.max(0,S.current-(Date.now()-L.current))),W(!0))},w=()=>{!D||n.duration===0||(W(!1),k(S.current))},_=["rdd-toast",n.type&&`rdd-toast--${n.type}`,E,o&&"rdd-toast--exiting",N&&"rdd-toast--paused"].filter(Boolean).join(" "),H=n.icon!==void 0?n.icon:n.type?Ei[n.type]:null;return Kt("div",{ref:x,role:"status","aria-live":"polite",className:_,onMouseEnter:g,onMouseLeave:w,children:[H&&H,ge("div",{className:"rdd-toast__body",children:n.content!==void 0?n.content:t}),n.closable&&ge("button",{type:"button",className:"rdd-toast__close",onClick:()=>R(e),"aria-label":"Close notification",children:ge(ki,{})}),l&&n.duration>0&&ge("div",{className:"rdd-toast__progress",style:{animationDuration:`${n.duration}ms`}})]})}function Gn(e,t,n){return{id:e.id,type:e.type??"info",duration:e.duration??t,closable:e.closable??n,icon:e.icon,content:e.content,onClose:e.onClose}}function Li({position:e="top-right",maxVisible:t=3,defaultDuration:n=5e3,defaultClosable:o=!0,pauseOnHover:m=!0,animation:l="slide",newestOnTop:D=!1,progressBar:h=!1,width:R=320,adapter:y}){let[x,b]=Xn([]),S=It([]),L=It(x);L.current=x;let N=Yn(k=>{b(g=>g.map(w=>w.id===k?{...w,exiting:!0}:w)),L.current.find(g=>g.id===k)?.options.onClose?.()},[]),W=Yn(k=>{let g=S.current.shift()??null;b(w=>{let _=w.filter(s=>s.id!==k);if(!g)return _;let H=Gn(g.rawOpts,n,o);return[..._,{id:g.id,message:g.message,options:H,exiting:!1}]})},[n,o]);if(Vt(()=>{if(y)return;let k=g=>{if(g.kind==="show"){let w=Gn(g.rawOpts,n,o),_={id:g.id,message:g.message,options:w,exiting:!1},H={id:g.id,message:g.message,rawOpts:g.rawOpts};b(s=>s.find(Y=>Y.id===g.id)?s.map(Y=>Y.id===g.id?{...Y,message:g.message,options:w}:Y):s.filter(Y=>!Y.exiting).length<t?[...s,_]:(S.current.some(Y=>Y.id===H.id)||S.current.push(H),s))}else g.kind==="update"?(b(w=>w.map(_=>{if(_.id!==g.id)return _;let H={..._.options,...g.patch,id:_.id};return{..._,message:g.message,options:H}})),S.current=S.current.map(w=>w.id!==g.id?w:{...w,message:g.message,rawOpts:{...w.rawOpts,...g.patch}})):g.kind==="dismiss"&&(g.id===void 0?(b(w=>w.map(_=>({..._,exiting:!0}))),S.current=[]):L.current.some(_=>_.id===g.id)?N(g.id):S.current=S.current.filter(_=>_.id!==g.id))};return Ee.subscribe(k),()=>Ee.unsubscribe(k)},[y,t,n,o,N]),Vt(()=>{if(!y)return;let k=g=>{if(g.kind==="show"){let w=Gn(g.rawOpts,n,o);y.show(g.id,g.message,w)}else g.kind==="update"?y.update(g.id,g.message,g.patch):g.kind==="dismiss"&&y.dismiss(g.id)};return Ee.subscribe(k),()=>Ee.unsubscribe(k)},[y,n,o]),y){if(!y.Container)return null;let k=y.Container;return Bo(ge(k,{position:e}),document.body)}let c=e.endsWith("left"),E="";D===!0&&(E="rdd-toast-container--newest-top"),D===!1&&(E="rdd-toast-container--newest-bottom");let C=["rdd-toast-container",`rdd-toast-container--${e}`,E].filter(Boolean).join(" ");return Bo(ge("div",{className:C,style:{width:R},"aria-label":"Notifications","aria-live":"polite",children:x.map(k=>ge(Ii,{id:k.id,message:k.message,options:k.options,exiting:k.exiting,isLeft:c,showProgress:h,pauseOnHover:m,animation:l,onDismiss:N,onExited:W},k.id))}),document.body)}import Ni,{useState as we,useContext as gn,createContext as Kn,useRef as Ie,useLayoutEffect as Go,useCallback as Be,useMemo as Lt,useEffect as zi}from"react";import{createPortal as Di}from"react-dom";import{Fragment as qo,jsx as J,jsxs as Xe}from"react/jsx-runtime";var Wi=["top-left","top-right","bottom-left","bottom-right"],Yo=Kn(null),Xo=Kn(null),Vo=Kn(null),et=80;function Oi(e,t,n){let o=e.getBoundingClientRect(),m=t-o.left,l=n-o.top;return m<et&&l<et?"top-left":m>o.width-et&&l<et?"top-right":m<et&&l>o.height-et?"bottom-left":m>o.width-et&&l>o.height-et?"bottom-right":null}function Ai({children:e,className:t,style:n}){let[o,m]=we({}),[l,D]=we({}),[h,R]=we({"top-left":[],"top-right":[],"bottom-left":[],"bottom-right":[]}),[y,x]=we({}),[b,S]=we(null),[L,N]=we(null),[W,c]=we(null),[E,C]=we(()=>new Map),k=Ie(100),g=Ie(null),w=Be((V,F)=>(m(I=>({...I,[V]:F})),()=>m(I=>{let $={...I};return delete $[V],$})),[]),_=Be(V=>{k.current+=1;let F=k.current;D(I=>({...I,[V]:F})),c(V)},[]),H=Be((V,F)=>{R(I=>{let $={"top-left":I["top-left"].filter(q=>q!==V),"top-right":I["top-right"].filter(q=>q!==V),"bottom-left":I["bottom-left"].filter(q=>q!==V),"bottom-right":I["bottom-right"].filter(q=>q!==V)};return $[F]=[...$[F],V],$})},[]),s=Be(V=>{R(F=>({"top-left":F["top-left"].filter(I=>I!==V),"top-right":F["top-right"].filter(I=>I!==V),"bottom-left":F["bottom-left"].filter(I=>I!==V),"bottom-right":F["bottom-right"].filter(I=>I!==V)}))},[]),z=Be((V,F)=>{x(I=>I[V]===F?I:{...I,[V]:F})},[]),G=Be((V,F)=>{C(I=>{let $=new Map(I);return $.set(V,F),$})},[]),Y=Be(V=>{C(F=>{let I=new Map(F);return I.delete(V),I})},[]),j=Be(()=>{C(new Map)},[]),re=Lt(()=>Array.from(E.keys()),[E]),U=Lt(()=>({registerToolbar:w,insetTop:o.top??0,insetBottom:o.bottom??0}),[w,o]),me=Lt(()=>({managedWindowIds:re,openManaged:G,closeManaged:Y,closeAllManaged:j}),[re,G,Y,j]),oe=Lt(()=>({topId:W,zOrders:l,focusWindow:_,containerRef:g,stacks:h,dockedSizes:y,dockWindow:H,undockWindow:s,reportDockedSize:z,draggingId:b,setDraggingId:S,hoveredZone:L,setHoveredZone:N,insetTop:o.top??0,insetBottom:o.bottom??0}),[W,l,_,h,y,H,s,z,b,L,o]);return J(Yo.Provider,{value:U,children:J(Xo.Provider,{value:me,children:J(Vo.Provider,{value:oe,children:Xe("div",{ref:g,className:`rdd-panel-overlay-root${b!==null?" rdd-dragging-active":""}${t?" "+t:""}`,style:n,children:[e,b!==null&&J(Fi,{hoveredZone:L}),Array.from(E.entries()).map(([V,F])=>J(Ko,{id:V,title:F.title,icon:F.icon,open:!0,onClose:()=>Y(V),defaultAnchor:F.anchor??"top-right",defaultWidth:F.width??320,defaultHeight:F.height??240,children:F.content},V))]})})})})}function Fi({hoveredZone:e}){return J(qo,{children:Wi.map(t=>J("div",{className:`rdd-panel-float-dropzone rdd-panel-float-dropzone--${t}${e===t?" rdd-panel-float-dropzone--hovered":""}`,"aria-hidden":"true"},t))})}function _i({position:e,variant:t="transparent",buttonVariant:n="ghost",buttonSize:o,style:m,className:l,children:D}){let h=gn(Yo),R=Ie(null),y=Ie(null);Go(()=>{let N=R.current;if(!N||!h)return;let W=()=>{let E=e==="top"||e==="bottom"?N.offsetHeight:N.offsetWidth;y.current?.(),y.current=h.registerToolbar(e,E)};W();let c=new ResizeObserver(W);return c.observe(N),()=>{c.disconnect(),y.current?.(),y.current=null}},[e,h?.registerToolbar]);let x={position:"absolute",zIndex:5,pointerEvents:"none",boxSizing:"border-box"};e==="top"?(x.top=0,x.left=0,x.right=0):e==="bottom"?(x.bottom=0,x.left=0,x.right=0):e==="left"?(x.insetInlineStart=0,x.top=h?.insetTop??0,x.bottom=h?.insetBottom??0):(x.insetInlineEnd=0,x.top=h?.insetTop??0,x.bottom=h?.insetBottom??0);let S=e==="left"||e==="right"?{...(h?.insetTop??0)>0?{paddingTop:0}:{},...(h?.insetBottom??0)>0?{paddingBottom:0}:{}}:{},L=o!=null?{"--rdd-panel-toolbar-btn-size":`${o}px`}:{};return J("div",{ref:R,className:`rdd-panel-toolbar rdd-panel-toolbar--${e}${l?" "+l:""}`,"data-variant":t,"data-btn-variant":n,style:{...x,...S,...L,...m},children:D})}function Hi({icon:e,onClick:t,disabled:n,title:o,variant:m}){return J("button",{type:"button",className:"rdd-panel-toolbar-btn",onClick:t,disabled:n,title:o,"aria-label":o,...m?{"data-variant":m}:{},children:e})}function Bi({icon:e,active:t,onToggle:n,disabled:o,title:m,variant:l}){return J("button",{type:"button",className:`rdd-panel-toolbar-btn${t?" rdd-panel-toolbar-btn--active":""}`,onClick:n,disabled:o,title:m,"aria-label":m,"aria-pressed":t,...l?{"data-variant":l}:{},children:e})}function $i(){return J("span",{className:"rdd-panel-toolbar__sep","aria-hidden":"true"})}function Gi(){return J("span",{className:"rdd-panel-toolbar__spacer","aria-hidden":"true"})}function Yi({children:e}){return J("span",{className:"rdd-panel-toolbar__item",children:e})}function Xi({children:e}){return J("div",{className:"rdd-panel-toolbar__center",children:e})}function Vi({placeholder:e="Search\u2026",onSearch:t,onSelect:n}){let[o,m]=we(!1),[l,D]=we(""),[h,R]=we([]),[y,x]=we(null),b=Ie(null),S=Ie(null),L=Ie(null),N=Ie(null),W=()=>{m(!0),setTimeout(()=>S.current?.focus({preventScroll:!0}),0)},c=()=>{m(!1),D(""),R([]),x(null),L.current?.abort(),N.current&&clearTimeout(N.current)},E=H=>{let s=H.target.value;if(D(s),L.current?.abort(),N.current&&clearTimeout(N.current),!s.trim()){R([]),x(null);return}N.current=setTimeout(async()=>{let z=new AbortController;L.current=z;try{let G=await t(s,z.signal);if(!z.signal.aborted){R(G);let Y=b.current;if(Y&&G.length>0){let j=Y.getBoundingClientRect(),re=Math.max(j.width,240),U=j.left;U+re>window.innerWidth-8&&(U=window.innerWidth-re-8),x({top:j.bottom+4,left:U,width:re})}else x(null)}}catch{}},300)},C=H=>{n(H),c()},k=H=>{b.current?.contains(H.relatedTarget)||c()},g=H=>{H.key==="Escape"&&c()},w=Lt(()=>{let H={};for(let s of h){let z=s.group??"";H[z]||(H[z]=[]),H[z].push(s)}return H},[h]),_=Xe("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[J("circle",{cx:"6.5",cy:"6.5",r:"4.5"}),J("line",{x1:"10",y1:"10",x2:"14",y2:"14"})]});return o?Xe("div",{ref:b,className:"rdd-panel-toolbar-search rdd-panel-toolbar-search--open",onBlur:k,children:[J("button",{type:"button",className:"rdd-panel-toolbar-btn",onClick:c,"aria-label":"Close search",title:"Close search",children:_}),J("input",{ref:S,className:"rdd-panel-toolbar-search__input",type:"text",value:l,onChange:E,onKeyDown:g,placeholder:e,autoComplete:"off"}),y&&h.length>0&&Di(J("div",{className:"rdd-panel-toolbar-search__dropdown",style:{position:"fixed",top:y.top,left:y.left,width:y.width,zIndex:9502},onMouseDown:H=>H.preventDefault(),children:Object.entries(w).map(([H,s])=>Xe(Ni.Fragment,{children:[H&&J("div",{className:"rdd-panel-toolbar-search__group",children:H}),s.map(z=>Xe("button",{type:"button",className:"rdd-panel-toolbar-search__item",onClick:()=>C(z),children:[z.icon&&J("span",{className:"rdd-panel-toolbar-search__item-icon",children:z.icon}),J("span",{className:"rdd-panel-toolbar-search__item-label",children:z.label}),z.description&&J("span",{className:"rdd-panel-toolbar-search__item-desc",children:z.description})]},z.id))]},H||"__default__"))}),document.body)]}):J("div",{ref:b,className:"rdd-panel-toolbar-search",children:J("button",{type:"button",className:"rdd-panel-toolbar-btn",onClick:W,title:"Search","aria-label":"Search",children:_})})}function Ko(e){let t=gn(Vo);return e.open?J(Zi,{ctx:t,...e},e.id):null}var Ki=120,qi=60,$o=8,ji=8;function Zi({id:e,title:t,icon:n,defaultAnchor:o,defaultWidth:m,defaultHeight:l,children:D,ctx:h,onClose:R}){let y=gn(Rt)?.isRtl??!1,[x,b]=we("docked"),[S,L]=we(o),[N,W]=we(null),[c,E]=we({w:m,h:l}),C=Ie(null),k=Ie(x);k.current=x;let g=Ie(N);g.current=N;let w=Ie(c);w.current=c;let _=Ie(null);Go(()=>(h?.dockWindow(e,o),()=>{h?.undockWindow(e)}),[]),zi(()=>{h?.reportDockedSize(e,c.h)},[c.h]);let H=h?.zOrders[e]??101,s=!h||h.topId===e,z=()=>{let F=C.current?.offsetParent;return{cw:F?.clientWidth??9999,ch:F?.clientHeight??9999}},G=()=>{h?.focusWindow(e)},Y=F=>{if(F.button!==0)return;F.preventDefault();let I,$;if(k.current==="docked"){let q=C.current,ce=h?.containerRef?.current;if(q&&ce){let be=q.getBoundingClientRect(),ve=ce.getBoundingClientRect();I=be.left-ve.left,$=be.top-ve.top}else I=$o,$=h?.insetTop??0;h?.undockWindow(e),b("free"),W({x:I,y:$})}else I=g.current?.x??0,$=g.current?.y??0;_.current={mouseX:F.clientX,mouseY:F.clientY,posX:I,posY:$,hasDragged:!1},C.current?.setPointerCapture(F.pointerId),document.body.classList.add("rdd-dragging-active")},j=F=>I=>{if(I.button!==0)return;I.preventDefault(),I.stopPropagation();let $=0,q=0;if(k.current==="free")$=g.current?.x??0,q=g.current?.y??0;else{let be=C.current,ve=be?.offsetParent;if(be&&ve){let ye=be.getBoundingClientRect(),Me=ve.getBoundingClientRect();$=ye.left-Me.left,q=ye.top-Me.top}}let ce={x:$,y:q,w:w.current.w,h:w.current.h};Ue({element:I.currentTarget,pointerId:I.pointerId,startClientX:I.clientX,startClientY:I.clientY,captureStart:()=>ce,activeClasses:[{el:document.body,classes:["rdd-resizing-active"]}],onMove:(be,ve,ye)=>{let{cw:Me,ch:Se}=z(),{x:Te,y:Z,w:Pe,h:Re}=$t(F,be,ve,ye,{minW:Ki,minH:qi,maxW:Me-ye.x,maxH:Se-ye.y,minX:0,minY:0});E({w:Pe,h:Re}),k.current==="free"&&W({x:Te,y:Z})}})},re=F=>{if(_.current){let I=_.current;if(!I.hasDragged){if(Math.abs(F.clientX-I.mouseX)+Math.abs(F.clientY-I.mouseY)<4)return;I.hasDragged=!0,h?.setDraggingId(e)}let{cw:$,ch:q}=z(),ce=Math.max(0,Math.min(I.posX+F.clientX-I.mouseX,$-w.current.w)),be=Math.max(0,Math.min(I.posY+F.clientY-I.mouseY,q-w.current.h));W({x:ce,y:be});let ve=h?.containerRef?.current;if(ve){let ye=Oi(ve,F.clientX,F.clientY);h?.setHoveredZone(ye&&y?Bt(ye):ye)}}},U=()=>{if(_.current){let F=h?.hoveredZone;F&&(h?.dockWindow(e,F),L(F),b("docked"),W(null)),h?.setHoveredZone(null),h?.setDraggingId(null)}document.body.classList.remove("rdd-dragging-active"),_.current=null},me=()=>{_.current&&(h?.setHoveredZone(null),h?.setDraggingId(null)),document.body.classList.remove("rdd-dragging-active"),_.current=null},oe;if(x==="docked"&&h){let F=h.stacks[S]??[],I=F.indexOf(e),$=0;for(let q=0;q<I;q++)$+=(h.dockedSizes[F[q]]??l)+ji;oe={width:c.w,height:c.h,zIndex:H,transition:"top 0.2s ease, bottom 0.2s ease",opacity:I===-1?0:void 0,pointerEvents:I===-1?"none":void 0},oe[S.endsWith("-right")?"insetInlineEnd":"insetInlineStart"]=$o,S.startsWith("top-")?oe.top=h.insetTop+$:oe.bottom=h.insetBottom+$}else oe={left:N?.x??0,top:N?.y??0,width:c.w,height:c.h,zIndex:H};return Xe("div",{ref:C,dir:y?"rtl":"ltr",className:`rdd-panel-float${s?" rdd-panel-float--active":""}`,style:oe,onPointerDown:G,onPointerMove:re,onPointerUp:U,onPointerCancel:me,children:[Xe("div",{className:"rdd-panel-float__header",onPointerDown:Y,children:[n&&J("span",{className:"rdd-panel-float__icon",children:n}),J("span",{className:"rdd-panel-float__title",children:t}),J("button",{type:"button",className:"rdd-panel-float__close",onClick:R,onPointerDown:F=>F.stopPropagation(),title:"Close","aria-label":"Close",children:Xe("svg",{width:"8",height:"8",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",children:[J("line",{x1:"1",y1:"1",x2:"9",y2:"9"}),J("line",{x1:"9",y1:"1",x2:"1",y2:"9"})]})})]}),J("div",{className:"rdd-panel-float__body",children:D}),x==="free"&&Xe(qo,{children:[J("div",{className:"rdd-resize-handle rdd-resize-n",onPointerDown:j("n")}),J("div",{className:"rdd-resize-handle rdd-resize-ne",onPointerDown:j("ne")}),J("div",{className:"rdd-resize-handle rdd-resize-nw",onPointerDown:j("nw")})]}),J("div",{className:"rdd-resize-handle rdd-resize-e",onPointerDown:j("e")}),J("div",{className:"rdd-resize-handle rdd-resize-se",onPointerDown:j("se")}),J("div",{className:"rdd-resize-handle rdd-resize-s",onPointerDown:j("s")}),J("div",{className:"rdd-resize-handle rdd-resize-sw",onPointerDown:j("sw")}),J("div",{className:"rdd-resize-handle rdd-resize-w",onPointerDown:j("w")})]})}function Ui(){let[e,t]=we(!1),n=Be(()=>{t(!0)},[]),o=Be(()=>{t(!1)},[]);return{isOpen:e,open:n,close:o}}var Ji=[];function Qi(){let e=gn(Xo),t=e?.managedWindowIds??Ji;return Lt(()=>({open:(n,o)=>e?.openManaged(n,o),close:n=>e?.closeManaged(n),closeAll:()=>e?.closeAllManaged(),isOpen:n=>t.includes(n),openIds:t}),[e,t])}export{pt as ConfirmationForm,wn as ContextMenu,Rn as ContextMenuProvider,Tt as DefaultContextMenuAdapter,Br as DockableDesktopProvider,vn as FormContainerContext,st as FormContainerProvider,Qr as LeftPanelRenderer,qr as ModalStackRenderer,Wn as PanelContributionProvider,Ko as PanelFloatingWindow,Ai as PanelOverlayRoot,Tn as PanelProvider,Qt as PanelRegistry,xt as PanelRegistryClass,_i as PanelToolbar,Yi as PanelToolbarItem,$i as PanelToolbarSeparator,ei as RightPanelRenderer,ti as SidePanelRenderer,ci as Sidebar,Li as ToastContainer,Pi as Toolbar,Hi as ToolbarButton,Xi as ToolbarCenter,an as ToolbarProvider,Vi as ToolbarSearchInput,Gi as ToolbarSpacer,Bi as ToolbarToggle,Rr as WindowManager,Pn as WindowManagerProvider,zn as WorkspaceClient,$t as computeResizedRect,Ot as defaultPredefinedMessages,de as formatLabel,Ct as isSerializable,To as sidebarSectionToTab,Ue as startPointerDrag,wi as toast,On as useActivePanelContribution,kn as useColorScheme,Pt as useFormContainer,De as useFormatMessage,Fr as useMergedSidebarTabs,Ar as useMergedToolbarItems,ct as usePanelActions,ir as usePanelContext,sr as usePanelContextMenu,Or as usePanelContribution,Ui as usePanelFloatingWindow,Qi as usePanelFloatingWindowManager,nn as usePanelId,Qo as usePanelSize,Ze as usePanelState,_e as usePredefinedMessages,At as useRegistry,dr as useShowContextMenu,ui as useSidebar,pi as useSidebarTab,je as useStyleClasses,ln as useToolbar,Ft as useWindowManagerActions,Le as useWindowManagerState};
23
+ 3. Verify styles.css is imported \u2014 it anchors html, body, #root to 100% height.`)}mn({width:Math.max(100,f.width),height:Math.max(100,f.height)})});return u.observe(r),()=>{u.disconnect()}},[]),he(()=>{let r=rt.width,P=rt.height;l.floating.forEach(u=>{let p=typeof u.width=="string"?parseFloat(u.width):u.width,f=typeof u.height=="string"?parseFloat(u.height):u.height,T=typeof u.x=="string"?parseFloat(u.x):u.x,O=typeof u.y=="string"?parseFloat(u.y):u.y,A=p,K=f,te=T,X=O,ee=!1;if(A>r&&(A=Math.max(200,r-20),ee=!0),K>P&&(K=Math.max(150,P-40),ee=!0),!u.anchor){let se=r-100;te>se&&(te=Math.max(0,se),ee=!0);let ne=P-40;X>ne&&(X=Math.max(0,ne),ee=!0)}ee&&b(u.id,{x:te,y:X,width:A,height:K})})},[rt,l.floating,b]),he(()=>{let r=P=>{if(P.button!==0)return;let u=P.target;if(!u||typeof u.closest!="function")return;let p=u.closest(".rdd-floating-window");if(p){let T=p.getAttribute("data-window-id");T&&(C(T),S(T));return}let f=u.closest(".rdd-workspace-panel");if(f){let T=f.getAttribute("data-active-panel-id");T&&C(T)}};return document.addEventListener("pointerdown",r),()=>{document.removeEventListener("pointerdown",r)}},[S,C]);let fn=(r,P)=>{P.preventDefault();let u=l.floating.find(X=>X.id===r);if(!u||u.maximized)return;S(r);let p=P.currentTarget,f=p.closest(".rdd-floating-window"),T=P.clientX,O=P.clientY,A=f?f.offsetLeft:0,K=f?f.offsetTop:0,te=()=>{let X=Te.current,ee=Ge.current,se=$e.current,ne=ft.current;if(ne)b(r,{anchor:Nt?Bt(ne):ne});else if(se)E(r,qe(se));else if(ee){let ie=ee.index;ee.side==="right"&&(ie+=1),c(r,ee.leafId,ie)}else X&&W(r,X.leafId,qe(X.position));Ve(null),Fe()};if(P.pointerType==="touch"){let X=P.pointerId,ee=!1,se=()=>{ee=!0,clearTimeout(ie),p.removeEventListener("pointermove",ne),p.removeEventListener("pointerup",se),p.removeEventListener("pointercancel",se)},ne=ae=>{Math.hypot(ae.clientX-T,ae.clientY-O)>nt&&se()},ie=setTimeout(()=>{if(ee)return;p.removeEventListener("pointermove",ne),p.removeEventListener("pointerup",se),p.removeEventListener("pointercancel",se);try{p.setPointerCapture(X)}catch{return}p.classList.add("rdd-long-press-active"),document.body.classList.add("rdd-dragging-active"),N(r);let ae=bt=>{let vt=bt.clientX-T,yt=bt.clientY-O;b(r,{x:A+vt,y:K+yt,anchor:null}),zt(bt.clientX,bt.clientY)},xe=()=>{p.classList.remove("rdd-long-press-active"),document.body.classList.remove("rdd-dragging-active"),p.removeEventListener("pointermove",ae),p.removeEventListener("pointerup",xe),p.removeEventListener("pointercancel",it),te()},it=()=>{p.classList.remove("rdd-long-press-active"),document.body.classList.remove("rdd-dragging-active"),p.removeEventListener("pointermove",ae),p.removeEventListener("pointerup",xe),p.removeEventListener("pointercancel",it),Fe()};p.addEventListener("pointermove",ae),p.addEventListener("pointerup",xe),p.addEventListener("pointercancel",it)},tt);p.addEventListener("pointermove",ne),p.addEventListener("pointerup",se),p.addEventListener("pointercancel",se)}else{let X=!1,ee=ie=>{let ae=ie.clientX-T,xe=ie.clientY-O;!X&&(Math.abs(ae)>5||Math.abs(xe)>5)&&(X=!0,N(r)),X&&b(r,{x:A+ae,y:K+xe,anchor:null})},se=()=>{document.body.classList.remove("rdd-dragging-active"),window.removeEventListener("pointermove",ee),window.removeEventListener("pointerup",se),window.removeEventListener("pointercancel",ne),X&&te()},ne=()=>{document.body.classList.remove("rdd-dragging-active"),window.removeEventListener("pointermove",ee),window.removeEventListener("pointerup",se),window.removeEventListener("pointercancel",ne),X&&Fe()};document.body.classList.add("rdd-dragging-active"),window.addEventListener("pointermove",ee),window.addEventListener("pointerup",se),window.addEventListener("pointercancel",ne)}},i=(r,P,u)=>{u.preventDefault(),u.stopPropagation();let p=l.floating.find(ae=>ae.id===r);if(!p||p.maximized)return;S(r);let f=u.currentTarget,T=f.closest(".rdd-floating-window"),O={x:T?T.offsetLeft:0,y:T?T.offsetTop:0,w:T?T.offsetWidth:400,h:T?T.offsetHeight:300},A=rt.width,K=rt.height,te=typeof p.x=="string"?parseFloat(p.x):p.x,X=typeof p.y=="string"?parseFloat(p.y):p.y,ee=typeof p.width=="string"?parseFloat(p.width):p.width,se=typeof p.height=="string"?parseFloat(p.height):p.height,ne=P==="se"&&Math.abs(te+ee-A)<4,ie=P==="se"&&Math.abs(X+se-K)<4;Ue({element:f,pointerId:u.pointerId,startClientX:u.clientX,startClientY:u.clientY,captureStart:()=>O,activeClasses:[{el:document.body,classes:["rdd-resizing-active"]}],onMove:(ae,xe,it)=>{let bt=$t(P,ae,xe,it,{minW:200,minH:150}),{x:vt,y:yt,w:hn,h:bn}=bt;ne&&(vt=A-hn,vt<0&&(vt=0,hn=A)),ie&&(yt=K-bn,yt<0&&(yt=0,bn=K)),b(r,{x:vt,y:yt,width:hn,height:bn})}})},v=r=>{if(U.current){let P=r==="left"?-150:150;U.current.scrollBy({left:P,behavior:"smooth"})}},d=En(()=>{V.current&&clearTimeout(V.current),oe(!0)},[]),a=En(()=>{V.current=setTimeout(()=>oe(!1),400)},[]);he(()=>{n==="autohide"&&l.minimized.length>F.current&&(V.current&&clearTimeout(V.current),oe(!0),V.current=setTimeout(()=>oe(!1),2e3)),F.current=l.minimized.length},[l.minimized.length,n]);let B=kn();return he(()=>(e?document.documentElement.setAttribute("data-workspace-skin",e):document.documentElement.removeAttribute("data-workspace-skin"),()=>{document.documentElement.removeAttribute("data-workspace-skin")}),[e]),he(()=>(B==="light"?document.documentElement.setAttribute("data-color-scheme","light"):document.documentElement.removeAttribute("data-color-scheme"),()=>{document.documentElement.removeAttribute("data-color-scheme")}),[B]),he(()=>(m?document.documentElement.classList.remove("rdd-no-animations"):document.documentElement.classList.add("rdd-no-animations"),()=>{document.documentElement.classList.remove("rdd-no-animations")}),[m]),le("div",{className:`rdd-workspace${m?"":" rdd-no-animations"}`,"data-workspace-skin":e,"data-color-scheme":B,style:{display:"flex",flexDirection:"column",position:"relative",width:"100%",height:"100%",overflow:"hidden",userSelect:"none"},dir:l.dir,children:[le("div",{ref:ht,className:l.draggedPanelId?"rdd-dragging-active":void 0,style:{flexGrow:1,width:"100%",position:"relative",overflow:"hidden"},children:[l.draggedPanelId!==null&&le(vo,{children:[M("div",{"data-edge-trigger":"left",className:"rdd-workspace-edge-trigger rdd-edge-trigger-left",onPointerEnter:()=>fe("left"),onPointerLeave:()=>fe(null)}),M("div",{"data-edge-trigger":"right",className:"rdd-workspace-edge-trigger rdd-edge-trigger-right",onPointerEnter:()=>fe("right"),onPointerLeave:()=>fe(null)}),M("div",{"data-edge-trigger":"top",className:"rdd-workspace-edge-trigger rdd-edge-trigger-top",onPointerEnter:()=>fe("top"),onPointerLeave:()=>fe(null)}),M("div",{"data-edge-trigger":"bottom",className:"rdd-workspace-edge-trigger rdd-edge-trigger-bottom",onPointerEnter:()=>fe("bottom"),onPointerLeave:()=>fe(null)})]}),l.draggedPanelId!==null&&["top-left","top-right","bottom-left","bottom-right"].map(r=>M("div",{className:`rdd-corner-zone rdd-corner-zone--${r}${mt===r?" rdd-corner-zone--hovered":""}`,onPointerEnter:()=>{Ve(r),fe(null)},onPointerLeave:()=>Ve(null),"aria-hidden":"true"},r)),l.draggedPanelId!==null&&Re!==null&&M("div",{className:"rdd-workspace-edge-preview",style:(()=>{let r=`${l.edgeSplitRatio*100}%`;switch(Re){case"left":return{left:0,top:0,bottom:0,width:r};case"right":return{right:0,top:0,bottom:0,width:r};case"top":return{top:0,left:0,right:0,height:r};case"bottom":return{bottom:0,left:0,right:0,height:r}}})()}),M("div",{style:{width:"100%",height:"100%",overflow:"hidden",position:"relative"},children:l.gridRoot?M(Co,{node:l.gridRoot,path:[],onTabRightClick:Wt,activeDropZone:Me,onHoverDropZone:Ut,onTabDragStart:Jt,hoveredTab:jt,onTabHover:Zt,defaultPanelIcon:t,onRequestClosePanel:z}):M("div",{className:"rdd-empty-workspace-grid",children:"Grid Empty"})}),l.floating.map(r=>{let P=l.panels[r.id];if(!P)return null;let u=r.maximized,p=l.draggedPanelId===r.id,f=l.activePanelId===r.id,O=D.get(P.component)?.defaultOptions;return le("div",{"data-window-id":r.id,dir:l.dir,onPointerDownCapture:()=>{C(r.id),S(r.id)},className:`rdd-floating-window ${u?"rdd-maximized":""} ${f?"rdd-window-focused":""} ${G??""}`,style:(()=>{let te=typeof r.width=="number"?`${r.width}px`:r.width,X=typeof r.height=="number"?`${r.height}px`:r.height;if(u)return{position:"absolute",left:0,top:0,width:"100%",height:"100%",zIndex:r.z,pointerEvents:p?"none":"auto"};if(r.anchor){let ee=l.floating.filter(xe=>xe.anchor===r.anchor&&!xe.maximized),se=ee.findIndex(xe=>xe.id===r.id),ne=8;for(let xe=0;xe<se;xe++){let it=typeof ee[xe].height=="number"?ee[xe].height:parseFloat(ee[xe].height);ne+=it+8}let ie=r.anchor.startsWith("top");return{position:"absolute",[r.anchor.endsWith("-right")?"insetInlineEnd":"insetInlineStart"]:8,[ie?"top":"bottom"]:ne,width:te,height:X,zIndex:r.z,transition:p?"none":"top 0.2s ease, bottom 0.2s ease",pointerEvents:p?"none":"auto"}}return{position:"absolute",left:typeof r.x=="number"?`${r.x}px`:r.x,top:typeof r.y=="number"?`${r.y}px`:r.y,width:te,height:X,zIndex:r.z,pointerEvents:p?"none":"auto"}})(),children:[le("div",{onDoubleClick:()=>x(r.id),onPointerDown:A=>{O?.canDrag!==!1&&fn(r.id,A)},className:"rdd-floating-window-titlebar rdd-cursor-move",style:{cursor:u||O?.canDrag===!1?"default":"move"},children:[le("span",{className:"rdd-floating-window-title",children:[M("span",{className:"rdd-window-title-icon",children:O?.icon||t||In}),le("span",{children:[de(P.title,H),P.dirty?" *":""]})]}),le("div",{className:"rdd-titlebar-actions",style:{gap:"var(--rdd-header-button-gap, 4px)"},onPointerDown:A=>A.stopPropagation(),children:[O?.renderHeaderActions&&M("div",{className:"rdd-window-header-actions",children:O.renderHeaderActions(r.id)}),k(r.id).length>0&&M("button",{type:"button",className:"rdd-custom-tab-btn rdd-btn-more-actions",title:"More actions",onClick:A=>{A.stopPropagation();let K=k(r.id);K.length!==0&&g({event:A,items:K})},children:le("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor",style:{display:"block"},children:[M("circle",{cx:"12",cy:"5",r:"2"}),M("circle",{cx:"12",cy:"12",r:"2"}),M("circle",{cx:"12",cy:"19",r:"2"})]})}),M("button",{type:"button",title:u?de(s.restoreSize,H):de(s.maximize,H),onClick:()=>x(r.id),className:"rdd-custom-tab-btn rdd-btn-maximize-tab",children:M("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:M("rect",{x:"4",y:"4",width:"16",height:"16",rx:"1.5"})})}),O?.canMinimize!==!1&&M("button",{type:"button",title:de(s.minimize,H),onClick:()=>R(r.id),className:"rdd-custom-tab-btn rdd-btn-minimize-tab",children:M("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",children:M("path",{d:"M5 12h14"})})}),O?.canClose!==!1&&M("button",{type:"button",title:de(s.close,H),onClick:()=>z(r.id),className:"rdd-custom-tab-btn rdd-btn-close-tab",children:M("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",children:M("path",{d:"M18 6L6 18M6 6l12 12"})})})]})]}),M("div",{className:Y??void 0,style:{flexGrow:1,width:"100%",overflow:"hidden",position:"relative",isolation:"isolate"},children:M(xo,{panelId:r.id},r.id)}),!u&&le(vo,{children:[M("div",{onPointerDown:A=>i(r.id,"n",A),className:"rdd-resize-handle rdd-resize-n"}),M("div",{onPointerDown:A=>i(r.id,"ne",A),className:"rdd-resize-handle rdd-resize-ne"}),M("div",{onPointerDown:A=>i(r.id,"e",A),className:"rdd-resize-handle rdd-resize-e"}),M("div",{onPointerDown:A=>i(r.id,"se",A),className:"rdd-resize-handle rdd-resize-se"}),M("div",{onPointerDown:A=>i(r.id,"s",A),className:"rdd-resize-handle rdd-resize-s"}),M("div",{onPointerDown:A=>i(r.id,"sw",A),className:"rdd-resize-handle rdd-resize-sw"}),M("div",{onPointerDown:A=>i(r.id,"w",A),className:"rdd-resize-handle rdd-resize-w"}),M("div",{onPointerDown:A=>i(r.id,"nw",A),className:"rdd-resize-handle rdd-resize-nw"})]})]},r.id)})]}),(n==="always"||l.minimized.length>0)&&le("div",{className:["rdd-taskbar-footer-container",`taskbar-mode-${n}`,n==="autohide"&&me?"rdd-taskbar-expanded":""].filter(Boolean).join(" "),style:{height:"48px",zIndex:100},onPointerEnter:n==="autohide"?d:void 0,onPointerLeave:n==="autohide"?a:void 0,children:[n==="autohide"&&M("div",{className:"rdd-taskbar-peek-handle"}),M("button",{type:"button",onClick:()=>v("left"),className:"rdd-taskbar-nav-btn",style:{display:l.minimized.length>4?"block":"none"},children:"\u25C0"}),M("div",{ref:U,className:"rdd-taskbar-items-container",style:{scrollSnapType:"x mandatory"},children:l.minimized.map(r=>{let u=D.get(r.component)?.defaultOptions?.icon||t||In;return M("div",{onClick:()=>{ce.current!=="touch"&&($(null),h(r.id))},onContextMenu:p=>ot(r.id,p),onPointerDown:p=>{if(ce.current=p.pointerType,p.pointerType!=="touch")return;let f=p.currentTarget,T=p.clientX,O=p.clientY,A=p.pointerId,K=!1,te=()=>{K=!0,clearTimeout(se),f.removeEventListener("pointermove",ee),f.removeEventListener("pointerup",X),f.removeEventListener("pointercancel",te)},X=()=>{te();let ne=f.getBoundingClientRect();I?.id===r.id?(h(r.id),$(null)):$({id:r.id,rect:ne,title:r.title,component:r.component,fromTouch:!0})},ee=ne=>{Math.hypot(ne.clientX-T,ne.clientY-O)>nt&&te()},se=setTimeout(()=>{if(K)return;f.removeEventListener("pointermove",ee),f.removeEventListener("pointerup",X),f.removeEventListener("pointercancel",te);try{f.setPointerCapture(A)}catch{return}navigator.vibrate&&navigator.vibrate(10);let ne=ie=>{f.removeEventListener("pointerup",ne),f.removeEventListener("pointercancel",ne),ot(r.id,ie)};f.addEventListener("pointerup",ne),f.addEventListener("pointercancel",ne)},tt);f.addEventListener("pointermove",ee),f.addEventListener("pointerup",X),f.addEventListener("pointercancel",te)},onPointerEnter:p=>{if(p.pointerType==="touch"||ye)return;q.current&&clearTimeout(q.current);let f=p.currentTarget.getBoundingClientRect();p.clientX>=f.left&&p.clientX<=f.right&&p.clientY>=f.top&&p.clientY<=f.bottom&&$({id:r.id,rect:f,title:r.title,component:r.component})},onPointerLeave:p=>{p.pointerType!=="touch"&&(q.current=setTimeout(()=>{$(null)},150))},className:"rdd-taskbar-glassmorphic-item",style:{backdropFilter:"blur(6px)",transition:"all 0.2s",cursor:"pointer",scrollSnapAlign:"start",width:"38px",height:"38px",position:"relative",padding:0},children:M("span",{className:"rdd-taskbar-item-icon",children:u})},r.id)})}),I&&bo(le("div",{className:"rdd-taskbar-item-tooltip",dir:l.dir,style:{position:"fixed",left:`${I.rect.left+I.rect.width/2}px`,top:`${I.rect.top-8}px`,transform:"translateX(-50%) translateY(-100%)",opacity:1,pointerEvents:"auto",zIndex:999999},onPointerEnter:()=>{q.current&&clearTimeout(q.current)},onPointerLeave:r=>{r.pointerType!=="touch"&&$(null)},onClick:()=>{h(I.id),$(null)},onContextMenu:r=>ot(I.id,r),onPointerDown:r=>{if(r.pointerType!=="touch")return;let P=I.id,u=r.currentTarget,p=r.clientX,f=r.clientY,T=r.pointerId,O=!1,A=()=>{O=!0,clearTimeout(te),u.removeEventListener("pointermove",K),u.removeEventListener("pointerup",A),u.removeEventListener("pointercancel",A)},K=X=>{Math.hypot(X.clientX-p,X.clientY-f)>nt&&A()},te=setTimeout(()=>{if(O)return;u.removeEventListener("pointermove",K),u.removeEventListener("pointerup",A),u.removeEventListener("pointercancel",A);try{u.setPointerCapture(T)}catch{return}navigator.vibrate&&navigator.vibrate(10);let X=ee=>{u.removeEventListener("pointerup",X),u.removeEventListener("pointercancel",X),ot(P,ee)};u.addEventListener("pointerup",X),u.addEventListener("pointercancel",X)},tt);u.addEventListener("pointermove",K),u.addEventListener("pointerup",A),u.addEventListener("pointercancel",A)},children:[le("div",{className:"rdd-tooltip-header-row",children:[le("span",{className:"rdd-tooltip-title-text rdd-text-truncate",style:{maxWidth:"140px"},children:[de(I.title,H),l.panels[I.id]?.dirty?" *":""]}),M("span",{onClick:r=>{r.stopPropagation(),z(I.id),$(null)},title:de(s.closePanel,H),className:"rdd-tooltip-close-x",children:M("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:M("path",{d:"M18 6L6 18M6 6l12 12"})})})]}),M(Pr,{panelId:I.id})]}),document.body),M("button",{type:"button",onClick:()=>v("right"),className:"rdd-taskbar-nav-btn",style:{display:l.minimized.length>4?"block":"none"},children:"\u25B6"})]}),Object.keys(l.panels).map(r=>{let P=l.panels[r];if(!P)return null;let u=Po(r);return bo(M(xr,{panelId:r,children:M("div",{style:{width:"100%",height:"100%"},dir:l.dir,children:yr(r,P,D)})}),u,r)}),j===null&&M(o.Component,{ref:re,theme:"dark",formatMessageProvider:H,onShow:()=>ve(!0),onHide:()=>ve(!1)}),l.draggedPanelId!==null&&!l.floating.some(r=>r.id===l.draggedPanelId)&&le("div",{className:"rdd-drag-ghost-tab",style:{left:Z.x+12,top:Z.y+12,zIndex:1e5},children:["\u{1F4C4} ",de(l.panels[l.draggedPanelId]?.title,H)||"Tab"]})]})},Rr=wr;var zn=class{registry;initialState;config;_actions=null;_initialized=!1;_pendingCalls=[];_pendingOpenPanelIds=new Set;_pendingSubscriptions=[];_disconnectedWarnTimer=null;constructor(t={}){if(this.registry=new xt,this.initialState=t.initialState??null,this.config={formatMessage:t.formatMessage,predefinedMessages:t.predefinedMessages,dir:t.dir,defaultSplitRatio:t.defaultSplitRatio,defaultEdgeSplitRatio:t.defaultEdgeSplitRatio,zIndexBase:t.zIndexBase},t.panels)for(let[n,o]of Object.entries(t.panels))this.registry.register(n,o.component,o.defaultOptions)}_connect(t){this._actions=t,this._disconnectedWarnTimer!==null&&(clearTimeout(this._disconnectedWarnTimer),this._disconnectedWarnTimer=null),this._initialized||(this._initialized=!0);for(let o of this._pendingSubscriptions)o.unsub=t.subscribe(o.event,o.callback);let n=this._pendingCalls.splice(0);for(let o of n)o(t)}_disconnect(){this._actions=null;for(let t of this._pendingSubscriptions)t.unsub?.(),t.unsub=null}get isConnected(){return this._actions!==null}_startWarnTimer(){this._disconnectedWarnTimer===null&&(this._disconnectedWarnTimer=setTimeout(()=>{!this.isConnected&&this._pendingCalls.length>0&&console.error("[react-dockable-desktop] WorkspaceClient has "+this._pendingCalls.length+" queued call(s) but was never connected to a WindowManagerProvider. Did you forget client={workspace} on <WindowManagerProvider>?")},process.env.NODE_ENV==="production"?5e3:1e3))}_dispatch(t){this._actions?t(this._actions):(this._pendingCalls.push(t),this._startWarnTimer())}_subscribeRaw(t,n){if(this._actions)return this._actions.subscribe(t,n);let o={event:t,callback:n,unsub:null};return this._pendingSubscriptions.push(o),()=>{o.unsub?.(),o.unsub=null;let m=this._pendingSubscriptions.indexOf(o);m!==-1&&this._pendingSubscriptions.splice(m,1)}}openPanel(...t){if(this._actions){this._actions.openPanel(...t);return}let n=t[0];this._pendingOpenPanelIds.has(n)||(this._pendingOpenPanelIds.add(n),this._pendingCalls.push(o=>{this._pendingOpenPanelIds.delete(n),o.openPanel(...t)}),this._startWarnTimer())}closePanel(t){this._dispatch(n=>n.closePanel(t))}minimizePanel(t){this._dispatch(n=>n.minimizePanel(t))}restorePanel(t){this._dispatch(n=>n.restorePanel(t))}floatPanel(...t){this._dispatch(n=>n.floatPanel(...t))}dockPanel(...t){this._dispatch(n=>n.dockPanel(...t))}maximizePanel(t){this._dispatch(n=>n.maximizePanel(t))}focusPanel(t){this._dispatch(n=>n.focusPanel(t))}isOpen(t){return this._actions?.isOpen(t)??!1}getOpenPanelIds(){return this._actions?.getOpenPanelIds()??[]}findPanelId(t,n){return this._actions?.findPanelId(t,n)??null}saveLayout(){return this._actions?.saveLayout()??""}loadLayout(t){return this._actions?this._actions.loadLayout(t):(this._pendingCalls.push(n=>{n.loadLayout(t)}),!1)}setDirection(t){this._dispatch(n=>n.setDirection(t))}updateSplitSizes(t,n){this._dispatch(o=>o.updateSplitSizes(t,n))}updateFloatingPosition(t,n){this._dispatch(o=>o.updateFloatingPosition(t,n))}setDraggedPanelId(t){this._dispatch(n=>n.setDraggedPanelId(t))}dockPanelToGroup(t,n,o){this._dispatch(m=>m.dockPanelToGroup(t,n,o))}movePanelOrder(t,n,o){this._dispatch(m=>m.movePanelOrder(t,n,o))}closeLeafGroup(t){this._dispatch(n=>n.closeLeafGroup(t))}registerCloseGuard(t,n){this._dispatch(o=>o.registerCloseGuard(t,n))}unregisterCloseGuard(t){this._dispatch(n=>n.unregisterCloseGuard(t))}registerStateProvider(t,n){this._dispatch(o=>o.registerStateProvider(t,n))}unregisterStateProvider(t){this._dispatch(n=>n.unregisterStateProvider(t))}setPanelDirty(t,n,o){this._dispatch(m=>m.setPanelDirty(t,n,o))}updatePanelTitle(t,n){this._dispatch(o=>o.updatePanelTitle(t,n))}requestClosePanel(t,n){return this._actions?this._actions.requestClosePanel(t,n):(this._pendingCalls.push(o=>{o.requestClosePanel(t,n)}),Promise.resolve())}dockPanelToWorkspaceEdge(t,n){this._dispatch(o=>o.dockPanelToWorkspaceEdge(t,n))}showContextMenu(t){this._dispatch(n=>n.showContextMenu(t))}publish(t,n){this._dispatch(o=>o.publish(t,n))}subscribe(t,n){return this._subscribeRaw(t,n)}onPanelOpen(t){return this._subscribeRaw("panel:opened",n=>{let o=n;t(o.id,o.component)})}onPanelClose(t){return this._subscribeRaw("panel:closed",n=>{t(n.id)})}onPanelMinimize(t){return this._subscribeRaw("panel:minimized",n=>{t(n.id)})}onPanelRestore(t){return this._subscribeRaw("panel:restored",n=>{t(n.id)})}onLayoutChanged(t){return this._subscribeRaw("layout:changed",()=>t())}onPanelsExcluded(t){return this._subscribeRaw("layout:panels-excluded",n=>{t(n.panels)})}};import{useContext as Hr}from"react";import{createContext as Mr,useContext as Tr,useMemo as Sr,useState as wo}from"react";import{jsx as kr}from"react/jsx-runtime";var Ro=Mr(null),an=({children:e})=>{let[t,n]=wo({}),[o,m]=wo({}),l=Sr(()=>({getActiveInGroup:D=>t[D]??null,setActiveInGroup:(D,h)=>n(R=>({...R,[D]:h})),isModifierActive:D=>o[D]??!1,setModifierActive:(D,h)=>m(R=>({...R,[D]:h})),toggleModifier:D=>m(h=>({...h,[D]:!h[D]}))}),[t,o]);return kr(Ro.Provider,{value:l,children:e})};function ln(){let e=Tr(Ro);if(!e)throw new Error("useToolbar must be used within DockableDesktopProvider");return e}import{createContext as Er,useCallback as Ir,useContext as Mo,useLayoutEffect as Lr,useMemo as Nr,useRef as zr,useSyncExternalStore as Dr}from"react";import{jsx as _r}from"react/jsx-runtime";function Wr(){let e=new Map,t=new Set,n=()=>t.forEach(o=>o());return{publish(o,m){return e.set(o,m),n(),()=>{e.get(o)===m&&(e.delete(o),n())}},get(o){return e.get(o)??null},subscribe(o){return t.add(o),()=>t.delete(o)}}}var Dn=Er(null),Wn=({children:e})=>{let t=Nr(()=>Wr(),[]);return _r(Dn.Provider,{value:t,children:e})};function Or(e){let t=nn(),n=Mo(Dn),o=zr(null);if(!n)throw new Error("usePanelContribution must be used within PanelContributionProvider");Lr(()=>{if(n)return o.current?.(),o.current=n.publish(t,e),()=>{o.current?.(),o.current=null}},[n,t,e])}function On(){let e=Le(m=>m.activePanelId),t=Mo(Dn);if(!t)throw new Error("useActivePanelContribution must be used within PanelContributionProvider");let n=Ir(m=>t?t.subscribe(m):()=>{},[t]),o=()=>t&&e?t.get(e):null;return Dr(n,o,o)}function To(e,t=null){return{id:e.id,label:e.label,icon:e.icon??t,renderContent:()=>e.content}}function Ar(e){let t=On();return t?.toolbarItems?.length?[...e,{type:"separator"},...t.toolbarItems]:e}function Fr(e,t=null){let n=On();return n?.sidebarSections?.length?[...e,...n.sidebarSections.map(o=>To(o,t))]:e}import{jsx as Yt}from"react/jsx-runtime";var Br=({contextMenuAdapter:e=Tt,...t})=>{let n=Hr(St),o=Yt(an,{children:Yt(Pn,{...t,children:Yt(Wn,{children:Yt(Tn,{children:t.children})})})});return n!==null?o:Yt(Rn,{adapter:e,formatMessageProvider:t.formatMessage,children:o})};import{useCallback as Xt,useRef as So,useEffect as Yr,useState as Xr,useMemo as Vr}from"react";import{useEffect as $r,useState as Gr}from"react";function dn(e){let[{x:t,y:n}]=Gr(()=>({x:window.scrollX,y:window.scrollY}));$r(()=>{let o=()=>window.scrollTo(t,n);window.addEventListener("scroll",o);let m=window.setTimeout(()=>{window.removeEventListener("scroll",o)},e);return()=>{window.clearTimeout(m),window.removeEventListener("scroll",o)}},[e,t,n])}import{Fragment as Zr,jsx as Oe,jsxs as An}from"react/jsx-runtime";var Kr=({modal:e,index:t,isTopmost:n})=>{let{close:o,openModal:m,updateInstance:l,setDirty:D}=ct(),h=De(),R=_e(),{dir:y}=Le(),{modalClass:x,modalBodyClass:b}=je(),S=So(null),{id:L,Component:N,props:W,options:c,dirty:E,dirtyOptions:C}=e,k=c,[g,w]=Xr(k.icon||null),_=So(k);_.current=k,dn(180);let H=de(k.title,h),s=Xt(async F=>{if(F?.force){o(L);return}if(S.current){if(!await S.current())return;o(L);return}if(E){m(pt,{title:C?.title||R.unsavedChangesTitle,message:C?.message||{id:R.unsavedChangesMessage.id,defaultMessage:R.unsavedChangesMessage.defaultMessage,values:{title:H}},alert:C?.alert,alertType:C?.alertType||"danger",useYesNoTitles:!0,onOK:()=>o(L)},{size:"small"});return}o(L)},[o,m,L,E,C,H,R]),z=Xt((F,I)=>D(L,F,I),[D,L]),G=Xt(F=>l(L,{options:{..._.current,title:F}}),[l,L]),Y=Xt(F=>w(F),[]),j=Xt(F=>(S.current=F,()=>{S.current=null}),[]),re=Vr(()=>({requestClose:s,setDirty:z,setTitle:G,setIcon:Y,onCloseRequested:j,containerType:"modal",instanceId:L}),[s,z,G,Y,j,L]),U=E?`${H} *`:H,me=k.size?`rdd-modal-size-${k.size}`:"rdd-modal-size-auto",oe=k.closable!==!1;Yr(()=>{if(!n||!oe)return;let F=I=>{I.key==="Escape"&&(I.stopPropagation(),s())};return document.addEventListener("keydown",F),()=>document.removeEventListener("keydown",F)},[s,oe,n]);let V=`calc(var(--rdd-z-base, 1000) + 9000 + ${t*10})`;return An("div",{className:"rdd-modal-overlay",style:{zIndex:V},dir:y,children:[Oe("div",{className:"rdd-modal-curtain",onClick:oe?()=>s():void 0}),An("div",{className:`rdd-modal-window ${me} ${x??""}`,children:[An("div",{className:"rdd-modal-header",children:[g&&Oe("div",{className:"rdd-modal-icon",children:g}),Oe("h4",{className:"rdd-modal-title",children:U}),oe&&Oe("button",{className:"rdd-modal-close-button",onClick:()=>s(),title:h(R.closeTooltip),type:"button",children:Oe("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:Oe("path",{d:"M18 6L6 18M6 6l12 12"})})})]}),Oe("div",{className:`rdd-modal-body ${b??""}`,children:Oe(st,{value:re,children:Oe(N,{...W,panelId:L})})})]})]})},qr=()=>{let{modals:e}=Ze();return e.length===0?null:Oe(Zr,{children:e.map((t,n)=>Oe(Kr,{modal:t,index:n,isTopmost:n===e.length-1},t.id))})},jr=qr;import{useCallback as Et,useRef as ko,useEffect as Eo,useState as Ur,useMemo as Jr}from"react";import{Fragment as oi,jsx as ke,jsxs as Fn}from"react/jsx-runtime";var cn=({panel:e,position:t,defaultWidth:n})=>{let{close:o,openModal:m,updateInstance:l,setDirty:D,registerCloseHandler:h,unregisterCloseHandler:R}=ct(),{modals:y}=Ze(),x=De(),b=_e(),{dir:S}=Le(),{sidePanelClass:L,sidePanelBodyClass:N}=je(),W=ko(null),{id:c,Component:E,props:C,options:k,dirty:g,dirtyOptions:w}=e,_=k,[H,s]=Ur(_.icon||null),z=ko(_);z.current=_,dn(250);let G=de(_.title,x),Y=Et(async q=>{if(q?.force){o(c);return}if(W.current){if(!await W.current())return;o(c);return}if(g){m(pt,{title:w?.title||b.unsavedChangesTitle,message:w?.message||{id:b.unsavedChangesMessage.id,defaultMessage:b.unsavedChangesMessage.defaultMessage,values:{title:G}},alert:w?.alert,alertType:w?.alertType||"danger",useYesNoTitles:!0,onOK:()=>o(c)},{size:"small"});return}o(c)},[o,m,c,g,w,G,b]),j=Et(async()=>W.current?await W.current():!g,[g]);Eo(()=>(h(c,j),()=>R(c)),[c,j,h,R]);let re=Et((q,ce)=>D(c,q,ce),[D,c]),U=Et(q=>l(c,{options:{...z.current,title:q}}),[l,c]),me=Et(q=>s(q),[]),oe=Et(q=>(W.current=q,()=>{W.current=null}),[]),V=Jr(()=>({requestClose:Y,setDirty:re,setTitle:U,setIcon:me,onCloseRequested:oe,containerType:t==="left"?"left-panel":"right-panel",instanceId:c}),[Y,re,U,me,oe,t,c]),F=g?`${G} *`:G;Eo(()=>{let q=ce=>{ce.key==="Escape"&&y.length===0&&Y()};return document.addEventListener("keydown",q),()=>document.removeEventListener("keydown",q)},[Y,y.length]);let I=_.width||n||400,$=typeof I=="number"?`${I}px`:I;return ke("div",{className:`rdd-side-panel rdd-side-panel-${t} rdd-side-panel-visible ${L??""}`,style:{width:$},dir:S,children:Fn("div",{className:"rdd-side-panel-window",children:[Fn("div",{className:"rdd-side-panel-header",children:[H&&ke("div",{className:"rdd-side-panel-icon",children:H}),ke("h4",{className:"rdd-side-panel-title",children:F}),ke("button",{className:"rdd-side-panel-close-button",onClick:()=>Y(),title:x(b.closeTooltip),type:"button",children:ke("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:ke("path",{d:"M18 6L6 18M6 6l12 12"})})})]}),ke("div",{className:`rdd-side-panel-body ${N??""}`,children:ke(st,{value:V,children:ke(E,{...C,panelId:c})})})]})})},Qr=({defaultWidth:e})=>{let{leftPanel:t,rightPanel:n}=Ze();return Fn(oi,{children:[t&&ke(cn,{panel:t,position:"left",defaultWidth:e},t.id),n&&ke(cn,{panel:n,position:"right",defaultWidth:e},n.id)]})},ei=({defaultWidth:e})=>{let{leftPanel:t}=Ze();return t?ke(cn,{panel:t,position:"left",defaultWidth:e},t.id):null},ti=({defaultWidth:e})=>{let{rightPanel:t}=Ze();return t?ke(cn,{panel:t,position:"right",defaultWidth:e},t.id):null},ni=Qr;import ri,{useState as _n,useEffect as Hn,useRef as Bn,useCallback as un,useImperativeHandle as ii,useContext as zo,useMemo as Qe,createContext as Do,forwardRef as si,memo as ai}from"react";import{jsx as ue,jsxs as pn}from"react/jsx-runtime";function $n(e){return"renderContent"in e}function li(e){return"render"in e}function Io(e){return e==null?[]:Array.isArray(e)?e:[e]}var Wo=Do(null),Oo=Do(null);function di({tabId:e,onClose:t,onOpen:n,setActiveTabId:o,children:m}){let l=Qe(()=>({tabId:e,onClose:t,onOpen:n,openTab:D=>o(D)}),[e,t,n,o]);return ue(Oo.Provider,{value:l,children:m})}function Lo(e,t,n,o){if(li(e))return ue(ri.Fragment,{children:e.render()},e.id??t);if($n(e)){let m=n===e.id;return ue("button",{type:"button",onClick:()=>o(e.id),className:`rdd-sidebar-tab-btn${m?" rdd-active":""}`,title:e.label,"aria-pressed":m,children:e.icon},e.id)}return ue("button",{type:"button",onClick:e.onClick,disabled:e.disabled,className:"rdd-sidebar-tab-btn rdd-sidebar-header-action-btn",title:e.label,"aria-label":e.label,children:e.icon},e.id??t)}var No=ai(function({tabs:t,headerEntries:n,footerEntries:o,activeTabId:m,isVisible:l,position:D,onTabClick:h}){return ue("div",{style:{width:l?"56px":"0px",height:"100%",overflow:"hidden",transition:"width 0.25s cubic-bezier(0.4, 0, 0.2, 1)",flexShrink:0},children:pn("div",{className:`rdd-sidebar-tabs-strip rdd-${D}${n.length?" rdd-sidebar-tabs-strip--has-header-action":""}${o.length?" rdd-sidebar-tabs-strip--has-footer-action":""}`,style:{width:"56px",height:"100%"},children:[n.length>0&&ue("div",{className:"rdd-sidebar-header-area",children:n.map((R,y)=>Lo(R,y,m,h))}),ue("div",{className:"rdd-sidebar-tabs-list",children:t.map(R=>{let y=m===R.id;return ue("button",{type:"button",onClick:()=>h(R.id),className:`rdd-sidebar-tab-btn${y?" rdd-active":""}`,title:R.label,"aria-pressed":y,children:R.icon},R.id)})}),o.length>0&&ue("div",{className:"rdd-sidebar-footer-area",children:o.map((R,y)=>Lo(R,y,m,h))})]})})});function ci({position:e,currentWidth:t,minWidth:n,maxWidth:o,onWidthChange:m,rootRef:l}){return ue("div",{className:"rdd-resizer-bar",style:{cursor:"col-resize",width:"1px",height:"100%",flexShrink:0,zIndex:20},onPointerDown:h=>{h.preventDefault();let R=h.currentTarget,y=[{el:R,classes:["rdd-active"]},{el:document.body,classes:["rdd-resizing-active","rdd-resizing-col-active"]}];l.current&&y.push({el:l.current,classes:["rdd-sidebar-resizing"]}),Ue({element:R,pointerId:h.pointerId,startClientX:h.clientX,startClientY:h.clientY,captureStart:()=>t,activeClasses:y,onMove:(x,b,S)=>{let L=e==="right"?S-x:S+x;m(Math.max(n,Math.min(o,L)))}})}})}var ui=si(function({position:t="right",tabs:n,headerAction:o,footerAction:m,defaultWidth:l,minWidth:D=150,maxWidth:h=600,onWidthChange:R,activeTabId:y,onActiveTabChange:x,visible:b,onVisibilityChange:S,stripVisible:L,onStripVisibilityChange:N,showCloseButton:W=!1,children:c},E){let C=y!==void 0,[k,g]=_n(()=>l??280),w=un(Z=>{g(Z),R?.(Z)},[R]),[_,H]=_n(null),s=C?y:_,z=Qe(()=>Io(o),[o]),G=Qe(()=>Io(m),[m]),Y=Qe(()=>z.filter($n),[z]),j=Qe(()=>G.filter($n),[G]),re=Qe(()=>[...Y,...n,...j],[Y,n,j]),[U,me]=_n(()=>new Set),oe=Qe(()=>{let Z=new Set(U);s&&Z.add(s);for(let Pe of re)Pe.eagerMount&&Z.add(Pe.id);return Z},[U,s,re]),V=Bn(s??null);Hn(()=>{V.current=s??null},[s]);let F=Bn(k);Hn(()=>{F.current=k},[k]);let I=Bn(null),$=un(Z=>{me(Z!==null?Pe=>{if(Pe.has(Z))return Pe;let Re=new Set(Pe);return Re.add(Z),Re}:Pe=>{let Re=!1,Ae=new Set(Pe);for(let $e of Pe){let fe=re.find(mt=>mt.id===$e);fe&&!fe.eagerMount&&!fe.preserveState&&(Ae.delete($e),Re=!0)}return Re?Ae:Pe}),C||H(Z),x?.(Z)},[C,x,re]);Hn(()=>{s!=null&&!re.some(Z=>Z.id===s)&&$(null)},[s,re,$]),ii(E,()=>({openTab:Z=>$(Z),closeDrawer:()=>$(null),getActiveTab:()=>V.current,show:()=>S?.(!0),hide:()=>S?.(!1),toggle:()=>S?.(b===!1),showStrip:()=>N?.(!0),hideStrip:()=>N?.(!1),setWidth:Z=>w(Math.max(D,Math.min(h,Z))),getWidth:()=>F.current}),[$,b,S,N,w,D,h]);let q=un(Z=>{$(s===Z?null:Z)},[s,$]),ce=un(()=>$(null),[$]),be=Qe(()=>({openTab:Z=>$(Z),closeDrawer:()=>$(null),getActiveTab:()=>V.current}),[$]),ve=b!==!1,ye=ve&&L!==!1,Me=ve&&s!=null,Se=ue("div",{className:`rdd-sidebar-content-drawer rdd-${t}`,style:{flexBasis:Me?`${k}px`:"0px",flexShrink:1,flexGrow:0,minWidth:Me?`${D}px`:"0px",maxWidth:Me?`${h}px`:"0px",overflow:"hidden",transition:"flex-basis 0.2s cubic-bezier(0.4, 0, 0.2, 1), min-width 0.2s cubic-bezier(0.4, 0, 0.2, 1), max-width 0.2s cubic-bezier(0.4, 0, 0.2, 1)"},children:re.map(Z=>{if(!oe.has(Z.id))return null;let Re=s===Z.id,Ae=()=>$(Z.id);return pn("div",{style:{display:Re?"flex":"none",flexDirection:"column",height:"100%",width:"100%"},children:[pn("div",{className:"rdd-sidebar-drawer-header",children:[ue("span",{className:"rdd-sidebar-header-title",children:Z.label}),W&&ue("button",{type:"button",className:"rdd-sidebar-drawer-close-button",onClick:ce,title:"Close","aria-label":"Close",children:ue("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",children:ue("path",{d:"M18 6L6 18M6 6l12 12"})})})]}),ue("div",{className:"rdd-sidebar-drawer-body",children:ue(di,{tabId:Z.id,onClose:ce,onOpen:Ae,setActiveTabId:$,children:Z.renderContent(Z.id,ce,Ae)})})]},Z.id)})}),Te=Me?ue(ci,{position:t,currentWidth:k,minWidth:D,maxWidth:h,onWidthChange:w,rootRef:I}):null;return ue(Wo.Provider,{value:be,children:pn("div",{ref:I,style:{display:"flex",flexDirection:"row",width:"100%",height:"100%",overflow:"hidden"},children:[t==="left"&&ue(No,{tabs:n,headerEntries:z,footerEntries:G,activeTabId:s,isVisible:ye,position:t,onTabClick:q}),t==="left"&&Se,t==="left"&&Te,ue("div",{style:{flex:"1 1 0%",minWidth:0,overflow:"hidden"},children:c}),t==="right"&&Te,t==="right"&&Se,t==="right"&&ue(No,{tabs:n,headerEntries:z,footerEntries:G,activeTabId:s,isVisible:ye,position:t,onTabClick:q})]})})});function pi(){let e=zo(Wo);if(!e)throw new Error("useSidebar must be used within Sidebar");return e}function gi(){let e=zo(Oo);if(!e)throw new Error("useSidebarTab must be used within a Sidebar tab renderContent tree");return e}import{forwardRef as mi,useImperativeHandle as fi,useState as Ao,useRef as Fo,useEffect as _o,useLayoutEffect as hi}from"react";import{createPortal as bi}from"react-dom";import{Fragment as Ci,jsx as Ne,jsxs as Ho}from"react/jsx-runtime";function vi(e,t,n=!1,o=8){switch(t){case"left":return n?{right:window.innerWidth-e.left+o,top:e.top}:{left:e.right+o,top:e.top};case"right":return n?{left:e.right+o,top:e.top}:{right:window.innerWidth-e.left+o,top:e.top};case"top":return n?{top:e.bottom+o,right:window.innerWidth-e.right}:{top:e.bottom+o,left:e.left};case"bottom":return n?{bottom:window.innerHeight-e.top+o,right:window.innerWidth-e.right}:{bottom:window.innerHeight-e.top+o,left:e.left}}}function yi({item:e,position:t,toolbar:n}){let[o,m]=Ao(!1),[l,D]=Ao(null),h=Fo(null),R=Fo(null),y=e.activeItemId!==void 0,x=y?e.activeItemId:n.getActiveInGroup(e.id),b=e.items.find(c=>!("type"in c)&&c.id===x),S=x!==null,L=b?.icon??e.defaultIcon,N=b?.label??e.label,W=()=>{e.disabled||(!o&&h.current&&D(h.current.getBoundingClientRect()),m(c=>!c))};return hi(()=>{if(!o||!R.current)return;let c=R.current,E=c.getBoundingClientRect(),C=8;E.right>window.innerWidth-C&&(c.style.left=`${Math.max(C,window.innerWidth-E.width-C)}px`,c.style.right="auto"),E.left<C&&(c.style.left=`${C}px`,c.style.right="auto"),E.bottom>window.innerHeight-C&&(c.style.top=`${Math.max(C,window.innerHeight-E.height-C)}px`,c.style.bottom="auto"),E.top<C&&(c.style.top=`${C}px`,c.style.bottom="auto")},[o]),_o(()=>{if(!o)return;let c=E=>{let C=E.target;h.current?.contains(C)||R.current?.contains(C)||m(!1)};return document.addEventListener("mousedown",c),()=>document.removeEventListener("mousedown",c)},[o]),_o(()=>{if(!o)return;let c=E=>{E.key==="Escape"&&m(!1)};return document.addEventListener("keydown",c),()=>document.removeEventListener("keydown",c)},[o]),Ho(Ci,{children:[Ne("button",{ref:h,type:"button",className:`rdd-toolbar-btn rdd-toolbar-btn-group${S?" rdd-active":""}`,title:N,"aria-label":N,"aria-expanded":o,"aria-haspopup":"menu",disabled:e.disabled,onClick:W,children:L}),o&&l&&bi(Ne("div",{ref:R,className:`rdd-toolbar-group-flyout rdd-${t}`,style:vi(l,t,document.documentElement.dir==="rtl"),role:"menu",children:e.items.map((c,E)=>{if("type"in c)return Ne("div",{className:"rdd-toolbar-group-flyout-sep",role:"separator"},`sep-${E}`);let C=x===c.id;return Ho("button",{type:"button",className:`rdd-toolbar-group-flyout-item${C?" rdd-active":""}`,disabled:c.disabled,role:"menuitem","aria-pressed":C,onClick:()=>{y?e.onActiveItemChange?.(c.id):n.setActiveInGroup(e.id,c.id),c.onActivate?.(c.id),m(!1)},children:[Ne("span",{className:"rdd-toolbar-group-flyout-icon",children:c.icon}),Ne("span",{className:"rdd-toolbar-group-flyout-label",children:c.label}),c.shortcut&&Ne("span",{className:"rdd-toolbar-group-flyout-shortcut",children:c.shortcut})]},c.id)})}),document.body)]})}function Pi(e,t,n,o){switch(e.type){case"separator":return Ne("div",{className:"rdd-toolbar-separator",role:"separator"},`sep-${t}`);case"action":return Ne("button",{type:"button",className:"rdd-toolbar-btn rdd-toolbar-btn-action",title:e.label,"aria-label":e.label,disabled:e.disabled,onClick:e.onClick,children:e.icon},e.id);case"radio":{let m=n.getActiveInGroup(e.group)===e.id;return Ne("button",{type:"button",className:`rdd-toolbar-btn rdd-toolbar-btn-radio${m?" rdd-active":""}`,title:e.label,"aria-label":e.label,"aria-pressed":m,disabled:e.disabled,onClick:()=>{n.setActiveInGroup(e.group,e.id),e.onActivate?.(e.id)},children:e.icon},e.id)}case"toggle":{let m=e.active!==void 0,l=m?e.active:n.isModifierActive(e.id);return Ne("button",{type:"button",className:`rdd-toolbar-btn rdd-toolbar-btn-toggle${l?" rdd-active":""}`,title:e.label,"aria-label":e.label,"aria-pressed":l,disabled:e.disabled,onClick:()=>{m||n.toggleModifier(e.id),e.onToggle?.(!l)},children:e.icon},e.id)}case"group":return Ne(yi,{item:e,position:o,toolbar:n},e.id)}}var xi=mi(function({position:t="left",items:n,visible:o,onVisibilityChange:m,className:l,style:D},h){let R=ln(),y=t==="left"||t==="right";fi(h,()=>({show:()=>m?.(!0),hide:()=>m?.(!1),toggle:()=>m?.(o===!1)}),[o,m]);let x=o!==!1?{}:y?{width:"0px"}:{height:"0px"};return Ne("div",{className:`rdd-toolbar-strip rdd-${t}${l?` ${l}`:""}`,role:"toolbar","aria-orientation":y?"vertical":"horizontal",style:{...x,...D},children:n.map((b,S)=>Pi(b,S,R,t))})});import{useCallback as Yn,useEffect as Vt,useLayoutEffect as wi,useRef as It,useState as Xn}from"react";import{createPortal as Bo}from"react-dom";import{jsx as ge,jsxs as Kt}from"react/jsx-runtime";var Vn=class{listeners=new Set;counter=0;subscribe(t){this.listeners.add(t)}unsubscribe(t){this.listeners.delete(t)}show(t,n={}){let o=n.id??`toast-${++this.counter}`;return this.emit({kind:"show",id:o,message:t,rawOpts:{...n,id:o}}),o}update(t,n,o){this.emit({kind:"update",id:t,message:n,patch:o})}dismiss(t){this.emit({kind:"dismiss",id:t})}emit(t){this.listeners.forEach(n=>n(t))}},Ee=new Vn,Ri=Object.assign((e,t)=>Ee.show(e,t),{info:(e,t)=>Ee.show(e,{...t,type:"info"}),success:(e,t)=>Ee.show(e,{...t,type:"success"}),warning:(e,t)=>Ee.show(e,{...t,type:"warning"}),error:(e,t)=>Ee.show(e,{...t,type:"error"}),dismiss:e=>Ee.dismiss(e),promise:(e,t,n)=>{let o=Ee.show(t.pending,{...n,type:"info",duration:0});return e.then(m=>{let l=typeof t.success=="function"?t.success(m):t.success;Ee.update(o,l,{type:"success",duration:n?.duration??5e3})},m=>{let l=typeof t.error=="function"?t.error(m):t.error;Ee.update(o,l,{type:"error",duration:n?.duration??5e3})}),e}}),Mi=()=>Kt("svg",{className:"rdd-toast__icon",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[ge("circle",{cx:"8",cy:"8",r:"7",stroke:"currentColor",strokeWidth:"1.5"}),ge("path",{d:"M8 5v.01M8 7.5v3.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]}),Ti=()=>Kt("svg",{className:"rdd-toast__icon",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[ge("circle",{cx:"8",cy:"8",r:"7",stroke:"currentColor",strokeWidth:"1.5"}),ge("path",{d:"M5 8l2 2 4-4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]}),Si=()=>Kt("svg",{className:"rdd-toast__icon",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[ge("path",{d:"M8 2.5L14 13.5H2L8 2.5z",stroke:"currentColor",strokeWidth:"1.5",strokeLinejoin:"round"}),ge("path",{d:"M8 7v2.5M8 11.5v.01",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]}),ki=()=>Kt("svg",{className:"rdd-toast__icon",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[ge("circle",{cx:"8",cy:"8",r:"7",stroke:"currentColor",strokeWidth:"1.5"}),ge("path",{d:"M5.5 5.5l5 5M10.5 5.5l-5 5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]}),Ei=()=>ge("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:ge("path",{d:"M4 4l8 8M12 4l-8 8",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})}),Ii={info:ge(Mi,{}),success:ge(Ti,{}),warning:ge(Si,{}),error:ge(ki,{})};function Li({id:e,message:t,options:n,exiting:o,isLeft:m,showProgress:l,pauseOnHover:D,animation:h,onDismiss:R,onExited:y}){let x=It(null),b=It(null),S=It(n.duration),L=It(0),[N,W]=Xn(!1),c=h==="none"?"rdd-toast--visible":h==="fade"?"rdd-toast--fade-entering":m?"rdd-toast--entering-left":"rdd-toast--entering",[E,C]=Xn(c);wi(()=>{x.current&&(x.current.style.maxHeight=`${x.current.offsetHeight}px`)},[]),Vt(()=>{if(h==="none")return;let s=requestAnimationFrame(()=>C("rdd-toast--visible"));return()=>cancelAnimationFrame(s)},[]);let k=Yn(s=>{s<=0||(L.current=Date.now(),b.current=setTimeout(()=>R(e),s))},[e,R]);Vt(()=>(b.current&&clearTimeout(b.current),S.current=n.duration,k(n.duration),()=>{b.current&&clearTimeout(b.current)}),[n.duration,k]),Vt(()=>{if(!o)return;let s=x.current;if(!s||h==="none"){y(e);return}let z=Y=>{Y.propertyName==="max-height"&&y(e)};s.addEventListener("transitionend",z);let G=setTimeout(()=>y(e),520);return()=>{s.removeEventListener("transitionend",z),clearTimeout(G)}},[o,e,y,h]);let g=()=>{!D||n.duration===0||(b.current&&(clearTimeout(b.current),b.current=null,S.current=Math.max(0,S.current-(Date.now()-L.current))),W(!0))},w=()=>{!D||n.duration===0||(W(!1),k(S.current))},_=["rdd-toast",n.type&&`rdd-toast--${n.type}`,E,o&&"rdd-toast--exiting",N&&"rdd-toast--paused"].filter(Boolean).join(" "),H=n.icon!==void 0?n.icon:n.type?Ii[n.type]:null;return Kt("div",{ref:x,role:"status","aria-live":"polite",className:_,onMouseEnter:g,onMouseLeave:w,children:[H&&H,ge("div",{className:"rdd-toast__body",children:n.content!==void 0?n.content:t}),n.closable&&ge("button",{type:"button",className:"rdd-toast__close",onClick:()=>R(e),"aria-label":"Close notification",children:ge(Ei,{})}),l&&n.duration>0&&ge("div",{className:"rdd-toast__progress",style:{animationDuration:`${n.duration}ms`}})]})}function Gn(e,t,n){return{id:e.id,type:e.type??"info",duration:e.duration??t,closable:e.closable??n,icon:e.icon,content:e.content,onClose:e.onClose}}function Ni({position:e="top-right",maxVisible:t=3,defaultDuration:n=5e3,defaultClosable:o=!0,pauseOnHover:m=!0,animation:l="slide",newestOnTop:D=!1,progressBar:h=!1,width:R=320,adapter:y}){let[x,b]=Xn([]),S=It([]),L=It(x);L.current=x;let N=Yn(k=>{b(g=>g.map(w=>w.id===k?{...w,exiting:!0}:w)),L.current.find(g=>g.id===k)?.options.onClose?.()},[]),W=Yn(k=>{let g=S.current.shift()??null;b(w=>{let _=w.filter(s=>s.id!==k);if(!g)return _;let H=Gn(g.rawOpts,n,o);return[..._,{id:g.id,message:g.message,options:H,exiting:!1}]})},[n,o]);if(Vt(()=>{if(y)return;let k=g=>{if(g.kind==="show"){let w=Gn(g.rawOpts,n,o),_={id:g.id,message:g.message,options:w,exiting:!1},H={id:g.id,message:g.message,rawOpts:g.rawOpts};b(s=>s.find(Y=>Y.id===g.id)?s.map(Y=>Y.id===g.id?{...Y,message:g.message,options:w}:Y):s.filter(Y=>!Y.exiting).length<t?[...s,_]:(S.current.some(Y=>Y.id===H.id)||S.current.push(H),s))}else g.kind==="update"?(b(w=>w.map(_=>{if(_.id!==g.id)return _;let H={..._.options,...g.patch,id:_.id};return{..._,message:g.message,options:H}})),S.current=S.current.map(w=>w.id!==g.id?w:{...w,message:g.message,rawOpts:{...w.rawOpts,...g.patch}})):g.kind==="dismiss"&&(g.id===void 0?(b(w=>w.map(_=>({..._,exiting:!0}))),S.current=[]):L.current.some(_=>_.id===g.id)?N(g.id):S.current=S.current.filter(_=>_.id!==g.id))};return Ee.subscribe(k),()=>Ee.unsubscribe(k)},[y,t,n,o,N]),Vt(()=>{if(!y)return;let k=g=>{if(g.kind==="show"){let w=Gn(g.rawOpts,n,o);y.show(g.id,g.message,w)}else g.kind==="update"?y.update(g.id,g.message,g.patch):g.kind==="dismiss"&&y.dismiss(g.id)};return Ee.subscribe(k),()=>Ee.unsubscribe(k)},[y,n,o]),y){if(!y.Container)return null;let k=y.Container;return Bo(ge(k,{position:e}),document.body)}let c=e.endsWith("left"),E="";D===!0&&(E="rdd-toast-container--newest-top"),D===!1&&(E="rdd-toast-container--newest-bottom");let C=["rdd-toast-container",`rdd-toast-container--${e}`,E].filter(Boolean).join(" ");return Bo(ge("div",{className:C,style:{width:R},"aria-label":"Notifications","aria-live":"polite",children:x.map(k=>ge(Li,{id:k.id,message:k.message,options:k.options,exiting:k.exiting,isLeft:c,showProgress:h,pauseOnHover:m,animation:l,onDismiss:N,onExited:W},k.id))}),document.body)}import zi,{useState as we,useContext as gn,createContext as Kn,useRef as Ie,useLayoutEffect as Go,useCallback as Be,useMemo as Lt,useEffect as Di}from"react";import{createPortal as Wi}from"react-dom";import{Fragment as qo,jsx as J,jsxs as Xe}from"react/jsx-runtime";var Oi=["top-left","top-right","bottom-left","bottom-right"],Yo=Kn(null),Xo=Kn(null),Vo=Kn(null),et=80;function Ai(e,t,n){let o=e.getBoundingClientRect(),m=t-o.left,l=n-o.top;return m<et&&l<et?"top-left":m>o.width-et&&l<et?"top-right":m<et&&l>o.height-et?"bottom-left":m>o.width-et&&l>o.height-et?"bottom-right":null}function Fi({children:e,className:t,style:n}){let[o,m]=we({}),[l,D]=we({}),[h,R]=we({"top-left":[],"top-right":[],"bottom-left":[],"bottom-right":[]}),[y,x]=we({}),[b,S]=we(null),[L,N]=we(null),[W,c]=we(null),[E,C]=we(()=>new Map),k=Ie(100),g=Ie(null),w=Be((V,F)=>(m(I=>({...I,[V]:F})),()=>m(I=>{let $={...I};return delete $[V],$})),[]),_=Be(V=>{k.current+=1;let F=k.current;D(I=>({...I,[V]:F})),c(V)},[]),H=Be((V,F)=>{R(I=>{let $={"top-left":I["top-left"].filter(q=>q!==V),"top-right":I["top-right"].filter(q=>q!==V),"bottom-left":I["bottom-left"].filter(q=>q!==V),"bottom-right":I["bottom-right"].filter(q=>q!==V)};return $[F]=[...$[F],V],$})},[]),s=Be(V=>{R(F=>({"top-left":F["top-left"].filter(I=>I!==V),"top-right":F["top-right"].filter(I=>I!==V),"bottom-left":F["bottom-left"].filter(I=>I!==V),"bottom-right":F["bottom-right"].filter(I=>I!==V)}))},[]),z=Be((V,F)=>{x(I=>I[V]===F?I:{...I,[V]:F})},[]),G=Be((V,F)=>{C(I=>{let $=new Map(I);return $.set(V,F),$})},[]),Y=Be(V=>{C(F=>{let I=new Map(F);return I.delete(V),I})},[]),j=Be(()=>{C(new Map)},[]),re=Lt(()=>Array.from(E.keys()),[E]),U=Lt(()=>({registerToolbar:w,insetTop:o.top??0,insetBottom:o.bottom??0}),[w,o]),me=Lt(()=>({managedWindowIds:re,openManaged:G,closeManaged:Y,closeAllManaged:j}),[re,G,Y,j]),oe=Lt(()=>({topId:W,zOrders:l,focusWindow:_,containerRef:g,stacks:h,dockedSizes:y,dockWindow:H,undockWindow:s,reportDockedSize:z,draggingId:b,setDraggingId:S,hoveredZone:L,setHoveredZone:N,insetTop:o.top??0,insetBottom:o.bottom??0}),[W,l,_,h,y,H,s,z,b,L,o]);return J(Yo.Provider,{value:U,children:J(Xo.Provider,{value:me,children:J(Vo.Provider,{value:oe,children:Xe("div",{ref:g,className:`rdd-panel-overlay-root${b!==null?" rdd-dragging-active":""}${t?" "+t:""}`,style:n,children:[e,b!==null&&J(_i,{hoveredZone:L}),Array.from(E.entries()).map(([V,F])=>J(Ko,{id:V,title:F.title,icon:F.icon,open:!0,onClose:()=>Y(V),defaultAnchor:F.anchor??"top-right",defaultWidth:F.width??320,defaultHeight:F.height??240,children:F.content},V))]})})})})}function _i({hoveredZone:e}){return J(qo,{children:Oi.map(t=>J("div",{className:`rdd-panel-float-dropzone rdd-panel-float-dropzone--${t}${e===t?" rdd-panel-float-dropzone--hovered":""}`,"aria-hidden":"true"},t))})}function Hi({position:e,variant:t="transparent",buttonVariant:n="ghost",buttonSize:o,style:m,className:l,children:D}){let h=gn(Yo),R=Ie(null),y=Ie(null);Go(()=>{let N=R.current;if(!N||!h)return;let W=()=>{let E=e==="top"||e==="bottom"?N.offsetHeight:N.offsetWidth;y.current?.(),y.current=h.registerToolbar(e,E)};W();let c=new ResizeObserver(W);return c.observe(N),()=>{c.disconnect(),y.current?.(),y.current=null}},[e,h?.registerToolbar]);let x={position:"absolute",zIndex:5,pointerEvents:"none",boxSizing:"border-box"};e==="top"?(x.top=0,x.left=0,x.right=0):e==="bottom"?(x.bottom=0,x.left=0,x.right=0):e==="left"?(x.insetInlineStart=0,x.top=h?.insetTop??0,x.bottom=h?.insetBottom??0):(x.insetInlineEnd=0,x.top=h?.insetTop??0,x.bottom=h?.insetBottom??0);let S=e==="left"||e==="right"?{...(h?.insetTop??0)>0?{paddingTop:0}:{},...(h?.insetBottom??0)>0?{paddingBottom:0}:{}}:{},L=o!=null?{"--rdd-panel-toolbar-btn-size":`${o}px`}:{};return J("div",{ref:R,className:`rdd-panel-toolbar rdd-panel-toolbar--${e}${l?" "+l:""}`,"data-variant":t,"data-btn-variant":n,style:{...x,...S,...L,...m},children:D})}function Bi({icon:e,onClick:t,disabled:n,title:o,variant:m}){return J("button",{type:"button",className:"rdd-panel-toolbar-btn",onClick:t,disabled:n,title:o,"aria-label":o,...m?{"data-variant":m}:{},children:e})}function $i({icon:e,active:t,onToggle:n,disabled:o,title:m,variant:l}){return J("button",{type:"button",className:`rdd-panel-toolbar-btn${t?" rdd-panel-toolbar-btn--active":""}`,onClick:n,disabled:o,title:m,"aria-label":m,"aria-pressed":t,...l?{"data-variant":l}:{},children:e})}function Gi(){return J("span",{className:"rdd-panel-toolbar__sep","aria-hidden":"true"})}function Yi(){return J("span",{className:"rdd-panel-toolbar__spacer","aria-hidden":"true"})}function Xi({children:e}){return J("span",{className:"rdd-panel-toolbar__item",children:e})}function Vi({children:e}){return J("div",{className:"rdd-panel-toolbar__center",children:e})}function Ki({placeholder:e="Search\u2026",onSearch:t,onSelect:n}){let[o,m]=we(!1),[l,D]=we(""),[h,R]=we([]),[y,x]=we(null),b=Ie(null),S=Ie(null),L=Ie(null),N=Ie(null),W=()=>{m(!0),setTimeout(()=>S.current?.focus({preventScroll:!0}),0)},c=()=>{m(!1),D(""),R([]),x(null),L.current?.abort(),N.current&&clearTimeout(N.current)},E=H=>{let s=H.target.value;if(D(s),L.current?.abort(),N.current&&clearTimeout(N.current),!s.trim()){R([]),x(null);return}N.current=setTimeout(async()=>{let z=new AbortController;L.current=z;try{let G=await t(s,z.signal);if(!z.signal.aborted){R(G);let Y=b.current;if(Y&&G.length>0){let j=Y.getBoundingClientRect(),re=Math.max(j.width,240),U=j.left;U+re>window.innerWidth-8&&(U=window.innerWidth-re-8),x({top:j.bottom+4,left:U,width:re})}else x(null)}}catch{}},300)},C=H=>{n(H),c()},k=H=>{b.current?.contains(H.relatedTarget)||c()},g=H=>{H.key==="Escape"&&c()},w=Lt(()=>{let H={};for(let s of h){let z=s.group??"";H[z]||(H[z]=[]),H[z].push(s)}return H},[h]),_=Xe("svg",{width:"14",height:"14",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[J("circle",{cx:"6.5",cy:"6.5",r:"4.5"}),J("line",{x1:"10",y1:"10",x2:"14",y2:"14"})]});return o?Xe("div",{ref:b,className:"rdd-panel-toolbar-search rdd-panel-toolbar-search--open",onBlur:k,children:[J("button",{type:"button",className:"rdd-panel-toolbar-btn",onClick:c,"aria-label":"Close search",title:"Close search",children:_}),J("input",{ref:S,className:"rdd-panel-toolbar-search__input",type:"text",value:l,onChange:E,onKeyDown:g,placeholder:e,autoComplete:"off"}),y&&h.length>0&&Wi(J("div",{className:"rdd-panel-toolbar-search__dropdown",style:{position:"fixed",top:y.top,left:y.left,width:y.width,zIndex:9502},onMouseDown:H=>H.preventDefault(),children:Object.entries(w).map(([H,s])=>Xe(zi.Fragment,{children:[H&&J("div",{className:"rdd-panel-toolbar-search__group",children:H}),s.map(z=>Xe("button",{type:"button",className:"rdd-panel-toolbar-search__item",onClick:()=>C(z),children:[z.icon&&J("span",{className:"rdd-panel-toolbar-search__item-icon",children:z.icon}),J("span",{className:"rdd-panel-toolbar-search__item-label",children:z.label}),z.description&&J("span",{className:"rdd-panel-toolbar-search__item-desc",children:z.description})]},z.id))]},H||"__default__"))}),document.body)]}):J("div",{ref:b,className:"rdd-panel-toolbar-search",children:J("button",{type:"button",className:"rdd-panel-toolbar-btn",onClick:W,title:"Search","aria-label":"Search",children:_})})}function Ko(e){let t=gn(Vo);return e.open?J(Ui,{ctx:t,...e},e.id):null}var qi=120,ji=60,$o=8,Zi=8;function Ui({id:e,title:t,icon:n,defaultAnchor:o,defaultWidth:m,defaultHeight:l,children:D,ctx:h,onClose:R}){let y=gn(Rt)?.isRtl??!1,[x,b]=we("docked"),[S,L]=we(o),[N,W]=we(null),[c,E]=we({w:m,h:l}),C=Ie(null),k=Ie(x);k.current=x;let g=Ie(N);g.current=N;let w=Ie(c);w.current=c;let _=Ie(null);Go(()=>(h?.dockWindow(e,o),()=>{h?.undockWindow(e)}),[]),Di(()=>{h?.reportDockedSize(e,c.h)},[c.h]);let H=h?.zOrders[e]??101,s=!h||h.topId===e,z=()=>{let F=C.current?.offsetParent;return{cw:F?.clientWidth??9999,ch:F?.clientHeight??9999}},G=()=>{h?.focusWindow(e)},Y=F=>{if(F.button!==0)return;F.preventDefault();let I,$;if(k.current==="docked"){let q=C.current,ce=h?.containerRef?.current;if(q&&ce){let be=q.getBoundingClientRect(),ve=ce.getBoundingClientRect();I=be.left-ve.left,$=be.top-ve.top}else I=$o,$=h?.insetTop??0;h?.undockWindow(e),b("free"),W({x:I,y:$})}else I=g.current?.x??0,$=g.current?.y??0;_.current={mouseX:F.clientX,mouseY:F.clientY,posX:I,posY:$,hasDragged:!1},C.current?.setPointerCapture(F.pointerId),document.body.classList.add("rdd-dragging-active")},j=F=>I=>{if(I.button!==0)return;I.preventDefault(),I.stopPropagation();let $=0,q=0;if(k.current==="free")$=g.current?.x??0,q=g.current?.y??0;else{let be=C.current,ve=be?.offsetParent;if(be&&ve){let ye=be.getBoundingClientRect(),Me=ve.getBoundingClientRect();$=ye.left-Me.left,q=ye.top-Me.top}}let ce={x:$,y:q,w:w.current.w,h:w.current.h};Ue({element:I.currentTarget,pointerId:I.pointerId,startClientX:I.clientX,startClientY:I.clientY,captureStart:()=>ce,activeClasses:[{el:document.body,classes:["rdd-resizing-active"]}],onMove:(be,ve,ye)=>{let{cw:Me,ch:Se}=z(),{x:Te,y:Z,w:Pe,h:Re}=$t(F,be,ve,ye,{minW:qi,minH:ji,maxW:Me-ye.x,maxH:Se-ye.y,minX:0,minY:0});E({w:Pe,h:Re}),k.current==="free"&&W({x:Te,y:Z})}})},re=F=>{if(_.current){let I=_.current;if(!I.hasDragged){if(Math.abs(F.clientX-I.mouseX)+Math.abs(F.clientY-I.mouseY)<4)return;I.hasDragged=!0,h?.setDraggingId(e)}let{cw:$,ch:q}=z(),ce=Math.max(0,Math.min(I.posX+F.clientX-I.mouseX,$-w.current.w)),be=Math.max(0,Math.min(I.posY+F.clientY-I.mouseY,q-w.current.h));W({x:ce,y:be});let ve=h?.containerRef?.current;if(ve){let ye=Ai(ve,F.clientX,F.clientY);h?.setHoveredZone(ye&&y?Bt(ye):ye)}}},U=()=>{if(_.current){let F=h?.hoveredZone;F&&(h?.dockWindow(e,F),L(F),b("docked"),W(null)),h?.setHoveredZone(null),h?.setDraggingId(null)}document.body.classList.remove("rdd-dragging-active"),_.current=null},me=()=>{_.current&&(h?.setHoveredZone(null),h?.setDraggingId(null)),document.body.classList.remove("rdd-dragging-active"),_.current=null},oe;if(x==="docked"&&h){let F=h.stacks[S]??[],I=F.indexOf(e),$=0;for(let q=0;q<I;q++)$+=(h.dockedSizes[F[q]]??l)+Zi;oe={width:c.w,height:c.h,zIndex:H,transition:"top 0.2s ease, bottom 0.2s ease",opacity:I===-1?0:void 0,pointerEvents:I===-1?"none":void 0},oe[S.endsWith("-right")?"insetInlineEnd":"insetInlineStart"]=$o,S.startsWith("top-")?oe.top=h.insetTop+$:oe.bottom=h.insetBottom+$}else oe={left:N?.x??0,top:N?.y??0,width:c.w,height:c.h,zIndex:H};return Xe("div",{ref:C,dir:y?"rtl":"ltr",className:`rdd-panel-float${s?" rdd-panel-float--active":""}`,style:oe,onPointerDown:G,onPointerMove:re,onPointerUp:U,onPointerCancel:me,children:[Xe("div",{className:"rdd-panel-float__header",onPointerDown:Y,children:[n&&J("span",{className:"rdd-panel-float__icon",children:n}),J("span",{className:"rdd-panel-float__title",children:t}),J("button",{type:"button",className:"rdd-panel-float__close",onClick:R,onPointerDown:F=>F.stopPropagation(),title:"Close","aria-label":"Close",children:Xe("svg",{width:"8",height:"8",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",children:[J("line",{x1:"1",y1:"1",x2:"9",y2:"9"}),J("line",{x1:"9",y1:"1",x2:"1",y2:"9"})]})})]}),J("div",{className:"rdd-panel-float__body",children:D}),x==="free"&&Xe(qo,{children:[J("div",{className:"rdd-resize-handle rdd-resize-n",onPointerDown:j("n")}),J("div",{className:"rdd-resize-handle rdd-resize-ne",onPointerDown:j("ne")}),J("div",{className:"rdd-resize-handle rdd-resize-nw",onPointerDown:j("nw")})]}),J("div",{className:"rdd-resize-handle rdd-resize-e",onPointerDown:j("e")}),J("div",{className:"rdd-resize-handle rdd-resize-se",onPointerDown:j("se")}),J("div",{className:"rdd-resize-handle rdd-resize-s",onPointerDown:j("s")}),J("div",{className:"rdd-resize-handle rdd-resize-sw",onPointerDown:j("sw")}),J("div",{className:"rdd-resize-handle rdd-resize-w",onPointerDown:j("w")})]})}function Ji(){let[e,t]=we(!1),n=Be(()=>{t(!0)},[]),o=Be(()=>{t(!1)},[]);return{isOpen:e,open:n,close:o}}var Qi=[];function es(){let e=gn(Xo),t=e?.managedWindowIds??Qi;return Lt(()=>({open:(n,o)=>e?.openManaged(n,o),close:n=>e?.closeManaged(n),closeAll:()=>e?.closeAllManaged(),isOpen:n=>t.includes(n),openIds:t}),[e,t])}export{pt as ConfirmationForm,wn as ContextMenu,Rn as ContextMenuProvider,Tt as DefaultContextMenuAdapter,Br as DockableDesktopProvider,vn as FormContainerContext,st as FormContainerProvider,ei as LeftPanelRenderer,jr as ModalStackRenderer,Wn as PanelContributionProvider,Ko as PanelFloatingWindow,Fi as PanelOverlayRoot,Tn as PanelProvider,Qt as PanelRegistry,xt as PanelRegistryClass,Hi as PanelToolbar,Xi as PanelToolbarItem,Gi as PanelToolbarSeparator,ti as RightPanelRenderer,ni as SidePanelRenderer,ui as Sidebar,Ni as ToastContainer,xi as Toolbar,Bi as ToolbarButton,Vi as ToolbarCenter,an as ToolbarProvider,Ki as ToolbarSearchInput,Yi as ToolbarSpacer,$i as ToolbarToggle,Rr as WindowManager,Pn as WindowManagerProvider,zn as WorkspaceClient,$t as computeResizedRect,Ot as defaultPredefinedMessages,de as formatLabel,Ct as isSerializable,To as sidebarSectionToTab,Ue as startPointerDrag,Ri as toast,On as useActivePanelContribution,kn as useColorScheme,Pt as useFormContainer,De as useFormatMessage,Fr as useMergedSidebarTabs,Ar as useMergedToolbarItems,ct as usePanelActions,ir as usePanelContext,sr as usePanelContextMenu,Or as usePanelContribution,Ji as usePanelFloatingWindow,es as usePanelFloatingWindowManager,nn as usePanelId,Qo as usePanelSize,Ze as usePanelState,_e as usePredefinedMessages,At as useRegistry,dr as useShowContextMenu,pi as useSidebar,gi as useSidebarTab,je as useStyleClasses,ln as useToolbar,Ft as useWindowManagerActions,Le as useWindowManagerState};
24
24
  //# sourceMappingURL=index.js.map