react-zeugma 6.9.6 → 6.9.7

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.d.cts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { U as UseZeugmaOptions, Z as ZeugmaController, a as ZeugmaProps, S as SplitDirection, T as TreeNode, b as SplitNode, R as RenderTabProps, c as TabDetails } from './types-DQICRtw1.cjs';
2
2
  export { D as DragOverlayActiveItem, P as PaneNode, d as ZeugmaClassNames } from './types-DQICRtw1.cjs';
3
3
  import React__default from 'react';
4
- export { R as RenderCounterBadge, a as RenderCounterBadgeProps, b as RenderCounterFooter, c as RenderCounterFooterProps, d as RenderCounterOptions, e as RenderCounterState, u as useRenderCounter } from './render-counter-footer-CYe6-Atc.cjs';
4
+ export { R as RenderCounterBadge, a as RenderCounterBadgeProps, b as RenderCounterFooter, c as RenderCounterFooterProps, d as RenderCounterOptions, e as RenderCounterState, u as useRenderCounter } from './render-counter-footer-rAKCzuRX.cjs';
5
5
 
6
6
  declare function useZeugma(options: UseZeugmaOptions): ZeugmaController;
7
7
 
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { U as UseZeugmaOptions, Z as ZeugmaController, a as ZeugmaProps, S as SplitDirection, T as TreeNode, b as SplitNode, R as RenderTabProps, c as TabDetails } from './types-DQICRtw1.js';
2
2
  export { D as DragOverlayActiveItem, P as PaneNode, d as ZeugmaClassNames } from './types-DQICRtw1.js';
3
3
  import React__default from 'react';
4
- export { R as RenderCounterBadge, a as RenderCounterBadgeProps, b as RenderCounterFooter, c as RenderCounterFooterProps, d as RenderCounterOptions, e as RenderCounterState, u as useRenderCounter } from './render-counter-footer-CYe6-Atc.js';
4
+ export { R as RenderCounterBadge, a as RenderCounterBadgeProps, b as RenderCounterFooter, c as RenderCounterFooterProps, d as RenderCounterOptions, e as RenderCounterState, u as useRenderCounter } from './render-counter-footer-rAKCzuRX.js';
5
5
 
6
6
  declare function useZeugma(options: UseZeugmaOptions): ZeugmaController;
7
7
 
package/dist/index.js CHANGED
@@ -6,7 +6,7 @@ import ge,{createContext,useState,useRef,useEffect,useCallback,useMemo,useContex
6
6
  .zeugma-resizing *:not([role="separator"]) {
7
7
  pointer-events: none !important;
8
8
  }
9
- `,document.head.appendChild(o),t.setAttribute("data-resizing","true");let c=s=>{n(s);},i=()=>{document.body.classList.remove("zeugma-resizing"),t.removeAttribute("data-resizing");let s=document.getElementById("zeugma-global-cursor-style");s&&s.remove(),document.removeEventListener("pointermove",c),document.removeEventListener("pointerup",i),r();};document.addEventListener("pointermove",c),document.addEventListener("pointerup",i);}var vt=createContext(void 0),Re=createContext(void 0),Te=createContext(void 0),ht=createContext(void 0),ie=()=>{let e=useContext(vt);if(!e)throw new Error("useZeugmaState must be used within a Zeugma provider");return e},He=()=>{let e=useContext(Re);if(!e)throw new Error("useZeugmaActions must be used within a Zeugma provider");return e},Je=()=>{let e=useContext(ht);if(!e)throw new Error("useZeugmaDrag must be used within a Zeugma provider");return e};function $t(e){let t=useRef(null);return useEffect(()=>{if(!e){t.current=null;return}let n=o=>{t.current={x:o.clientX,y:o.clientY};},r=o=>{let c=o.touches[0]||o.changedTouches[0];c&&(t.current={x:c.clientX,y:c.clientY});};return window.addEventListener("pointermove",n,{passive:true}),window.addEventListener("touchmove",r,{passive:true}),()=>{window.removeEventListener("pointermove",n),window.removeEventListener("touchmove",r);}},[e]),t}function Bt(e){useEffect(()=>(e?document.body.style.setProperty("cursor","not-allowed","important"):document.body.style.removeProperty("cursor"),()=>{document.body.style.removeProperty("cursor");}),[e]);}function _t(){let[e,t]=useState({}),[n,r]=useState({}),o=useRef({}),c=useRef(null),i=useRef({}),s=useRef(null),u=useRef(true);useEffect(()=>(u.current=true,()=>{u.current=false;}),[]);let f=useCallback((y,D,I)=>{u.current&&t(T=>{if(!D){if(I&&T[y]!==I||!T[y])return T;let z={...T};return delete z[y],z}return T[y]===D?T:{...T,[y]:D}});},[]),l=useCallback((y,D)=>{u.current&&r(I=>{if(!D){if(!I[y])return I;let T={...I};return delete T[y],T}return I[y]===D?I:{...I,[y]:D}});},[]),b=useCallback((y,D)=>{o.current[y]=D;},[]),g=useCallback(y=>{c.current=y;},[]),m=useCallback((y,D)=>{i.current[y]=D;},[]);return {portalTargets:useMemo(()=>({...e,...n}),[e,n]),registerPortalTarget:f,registerPopoutTarget:l,registerRenderCallback:b,renderCallbacksRef:o,registerRenderPane:g,renderPaneRef:c,registerTabHeader:m,tabHeadersRef:i,activeIdRef:s}}function Yn(e){let t=new Set;function n(r){r&&(r.type==="pane"?r.tabIds.forEach(o=>{t.add(o);}):r.type==="split"&&(n(r.first),n(r.second)));}return n(e),Array.from(t).sort()}function Ft(e){return useMemo(()=>Yn(e),[e])}function Vt(e){let{onDragStart:t,onDragEnd:n}=e,[r,o]=useState(null),[c,i]=useState(null),s=useCallback(f=>{t&&t(f);},[t]),u=useCallback((f,l,b)=>{n&&n(f,l,b);},[n]);return {overTabId:r,setOverTabId:o,overTabPosition:c,setOverTabPosition:i,handleDragStartInternal:s,handleDragEndInternal:u}}function jt(e){let n=useContext(Te)?.registerRenderPane;useEffect(()=>{n&&e&&n(e);},[n,e]);}function pe(){return "pane-"+Math.random().toString(36).substring(2,11)}function be(e,t){if(e===null)return null;if(e.type==="pane")return e.id===t?null:e;let n=be(e.first,t),r=be(e.second,t);return n===null?r:r===null?n:{...e,first:n,second:r}}function fe(e,t){if(e===null)return null;if(e.type==="pane"){if(e.tabIds.includes(t)){let o=e.tabIds.filter(s=>s!==t);if(o.length===0)return null;let c=e.activeTabId;e.activeTabId===t&&(c=o[0]);let i={...e.tabsMetadata};return delete i[t],{...e,tabIds:o,activeTabId:c,tabsMetadata:Object.keys(i).length>0?i:void 0}}return e}let n=fe(e.first,t),r=fe(e.second,t);return n===null?r:r===null?n:{...e,first:n,second:r}}function Se(e,t,n,r,o){if(e===null)return typeof o=="string"?{type:"pane",id:pe(),tabIds:[o],activeTabId:o}:o;if(e.type==="pane"){if(e.id===t){let c=typeof o=="string"?{type:"pane",id:pe(),tabIds:[o],activeTabId:o}:o,i=r==="left"||r==="top";return {type:"split",direction:n,first:i?c:e,second:i?e:c,splitPercentage:50}}return e}return {...e,first:Se(e.first,t,n,r,o)||e.first,second:Se(e.second,t,n,r,o)||e.second}}function Gn(e,t){if(e===null)return t;function n(r,o){return r.type==="pane"?{type:"split",direction:o==="row"?"column":"row",splitPercentage:50,first:r,second:t}:{...r,second:n(r.second,r.direction)}}return n(e,null)}function Wt(e,t,n,r){if(e===null)return {type:"pane",id:pe(),tabIds:[n],activeTabId:n,tabsMetadata:r?{[n]:r}:void 0};let o=t?te(e,t):null;if(o&&o.type==="pane"){let s=function(u){if(u.type==="pane"&&u.id===t){let f=[...u.tabIds];f.includes(n)||f.push(n);let l=u.tabsMetadata;return r&&(l={...u.tabsMetadata,[n]:r}),{...u,tabIds:f,activeTabId:n,tabsMetadata:l}}return u.type==="split"?{...u,first:s(u.first),second:s(u.second)}:u};return s(e)}let c={type:"pane",id:pe(),tabIds:[n],activeTabId:n,tabsMetadata:r?{[n]:r}:void 0};return Gn(e,c)}function xe(e,t,n){return e===null?null:e===t?{...e,splitPercentage:n}:e.type==="split"?{...e,first:xe(e.first,t,n)||e.first,second:xe(e.second,t,n)||e.second}:e}function te(e,t){return e===null?null:e.type==="pane"?e.id===t?e:null:e.type==="split"?te(e.first,t)??te(e.second,t):null}function W(e,t){return e===null?null:e.type==="pane"?e.tabIds.includes(t)?e:null:e.type==="split"?W(e.first,t)??W(e.second,t):null}function qt(e,t){return te(e,t)??W(e,t)}function nt(e,t){let n=W(e,t);if(!n)return null;let r=n.tabIds.indexOf(t);return {id:t,paneId:n.id,isActive:n.activeTabId===t,index:r,metadata:n.tabsMetadata?.[t],remountOnPopout:n.tabsMetadata?.[t]?.remountOnPopout}}function Ut(e,t){return W(e,t)?.tabsMetadata?.[t]}function Xt(e,t){let n=te(e,t);return n?.tabsMetadata?.[n.activeTabId]}function et(e,t,n){if(e===null)return null;if(e.type==="pane"){if(e.tabIds.includes(t)){let r=e.tabsMetadata||{},o=r[t],c=n(o),i={...r};return c===void 0?delete i[t]:i[t]=c,{...e,tabsMetadata:Object.keys(i).length>0?i:void 0}}return e}return e.type==="split"?{...e,first:et(e.first,t,n)??e.first,second:et(e.second,t,n)??e.second}:e}function tt(e,t,n){if(e===null)return null;if(e.type==="pane"){if(e.id===t){if(n===false){let{locked:r,...o}=e;return o}return {...e,locked:n}}return e}return e.type==="split"?{...e,first:tt(e.first,t,n)??e.first,second:tt(e.second,t,n)??e.second}:e}function Ne(e,t,n){return e===null?null:e.type==="pane"?e.id===t?e.activeTabId===n?e:{...e,activeTabId:n}:e:e.type==="split"?{...e,first:Ne(e.first,t,n)??e.first,second:Ne(e.second,t,n)??e.second}:e}function Yt(e,t,n){if(e===null)return null;let o=W(e,t)?.tabsMetadata?.[t],c=fe(e,t);if(c===null)return {type:"pane",id:pe(),tabIds:[t],activeTabId:t,tabsMetadata:o?{[t]:o}:void 0};function i(s){if(s.type==="pane"){if(s.id===n){let u=[...s.tabIds];u.includes(t)||u.push(t);let f={...s.tabsMetadata};return o&&(f[t]=o),{...s,tabIds:u,activeTabId:t,tabsMetadata:Object.keys(f).length>0?f:void 0}}return s}return s.type==="split"?{...s,first:i(s.first),second:i(s.second)}:s}return i(c)}function Jn(e,t,n){if(e===null)return null;if(t===n)return e;let r=W(e,t),o=W(e,n);if(!r||!o)return e;let c=r.id,i=o.id,s=r.tabsMetadata?.[t],u=o.tabsMetadata?.[n];function f(l){if(l.type==="pane"){let b=false,g=[...l.tabIds],m=l.activeTabId,w=l.tabsMetadata?{...l.tabsMetadata}:{};if(c===i){if(l.id===c){let y=g.indexOf(t),D=g.indexOf(n);y!==-1&&D!==-1&&(g[y]=n,g[D]=t),m=t,b=true;}}else l.id===c&&(g=g.map(y=>y===t?n:y),m===t&&(m=n),delete w[t],u&&(w[n]=u),b=true),l.id===i&&(g=g.map(y=>y===n?t:y),m===n&&(m=t),delete w[n],s&&(w[t]=s),b=true);return b?{...l,tabIds:g,activeTabId:m,tabsMetadata:Object.keys(w).length>0?w:void 0}:l}return l.type==="split"?{...l,first:f(l.first),second:f(l.second)}:l}return f(e)}function $e(e,t,n,r="before"){if(e===null)return null;if(t===n)return e;if(r==="center")return Jn(e,t,n);let c=W(e,t)?.tabsMetadata?.[t],i=fe(e,t);if(i===null)return {type:"pane",id:pe(),tabIds:[t],activeTabId:t,tabsMetadata:c?{[t]:c}:void 0};function s(u){if(u.type==="pane"){if(u.tabIds.includes(n)){let l=[...u.tabIds].filter(m=>m!==t),b=l.indexOf(n);b<0&&(b=0),r==="after"&&(b+=1),l.splice(b,0,t);let g={...u.tabsMetadata};return c&&(g[t]=c),{...u,tabIds:l,activeTabId:t,tabsMetadata:Object.keys(g).length>0?g:void 0}}return u}return u.type==="split"?{...u,first:s(u.first),second:s(u.second)}:u}return s(i)}function he(e,t=0,n=0,r=100,o=100,c="root"){if(e===null)return {panes:[],splitters:[]};if(e.type==="pane")return {panes:[{paneId:e.id,left:t,top:n,width:r,height:o,node:e}],splitters:[]};let{direction:i,splitPercentage:s,first:u,second:f}=e,b={id:`splitter-${c}-${i}`,currentNode:e,direction:i,left:i==="row"?t+r*(s/100):t,top:i==="column"?n+o*(s/100):n,width:i==="row"?0:r,height:i==="column"?0:o,parentLeft:t,parentTop:n,parentWidth:r,parentHeight:o},g={panes:[],splitters:[]},m={panes:[],splitters:[]};if(i==="row"){let w=r*(s/100);g=he(u,t,n,w,o,`${c}-L`),m=he(f,t+w,n,r-w,o,`${c}-R`);}else {let w=o*(s/100);g=he(u,t,n,r,w,`${c}-T`),m=he(f,t,n+w,r,o-w,`${c}-B`);}return {panes:[...g.panes,...m.panes],splitters:[b,...g.splitters,...m.splitters]}}function Gt(e,t,n,r="before"){if(e===null)return null;let o=te(e,t);if(!o)return e;let c=o.tabIds,i=o.activeTabId,s=o.tabsMetadata||{},u=be(e,t);if(u===null)return o;function f(l){if(l.type==="pane"){if(l.tabIds.includes(n)){let g=[...l.tabIds].filter(y=>!c.includes(y)),m=g.indexOf(n);m<0&&(m=0),r==="after"&&(m+=1),g.splice(m,0,...c);let w={...l.tabsMetadata};for(let y of c)s[y]&&(w[y]=s[y]);return {...l,tabIds:g,activeTabId:i,tabsMetadata:Object.keys(w).length>0?w:void 0}}return l}return l.type==="split"?{...l,first:f(l.first),second:f(l.second)}:l}return f(u)}function Jt(e,t,n,r){if(!((t==="tab"||t==="pane")&&n&&e.includes(n))||!r)return -1;let i=e.indexOf(n);return r==="before"?i:i+1}function Qt(e,t){if(e===t)return true;if(!e||!t)return false;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return false;for(let o of n){if(!Object.prototype.hasOwnProperty.call(t,o))return false;let c=e[o],i=t[o];if(typeof c=="object"&&c!==null&&typeof i=="object"&&i!==null){if(!Qt(c,i))return false}else if(c!==i)return false}return true}function Qn(e,t){if(e===t)return true;if(!e||!t)return false;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return false;for(let o of n)if(!Object.prototype.hasOwnProperty.call(t,o)||!Qt(e[o],t[o]))return false;return true}function Be(e,t){if(e===t)return true;if(!e||!t||e.type!==t.type)return false;if(e.type==="split"){let n=t;return e.direction===n.direction&&e.splitPercentage===n.splitPercentage&&Be(e.first,n.first)&&Be(e.second,n.second)}else {let n=t;if(e.id!==n.id||e.activeTabId!==n.activeTabId||e.locked!==n.locked||e.tabIds.length!==n.tabIds.length)return false;for(let r=0;r<e.tabIds.length;r++)if(e.tabIds[r]!==n.tabIds[r])return false;return Qn(e.tabsMetadata,n.tabsMetadata)}}function Kn(e){let{initialLayout:t,layout:n,onChange:r,fullscreenPaneId:o,onFullscreenChange:c,locked:i=false}=e,[s,u]=useState(()=>n!==void 0?n:t??null),[f,l]=useState(()=>n!==void 0?n:t??null),b=useRef(n),[g,m]=useState(o||null),[w,y]=useState(i),[D,I]=useState([]),[T,z]=useState(null),[E,k]=useState(null),[M,a]=useState(null),d=useRef(null),h=useCallback(p=>{d.current=p;},[]),P=useRef(s);P.current=s;let N=useRef(g);N.current=g;let X=useRef(r);X.current=r;let Y=useRef(c);Y.current=c;let ne=useCallback(p=>{m(p),Y.current?.(p);},[]);useEffect(()=>{y(i);},[i]),useEffect(()=>{o!==void 0&&m(o);},[o]),n!==void 0&&(Be(n,b.current??null)||(b.current=n,u(n),l(n),I(p=>{if(p.length===0)return p;let R=p.filter(C=>nt(n,C)!==null);return R.length===p.length?p:R})));let O=useCallback(p=>(...R)=>{let C=P.current,F=p(C,...R);Be(C,F)||(P.current=F,u(F),l(F),I(_=>{if(_.length===0)return _;let ae=_.filter(j=>nt(F,j)!==null);return ae.length===_.length?_:ae}),X.current?.(F));},[]),H=useCallback(O((p,R)=>typeof R=="function"?R(p):R),[O]),U=useCallback(p=>{N.current===null&&l(R=>typeof p=="function"?p(R):p);},[]),V=useCallback(p=>{m(null),Y.current?.(null),z(null),k(null),a(null),H(p),l(()=>typeof p=="function"?p(P.current):p);},[H]),A=useCallback(O((p,R)=>N.current!==null?p:be(p,R)),[O]),Z=useCallback(O((p,R,C,F)=>{if(N.current!==null)return p;let _=fe(p,R)??p;return Wt(_,C,R,F)}),[O]),v=useCallback(O((p,R,C,F,_)=>{if(N.current!==null)return p;let ae=te(p,R)??W(p,R);if(!ae)return p;let j=te(p,_)??W(p,_)??{type:"pane",id:_,tabIds:[_],activeTabId:_},ve=be(p,j.id);return Se(ve,ae.id,C,F,j)}),[O]),$=useCallback(O((p,R,C)=>N.current!==null?p:xe(p,R,C)),[O]),x=useCallback(O((p,R,C)=>et(p,R,C)),[O]),B=useCallback(O((p,R,C)=>{let F=te(p,R)??W(p,R);return F?tt(p,F.id,C):p}),[O]),ue=useCallback(O((p,R,C)=>{let F=te(p,R)??W(p,R);return F?Ne(p,F.id,C):p}),[O]),G=useCallback(O((p,R,C)=>{if(N.current!==null)return p;let F=te(p,C)??W(p,C);return F?Yt(p,R,F.id):p}),[O]),J=useCallback(O((p,R,C,F)=>N.current!==null?p:$e(p,R,C,F)),[O]),Q=useCallback(O((p,R)=>N.current!==null?p:fe(p,R)),[O]),K=useCallback(p=>te(P.current,p),[]),S=useCallback(p=>W(P.current,p),[]),L=useCallback(p=>nt(P.current,p),[]),le=useCallback(p=>Ut(P.current,p),[]),se=useCallback(p=>Xt(P.current,p),[]),ee=useCallback(p=>{N.current===null&&I(R=>R.includes(p)?R:[...R,p]);},[]),oe=useCallback(p=>{N.current===null&&I(R=>R.includes(p)?R.filter(C=>C!==p):R);},[]);return {layout:s,setLayout:V,_internalSetLayout:U,renderingLayout:f,fullscreenPaneId:g,setFullscreenPaneId:ne,locked:w,setLocked:y,poppedOutTabIds:D,activeId:T,setActiveId:z,activeType:E,setActiveType:k,dismissIntentId:M,setDismissIntentId:a,containerRef:d,setContainerRef:h,removePane:A,addTab:Z,updateMetadata:x,updatePaneLock:B,selectTab:ue,mergeTab:G,moveTab:J,removeTab:Q,splitPane:v,updateSplitPercentage:$,popoutTab:ee,dockTab:oe,findPaneById:K,findPaneContainingTab:S,findTabById:L,getTabMetadata:le,getActiveTabMetadata:se}}var eo=()=>{let e=ie(),t=He();return {layout:e.layout,setLayout:e.setLayout,fullscreenPaneId:e.fullscreenPaneId,setFullscreenPaneId:t.setFullscreenPaneId,locked:e.locked,setLocked:t.setLocked,removePane:t.removePane,addTab:t.addTab,updateMetadata:t.updateMetadata,updatePaneLock:t.updatePaneLock,selectTab:t.selectTab,mergeTab:t.mergeTab,removeTab:t.removeTab,splitPane:t.splitPane,updateSplitPercentage:t.updateSplitPercentage,moveTab:t.moveTab,findPaneById:e.findPaneById,findPaneContainingTab:e.findPaneContainingTab,findTabById:e.findTabById,getTabMetadata:e.getTabMetadata,getActiveTabMetadata:e.getActiveTabMetadata,poppedOutTabIds:e.poppedOutTabIds,popoutTab:t.popoutTab,dockTab:t.dockTab}};var ot=class extends PointerSensor{static activators=[{eventName:"onPointerDown",handler:({nativeEvent:t})=>!t.target?.closest(".drag-cancel")}]},rt=class extends TouchSensor{static activators=[{eventName:"onTouchStart",handler:({nativeEvent:t})=>!t.target?.closest(".drag-cancel")}]};var en=e=>{let n=e.active.id.toString().startsWith("tab-header-"),o=pointerWithin(e);if(o.length>0)return [...o].sort((i,s)=>{let u=i.id.toString(),f=s.id.toString(),l=u.startsWith("tab-drop-"),b=f.startsWith("tab-drop-");if(l&&!b)return -1;if(!l&&b)return 1;let g=u.startsWith("drop-root-"),m=f.startsWith("drop-root-");return g&&!m?-1:!g&&m?1:0});if(n){let c=e.droppableContainers.filter(i=>i.id.toString().startsWith("tab-drop-"));return closestCenter({...e,droppableContainers:c})}return []};function _e(e){if(e instanceof MouseEvent||e instanceof PointerEvent)return {x:e.clientX,y:e.clientY};if(typeof TouchEvent<"u"&&e instanceof TouchEvent){let t=e.touches[0]||e.changedTouches[0];if(t)return {x:t.clientX,y:t.clientY}}return null}function on(e){let{layout:t,_internalSetLayout:n,setLayout:r,activeId:o,setActiveId:c,activeType:i,setActiveType:s,dismissIntentId:u,setDismissIntentId:f,setOverTabId:l,setOverTabPosition:b,containerRef:g,dragActivationDistance:m,enableDragToDismiss:w,dismissThreshold:y,onRemove:D,onDragStart:I,onDragEnd:T,onDismissIntentChange:z,removeTab:E,removePane:k}=e,M=useRef(null),a=$t(o),d=useRef(null),[h,P]=useState(false);return Bt(h),{sensors:useSensors(useSensor(ot,{activationConstraint:{distance:m}}),useSensor(rt,{activationConstraint:{delay:250,tolerance:5}})),collisionDetection:en,onDragStart:H=>{let U=H.active.id.toString(),V=U.startsWith("tab-header-"),A=V?U.substring(11):U;c(A),s(V?"tab":"pane"),l(null),b(null);let Z=H.activatorEvent;a.current=_e(Z),w&&g.current?M.current=g.current.getBoundingClientRect():M.current=null;let v=t;if(V){let x=W(t,A);x&&(v=Ne(t,x.id,A)||t);}d.current=v;let $=V?fe(v,A):be(v,A);n($),I&&I(A);},onDragMove:H=>{let{over:U}=H,V=U?.id.toString()||"",A=V.startsWith("drop-locked-");P(S=>S===A?S:A);let Z=H.active.id.toString(),v=Z.startsWith("tab-header-"),$=v?Z.substring(11):Z,x=V.match(/^tab-drop-(.+)$/);if(x&&U&&(v||i==="pane")){let[,S]=x;if($!==S){let L="before",le=U.rect,se=H.activatorEvent,ee=null;if(a.current)ee=a.current.x;else {let oe=_e(se);oe&&(ee=oe.x+H.delta.x);}if(ee!==null){let oe=le.left+le.width/2;ee>oe&&(L="after");}l(oe=>oe===S?oe:S),b(oe=>oe===L?oe:L);}else l(L=>L===null?L:null),b(L=>L===null?L:null);}else l(S=>S===null?S:null),b(S=>S===null?S:null);if(!w)return;let B=M.current;if(!B){u!==null&&(f(null),z?.(null));return}let ue=H.activatorEvent,G=null,J=null;if(a.current)G=a.current.x,J=a.current.y;else {let S=_e(ue);S&&(G=S.x+H.delta.x,J=S.y+H.delta.y);}let Q=0;if(G!==null&&J!==null){let S=0,L=0;G<B.left?S=B.left-G:G>B.right&&(S=G-B.right),J<B.top?L=B.top-J:J>B.bottom&&(L=J-B.bottom),Q=Math.sqrt(S*S+L*L);}else {let S=H.active.rect.current.translated;if(S){let L=S.left+S.width/2,le=S.top+S.height/2,se=0,ee=0;L<B.left?se=B.left-L:L>B.right&&(se=L-B.right),le<B.top?ee=B.top-le:le>B.bottom&&(ee=le-B.bottom),Q=Math.sqrt(se*se+ee*ee);}}Q>y?u!==$&&(f($),z?.($)):u!==null&&(f(null),z?.(null));},onDragEnd:H=>{c(null),s(null),P(false),l(null),b(null);let{active:U,over:V}=H,A=U.id.toString(),Z=A.startsWith("tab-header-"),v=Z?A.substring(11):A,$=w&&u===v;f(null),z?.(null),M.current=null;let x=d.current||t;if(d.current=null,$){D?D(v):Z?E(v):k(v),T&&T(v,null,null);return}if(!V){n(x),T&&T(v,null,null);return}let B=V.id.toString();if(B.startsWith("drop-locked-")){n(x),T&&T(v,null,null);return}let ue=B.match(/^tab-drop-(.+)$/);if(ue){let[,p]=ue;if(Z)if(v!==p){let R="before",C=V.rect,F=H.activatorEvent,_=null;if(a.current)_=a.current.x;else {let j=_e(F);j&&(_=j.x+H.delta.x);}if(_!==null){let j=C.left+C.width/2;_>j&&(R="after");}let ae=$e(x,v,p,R);r(ae),T&&T(v,p,{type:"move",position:"center"});}else n(x),T&&T(v,null,null);else {let R="before",C=V.rect,F=H.activatorEvent,_=null;if(a.current)_=a.current.x;else {let j=_e(F);j&&(_=j.x+H.delta.x);}if(_!==null){let j=C.left+C.width/2;_>j&&(R="after");}let ae=Gt(x,v,p,R);r(ae),T&&T(v,p,{type:"move",position:"center"});}return}let G=B.match(/^drop-root-(1\/4|1\/3)-(top|bottom|left|right|start|end)$/);if(G){let[,p,R]=G,C=R;C==="start"&&(C="left"),C==="end"&&(C="right");let F=Z?fe(x,v):be(x,v),_;if(Z){let j=W(x,v)?.tabsMetadata?.[v];_={type:"pane",id:pe(),tabIds:[v],activeTabId:v,tabsMetadata:j?{[v]:j}:void 0};}else _=te(x,v)??{type:"pane",id:pe(),tabIds:[v],activeTabId:v};if(F===null)r(_);else {let ae=C==="left"||C==="right",j=C==="left"||C==="top",ve=50;p==="1/4"?ve=j?25:75:p==="1/3"&&(ve=j?100/3:200/3),r({type:"split",direction:ae?"row":"column",first:j?_:F,second:j?F:_,splitPercentage:ve});}T&&T(v,"root",{type:"split",direction:C==="left"||C==="right"?"row":"column",position:C});return}let J=B.match(/^drop-(left|right|top|bottom|center)-(.+)$/);if(!J){n(x),T&&T(v,null,null);return}let[,Q,K]=J;if(Q==="center"){if(Z){let p=te(x,K);if(p&&p.activeTabId){let R=p.activeTabId,C=$e(x,v,R,"center");r(C),T&&T(v,K,{type:"move",position:"center"});}else n(x),T&&T(v,null,null);}else n(x),T&&T(v,null,null);return}let S=Z?W(x,v):te(x,v),L=S&&S.id===K,le=S&&S.tabIds.length===1;if(v===K||L&&le){n(x),T&&T(v,null,null);return}let se=Q==="left"||Q==="right"?"row":"column",ee;if(Z){let R=W(x,v)?.tabsMetadata?.[v];ee={type:"pane",id:pe(),tabIds:[v],activeTabId:v,tabsMetadata:R?{[v]:R}:void 0};}else ee=te(x,v)??{type:"pane",id:pe(),tabIds:[v],activeTabId:v};let oe=Z?fe(x,v):be(x,v),Ze=Se(oe,K,se,Q,ee);r(Ze),T&&T(v,K,{type:"split",direction:se,position:Q});},onDragCancel:()=>{c(null),s(null),P(false),l(null),b(null),f(null),z?.(null),M.current=null;let H=d.current||t;d.current=null,n(H),H!==t&&r(H);}}}function an({persist:e,layout:t,setLayout:n}){let r=typeof e=="object"?e.enabled!==false:!!e,o=typeof e=="object"&&e.key||"zeugma-layout",[c,i]=useState(false);useEffect(()=>{if(r){let s=localStorage.getItem(o);if(s)try{let u=JSON.parse(s);u&&n(u);}catch(u){console.error("Failed to parse persisted zeugma layout",u);}}i(true);},[r,o,n]),useEffect(()=>{r&&c&&(t?localStorage.setItem(o,JSON.stringify(t)):localStorage.removeItem(o));},[r,o,t,c]);}var De=null,ln=false,re=new Set,Ce=new Set,Le=null;function co(){typeof window>"u"||Le||(Le=new MutationObserver(e=>{e.forEach(t=>{t.addedNodes.forEach(n=>{n instanceof HTMLElement&&(n.tagName.toLowerCase()==="style"||n.tagName.toLowerCase()==="link")&&re.forEach(r=>{try{let o=n.cloneNode(!0);if(o.tagName.toLowerCase()==="link"){let c=n.href;c&&o.setAttribute("href",c);}r.head.appendChild(o);}catch(o){console.warn("Failed to mirror style node to popout:",o);}});});});}),Le.observe(document.head,{childList:true}));}function yt(){Le&&(Le.disconnect(),Le=null);}var ke=null;function uo(){typeof window>"u"||ke||(ke=new MutationObserver(e=>{e.forEach(t=>{if(t.type==="attributes"&&t.attributeName){let n=document.documentElement.getAttribute(t.attributeName);re.forEach(r=>{try{r&&r.documentElement&&(n!==null?r.documentElement.setAttribute(t.attributeName,n):r.documentElement.removeAttribute(t.attributeName));}catch(o){console.warn("Failed to sync documentElement attribute:",o);}});}});}),ke.observe(document.documentElement,{attributes:true}));}function Tt(){ke&&(ke.disconnect(),ke=null);}var cn=e=>{typeof requestAnimationFrame<"u"?requestAnimationFrame(e):setTimeout(e,0);};function me(){if(typeof window>"u")return document;if(De&&De.target){let t=De.target.ownerDocument;if(t&&t!==document)return t}let e=window.event;if(e&&e.target){let n=e.target.ownerDocument;if(n&&n!==document)return n}return window.__zeugmaActivePopoutDocument?window.__zeugmaActivePopoutDocument:document}function un(){if(typeof window>"u"||ln)return;ln=true;let e=(a,d)=>{if(!a||!d)return false;try{let h=Object.getPrototypeOf(a);for(;h;){if(h===d)return !0;h=Object.getPrototypeOf(h);}}catch{}return false},t=(a,d)=>{try{Object.defineProperty(a,Symbol.hasInstance,{value:function(h){return h?e(h,a.prototype)?!0:d(h):!1},configurable:!0,writable:!0});}catch(h){console.warn("Failed to patch Symbol.hasInstance on",a,h);}};typeof Node<"u"&&t(Node,a=>typeof a.nodeType=="number"&&typeof a.nodeName=="string"),typeof Element<"u"&&t(Element,a=>a.nodeType===1),typeof HTMLElement<"u"&&t(HTMLElement,a=>a.nodeType===1&&typeof a.style=="object"),typeof HTMLBodyElement<"u"&&t(HTMLBodyElement,a=>a.nodeType===1&&a.tagName==="BODY"),typeof HTMLHtmlElement<"u"&&t(HTMLHtmlElement,a=>a.nodeType===1&&a.tagName==="HTML"),typeof HTMLInputElement<"u"&&t(HTMLInputElement,a=>a.nodeType===1&&a.tagName==="INPUT"),typeof HTMLTextAreaElement<"u"&&t(HTMLTextAreaElement,a=>a.nodeType===1&&a.tagName==="TEXTAREA"),typeof ShadowRoot<"u"&&t(ShadowRoot,a=>a.nodeType===11&&a.host!==void 0),typeof SVGElement<"u"&&t(SVGElement,a=>a.nodeType===1&&typeof a.getBBox=="function"),typeof Document<"u"&&t(Document,a=>a.nodeType===9),typeof Window<"u"&&t(Window,a=>a&&typeof a.document=="object"&&typeof a.location=="object");let n=Document.prototype,r=Object.getOwnPropertyDescriptor(n,"body"),o=Object.getOwnPropertyDescriptor(n,"documentElement"),c=Object.getOwnPropertyDescriptor(n,"head"),i=Object.getOwnPropertyDescriptor(n,"activeElement"),s=Object.getOwnPropertyDescriptor(n,"defaultView"),u=Object.getOwnPropertyDescriptor(n,"scrollingElement");Object.defineProperties(document,{body:{get(){let a=me();return a&&a!==document?a.body:r?.get?.call(document)||document.body},configurable:true},documentElement:{get(){let a=me();return a&&a!==document?a.documentElement:o?.get?.call(document)||document.documentElement},configurable:true},head:{get(){let a=me();return a&&a!==document?a.head:c?.get?.call(document)||document.head},configurable:true},activeElement:{get(){let a=me();return a&&a!==document?a.activeElement:i?.get?.call(document)||document.activeElement},configurable:true},defaultView:{get(){let a=me();return a&&a!==document?a.defaultView:s?.get?.call(document)||document.defaultView},configurable:true},scrollingElement:{get(){let a=me();return a&&a!==document?a.scrollingElement:u?.get?.call(document)||document.scrollingElement},configurable:true}});let f=Window.prototype,l=["innerWidth","innerHeight","pageXOffset","pageYOffset","scrollX","scrollY","screenX","screenY","outerWidth","outerHeight","devicePixelRatio"],b={};l.forEach(a=>{let d=Object.getOwnPropertyDescriptor(f,a)||Object.getOwnPropertyDescriptor(window,a);d&&d.get&&(b[a]=d.get);}),l.forEach(a=>{Object.defineProperty(window,a,{get(){let d=me();if(d&&d!==document&&d.defaultView)try{return d.defaultView[a]}catch{}let h=b[a];return h?h.call(window):window[a]},configurable:true});});let g=Node.prototype.contains;Node.prototype.contains=function(a){if(!a)return false;if(g.call(this,a))return true;if(this===document||this===document.body||this===document.documentElement)for(let d of re)try{if(d.contains(a))return !0}catch{}return false};let m=()=>{De=null,globalThis.__zeugmaActivePopoutDocument=null;};["pointerdown","mousedown","click","keydown","focus","touchstart"].forEach(a=>{window.addEventListener(a,m,true);});let y=document.createElement;document.createElement=function(a,d){let h=me();return h&&h!==document?h.createElement(a,d):y.call(document,a,d)};let D=document.addEventListener;document.addEventListener=function(a,d,h){Ce.add({target:"document",type:a,listener:d,options:h}),D.call(document,a,d,h),re.forEach(P=>{try{P.addEventListener(a,d,h);}catch{}});};let I=document.removeEventListener;document.removeEventListener=function(a,d,h){for(let P of Ce)if(P.target==="document"&&P.type===a&&P.listener===d){Ce.delete(P);break}I.call(document,a,d,h),re.forEach(P=>{try{P.removeEventListener(a,d,h);}catch{}});};let T=window.addEventListener;window.addEventListener=function(a,d,h){Ce.add({target:"window",type:a,listener:d,options:h}),T.call(window,a,d,h),re.forEach(P=>{try{P.defaultView&&P.defaultView.addEventListener(a,d,h);}catch{}});};let z=window.removeEventListener;window.removeEventListener=function(a,d,h){for(let P of Ce)if(P.target==="window"&&P.type===a&&P.listener===d){Ce.delete(P);break}z.call(window,a,d,h),re.forEach(P=>{try{P.defaultView&&P.defaultView.removeEventListener(a,d,h);}catch{}});};let E=document.getElementById;document.getElementById=function(a){let d=me();if(d&&d!==document)return d.getElementById(a);let h=E.call(document,a);if(h)return h;for(let P of re)try{let N=P.getElementById(a);if(N)return N}catch{}return null};let k=document.querySelector;document.querySelector=function(a){let d=me();if(d&&d!==document)return d.querySelector(a);let h=k.call(document,a);if(h)return h;for(let P of re)try{let N=P.querySelector(a);if(N)return N}catch{}return null};let M=document.querySelectorAll;document.querySelectorAll=function(a){let d=me();if(d&&d!==document)return d.querySelectorAll(a);let h=M.call(document,a);if(h.length>0)return h;for(let P of re)try{let N=P.querySelectorAll(a);if(N.length>0)return N}catch{}return h};}function dn(e){let{poppedOutTabIds:t,registerPopoutTarget:n,findTabById:r,dockTab:o}=e,c=useRef({});useEffect(()=>{let i=c.current;t.forEach(s=>{if(i[s]){try{i[s].focus();}catch{}return}un();let f=r(s)?.metadata?.title||`Tab ${s}`,l=window.open("",`zeugma-popout-${s}`,"width=800,height=600");if(!l){console.warn("Failed to open popout window. Check popup blocker."),o(s);return}i[s]=l,re.add(l.document),Ce.forEach(d=>{try{d.target==="window"?l.addEventListener(d.type,d.listener,d.options):l.document.addEventListener(d.type,d.listener,d.options);}catch{}}),co(),uo(),l.document.title=f,l.document.head.innerHTML="";try{let d=l.document.createElement("base");d.setAttribute("href",window.location.origin+"/"),l.document.head.appendChild(d);}catch{}if(Array.from(document.querySelectorAll('style, link[rel="stylesheet"]')).forEach(d=>{let h=d.cloneNode(true);if(d.tagName.toLowerCase()==="link"){let P=d.href;P&&h.setAttribute("href",P);}else if(d.tagName.toLowerCase()==="style")try{let P=d.sheet?.cssRules;if(P&&P.length>0){let N=Array.from(P).map(X=>X.cssText).join(`
9
+ `,document.head.appendChild(o),t.setAttribute("data-resizing","true");let c=s=>{n(s);},i=()=>{document.body.classList.remove("zeugma-resizing"),t.removeAttribute("data-resizing");let s=document.getElementById("zeugma-global-cursor-style");s&&s.remove(),document.removeEventListener("pointermove",c),document.removeEventListener("pointerup",i),r();};document.addEventListener("pointermove",c),document.addEventListener("pointerup",i);}var vt=createContext(void 0),Re=createContext(void 0),Te=createContext(void 0),ht=createContext(void 0),ie=()=>{let e=useContext(vt);if(!e)throw new Error("useZeugmaState must be used within a Zeugma provider");return e},He=()=>{let e=useContext(Re);if(!e)throw new Error("useZeugmaActions must be used within a Zeugma provider");return e},Je=()=>{let e=useContext(ht);if(!e)throw new Error("useZeugmaDrag must be used within a Zeugma provider");return e};function $t(e){let t=useRef(null);return useEffect(()=>{if(!e){t.current=null;return}let n=o=>{t.current={x:o.clientX,y:o.clientY};},r=o=>{let c=o.touches[0]||o.changedTouches[0];c&&(t.current={x:c.clientX,y:c.clientY});};return window.addEventListener("pointermove",n,{passive:true}),window.addEventListener("touchmove",r,{passive:true}),()=>{window.removeEventListener("pointermove",n),window.removeEventListener("touchmove",r);}},[e]),t}function Bt(e){useEffect(()=>(e?document.body.style.setProperty("cursor","not-allowed","important"):document.body.style.removeProperty("cursor"),()=>{document.body.style.removeProperty("cursor");}),[e]);}function _t(){let[e,t]=useState({}),[n,r]=useState({}),o=useRef({}),c=useRef(null),i=useRef({}),s=useRef(null),u=useRef(true);useEffect(()=>(u.current=true,()=>{u.current=false;}),[]);let f=useCallback((y,D,I)=>{u.current&&t(T=>{if(!D){if(I&&T[y]!==I||!T[y])return T;let z={...T};return delete z[y],z}return T[y]===D?T:{...T,[y]:D}});},[]),l=useCallback((y,D)=>{u.current&&r(I=>{if(!D){if(!I[y])return I;let T={...I};return delete T[y],T}return I[y]===D?I:{...I,[y]:D}});},[]),b=useCallback((y,D)=>{o.current[y]=D;},[]),g=useCallback(y=>{c.current=y;},[]),m=useCallback((y,D)=>{i.current[y]=D;},[]);return {portalTargets:useMemo(()=>({...e,...n}),[e,n]),registerPortalTarget:f,registerPopoutTarget:l,registerRenderCallback:b,renderCallbacksRef:o,registerRenderPane:g,renderPaneRef:c,registerTabHeader:m,tabHeadersRef:i,activeIdRef:s}}function Xn(e){let t=new Set;function n(r){r&&(r.type==="pane"?r.tabIds.forEach(o=>{t.add(o);}):r.type==="split"&&(n(r.first),n(r.second)));}return n(e),Array.from(t).sort()}function Ft(e){return useMemo(()=>Xn(e),[e])}function Vt(e){let{onDragStart:t,onDragEnd:n}=e,[r,o]=useState(null),[c,i]=useState(null),s=useCallback(f=>{t&&t(f);},[t]),u=useCallback((f,l,b)=>{n&&n(f,l,b);},[n]);return {overTabId:r,setOverTabId:o,overTabPosition:c,setOverTabPosition:i,handleDragStartInternal:s,handleDragEndInternal:u}}function jt(e){let n=useContext(Te)?.registerRenderPane;useEffect(()=>{n&&e&&n(e);},[n,e]);}function pe(){return "pane-"+Math.random().toString(36).substring(2,11)}function be(e,t){if(e===null)return null;if(e.type==="pane")return e.id===t?null:e;let n=be(e.first,t),r=be(e.second,t);return n===null?r:r===null?n:{...e,first:n,second:r}}function fe(e,t){if(e===null)return null;if(e.type==="pane"){if(e.tabIds.includes(t)){let o=e.tabIds.filter(s=>s!==t);if(o.length===0)return null;let c=e.activeTabId;e.activeTabId===t&&(c=o[0]);let i={...e.tabsMetadata};return delete i[t],{...e,tabIds:o,activeTabId:c,tabsMetadata:Object.keys(i).length>0?i:void 0}}return e}let n=fe(e.first,t),r=fe(e.second,t);return n===null?r:r===null?n:{...e,first:n,second:r}}function Se(e,t,n,r,o){if(e===null)return typeof o=="string"?{type:"pane",id:pe(),tabIds:[o],activeTabId:o}:o;if(e.type==="pane"){if(e.id===t){let c=typeof o=="string"?{type:"pane",id:pe(),tabIds:[o],activeTabId:o}:o,i=r==="left"||r==="top";return {type:"split",direction:n,first:i?c:e,second:i?e:c,splitPercentage:50}}return e}return {...e,first:Se(e.first,t,n,r,o)||e.first,second:Se(e.second,t,n,r,o)||e.second}}function Yn(e,t){if(e===null)return t;function n(r,o){return r.type==="pane"?{type:"split",direction:o==="row"?"column":"row",splitPercentage:50,first:r,second:t}:{...r,second:n(r.second,r.direction)}}return n(e,null)}function Wt(e,t,n,r){if(e===null)return {type:"pane",id:pe(),tabIds:[n],activeTabId:n,tabsMetadata:r?{[n]:r}:void 0};let o=t?te(e,t):null;if(o&&o.type==="pane"){let s=function(u){if(u.type==="pane"&&u.id===t){let f=[...u.tabIds];f.includes(n)||f.push(n);let l=u.tabsMetadata;return r&&(l={...u.tabsMetadata,[n]:r}),{...u,tabIds:f,activeTabId:n,tabsMetadata:l}}return u.type==="split"?{...u,first:s(u.first),second:s(u.second)}:u};return s(e)}let c={type:"pane",id:pe(),tabIds:[n],activeTabId:n,tabsMetadata:r?{[n]:r}:void 0};return Yn(e,c)}function xe(e,t,n){return e===null?null:e===t?{...e,splitPercentage:n}:e.type==="split"?{...e,first:xe(e.first,t,n)||e.first,second:xe(e.second,t,n)||e.second}:e}function te(e,t){return e===null?null:e.type==="pane"?e.id===t?e:null:e.type==="split"?te(e.first,t)??te(e.second,t):null}function W(e,t){return e===null?null:e.type==="pane"?e.tabIds.includes(t)?e:null:e.type==="split"?W(e.first,t)??W(e.second,t):null}function qt(e,t){return te(e,t)??W(e,t)}function nt(e,t){let n=W(e,t);if(!n)return null;let r=n.tabIds.indexOf(t);return {id:t,paneId:n.id,isActive:n.activeTabId===t,index:r,metadata:n.tabsMetadata?.[t],remountOnPopout:n.tabsMetadata?.[t]?.remountOnPopout}}function Ut(e,t){return W(e,t)?.tabsMetadata?.[t]}function Xt(e,t){let n=te(e,t);return n?.tabsMetadata?.[n.activeTabId]}function et(e,t,n){if(e===null)return null;if(e.type==="pane"){if(e.tabIds.includes(t)){let r=e.tabsMetadata||{},o=r[t],c=n(o),i={...r};return c===void 0?delete i[t]:i[t]=c,{...e,tabsMetadata:Object.keys(i).length>0?i:void 0}}return e}return e.type==="split"?{...e,first:et(e.first,t,n)??e.first,second:et(e.second,t,n)??e.second}:e}function tt(e,t,n){if(e===null)return null;if(e.type==="pane"){if(e.id===t){if(n===false){let{locked:r,...o}=e;return o}return {...e,locked:n}}return e}return e.type==="split"?{...e,first:tt(e.first,t,n)??e.first,second:tt(e.second,t,n)??e.second}:e}function Ne(e,t,n){return e===null?null:e.type==="pane"?e.id===t?e.activeTabId===n?e:{...e,activeTabId:n}:e:e.type==="split"?{...e,first:Ne(e.first,t,n)??e.first,second:Ne(e.second,t,n)??e.second}:e}function Yt(e,t,n){if(e===null)return null;let o=W(e,t)?.tabsMetadata?.[t],c=fe(e,t);if(c===null)return {type:"pane",id:pe(),tabIds:[t],activeTabId:t,tabsMetadata:o?{[t]:o}:void 0};function i(s){if(s.type==="pane"){if(s.id===n){let u=[...s.tabIds];u.includes(t)||u.push(t);let f={...s.tabsMetadata};return o&&(f[t]=o),{...s,tabIds:u,activeTabId:t,tabsMetadata:Object.keys(f).length>0?f:void 0}}return s}return s.type==="split"?{...s,first:i(s.first),second:i(s.second)}:s}return i(c)}function Gn(e,t,n){if(e===null)return null;if(t===n)return e;let r=W(e,t),o=W(e,n);if(!r||!o)return e;let c=r.id,i=o.id,s=r.tabsMetadata?.[t],u=o.tabsMetadata?.[n];function f(l){if(l.type==="pane"){let b=false,g=[...l.tabIds],m=l.activeTabId,w=l.tabsMetadata?{...l.tabsMetadata}:{};if(c===i){if(l.id===c){let y=g.indexOf(t),D=g.indexOf(n);y!==-1&&D!==-1&&(g[y]=n,g[D]=t),m=t,b=true;}}else l.id===c&&(g=g.map(y=>y===t?n:y),m===t&&(m=n),delete w[t],u&&(w[n]=u),b=true),l.id===i&&(g=g.map(y=>y===n?t:y),m===n&&(m=t),delete w[n],s&&(w[t]=s),b=true);return b?{...l,tabIds:g,activeTabId:m,tabsMetadata:Object.keys(w).length>0?w:void 0}:l}return l.type==="split"?{...l,first:f(l.first),second:f(l.second)}:l}return f(e)}function $e(e,t,n,r="before"){if(e===null)return null;if(t===n)return e;if(r==="center")return Gn(e,t,n);let c=W(e,t)?.tabsMetadata?.[t],i=fe(e,t);if(i===null)return {type:"pane",id:pe(),tabIds:[t],activeTabId:t,tabsMetadata:c?{[t]:c}:void 0};function s(u){if(u.type==="pane"){if(u.tabIds.includes(n)){let l=[...u.tabIds].filter(m=>m!==t),b=l.indexOf(n);b<0&&(b=0),r==="after"&&(b+=1),l.splice(b,0,t);let g={...u.tabsMetadata};return c&&(g[t]=c),{...u,tabIds:l,activeTabId:t,tabsMetadata:Object.keys(g).length>0?g:void 0}}return u}return u.type==="split"?{...u,first:s(u.first),second:s(u.second)}:u}return s(i)}function he(e,t=0,n=0,r=100,o=100,c="root"){if(e===null)return {panes:[],splitters:[]};if(e.type==="pane")return {panes:[{paneId:e.id,left:t,top:n,width:r,height:o,node:e}],splitters:[]};let{direction:i,splitPercentage:s,first:u,second:f}=e,b={id:`splitter-${c}-${i}`,currentNode:e,direction:i,left:i==="row"?t+r*(s/100):t,top:i==="column"?n+o*(s/100):n,width:i==="row"?0:r,height:i==="column"?0:o,parentLeft:t,parentTop:n,parentWidth:r,parentHeight:o},g={panes:[],splitters:[]},m={panes:[],splitters:[]};if(i==="row"){let w=r*(s/100);g=he(u,t,n,w,o,`${c}-L`),m=he(f,t+w,n,r-w,o,`${c}-R`);}else {let w=o*(s/100);g=he(u,t,n,r,w,`${c}-T`),m=he(f,t,n+w,r,o-w,`${c}-B`);}return {panes:[...g.panes,...m.panes],splitters:[b,...g.splitters,...m.splitters]}}function Gt(e,t,n,r="before"){if(e===null)return null;let o=te(e,t);if(!o)return e;let c=o.tabIds,i=o.activeTabId,s=o.tabsMetadata||{},u=be(e,t);if(u===null)return o;function f(l){if(l.type==="pane"){if(l.tabIds.includes(n)){let g=[...l.tabIds].filter(y=>!c.includes(y)),m=g.indexOf(n);m<0&&(m=0),r==="after"&&(m+=1),g.splice(m,0,...c);let w={...l.tabsMetadata};for(let y of c)s[y]&&(w[y]=s[y]);return {...l,tabIds:g,activeTabId:i,tabsMetadata:Object.keys(w).length>0?w:void 0}}return l}return l.type==="split"?{...l,first:f(l.first),second:f(l.second)}:l}return f(u)}function Jt(e,t,n,r){if(!((t==="tab"||t==="pane")&&n&&e.includes(n))||!r)return -1;let i=e.indexOf(n);return r==="before"?i:i+1}function Qt(e,t){if(e===t)return true;if(!e||!t)return false;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return false;for(let o of n){if(!Object.prototype.hasOwnProperty.call(t,o))return false;let c=e[o],i=t[o];if(typeof c=="object"&&c!==null&&typeof i=="object"&&i!==null){if(!Qt(c,i))return false}else if(c!==i)return false}return true}function Jn(e,t){if(e===t)return true;if(!e||!t)return false;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return false;for(let o of n)if(!Object.prototype.hasOwnProperty.call(t,o)||!Qt(e[o],t[o]))return false;return true}function Be(e,t){if(e===t)return true;if(!e||!t||e.type!==t.type)return false;if(e.type==="split"){let n=t;return e.direction===n.direction&&e.splitPercentage===n.splitPercentage&&Be(e.first,n.first)&&Be(e.second,n.second)}else {let n=t;if(e.id!==n.id||e.activeTabId!==n.activeTabId||e.locked!==n.locked||e.tabIds.length!==n.tabIds.length)return false;for(let r=0;r<e.tabIds.length;r++)if(e.tabIds[r]!==n.tabIds[r])return false;return Jn(e.tabsMetadata,n.tabsMetadata)}}function Qn(e){let{initialLayout:t,layout:n,onChange:r,fullscreenPaneId:o,onFullscreenChange:c,locked:i=false}=e,[s,u]=useState(()=>n!==void 0?n:t??null),[f,l]=useState(()=>n!==void 0?n:t??null),b=useRef(n),[g,m]=useState(o||null),[w,y]=useState(i),[D,I]=useState([]),[T,z]=useState(null),[E,k]=useState(null),[M,a]=useState(null),d=useRef(null),h=useCallback(p=>{d.current=p;},[]),P=useRef(s);P.current=s;let N=useRef(g);N.current=g;let X=useRef(r);X.current=r;let Y=useRef(c);Y.current=c;let ne=useCallback(p=>{m(p),Y.current?.(p);},[]);useEffect(()=>{y(i);},[i]),useEffect(()=>{o!==void 0&&m(o);},[o]),n!==void 0&&(Be(n,b.current??null)||(b.current=n,u(n),l(n),I(p=>{if(p.length===0)return p;let R=p.filter(C=>nt(n,C)!==null);return R.length===p.length?p:R})));let O=useCallback(p=>(...R)=>{let C=P.current,F=p(C,...R);Be(C,F)||(P.current=F,u(F),l(F),I(_=>{if(_.length===0)return _;let ae=_.filter(j=>nt(F,j)!==null);return ae.length===_.length?_:ae}),X.current?.(F));},[]),H=useCallback(O((p,R)=>typeof R=="function"?R(p):R),[O]),U=useCallback(p=>{N.current===null&&l(R=>typeof p=="function"?p(R):p);},[]),V=useCallback(p=>{m(null),Y.current?.(null),z(null),k(null),a(null),H(p),l(()=>typeof p=="function"?p(P.current):p);},[H]),A=useCallback(O((p,R)=>N.current!==null?p:be(p,R)),[O]),Z=useCallback(O((p,R,C,F)=>{if(N.current!==null)return p;let _=fe(p,R)??p;return Wt(_,C,R,F)}),[O]),v=useCallback(O((p,R,C,F,_)=>{if(N.current!==null)return p;let ae=te(p,R)??W(p,R);if(!ae)return p;let j=te(p,_)??W(p,_)??{type:"pane",id:_,tabIds:[_],activeTabId:_},ve=be(p,j.id);return Se(ve,ae.id,C,F,j)}),[O]),$=useCallback(O((p,R,C)=>N.current!==null?p:xe(p,R,C)),[O]),x=useCallback(O((p,R,C)=>et(p,R,C)),[O]),B=useCallback(O((p,R,C)=>{let F=te(p,R)??W(p,R);return F?tt(p,F.id,C):p}),[O]),ue=useCallback(O((p,R,C)=>{let F=te(p,R)??W(p,R);return F?Ne(p,F.id,C):p}),[O]),G=useCallback(O((p,R,C)=>{if(N.current!==null)return p;let F=te(p,C)??W(p,C);return F?Yt(p,R,F.id):p}),[O]),J=useCallback(O((p,R,C,F)=>N.current!==null?p:$e(p,R,C,F)),[O]),Q=useCallback(O((p,R)=>N.current!==null?p:fe(p,R)),[O]),K=useCallback(p=>te(P.current,p),[]),S=useCallback(p=>W(P.current,p),[]),L=useCallback(p=>nt(P.current,p),[]),le=useCallback(p=>Ut(P.current,p),[]),se=useCallback(p=>Xt(P.current,p),[]),ee=useCallback(p=>{N.current===null&&I(R=>R.includes(p)?R:[...R,p]);},[]),oe=useCallback(p=>{N.current===null&&I(R=>R.includes(p)?R.filter(C=>C!==p):R);},[]);return {layout:s,setLayout:V,_internalSetLayout:U,renderingLayout:f,fullscreenPaneId:g,setFullscreenPaneId:ne,locked:w,setLocked:y,poppedOutTabIds:D,activeId:T,setActiveId:z,activeType:E,setActiveType:k,dismissIntentId:M,setDismissIntentId:a,containerRef:d,setContainerRef:h,removePane:A,addTab:Z,updateMetadata:x,updatePaneLock:B,selectTab:ue,mergeTab:G,moveTab:J,removeTab:Q,splitPane:v,updateSplitPercentage:$,popoutTab:ee,dockTab:oe,findPaneById:K,findPaneContainingTab:S,findTabById:L,getTabMetadata:le,getActiveTabMetadata:se}}var Kn=()=>{let e=ie(),t=He();return {layout:e.layout,setLayout:e.setLayout,fullscreenPaneId:e.fullscreenPaneId,setFullscreenPaneId:t.setFullscreenPaneId,locked:e.locked,setLocked:t.setLocked,removePane:t.removePane,addTab:t.addTab,updateMetadata:t.updateMetadata,updatePaneLock:t.updatePaneLock,selectTab:t.selectTab,mergeTab:t.mergeTab,removeTab:t.removeTab,splitPane:t.splitPane,updateSplitPercentage:t.updateSplitPercentage,moveTab:t.moveTab,findPaneById:e.findPaneById,findPaneContainingTab:e.findPaneContainingTab,findTabById:e.findTabById,getTabMetadata:e.getTabMetadata,getActiveTabMetadata:e.getActiveTabMetadata,poppedOutTabIds:e.poppedOutTabIds,popoutTab:t.popoutTab,dockTab:t.dockTab}};var ot=class extends PointerSensor{static activators=[{eventName:"onPointerDown",handler:({nativeEvent:t})=>!t.target?.closest(".drag-cancel")}]},rt=class extends TouchSensor{static activators=[{eventName:"onTouchStart",handler:({nativeEvent:t})=>!t.target?.closest(".drag-cancel")}]};var en=e=>{let n=e.active.id.toString().startsWith("tab-header-"),o=pointerWithin(e);if(o.length>0)return [...o].sort((i,s)=>{let u=i.id.toString(),f=s.id.toString(),l=u.startsWith("tab-drop-"),b=f.startsWith("tab-drop-");if(l&&!b)return -1;if(!l&&b)return 1;let g=u.startsWith("drop-root-"),m=f.startsWith("drop-root-");return g&&!m?-1:!g&&m?1:0});if(n){let c=e.droppableContainers.filter(i=>i.id.toString().startsWith("tab-drop-"));return closestCenter({...e,droppableContainers:c})}return []};function _e(e){if(e instanceof MouseEvent||e instanceof PointerEvent)return {x:e.clientX,y:e.clientY};if(typeof TouchEvent<"u"&&e instanceof TouchEvent){let t=e.touches[0]||e.changedTouches[0];if(t)return {x:t.clientX,y:t.clientY}}return null}function on(e){let{layout:t,_internalSetLayout:n,setLayout:r,activeId:o,setActiveId:c,activeType:i,setActiveType:s,dismissIntentId:u,setDismissIntentId:f,setOverTabId:l,setOverTabPosition:b,containerRef:g,dragActivationDistance:m,enableDragToDismiss:w,dismissThreshold:y,onRemove:D,onDragStart:I,onDragEnd:T,onDismissIntentChange:z,removeTab:E,removePane:k}=e,M=useRef(null),a=$t(o),d=useRef(null),[h,P]=useState(false);return Bt(h),{sensors:useSensors(useSensor(ot,{activationConstraint:{distance:m}}),useSensor(rt,{activationConstraint:{delay:250,tolerance:5}})),collisionDetection:en,onDragStart:H=>{let U=H.active.id.toString(),V=U.startsWith("tab-header-"),A=V?U.substring(11):U;c(A),s(V?"tab":"pane"),l(null),b(null);let Z=H.activatorEvent;a.current=_e(Z),w&&g.current?M.current=g.current.getBoundingClientRect():M.current=null;let v=t;if(V){let x=W(t,A);x&&(v=Ne(t,x.id,A)||t);}d.current=v;let $=V?fe(v,A):be(v,A);n($),I&&I(A);},onDragMove:H=>{let{over:U}=H,V=U?.id.toString()||"",A=V.startsWith("drop-locked-");P(S=>S===A?S:A);let Z=H.active.id.toString(),v=Z.startsWith("tab-header-"),$=v?Z.substring(11):Z,x=V.match(/^tab-drop-(.+)$/);if(x&&U&&(v||i==="pane")){let[,S]=x;if($!==S){let L="before",le=U.rect,se=H.activatorEvent,ee=null;if(a.current)ee=a.current.x;else {let oe=_e(se);oe&&(ee=oe.x+H.delta.x);}if(ee!==null){let oe=le.left+le.width/2;ee>oe&&(L="after");}l(oe=>oe===S?oe:S),b(oe=>oe===L?oe:L);}else l(L=>L===null?L:null),b(L=>L===null?L:null);}else l(S=>S===null?S:null),b(S=>S===null?S:null);if(!w)return;let B=M.current;if(!B){u!==null&&(f(null),z?.(null));return}let ue=H.activatorEvent,G=null,J=null;if(a.current)G=a.current.x,J=a.current.y;else {let S=_e(ue);S&&(G=S.x+H.delta.x,J=S.y+H.delta.y);}let Q=0;if(G!==null&&J!==null){let S=0,L=0;G<B.left?S=B.left-G:G>B.right&&(S=G-B.right),J<B.top?L=B.top-J:J>B.bottom&&(L=J-B.bottom),Q=Math.sqrt(S*S+L*L);}else {let S=H.active.rect.current.translated;if(S){let L=S.left+S.width/2,le=S.top+S.height/2,se=0,ee=0;L<B.left?se=B.left-L:L>B.right&&(se=L-B.right),le<B.top?ee=B.top-le:le>B.bottom&&(ee=le-B.bottom),Q=Math.sqrt(se*se+ee*ee);}}Q>y?u!==$&&(f($),z?.($)):u!==null&&(f(null),z?.(null));},onDragEnd:H=>{c(null),s(null),P(false),l(null),b(null);let{active:U,over:V}=H,A=U.id.toString(),Z=A.startsWith("tab-header-"),v=Z?A.substring(11):A,$=w&&u===v;f(null),z?.(null),M.current=null;let x=d.current||t;if(d.current=null,$){D?D(v):Z?E(v):k(v),T&&T(v,null,null);return}if(!V){n(x),T&&T(v,null,null);return}let B=V.id.toString();if(B.startsWith("drop-locked-")){n(x),T&&T(v,null,null);return}let ue=B.match(/^tab-drop-(.+)$/);if(ue){let[,p]=ue;if(Z)if(v!==p){let R="before",C=V.rect,F=H.activatorEvent,_=null;if(a.current)_=a.current.x;else {let j=_e(F);j&&(_=j.x+H.delta.x);}if(_!==null){let j=C.left+C.width/2;_>j&&(R="after");}let ae=$e(x,v,p,R);r(ae),T&&T(v,p,{type:"move",position:"center"});}else n(x),T&&T(v,null,null);else {let R="before",C=V.rect,F=H.activatorEvent,_=null;if(a.current)_=a.current.x;else {let j=_e(F);j&&(_=j.x+H.delta.x);}if(_!==null){let j=C.left+C.width/2;_>j&&(R="after");}let ae=Gt(x,v,p,R);r(ae),T&&T(v,p,{type:"move",position:"center"});}return}let G=B.match(/^drop-root-(1\/4|1\/3)-(top|bottom|left|right|start|end)$/);if(G){let[,p,R]=G,C=R;C==="start"&&(C="left"),C==="end"&&(C="right");let F=Z?fe(x,v):be(x,v),_;if(Z){let j=W(x,v)?.tabsMetadata?.[v];_={type:"pane",id:pe(),tabIds:[v],activeTabId:v,tabsMetadata:j?{[v]:j}:void 0};}else _=te(x,v)??{type:"pane",id:pe(),tabIds:[v],activeTabId:v};if(F===null)r(_);else {let ae=C==="left"||C==="right",j=C==="left"||C==="top",ve=50;p==="1/4"?ve=j?25:75:p==="1/3"&&(ve=j?100/3:200/3),r({type:"split",direction:ae?"row":"column",first:j?_:F,second:j?F:_,splitPercentage:ve});}T&&T(v,"root",{type:"split",direction:C==="left"||C==="right"?"row":"column",position:C});return}let J=B.match(/^drop-(left|right|top|bottom|center)-(.+)$/);if(!J){n(x),T&&T(v,null,null);return}let[,Q,K]=J;if(Q==="center"){if(Z){let p=te(x,K);if(p&&p.activeTabId){let R=p.activeTabId,C=$e(x,v,R,"center");r(C),T&&T(v,K,{type:"move",position:"center"});}else n(x),T&&T(v,null,null);}else n(x),T&&T(v,null,null);return}let S=Z?W(x,v):te(x,v),L=S&&S.id===K,le=S&&S.tabIds.length===1;if(v===K||L&&le){n(x),T&&T(v,null,null);return}let se=Q==="left"||Q==="right"?"row":"column",ee;if(Z){let R=W(x,v)?.tabsMetadata?.[v];ee={type:"pane",id:pe(),tabIds:[v],activeTabId:v,tabsMetadata:R?{[v]:R}:void 0};}else ee=te(x,v)??{type:"pane",id:pe(),tabIds:[v],activeTabId:v};let oe=Z?fe(x,v):be(x,v),Ze=Se(oe,K,se,Q,ee);r(Ze),T&&T(v,K,{type:"split",direction:se,position:Q});},onDragCancel:()=>{c(null),s(null),P(false),l(null),b(null),f(null),z?.(null),M.current=null;let H=d.current||t;d.current=null,n(H),H!==t&&r(H);}}}function an({persist:e,layout:t,setLayout:n}){let r=typeof e=="object"?e.enabled!==false:!!e,o=typeof e=="object"&&e.key||"zeugma-layout",[c,i]=useState(false);useEffect(()=>{if(r){let s=localStorage.getItem(o);if(s)try{let u=JSON.parse(s);u&&n(u);}catch(u){console.error("Failed to parse persisted zeugma layout",u);}}i(true);},[r,o,n]),useEffect(()=>{r&&c&&(t?localStorage.setItem(o,JSON.stringify(t)):localStorage.removeItem(o));},[r,o,t,c]);}var De=null,ln=false,re=new Set,Ce=new Set,Le=null;function lo(){typeof window>"u"||Le||(Le=new MutationObserver(e=>{e.forEach(t=>{t.addedNodes.forEach(n=>{n instanceof HTMLElement&&(n.tagName.toLowerCase()==="style"||n.tagName.toLowerCase()==="link")&&re.forEach(r=>{try{let o=n.cloneNode(!0);if(o.tagName.toLowerCase()==="link"){let c=n.href;c&&o.setAttribute("href",c);}r.head.appendChild(o);}catch(o){console.warn("Failed to mirror style node to popout:",o);}});});});}),Le.observe(document.head,{childList:true}));}function yt(){Le&&(Le.disconnect(),Le=null);}var ke=null;function co(){typeof window>"u"||ke||(ke=new MutationObserver(e=>{e.forEach(t=>{if(t.type==="attributes"&&t.attributeName){let n=document.documentElement.getAttribute(t.attributeName);re.forEach(r=>{try{r&&r.documentElement&&(n!==null?r.documentElement.setAttribute(t.attributeName,n):r.documentElement.removeAttribute(t.attributeName));}catch(o){console.warn("Failed to sync documentElement attribute:",o);}});}});}),ke.observe(document.documentElement,{attributes:true}));}function Tt(){ke&&(ke.disconnect(),ke=null);}var cn=e=>{typeof requestAnimationFrame<"u"?requestAnimationFrame(e):setTimeout(e,0);};function me(){if(typeof window>"u")return document;if(De&&De.target){let t=De.target.ownerDocument;if(t&&t!==document)return t}let e=window.event;if(e&&e.target){let n=e.target.ownerDocument;if(n&&n!==document)return n}return window.__zeugmaActivePopoutDocument?window.__zeugmaActivePopoutDocument:document}function un(){if(typeof window>"u"||ln)return;ln=true;let e=(a,d)=>{if(!a||!d)return false;try{let h=Object.getPrototypeOf(a);for(;h;){if(h===d)return !0;h=Object.getPrototypeOf(h);}}catch{}return false},t=(a,d)=>{try{Object.defineProperty(a,Symbol.hasInstance,{value:function(h){return h?e(h,a.prototype)?!0:d(h):!1},configurable:!0,writable:!0});}catch(h){console.warn("Failed to patch Symbol.hasInstance on",a,h);}};typeof Node<"u"&&t(Node,a=>typeof a.nodeType=="number"&&typeof a.nodeName=="string"),typeof Element<"u"&&t(Element,a=>a.nodeType===1),typeof HTMLElement<"u"&&t(HTMLElement,a=>a.nodeType===1&&typeof a.style=="object"),typeof HTMLBodyElement<"u"&&t(HTMLBodyElement,a=>a.nodeType===1&&a.tagName==="BODY"),typeof HTMLHtmlElement<"u"&&t(HTMLHtmlElement,a=>a.nodeType===1&&a.tagName==="HTML"),typeof HTMLInputElement<"u"&&t(HTMLInputElement,a=>a.nodeType===1&&a.tagName==="INPUT"),typeof HTMLTextAreaElement<"u"&&t(HTMLTextAreaElement,a=>a.nodeType===1&&a.tagName==="TEXTAREA"),typeof ShadowRoot<"u"&&t(ShadowRoot,a=>a.nodeType===11&&a.host!==void 0),typeof SVGElement<"u"&&t(SVGElement,a=>a.nodeType===1&&typeof a.getBBox=="function"),typeof Document<"u"&&t(Document,a=>a.nodeType===9),typeof Window<"u"&&t(Window,a=>a&&typeof a.document=="object"&&typeof a.location=="object");let n=Document.prototype,r=Object.getOwnPropertyDescriptor(n,"body"),o=Object.getOwnPropertyDescriptor(n,"documentElement"),c=Object.getOwnPropertyDescriptor(n,"head"),i=Object.getOwnPropertyDescriptor(n,"activeElement"),s=Object.getOwnPropertyDescriptor(n,"defaultView"),u=Object.getOwnPropertyDescriptor(n,"scrollingElement");Object.defineProperties(document,{body:{get(){let a=me();return a&&a!==document?a.body:r?.get?.call(document)||document.body},configurable:true},documentElement:{get(){let a=me();return a&&a!==document?a.documentElement:o?.get?.call(document)||document.documentElement},configurable:true},head:{get(){let a=me();return a&&a!==document?a.head:c?.get?.call(document)||document.head},configurable:true},activeElement:{get(){let a=me();return a&&a!==document?a.activeElement:i?.get?.call(document)||document.activeElement},configurable:true},defaultView:{get(){let a=me();return a&&a!==document?a.defaultView:s?.get?.call(document)||document.defaultView},configurable:true},scrollingElement:{get(){let a=me();return a&&a!==document?a.scrollingElement:u?.get?.call(document)||document.scrollingElement},configurable:true}});let f=Window.prototype,l=["innerWidth","innerHeight","pageXOffset","pageYOffset","scrollX","scrollY","screenX","screenY","outerWidth","outerHeight","devicePixelRatio"],b={};l.forEach(a=>{let d=Object.getOwnPropertyDescriptor(f,a)||Object.getOwnPropertyDescriptor(window,a);d&&d.get&&(b[a]=d.get);}),l.forEach(a=>{Object.defineProperty(window,a,{get(){let d=me();if(d&&d!==document&&d.defaultView)try{return d.defaultView[a]}catch{}let h=b[a];return h?h.call(window):window[a]},configurable:true});});let g=Node.prototype.contains;Node.prototype.contains=function(a){if(!a)return false;if(g.call(this,a))return true;if(this===document||this===document.body||this===document.documentElement)for(let d of re)try{if(d.contains(a))return !0}catch{}return false};let m=()=>{De=null,globalThis.__zeugmaActivePopoutDocument=null;};["pointerdown","mousedown","click","keydown","focus","touchstart"].forEach(a=>{window.addEventListener(a,m,true);});let y=document.createElement;document.createElement=function(a,d){let h=me();return h&&h!==document?h.createElement(a,d):y.call(document,a,d)};let D=document.addEventListener;document.addEventListener=function(a,d,h){Ce.add({target:"document",type:a,listener:d,options:h}),D.call(document,a,d,h),re.forEach(P=>{try{P.addEventListener(a,d,h);}catch{}});};let I=document.removeEventListener;document.removeEventListener=function(a,d,h){for(let P of Ce)if(P.target==="document"&&P.type===a&&P.listener===d){Ce.delete(P);break}I.call(document,a,d,h),re.forEach(P=>{try{P.removeEventListener(a,d,h);}catch{}});};let T=window.addEventListener;window.addEventListener=function(a,d,h){Ce.add({target:"window",type:a,listener:d,options:h}),T.call(window,a,d,h),re.forEach(P=>{try{P.defaultView&&P.defaultView.addEventListener(a,d,h);}catch{}});};let z=window.removeEventListener;window.removeEventListener=function(a,d,h){for(let P of Ce)if(P.target==="window"&&P.type===a&&P.listener===d){Ce.delete(P);break}z.call(window,a,d,h),re.forEach(P=>{try{P.defaultView&&P.defaultView.removeEventListener(a,d,h);}catch{}});};let E=document.getElementById;document.getElementById=function(a){let d=me();if(d&&d!==document)return d.getElementById(a);let h=E.call(document,a);if(h)return h;for(let P of re)try{let N=P.getElementById(a);if(N)return N}catch{}return null};let k=document.querySelector;document.querySelector=function(a){let d=me();if(d&&d!==document)return d.querySelector(a);let h=k.call(document,a);if(h)return h;for(let P of re)try{let N=P.querySelector(a);if(N)return N}catch{}return null};let M=document.querySelectorAll;document.querySelectorAll=function(a){let d=me();if(d&&d!==document)return d.querySelectorAll(a);let h=M.call(document,a);if(h.length>0)return h;for(let P of re)try{let N=P.querySelectorAll(a);if(N.length>0)return N}catch{}return h};}function dn(e){let{poppedOutTabIds:t,registerPopoutTarget:n,findTabById:r,dockTab:o}=e,c=useRef({});useEffect(()=>{let i=c.current;t.forEach(s=>{if(i[s]){try{i[s].focus();}catch{}return}un();let f=r(s)?.metadata?.title||`Tab ${s}`,l=window.open("",`zeugma-popout-${s}`,"width=800,height=600");if(!l){console.warn("Failed to open popout window. Check popup blocker."),o(s);return}i[s]=l,re.add(l.document),Ce.forEach(d=>{try{d.target==="window"?l.addEventListener(d.type,d.listener,d.options):l.document.addEventListener(d.type,d.listener,d.options);}catch{}}),lo(),co(),l.document.title=f,l.document.head.innerHTML="";try{let d=l.document.createElement("base");d.setAttribute("href",window.location.origin+"/"),l.document.head.appendChild(d);}catch{}if(Array.from(document.querySelectorAll('style, link[rel="stylesheet"]')).forEach(d=>{let h=d.cloneNode(true);if(d.tagName.toLowerCase()==="link"){let P=d.href;P&&h.setAttribute("href",P);}else if(d.tagName.toLowerCase()==="style")try{let P=d.sheet?.cssRules;if(P&&P.length>0){let N=Array.from(P).map(X=>X.cssText).join(`
10
10
  `);h.textContent=N;}}catch{}l.document.head.appendChild(h);}),typeof document.adoptedStyleSheets<"u"&&typeof l.document.adoptedStyleSheets<"u")try{let d=Array.from(document.adoptedStyleSheets).map(h=>{try{let P=new l.CSSStyleSheet,N=Array.from(h.cssRules).map(X=>X.cssText).join(`
11
- `);return P.replaceSync(N),P}catch{return null}}).filter(h=>h!==null);l.document.adoptedStyleSheets=d;}catch(d){console.warn("Failed to copy adoptedStyleSheets:",d);}l.document.documentElement.className=document.documentElement.className,l.document.body.className=document.body.className,Array.from(document.documentElement.attributes).forEach(d=>{l.document.documentElement.setAttribute(d.name,d.value);}),l.document.body.style.margin="0",l.document.body.style.padding="0",l.document.body.style.height="100vh",l.document.body.style.overflow="hidden";let b=document.getElementById(`zeugma-tab-target-${s}`),g="";b&&(g=window.getComputedStyle(b).backgroundColor,(!g||g==="transparent"||g==="rgba(0, 0, 0, 0)")&&b.parentElement&&(g=window.getComputedStyle(b.parentElement).backgroundColor));let m=window.getComputedStyle(document.documentElement),w=window.getComputedStyle(document.body),y=w.backgroundColor,I=!y||y==="transparent"||y==="rgba(0, 0, 0, 0)"?m.backgroundColor:y,T=g&&g!=="transparent"&&g!=="rgba(0, 0, 0, 0)"?g:I&&I!=="transparent"&&I!=="rgba(0, 0, 0, 0)"?I:"#181b1f";document.documentElement.getAttribute("data-theme")||(l.document.documentElement.style.backgroundColor=T,l.document.body.style.backgroundColor=T),l.document.body.style.color=w.color||m.color,l.document.body.style.fontFamily=w.fontFamily||m.fontFamily;let E=l.document.createElement("div");E.id=`zeugma-popout-container-${s}`,E.className="grafana-panel h-full w-full overflow-hidden",E.style.width="100%",E.style.height="100%",E.style.border="none",l.document.body.appendChild(E),n?.(s,E);let k=["pointerdown","mousedown","click","keydown","focus","touchstart"],M=d=>{De=d,globalThis.__zeugmaActivePopoutDocument=l.document,setTimeout(()=>{De===d&&(De=null,globalThis.__zeugmaActivePopoutDocument=null);},0);};k.forEach(d=>{l.addEventListener(d,M,true);});let a=()=>{re.delete(l.document),re.size===0&&(yt(),Tt()),o(s);};l.addEventListener("beforeunload",a),l.__zeugmaCleanup=()=>{k.forEach(d=>{l.removeEventListener(d,M,true);}),l.removeEventListener("beforeunload",a);};}),Object.keys(i).forEach(s=>{if(!t.includes(s)){let u=i[s];if(delete i[s],n?.(s,null),u){re.delete(u.document),re.size===0&&(yt(),Tt());try{let f=u;f.__zeugmaCleanup&&f.__zeugmaCleanup(),cn(()=>{try{f.close();}catch{}});}catch{}}}});},[t,n,r,o]),useEffect(()=>()=>{let i=c.current;Object.keys(i).forEach(s=>{let u=i[s];if(u){re.delete(u.document);try{let f=u;f.__zeugmaCleanup&&f.__zeugmaCleanup(),cn(()=>{try{f.close();}catch{}});}catch{}}}),re.size===0&&(yt(),Tt());},[]);}typeof window<"u"&&un();var pn=({activeId:e,render:t,className:n})=>{let r=useRef(null);return useEffect(()=>{let o=c=>{r.current&&(r.current.style.transform=`translate(${c.clientX+12}px, ${c.clientY+12}px)`);};return document.addEventListener("pointermove",o),()=>document.removeEventListener("pointermove",o)},[]),jsx("div",{ref:r,className:n,style:{position:"fixed",top:0,left:0,zIndex:9999,pointerEvents:"none"},children:t(e)})};var ho=({popoutDoc:e,children:t})=>{if(e===document)return jsx(Fragment,{children:t});let n=ge.useEffect,r=ge.useLayoutEffect,o=ge.useInsertionEffect;ge.useEffect=(c,i)=>n(()=>{window.__zeugmaActivePopoutDocument=e;try{let s=c();return typeof s=="function"?()=>{window.__zeugmaActivePopoutDocument=e;try{return s()}finally{window.__zeugmaActivePopoutDocument=null;}}:s}finally{window.__zeugmaActivePopoutDocument=null;}},i),ge.useLayoutEffect=(c,i)=>r(()=>{window.__zeugmaActivePopoutDocument=e;try{let s=c();return typeof s=="function"?()=>{window.__zeugmaActivePopoutDocument=e;try{return s()}finally{window.__zeugmaActivePopoutDocument=null;}}:s}finally{window.__zeugmaActivePopoutDocument=null;}},i),o&&(ge.useInsertionEffect=(c,i)=>o(()=>{window.__zeugmaActivePopoutDocument=e;try{let s=c();return typeof s=="function"?()=>{window.__zeugmaActivePopoutDocument=e;try{return s()}finally{window.__zeugmaActivePopoutDocument=null;}}:s}finally{window.__zeugmaActivePopoutDocument=null;}},i)),window.__zeugmaActivePopoutDocument=e;try{return jsx(Fragment,{children:t})}finally{window.__zeugmaActivePopoutDocument=null,ge.useEffect=n,ge.useLayoutEffect=r,o&&(ge.useInsertionEffect=o);}},mn=ge.memo(({tabDetails:e,target:t,renderWidget:n})=>{let{id:r}=e,[o,c]=useState(false),i=useRef(null);if(useEffect(()=>{c(true);},[]),useEffect(()=>{if(!o||!i.current)return;let g=i.current;if(t)t.ownerDocument.adoptNode(g),t.appendChild(g);else {let m=document.getElementById("zeugma-hidden-portal-container");m||(m=document.createElement("div"),m.id="zeugma-hidden-portal-container",m.style.display="none",document.body.appendChild(m)),document.adoptNode(g),m.appendChild(g);}},[t,o]),useEffect(()=>()=>{i.current&&i.current.remove();},[]),!o)return null;let s=t?t.ownerDocument:document;i.current&&i.current.ownerDocument!==s&&s.adoptNode(i.current),i.current||(i.current=s.createElement("div"),i.current.className=`zeugma-portal-wrapper-${r}`,i.current.style.width="100%",i.current.style.height="100%");let u=i.current;if(!u||!n)return null;let f=!!(t&&t.ownerDocument&&t.ownerDocument!==document),l=e.remountOnPopout?f?"-popped":"-docked":"",b=jsx(ge.Fragment,{children:n(e)},`${r}${l}`);return createPortal(jsx(ho,{popoutDoc:f&&t?t.ownerDocument:document,children:b}),u)},(e,t)=>e.target===t.target&&e.renderWidget===t.renderWidget&&e.tabDetails.id===t.tabDetails.id&&e.tabDetails.paneId===t.tabDetails.paneId&&e.tabDetails.isActive===t.tabDetails.isActive&&e.tabDetails.index===t.tabDetails.index&&e.tabDetails.metadata===t.tabDetails.metadata);var gn=({activeId:e,activeType:t,dismissIntentId:n,renderDragOverlay:r,renderPaneRef:o,renderPane:c,tabHeadersRef:i,classNames:s})=>{if(r)return jsx(Fragment,{children:r({type:t,id:e,isDismissing:e===n})});if(t==="pane"){let u=o.current||c;if(u)return jsx("div",{className:s.paneDragPreview||"",style:{pointerEvents:"none",width:"420px",height:"260px",overflow:"hidden"},children:u(e)})}else if(t==="tab"){let u=o.current||c;if(u)return jsx("div",{className:s.tabDragPreview||"",style:{pointerEvents:"none",width:"420px",height:"260px",overflow:"hidden"},children:u(e)});let f=i.current[e];if(f){let l=s.tab?typeof s.tab=="function"?s.tab(e):s.tab:"";return jsx("div",{className:`${s.tabDragPreview||""} ${l}`.trim(),style:{display:"inline-flex",position:"relative",pointerEvents:"none",overflow:"hidden"},children:f({isDragging:true,isOver:false})})}}return jsx("div",{style:{pointerEvents:"none",overflow:"hidden",width:"100%",height:"100%"}})};function Rt({containerRef:e,isRow:t,direction:n,splitPercentage:r,resizerSize:o,snapThreshold:c,layout:i,currentNode:s,onLayoutChange:u,onResizeStart:f,onResizeEnd:l,parentLeft:b,parentTop:g,parentWidth:m,parentHeight:w}){let{onResizeStart:y,onResize:D,onResizeEnd:I,minSplitPercentage:T=5,maxSplitPercentage:z=95,locked:E=false}=ie();return useCallback(k=>{if(E)return;k.preventDefault();let M=e.current;if(!M)return;f&&f(),y&&y(s);let a=M.getBoundingClientRect(),d=k.clientX,h=k.clientY,P=r,N=k.currentTarget,X=a.left+a.width*(b/100),Y=a.top+a.height*(g/100),ne=a.width*(m/100),O=a.height*(w/100),U=Array.from(document.querySelectorAll('div[role="separator"][data-direction]')).filter(A=>A!==N&&A.getAttribute("data-direction")===n).map(A=>{let Z=A.getBoundingClientRect();return t?Z.left+Z.width/2:Z.top+Z.height/2}),V=P;Zt({cursor:t?"col-resize":"row-resize",resizerEl:N,onMove:A=>{let Z=t?(A.clientX-d)/ne*100:(A.clientY-h)/O*100,v=P+Z,$=t?X+(ne-o)*(v/100)+o/2:Y+(O-o)*(v/100)+o/2,x=1/0,B=null;for(let Q of U){let K=Math.abs($-Q);K<c&&K<x&&(x=K,B=Q);}let ue=v;B!==null&&(ue=t?(B-o/2-X)/(ne-o)*100:(B-o/2-Y)/(O-o)*100);let G=Math.max(T,Math.min(z,ue));V=G;let J=xe(i,s,G);if(J){let{panes:Q,splitters:K}=he(J),S=e.current;if(S){for(let L of Q)S.style.setProperty(`--pane-left-${L.paneId}`,`${L.left}%`),S.style.setProperty(`--pane-top-${L.paneId}`,`${L.top}%`),S.style.setProperty(`--pane-width-${L.paneId}`,`${L.width}%`),S.style.setProperty(`--pane-height-${L.paneId}`,`${L.height}%`);for(let L of K)S.style.setProperty(`--splitter-pos-${L.id}`,`${L.direction==="row"?L.left:L.top}%`);}}D&&D(s,G);},onEnd:()=>{let A=xe(i,s,V),Z=e.current;if(Z){let{panes:v,splitters:$}=he(A);for(let x of v)Z.style.removeProperty(`--pane-left-${x.paneId}`),Z.style.removeProperty(`--pane-top-${x.paneId}`),Z.style.removeProperty(`--pane-width-${x.paneId}`),Z.style.removeProperty(`--pane-height-${x.paneId}`);for(let x of $)Z.style.removeProperty(`--splitter-pos-${x.id}`);}u(A),l&&l(),I&&I(s,V);}});},[e,t,n,r,o,c,i,s,u,f,l,y,D,I,T,z,b,g,m,w])}var bn=({splitter:e,resizerSize:t,snapThreshold:n,containerRef:r})=>{let{renderingLayout:o,setLayout:c,classNames:i,locked:s}=ie(),[u,f]=useState(false),{currentNode:l,direction:b,left:g,top:m,width:w,height:y,parentLeft:D,parentTop:I,parentWidth:T,parentHeight:z}=e,E=b==="row",k=Rt({containerRef:r,isRow:E,direction:b,splitPercentage:l.splitPercentage,resizerSize:t,snapThreshold:n,layout:o,currentNode:l,onLayoutChange:c,onResizeStart:()=>f(true),onResizeEnd:()=>f(false),parentLeft:D,parentTop:I,parentWidth:T,parentHeight:z}),M=E?{position:"absolute",left:`calc(var(--splitter-pos-${e.id}, ${g}%) - ${t/2}px)`,top:`calc(${m}% + ${t/2}px)`,width:`${t}px`,height:`calc(${y}% - ${t}px)`,cursor:s?"default":"col-resize",pointerEvents:s?"none":"auto",zIndex:10,userSelect:"none",touchAction:"none",boxSizing:"border-box"}:{position:"absolute",left:`calc(${g}% + ${t/2}px)`,top:`calc(var(--splitter-pos-${e.id}, ${m}%) - ${t/2}px)`,width:`calc(${w}% - ${t}px)`,height:`${t}px`,cursor:s?"default":"row-resize",pointerEvents:s?"none":"auto",zIndex:10,userSelect:"none",touchAction:"none",boxSizing:"border-box"};return jsx("div",{className:i.resizer||"","data-direction":b,"data-resizing":u||void 0,style:M,onPointerDown:k,role:"separator","aria-valuenow":l.splitPercentage,"aria-valuemin":5,"aria-valuemax":95})},vn=ge.memo(({paneId:e,renderPane:t})=>jsx(Fragment,{children:t(e)}),(e,t)=>e.paneId===t.paneId&&e.renderPane===t.renderPane);var wt=({renderPane:e,tree:t,resizerSize:n,snapThreshold:r})=>{jt(e);let{renderingLayout:o,activeId:c,dismissIntentId:i,setContainerRef:s,fullscreenPaneId:u,snapThreshold:f,locked:l,classNames:b,resizerSize:g}=ie(),m=r!==void 0?r:f??8,w=n!==void 0?n:g??4,y=t!==void 0?t:o,D=useRef(null),{panes:I,splitters:T}=useMemo(()=>y?he(y):{panes:[],splitters:[]},[y]);if(!y&&t!==void 0)return null;let z=()=>jsxs(Fragment,{children:[I.map(E=>{let k=u===E.paneId;return jsx("div",{style:{position:"absolute",left:k?"0%":`var(--pane-left-${E.paneId}, ${E.left}%)`,top:k?"0%":`var(--pane-top-${E.paneId}, ${E.top}%)`,width:k?"100%":`var(--pane-width-${E.paneId}, ${E.width}%)`,height:k?"100%":`var(--pane-height-${E.paneId}, ${E.height}%)`,overflow:"hidden",zIndex:k?20:1,display:u&&!k?"none":"block",padding:k?"0px":`${w/2}px`,boxSizing:"border-box"},children:jsx(vn,{paneId:E.paneId,renderPane:e})},E.paneId)}),!u&&T.map(E=>jsx(bn,{splitter:E,resizerSize:w,snapThreshold:m,containerRef:D},E.id))]});if(t===void 0){let E=c!==null&&c===i,k=a=>{s(a),D.current=a;},M=`${b.dashboard||""} ${E&&b.dashboardDismissActive||""} ${l&&b.dashboardLocked||""}`.trim();return jsxs("div",{ref:k,className:M,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden"},children:[z(),c!==null&&!l&&jsx(Tn,{activeClassName:b.rootDropPreview??b.dropPreview})]})}return jsx("div",{ref:D,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden"},children:z()})};var So=e=>{let{controller:t,children:n,renderDragOverlay:r,classNames:o={},renderPane:c,resizerSize:i,dragActivationDistance:s=8,snapThreshold:u=8,minSplitPercentage:f=5,maxSplitPercentage:l=95,enableDragToDismiss:b=false,dismissThreshold:g=60,onRemove:m,onDragStart:w,onDragEnd:y,onResizeStart:D,onResize:I,onResizeEnd:T,onDismissIntentChange:z,persist:E=false}=e,k=t,{layout:M,setLayout:a,_internalSetLayout:d,renderingLayout:h,fullscreenPaneId:P,setFullscreenPaneId:N,locked:X,setLocked:Y,findPaneById:ne,findPaneContainingTab:O,findTabById:H,getTabMetadata:U,getActiveTabMetadata:V,activeId:A,setActiveId:Z,activeType:v,setActiveType:$,dismissIntentId:x,setDismissIntentId:B,containerRef:ue,setContainerRef:G,removePane:J,addTab:Q,updateMetadata:K,updatePaneLock:S,selectTab:L,mergeTab:le,removeTab:se,splitPane:ee,updateSplitPercentage:oe,moveTab:Ze,poppedOutTabIds:p=[],popoutTab:R,dockTab:C}=k;an({persist:E,layout:M,setLayout:a});let{portalTargets:F,registerPortalTarget:_,registerPopoutTarget:ae,registerRenderCallback:j,renderCallbacksRef:ve,registerRenderPane:pt,renderPaneRef:ft,registerTabHeader:Lt,tabHeadersRef:mt,activeIdRef:Xe}=_t();dn({poppedOutTabIds:p,registerPopoutTarget:ae,findTabById:H,dockTab:C});let kt=useCallback(de=>p.includes(de),[p]),{overTabId:Mt,setOverTabId:Hn,overTabPosition:Ot,setOverTabPosition:$n,handleDragStartInternal:Bn,handleDragEndInternal:_n}=Vt({onDragStart:w,onDragEnd:y}),Fn=on({layout:M,_internalSetLayout:d,setLayout:a,activeId:A,setActiveId:Z,activeType:v,setActiveType:$,dismissIntentId:x,setDismissIntentId:B,setOverTabId:Hn,setOverTabPosition:$n,containerRef:ue,dragActivationDistance:s,enableDragToDismiss:b,dismissThreshold:g,onRemove:m,onDragStart:Bn,onDragEnd:_n,onDismissIntentChange:z,removeTab:se,removePane:J}),gt=useMemo(()=>o,[o.dashboard,o.dashboardDismissActive,o.pane,o.paneLocked,o.dropPreview,o.rootDropPreview,o.dragOverlay,o.paneDragPreview,o.tabDragPreview,o.resizer,o.dismissPreview,o.dashboardLocked,o.lockedPreview,o.tabDropPreview,o.tabSeparator,o.tabsContainer,o.tab,o.paneContainer,o.paneHeader,o.paneControls,o.paneButton,o.tabCloseButton,o.dragHandle]),At=useCallback((de,Ye)=>{T&&T(de,Ye);},[T]),Vn=useMemo(()=>({layout:M,renderingLayout:h,setLayout:a,activeId:A,activeType:v,dismissIntentId:x,setContainerRef:G,fullscreenPaneId:P,classNames:gt,onRemove:m,onFullscreenChange:N,snapThreshold:u,onResizeStart:D,onResize:I,onResizeEnd:At,minSplitPercentage:f,maxSplitPercentage:l,locked:X,setLocked:Y,findPaneById:ne,findPaneContainingTab:O,findTabById:H,getTabMetadata:U,getActiveTabMetadata:V,renderPane:c,resizerSize:i,poppedOutTabIds:p,isTabPoppedOut:kt}),[M,h,A,v,x,G,P,gt,m,N,u,D,I,f,l,a,At,X,Y,ne,O,H,U,V,c,i,p,kt]),jn=useMemo(()=>({overTabId:Mt,overTabPosition:Ot}),[Mt,Ot]),Wn=useMemo(()=>({removePane:J,addTab:Q,updateMetadata:K,updatePaneLock:S,selectTab:L,mergeTab:le,removeTab:se,setFullscreenPaneId:N,setLocked:Y,splitPane:ee,updateSplitPercentage:oe,moveTab:Ze,popoutTab:R,dockTab:C}),[J,Q,K,S,L,le,se,N,Y,ee,oe,Ze,R,C]),qn=Ft(M),Un=useMemo(()=>({registerPortalTarget:_,registerRenderCallback:j,renderCallbacksRef:ve,registerRenderPane:pt,renderPaneRef:ft,registerTabHeader:Lt,tabHeadersRef:mt,activeIdRef:Xe,registerPopoutTarget:ae}),[_,j,ve,pt,ft,Lt,mt,Xe,ae]);return Xe&&(Xe.current=A),jsx(Re.Provider,{value:Wn,children:jsx(vt.Provider,{value:Vn,children:jsx(ht.Provider,{value:jn,children:jsxs(Te.Provider,{value:Un,children:[jsx(DndContext,{id:"zeugma-dnd-context",...Fn,children:n}),A&&v&&jsx(pn,{activeId:A,render:de=>jsx("div",{style:{transition:"transform 150ms cubic-bezier(0.2, 0, 0, 1)",transform:de===x?"scale(0.8)":"scale(1)",transformOrigin:"top left"},children:jsx(gn,{activeId:de,activeType:v,dismissIntentId:x,renderDragOverlay:r,renderPaneRef:ft,renderPane:c,tabHeadersRef:mt,classNames:gt})}),className:`${o.dragOverlay||""} ${A===x&&o.dismissPreview||""}`.trim()}),jsx("div",{id:"zeugma-portal-host",style:{display:"none"},children:qn.map(de=>{let Ye=F[de],zt=H(de);return zt?jsx(mn,{tabDetails:zt,target:Ye||null,renderWidget:ve.current[de]},de):null})})]})})})})},No=({renderPane:e,resizerSize:t,snapThreshold:n})=>{if(!e)throw new Error("Zeugma component requires a renderPane prop when used as a standalone renderer.");return jsx(wt,{renderPane:e,resizerSize:t,snapThreshold:n})},Io=e=>{let{children:t,...n}=e,{controller:r}=e;if(!r)throw new Error("Zeugma component requires a controller.");return jsx(So,{...e,children:t!==void 0?t:jsx(No,{...n})})};var Mo={top:{"1/4":{position:"absolute",top:0,left:0,width:"100%",height:"24px",zIndex:100,pointerEvents:"auto"},"1/3":{position:"absolute",top:"24px",left:0,width:"100%",height:"24px",zIndex:100,pointerEvents:"auto"}},bottom:{"1/4":{position:"absolute",bottom:0,left:0,width:"100%",height:"24px",zIndex:100,pointerEvents:"auto"},"1/3":{position:"absolute",bottom:"24px",left:0,width:"100%",height:"24px",zIndex:100,pointerEvents:"auto"}},left:{"1/4":{position:"absolute",left:0,top:"48px",width:"24px",height:"calc(100% - 96px)",zIndex:100,pointerEvents:"auto"},"1/3":{position:"absolute",left:"24px",top:"48px",width:"24px",height:"calc(100% - 96px)",zIndex:100,pointerEvents:"auto"}},right:{"1/4":{position:"absolute",right:0,top:"48px",width:"24px",height:"calc(100% - 96px)",zIndex:100,pointerEvents:"auto"},"1/3":{position:"absolute",right:"24px",top:"48px",width:"24px",height:"calc(100% - 96px)",zIndex:100,pointerEvents:"auto"}}},Oo={top:{"1/4":{top:0,left:0,width:"100%",height:"60px",borderBottomLeftRadius:"12px",borderBottomRightRadius:"12px",borderTopLeftRadius:"0px",borderTopRightRadius:"0px"},"1/3":{top:0,left:0,width:"100%",height:"96px",borderBottomLeftRadius:"12px",borderBottomRightRadius:"12px",borderTopLeftRadius:"0px",borderTopRightRadius:"0px"}},bottom:{"1/4":{bottom:0,left:0,width:"100%",height:"60px",borderTopLeftRadius:"12px",borderTopRightRadius:"12px",borderBottomLeftRadius:"0px",borderBottomRightRadius:"0px"},"1/3":{bottom:0,left:0,width:"100%",height:"96px",borderTopLeftRadius:"12px",borderTopRightRadius:"12px",borderBottomLeftRadius:"0px",borderBottomRightRadius:"0px"}},left:{"1/4":{left:0,top:0,width:"60px",height:"100%",borderTopRightRadius:"12px",borderBottomRightRadius:"12px",borderTopLeftRadius:"0px",borderBottomLeftRadius:"0px"},"1/3":{left:0,top:0,width:"96px",height:"100%",borderTopRightRadius:"12px",borderBottomRightRadius:"12px",borderTopLeftRadius:"0px",borderBottomLeftRadius:"0px"}},right:{"1/4":{right:0,top:0,width:"60px",height:"100%",borderTopLeftRadius:"12px",borderBottomLeftRadius:"12px",borderTopRightRadius:"0px",borderBottomRightRadius:"0px"},"1/3":{right:0,top:0,width:"96px",height:"100%",borderTopLeftRadius:"12px",borderBottomLeftRadius:"12px",borderTopRightRadius:"0px",borderBottomRightRadius:"0px"}}},Ao=({id:e,fraction:t,edge:n,activeClassName:r})=>{let{setNodeRef:o,isOver:c}=useDroppable({id:e}),i={position:"absolute",pointerEvents:"none",zIndex:101,boxSizing:"border-box",...Oo[n][t]};return jsxs(Fragment,{children:[jsx("div",{ref:o,style:Mo[n][t]}),c&&jsx("div",{className:r,style:i})]})},Tn=({activeClassName:e})=>jsx("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:99,pointerEvents:"none"},children:[{id:"drop-root-1/4-top",fraction:"1/4",edge:"top"},{id:"drop-root-1/3-top",fraction:"1/3",edge:"top"},{id:"drop-root-1/4-bottom",fraction:"1/4",edge:"bottom"},{id:"drop-root-1/3-bottom",fraction:"1/3",edge:"bottom"},{id:"drop-root-1/4-left",fraction:"1/4",edge:"left"},{id:"drop-root-1/3-left",fraction:"1/3",edge:"left"},{id:"drop-root-1/4-right",fraction:"1/4",edge:"right"},{id:"drop-root-1/3-right",fraction:"1/3",edge:"right"}].map(n=>jsx(Ao,{id:n.id,fraction:n.fraction,edge:n.edge,activeClassName:e},n.id))});var it=createContext(null);var Bo={top:{position:"absolute",top:0,left:0,width:"100%",height:"25%",zIndex:20,pointerEvents:"auto"},bottom:{position:"absolute",bottom:0,left:0,width:"100%",height:"25%",zIndex:20,pointerEvents:"auto"},left:{position:"absolute",top:"25%",left:0,width:"50%",height:"50%",zIndex:20,pointerEvents:"auto"},right:{position:"absolute",top:"25%",right:0,width:"50%",height:"50%",zIndex:20,pointerEvents:"auto"},full:{position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:20,pointerEvents:"auto",cursor:"not-allowed"},center:{position:"absolute",top:"25%",left:"25%",width:"50%",height:"50%",zIndex:22,pointerEvents:"auto"}},_o={top:{position:"absolute",top:0,left:0,right:0,height:"50%",zIndex:21,pointerEvents:"none",boxSizing:"border-box"},bottom:{position:"absolute",bottom:0,left:0,right:0,height:"50%",zIndex:21,pointerEvents:"none",boxSizing:"border-box"},left:{position:"absolute",top:0,bottom:0,left:0,width:"50%",zIndex:21,pointerEvents:"none",boxSizing:"border-box"},right:{position:"absolute",top:0,bottom:0,right:0,width:"50%",zIndex:21,pointerEvents:"none",boxSizing:"border-box"},full:{position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:21,pointerEvents:"none",boxSizing:"border-box"},center:{position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:21,pointerEvents:"none",boxSizing:"border-box"}},lt=({id:e,position:t,activeClassName:n})=>{let{setNodeRef:r,isOver:o}=useDroppable({id:e});return jsxs(Fragment,{children:[jsx("div",{ref:r,style:Bo[t]}),o&&jsx("div",{className:n,style:_o[t]})]})};var wn=({children:e,className:t,style:n})=>{let r=useContext(it);if(!r)throw new Error("<DragHandle> must be used inside a <Pane>");let{disabled:o,...c}=r;return jsx("div",{className:t,style:{cursor:o?"default":"grab",userSelect:o?"auto":"none",touchAction:o?"auto":"none",...n},...o?{}:c,children:e})};var Jo=createContext(void 0);var We=({id:e,locked:t=false,children:n,className:r,style:o})=>{let{locked:c,classNames:i={},fullscreenPaneId:s,poppedOutTabIds:u=[]}=ie(),f=useContext(Re),{overTabId:l}=Je(),b=useContext(Te);useEffect(()=>(b?.registerTabHeader&&b.registerTabHeader(e,n),()=>{b?.registerTabHeader&&b.activeIdRef?.current!==e&&b.registerTabHeader(e,()=>null);}),[e,n,b]);let g=u.includes(e),m=useContext(Ct),w=t||c||(m?.locked??false)||s!==null,{attributes:y,listeners:D,setNodeRef:I,isDragging:T}=useDraggable({id:`tab-header-${e}`,disabled:w}),{setNodeRef:z,isOver:E}=useDroppable({id:`tab-drop-${e}`,disabled:w}),k=U=>{I(U),z(U);},M=E&&l===e,a=m?.tabIds||[],d=a.indexOf(e),h=m?.activeTabId,N=d>0&&e!==h&&a[d-1]!==h?jsx("div",{className:i.tabSeparator}):null,X=m?m.activeTabId===e:false,Y=m?.tabsMetadata?.[e],ne=useCallback(()=>{m?.selectTab(e);},[m,e]),O=useCallback(()=>{m?.removeTab(e);},[m,e]),H=useMemo(()=>({tabId:e,isActive:X,isDragging:T,isOver:M,metadata:Y,locked:w,selectTab:ne,removeTab:O,isPoppedOut:g,popoutTab:()=>f?.popoutTab(e),dockTab:()=>f?.dockTab(e)}),[e,X,T,M,Y,w,ne,O,g,f]);return jsx(Jo.Provider,{value:H,children:jsxs("div",{ref:k,id:`tab-header-${e}`,className:r,style:{display:"inline-flex",position:"relative",cursor:w?"default":"grab",...o},...w?{}:D,...w?{}:y,children:[N,n({isDragging:T,isOver:M})]})})};var Ct=createContext(void 0);var En=(e,t)=>typeof e=="function"?e(t):e,Dt=({tabIds:e,activeTabId:t,locked:n,tabsMetadata:r,selectTab:o,removeTab:c,renderTab:i,classNames:s,styles:u})=>{let f=useContext(ct),l=e??f?.tabIds??[],b=t??f?.activeTabId??"",g=n??f?.locked??false,m=r??f?.tabsMetadata,w=o??f?.selectTab??(()=>{}),y=c??f?.removeTab??(()=>{}),{classNames:D={},activeType:I,poppedOutTabIds:T=[]}=ie(),z=useContext(Re),{overTabId:E,overTabPosition:k}=Je(),M=useMemo(()=>({tabIds:l,activeTabId:b,locked:g,tabsMetadata:m,selectTab:w,removeTab:y}),[l,b,g,m,w,y]),a=Jt(l,I,E,k);return jsx(Ct.Provider,{value:M,children:jsxs("div",{className:s?.container,style:{display:"flex",alignItems:"center",height:"100%",...u?.container},children:[l.map((d,h)=>{let P=m?.[d],N=En(s?.tab,d),X=En(u?.tab,d),Y=h===a;return jsxs(ge.Fragment,{children:[Y&&D.tabDropPreview&&jsx("div",{style:{position:"relative",height:"100%",width:0,zIndex:10},children:jsx("div",{className:D.tabDropPreview,style:{position:"absolute",top:0,bottom:0,transform:h===0?"none":"translateX(-50%)"}})}),jsx(We,{id:d,locked:g,className:N,style:X,children:({isDragging:ne,isOver:O})=>i({id:d,paneId:f?.id??"",isActive:d===b,index:h,isDragging:ne,isOver:O,metadata:P,onSelect:()=>w(d),onRemove:()=>y(d),isPoppedOut:T.includes(d),popout:()=>z?.popoutTab(d),dock:()=>z?.dockTab(d)})})]},d)}),a===l.length&&D.tabDropPreview&&jsx("div",{style:{position:"relative",height:"100%",width:0,zIndex:10},children:jsx("div",{className:D.tabDropPreview,style:{position:"absolute",top:0,bottom:0,transform:"translateX(-100%)"}})})]})})};Dt.Tab=We;var Nn=({className:e,style:t,children:n})=>jsx("div",{className:e,style:t,children:n});var ct=createContext(void 0),Ln=()=>{let e=useContext(ct);if(!e)throw new Error("usePaneContext must be used within a Pane component");return e},ir=({children:e,className:t,style:n})=>{let{activeTabId:r}=Ln(),{classNames:o,isTabPoppedOut:c}=ie(),{dockTab:i}=He(),s=useRef(null),u=useContext(Te);if(!u)throw new Error("PaneContent must be used within a Zeugma provider");let{registerPortalTarget:f,registerRenderCallback:l}=u,b=useMemo(()=>typeof e=="function"?e:()=>e,[e]);l(r,b),useEffect(()=>{let m=s.current;return f(r,m),()=>{f(r,null,m);}},[r,f]);let g=c(r);return jsx("div",{ref:s,id:`zeugma-tab-target-${r}`,className:`${o.tabContentWrapper||""} ${t||""}`.trim(),style:{height:"100%",width:"100%",position:"relative",...n},children:g&&jsxs("div",{className:"zeugma-popout-placeholder",style:{position:"absolute",top:0,left:0,right:0,bottom:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:"12px",padding:"24px",textAlign:"center",backgroundColor:"#161719",color:"#94a3b8",fontSize:"13px",fontWeight:500},children:[jsx("div",{children:"This panel is open in a new window"}),jsx("button",{onClick:()=>i(r),style:{padding:"6px 12px",fontSize:"11px",fontWeight:600,borderRadius:"4px",backgroundColor:"#2563eb",color:"#ffffff",border:"none",cursor:"pointer",boxShadow:"0 1px 3px rgba(0,0,0,0.1)"},onMouseOver:m=>{m.currentTarget.style.backgroundColor="#1d4ed8";},onMouseOut:m=>{m.currentTarget.style.backgroundColor="#2563eb";},children:"Dock Back"})]})})},Oe=({id:e,children:t,style:n,locked:r=false})=>{let{layout:o,renderingLayout:c,activeId:i,activeType:s,classNames:u,fullscreenPaneId:f,onFullscreenChange:l,locked:b,poppedOutTabIds:g=[]}=ie(),{removePane:m,updateMetadata:w,selectTab:y,removeTab:D,popoutTab:I,dockTab:T}=He(),z=useMemo(()=>{if(s==="tab"&&e===i){let B=W(o,e)?.tabsMetadata?.[e];return {type:"pane",id:e,tabIds:[e],activeTabId:e,tabsMetadata:B?{[e]:B}:void 0}}return qt(e===i?o:c,e)},[o,c,e,i,s]),E=z?.id??e,k=z?.tabIds??[e],M=z?.activeTabId??e,a=z?.tabsMetadata,d=a?.[e],h=z?.locked??false,P=r||h,N=b||P||f!==null,X=b||P||f!==null,Y=i!==null&&i!==e&&(!k.includes(i)||k.length>1)&&!X,{attributes:ne,listeners:O,setNodeRef:H}=useDraggable({id:e,disabled:N}),U=i!==null&&k.includes(i),V=f===e,A=useMemo(()=>({isDragging:U,isFullscreen:V,toggleFullscreen:()=>l?.(V?null:e),remove:()=>{V&&l?.(null),m(E);},metadata:d,updateMetadata:$=>{w(e,$);},locked:N,tabIds:k,activeTabId:M,selectTab:$=>y(E,$),removeTab:$=>{V&&$===M&&l?.(null),D($);},tabsMetadata:a,updateTabMetadata:($,x)=>{w($,x);},isActiveTabPoppedOut:g.includes(M),popoutTab:$=>I($||M),dockTab:$=>T($||M)}),[U,V,l,e,D,d,w,N,k,M,y,E,a,g,I,T]),Z=useMemo(()=>N?{disabled:true}:{...O,...ne},[O,ne,N]),v=`${u.pane||""} ${P&&u.paneLocked||""}`.trim();return jsx(ct.Provider,{value:{id:e,...A},children:jsx(it.Provider,{value:Z,children:jsxs("div",{ref:H,id:e,className:v,style:{position:"relative",width:"100%",height:"100%",...n},children:[t,Y&&jsxs("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:15,pointerEvents:"none"},children:[["top","bottom","left","right"].map($=>jsx(lt,{id:`drop-${$}-${e}`,position:$,activeClassName:u.dropPreview},$)),s==="tab"&&jsx(lt,{id:`drop-center-${e}`,position:"center",activeClassName:u.swapPreview??u.dropPreview})]}),i!==null&&i!==e&&X&&jsx("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:15,pointerEvents:"none"},children:jsx(lt,{id:`drop-locked-${e}`,position:"full",activeClassName:u.lockedPreview||""})})]})})})};Oe.Content=ir;Oe.DragHandle=wn;Oe.Tabs=Dt;Oe.Tab=We;Oe.Controls=Nn;var dt=new Map;function qe(e){let t=dt.get(e);return t||(t={mounts:0,renders:0,listeners:new Set},dt.set(e,t)),t}function kn(e,t){let n=qe(e);return n.listeners.add(t),()=>{n.listeners.delete(t);}}function St(e){let t=dt.get(e);t&&t.listeners.forEach(n=>n());}function Mn(e){let t=dt.get(e);t&&(t.mounts=0,t.renders=0,St(e));}function Ae(e,t){let n=useId(),r=typeof e=="string"?{id:e,...t}:e||{},{id:o=n,logToConsole:c=false,disabled:i=false}=r,s=useRef(0),u=useRef(false),[,f]=useState(0);if(i||(s.current+=1),useEffect(()=>{if(i)return;let g=kn(o,()=>{f(w=>w+1);}),m=qe(o);return m.mounts+=1,u.current=true,c&&console.log(`[DevTools:${o}] Mounted: ${m.mounts} | Rendered: ${s.current}`),St(o),()=>{u.current=false,g();}},[o,i,c]),!i){let g=qe(o);g.renders=Math.max(g.renders,s.current);}let l=useCallback(()=>{s.current=0,Mn(o);},[o]);return i?{mounts:0,renders:0,reset:l}:{mounts:qe(o).mounts,renders:s.current,reset:l}}var An={"top-right":"top-2 right-2","top-left":"top-2 left-2","bottom-right":"bottom-2 right-2","bottom-left":"bottom-2 left-2"};function zn({id:e,position:t="top-right",className:n="",style:r,logToConsole:o=false,disabled:c=false}){let{mounts:i,renders:s}=Ae(e,{logToConsole:o,disabled:c});if(c)return null;let u=An[t]||An["top-right"];return jsxs("div",{className:`absolute ${u} z-50 pointer-events-none flex items-center gap-2 rounded px-2 py-1 text-[11px] font-mono bg-zinc-900/90 text-zinc-200 border border-zinc-700/80 shadow-md backdrop-blur-xs select-none ${n}`,style:r,children:[jsxs("span",{children:["M: ",jsx("strong",{className:"text-emerald-400 font-semibold",children:i})]}),jsx("span",{className:"opacity-30",children:"|"}),jsxs("span",{children:["R: ",jsx("strong",{className:"text-indigo-400 font-semibold",children:s})]})]})}function Zn({id:e,label:t,children:n,className:r="",footerClassName:o="",style:c,logToConsole:i=false,disabled:s=false}){let u=t||e||"widget",{mounts:f,renders:l}=Ae(e,{logToConsole:i,disabled:s});return s?jsx(Fragment,{children:n}):jsxs("div",{className:`h-full w-full flex flex-col overflow-hidden min-h-0 ${r}`,style:c,children:[n&&jsx("div",{className:"flex-1 overflow-hidden relative min-h-0",children:n}),jsxs("div",{className:`bg-zinc-900/90 border-t border-zinc-800 px-3 py-1.5 flex items-center justify-between text-[11px] text-zinc-400 font-mono shrink-0 select-none ${o}`,children:[jsx("span",{className:"truncate max-w-[140px] text-zinc-300 font-semibold",children:u}),jsxs("div",{className:"flex items-center gap-3",children:[jsxs("span",{children:["Mounts: ",jsx("strong",{className:"text-emerald-400 font-semibold",children:f})]}),jsx("span",{className:"opacity-20",children:"|"}),jsxs("span",{children:["Renders: ",jsx("strong",{className:"text-indigo-400 font-semibold",children:l})]})]})]})]})}export{Oe as Pane,wt as PaneTree,zn as RenderCounterBadge,Zn as RenderCounterFooter,Io as Zeugma,Ln as usePaneContext,Ae as useRenderCounter,Rt as useResizer,Kn as useZeugma,eo as useZeugmaContext};//# sourceMappingURL=index.js.map
11
+ `);return P.replaceSync(N),P}catch{return null}}).filter(h=>h!==null);l.document.adoptedStyleSheets=d;}catch(d){console.warn("Failed to copy adoptedStyleSheets:",d);}l.document.documentElement.className=document.documentElement.className,l.document.body.className=document.body.className,Array.from(document.documentElement.attributes).forEach(d=>{l.document.documentElement.setAttribute(d.name,d.value);}),l.document.body.style.margin="0",l.document.body.style.padding="0",l.document.body.style.height="100vh",l.document.body.style.overflow="hidden";let b=document.getElementById(`zeugma-tab-target-${s}`),g="";b&&(g=window.getComputedStyle(b).backgroundColor,(!g||g==="transparent"||g==="rgba(0, 0, 0, 0)")&&b.parentElement&&(g=window.getComputedStyle(b.parentElement).backgroundColor));let m=window.getComputedStyle(document.documentElement),w=window.getComputedStyle(document.body),y=w.backgroundColor,I=!y||y==="transparent"||y==="rgba(0, 0, 0, 0)"?m.backgroundColor:y,T=g&&g!=="transparent"&&g!=="rgba(0, 0, 0, 0)"?g:I&&I!=="transparent"&&I!=="rgba(0, 0, 0, 0)"?I:"#181b1f";document.documentElement.getAttribute("data-theme")||(l.document.documentElement.style.backgroundColor=T,l.document.body.style.backgroundColor=T),l.document.body.style.color=w.color||m.color,l.document.body.style.fontFamily=w.fontFamily||m.fontFamily;let E=l.document.createElement("div");E.id=`zeugma-popout-container-${s}`,E.className="grafana-panel h-full w-full overflow-hidden",E.style.width="100%",E.style.height="100%",E.style.border="none",l.document.body.appendChild(E),n?.(s,E);let k=["pointerdown","mousedown","click","keydown","focus","touchstart"],M=d=>{De=d,globalThis.__zeugmaActivePopoutDocument=l.document,setTimeout(()=>{De===d&&(De=null,globalThis.__zeugmaActivePopoutDocument=null);},0);};k.forEach(d=>{l.addEventListener(d,M,true);});let a=()=>{re.delete(l.document),re.size===0&&(yt(),Tt()),o(s);};l.addEventListener("beforeunload",a),l.__zeugmaCleanup=()=>{k.forEach(d=>{l.removeEventListener(d,M,true);}),l.removeEventListener("beforeunload",a);};}),Object.keys(i).forEach(s=>{if(!t.includes(s)){let u=i[s];if(delete i[s],n?.(s,null),u){re.delete(u.document),re.size===0&&(yt(),Tt());try{let f=u;f.__zeugmaCleanup&&f.__zeugmaCleanup(),cn(()=>{try{f.close();}catch{}});}catch{}}}});},[t,n,r,o]),useEffect(()=>()=>{let i=c.current;Object.keys(i).forEach(s=>{let u=i[s];if(u){re.delete(u.document);try{let f=u;f.__zeugmaCleanup&&f.__zeugmaCleanup(),cn(()=>{try{f.close();}catch{}});}catch{}}}),re.size===0&&(yt(),Tt());},[]);}typeof window<"u"&&un();var pn=({activeId:e,render:t,className:n})=>{let r=useRef(null);return useEffect(()=>{let o=c=>{r.current&&(r.current.style.transform=`translate(${c.clientX+12}px, ${c.clientY+12}px)`);};return document.addEventListener("pointermove",o),()=>document.removeEventListener("pointermove",o)},[]),jsx("div",{ref:r,className:n,style:{position:"fixed",top:0,left:0,zIndex:9999,pointerEvents:"none"},children:t(e)})};var vo=({popoutDoc:e,children:t})=>{if(e===document)return jsx(Fragment,{children:t});let n=ge.useEffect,r=ge.useLayoutEffect,o=ge.useInsertionEffect;ge.useEffect=(c,i)=>n(()=>{window.__zeugmaActivePopoutDocument=e;try{let s=c();return typeof s=="function"?()=>{window.__zeugmaActivePopoutDocument=e;try{return s()}finally{window.__zeugmaActivePopoutDocument=null;}}:s}finally{window.__zeugmaActivePopoutDocument=null;}},i),ge.useLayoutEffect=(c,i)=>r(()=>{window.__zeugmaActivePopoutDocument=e;try{let s=c();return typeof s=="function"?()=>{window.__zeugmaActivePopoutDocument=e;try{return s()}finally{window.__zeugmaActivePopoutDocument=null;}}:s}finally{window.__zeugmaActivePopoutDocument=null;}},i),o&&(ge.useInsertionEffect=(c,i)=>o(()=>{window.__zeugmaActivePopoutDocument=e;try{let s=c();return typeof s=="function"?()=>{window.__zeugmaActivePopoutDocument=e;try{return s()}finally{window.__zeugmaActivePopoutDocument=null;}}:s}finally{window.__zeugmaActivePopoutDocument=null;}},i)),window.__zeugmaActivePopoutDocument=e;try{return jsx(Fragment,{children:t})}finally{window.__zeugmaActivePopoutDocument=null,ge.useEffect=n,ge.useLayoutEffect=r,o&&(ge.useInsertionEffect=o);}},mn=ge.memo(({tabDetails:e,target:t,renderWidget:n})=>{let{id:r}=e,[o,c]=useState(false),i=useRef(null);if(useEffect(()=>{c(true);},[]),useEffect(()=>{if(!o||!i.current)return;let g=i.current;if(t)t.ownerDocument.adoptNode(g),t.appendChild(g);else {let m=document.getElementById("zeugma-hidden-portal-container");m||(m=document.createElement("div"),m.id="zeugma-hidden-portal-container",m.style.display="none",document.body.appendChild(m)),document.adoptNode(g),m.appendChild(g);}},[t,o]),useEffect(()=>()=>{i.current&&i.current.remove();},[]),!o)return null;let s=t?t.ownerDocument:document;i.current&&i.current.ownerDocument!==s&&s.adoptNode(i.current),i.current||(i.current=s.createElement("div"),i.current.className=`zeugma-portal-wrapper-${r}`,i.current.style.width="100%",i.current.style.height="100%");let u=i.current;if(!u||!n)return null;let f=!!(t&&t.ownerDocument&&t.ownerDocument!==document),l=e.remountOnPopout?f?"-popped":"-docked":"",b=jsx(ge.Fragment,{children:n(e)},`${r}${l}`);return createPortal(jsx(vo,{popoutDoc:f&&t?t.ownerDocument:document,children:b}),u)},(e,t)=>e.target===t.target&&e.renderWidget===t.renderWidget&&e.tabDetails.id===t.tabDetails.id&&e.tabDetails.paneId===t.tabDetails.paneId&&e.tabDetails.isActive===t.tabDetails.isActive&&e.tabDetails.index===t.tabDetails.index&&e.tabDetails.metadata===t.tabDetails.metadata);var gn=({activeId:e,activeType:t,dismissIntentId:n,renderDragOverlay:r,renderPaneRef:o,renderPane:c,tabHeadersRef:i,classNames:s})=>{if(r)return jsx(Fragment,{children:r({type:t,id:e,isDismissing:e===n})});if(t==="pane"){let u=o.current||c;if(u)return jsx("div",{className:s.paneDragPreview||"",style:{pointerEvents:"none",width:"420px",height:"260px",overflow:"hidden"},children:u(e)})}else if(t==="tab"){let u=o.current||c;if(u)return jsx("div",{className:s.tabDragPreview||"",style:{pointerEvents:"none",width:"420px",height:"260px",overflow:"hidden"},children:u(e)});let f=i.current[e];if(f){let l=s.tab?typeof s.tab=="function"?s.tab(e):s.tab:"";return jsx("div",{className:`${s.tabDragPreview||""} ${l}`.trim(),style:{display:"inline-flex",position:"relative",pointerEvents:"none",overflow:"hidden"},children:f({isDragging:true,isOver:false})})}}return jsx("div",{style:{pointerEvents:"none",overflow:"hidden",width:"100%",height:"100%"}})};function Rt({containerRef:e,isRow:t,direction:n,splitPercentage:r,resizerSize:o,snapThreshold:c,layout:i,currentNode:s,onLayoutChange:u,onResizeStart:f,onResizeEnd:l,parentLeft:b,parentTop:g,parentWidth:m,parentHeight:w}){let{onResizeStart:y,onResize:D,onResizeEnd:I,minSplitPercentage:T=5,maxSplitPercentage:z=95,locked:E=false}=ie();return useCallback(k=>{if(E)return;k.preventDefault();let M=e.current;if(!M)return;f&&f(),y&&y(s);let a=M.getBoundingClientRect(),d=k.clientX,h=k.clientY,P=r,N=k.currentTarget,X=a.left+a.width*(b/100),Y=a.top+a.height*(g/100),ne=a.width*(m/100),O=a.height*(w/100),U=Array.from(document.querySelectorAll('div[role="separator"][data-direction]')).filter(A=>A!==N&&A.getAttribute("data-direction")===n).map(A=>{let Z=A.getBoundingClientRect();return t?Z.left+Z.width/2:Z.top+Z.height/2}),V=P;Zt({cursor:t?"col-resize":"row-resize",resizerEl:N,onMove:A=>{let Z=t?(A.clientX-d)/ne*100:(A.clientY-h)/O*100,v=P+Z,$=t?X+(ne-o)*(v/100)+o/2:Y+(O-o)*(v/100)+o/2,x=1/0,B=null;for(let Q of U){let K=Math.abs($-Q);K<c&&K<x&&(x=K,B=Q);}let ue=v;B!==null&&(ue=t?(B-o/2-X)/(ne-o)*100:(B-o/2-Y)/(O-o)*100);let G=Math.max(T,Math.min(z,ue));V=G;let J=xe(i,s,G);if(J){let{panes:Q,splitters:K}=he(J),S=e.current;if(S){for(let L of Q)S.style.setProperty(`--pane-left-${L.paneId}`,`${L.left}%`),S.style.setProperty(`--pane-top-${L.paneId}`,`${L.top}%`),S.style.setProperty(`--pane-width-${L.paneId}`,`${L.width}%`),S.style.setProperty(`--pane-height-${L.paneId}`,`${L.height}%`);for(let L of K)S.style.setProperty(`--splitter-pos-${L.id}`,`${L.direction==="row"?L.left:L.top}%`);}}D&&D(s,G);},onEnd:()=>{let A=xe(i,s,V),Z=e.current;if(Z){let{panes:v,splitters:$}=he(A);for(let x of v)Z.style.removeProperty(`--pane-left-${x.paneId}`),Z.style.removeProperty(`--pane-top-${x.paneId}`),Z.style.removeProperty(`--pane-width-${x.paneId}`),Z.style.removeProperty(`--pane-height-${x.paneId}`);for(let x of $)Z.style.removeProperty(`--splitter-pos-${x.id}`);}u(A),l&&l(),I&&I(s,V);}});},[e,t,n,r,o,c,i,s,u,f,l,y,D,I,T,z,b,g,m,w])}var bn=({splitter:e,resizerSize:t,snapThreshold:n,containerRef:r})=>{let{renderingLayout:o,setLayout:c,classNames:i,locked:s}=ie(),[u,f]=useState(false),{currentNode:l,direction:b,left:g,top:m,width:w,height:y,parentLeft:D,parentTop:I,parentWidth:T,parentHeight:z}=e,E=b==="row",k=Rt({containerRef:r,isRow:E,direction:b,splitPercentage:l.splitPercentage,resizerSize:t,snapThreshold:n,layout:o,currentNode:l,onLayoutChange:c,onResizeStart:()=>f(true),onResizeEnd:()=>f(false),parentLeft:D,parentTop:I,parentWidth:T,parentHeight:z}),M=E?{position:"absolute",left:`calc(var(--splitter-pos-${e.id}, ${g}%) - ${t/2}px)`,top:`calc(${m}% + ${t/2}px)`,width:`${t}px`,height:`calc(${y}% - ${t}px)`,cursor:s?"default":"col-resize",pointerEvents:s?"none":"auto",zIndex:10,userSelect:"none",touchAction:"none",boxSizing:"border-box"}:{position:"absolute",left:`calc(${g}% + ${t/2}px)`,top:`calc(var(--splitter-pos-${e.id}, ${m}%) - ${t/2}px)`,width:`calc(${w}% - ${t}px)`,height:`${t}px`,cursor:s?"default":"row-resize",pointerEvents:s?"none":"auto",zIndex:10,userSelect:"none",touchAction:"none",boxSizing:"border-box"};return jsx("div",{className:i.resizer||"","data-direction":b,"data-resizing":u||void 0,style:M,onPointerDown:k,role:"separator","aria-valuenow":l.splitPercentage,"aria-valuemin":5,"aria-valuemax":95})},vn=ge.memo(({paneId:e,renderPane:t})=>jsx(Fragment,{children:t(e)}),(e,t)=>e.paneId===t.paneId&&e.renderPane===t.renderPane);var wt=({renderPane:e,tree:t,resizerSize:n,snapThreshold:r})=>{jt(e);let{renderingLayout:o,activeId:c,dismissIntentId:i,setContainerRef:s,fullscreenPaneId:u,snapThreshold:f,locked:l,classNames:b,resizerSize:g}=ie(),m=r!==void 0?r:f??8,w=n!==void 0?n:g??4,y=t!==void 0?t:o,D=useRef(null),{panes:I,splitters:T}=useMemo(()=>y?he(y):{panes:[],splitters:[]},[y]);if(!y&&t!==void 0)return null;let z=()=>jsxs(Fragment,{children:[I.map(E=>{let k=u===E.paneId;return jsx("div",{style:{position:"absolute",left:k?"0%":`var(--pane-left-${E.paneId}, ${E.left}%)`,top:k?"0%":`var(--pane-top-${E.paneId}, ${E.top}%)`,width:k?"100%":`var(--pane-width-${E.paneId}, ${E.width}%)`,height:k?"100%":`var(--pane-height-${E.paneId}, ${E.height}%)`,overflow:"hidden",zIndex:k?20:1,display:u&&!k?"none":"block",padding:k?"0px":`${w/2}px`,boxSizing:"border-box"},children:jsx(vn,{paneId:E.paneId,renderPane:e})},E.paneId)}),!u&&T.map(E=>jsx(bn,{splitter:E,resizerSize:w,snapThreshold:m,containerRef:D},E.id))]});if(t===void 0){let E=c!==null&&c===i,k=a=>{s(a),D.current=a;},M=`${b.dashboard||""} ${E&&b.dashboardDismissActive||""} ${l&&b.dashboardLocked||""}`.trim();return jsxs("div",{ref:k,className:M,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden"},children:[z(),c!==null&&!l&&jsx(Tn,{activeClassName:b.rootDropPreview??b.dropPreview})]})}return jsx("div",{ref:D,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden"},children:z()})};var Eo=e=>{let{controller:t,children:n,renderDragOverlay:r,classNames:o={},renderPane:c,resizerSize:i,dragActivationDistance:s=8,snapThreshold:u=8,minSplitPercentage:f=5,maxSplitPercentage:l=95,enableDragToDismiss:b=false,dismissThreshold:g=60,onRemove:m,onDragStart:w,onDragEnd:y,onResizeStart:D,onResize:I,onResizeEnd:T,onDismissIntentChange:z,persist:E=false}=e,k=t,{layout:M,setLayout:a,_internalSetLayout:d,renderingLayout:h,fullscreenPaneId:P,setFullscreenPaneId:N,locked:X,setLocked:Y,findPaneById:ne,findPaneContainingTab:O,findTabById:H,getTabMetadata:U,getActiveTabMetadata:V,activeId:A,setActiveId:Z,activeType:v,setActiveType:$,dismissIntentId:x,setDismissIntentId:B,containerRef:ue,setContainerRef:G,removePane:J,addTab:Q,updateMetadata:K,updatePaneLock:S,selectTab:L,mergeTab:le,removeTab:se,splitPane:ee,updateSplitPercentage:oe,moveTab:Ze,poppedOutTabIds:p=[],popoutTab:R,dockTab:C}=k;an({persist:E,layout:M,setLayout:a});let{portalTargets:F,registerPortalTarget:_,registerPopoutTarget:ae,registerRenderCallback:j,renderCallbacksRef:ve,registerRenderPane:pt,renderPaneRef:ft,registerTabHeader:Lt,tabHeadersRef:mt,activeIdRef:Xe}=_t();dn({poppedOutTabIds:p,registerPopoutTarget:ae,findTabById:H,dockTab:C});let kt=useCallback(de=>p.includes(de),[p]),{overTabId:Mt,setOverTabId:Zn,overTabPosition:Ot,setOverTabPosition:Hn,handleDragStartInternal:$n,handleDragEndInternal:Bn}=Vt({onDragStart:w,onDragEnd:y}),_n=on({layout:M,_internalSetLayout:d,setLayout:a,activeId:A,setActiveId:Z,activeType:v,setActiveType:$,dismissIntentId:x,setDismissIntentId:B,setOverTabId:Zn,setOverTabPosition:Hn,containerRef:ue,dragActivationDistance:s,enableDragToDismiss:b,dismissThreshold:g,onRemove:m,onDragStart:$n,onDragEnd:Bn,onDismissIntentChange:z,removeTab:se,removePane:J}),gt=useMemo(()=>o,[o.dashboard,o.dashboardDismissActive,o.pane,o.paneLocked,o.dropPreview,o.rootDropPreview,o.dragOverlay,o.paneDragPreview,o.tabDragPreview,o.resizer,o.dismissPreview,o.dashboardLocked,o.lockedPreview,o.tabDropPreview,o.tabSeparator,o.tabsContainer,o.tab,o.paneContainer,o.paneHeader,o.paneControls,o.paneButton,o.tabCloseButton,o.dragHandle]),At=useCallback((de,Ye)=>{T&&T(de,Ye);},[T]),Fn=useMemo(()=>({layout:M,renderingLayout:h,setLayout:a,activeId:A,activeType:v,dismissIntentId:x,setContainerRef:G,fullscreenPaneId:P,classNames:gt,onRemove:m,onFullscreenChange:N,snapThreshold:u,onResizeStart:D,onResize:I,onResizeEnd:At,minSplitPercentage:f,maxSplitPercentage:l,locked:X,setLocked:Y,findPaneById:ne,findPaneContainingTab:O,findTabById:H,getTabMetadata:U,getActiveTabMetadata:V,renderPane:c,resizerSize:i,poppedOutTabIds:p,isTabPoppedOut:kt}),[M,h,A,v,x,G,P,gt,m,N,u,D,I,f,l,a,At,X,Y,ne,O,H,U,V,c,i,p,kt]),Vn=useMemo(()=>({overTabId:Mt,overTabPosition:Ot}),[Mt,Ot]),jn=useMemo(()=>({removePane:J,addTab:Q,updateMetadata:K,updatePaneLock:S,selectTab:L,mergeTab:le,removeTab:se,setFullscreenPaneId:N,setLocked:Y,splitPane:ee,updateSplitPercentage:oe,moveTab:Ze,popoutTab:R,dockTab:C}),[J,Q,K,S,L,le,se,N,Y,ee,oe,Ze,R,C]),Wn=Ft(M),qn=useMemo(()=>({registerPortalTarget:_,registerRenderCallback:j,renderCallbacksRef:ve,registerRenderPane:pt,renderPaneRef:ft,registerTabHeader:Lt,tabHeadersRef:mt,activeIdRef:Xe,registerPopoutTarget:ae}),[_,j,ve,pt,ft,Lt,mt,Xe,ae]);return Xe&&(Xe.current=A),jsx(Re.Provider,{value:jn,children:jsx(vt.Provider,{value:Fn,children:jsx(ht.Provider,{value:Vn,children:jsxs(Te.Provider,{value:qn,children:[jsx(DndContext,{id:"zeugma-dnd-context",..._n,children:n}),A&&v&&jsx(pn,{activeId:A,render:de=>jsx("div",{style:{transition:"transform 150ms cubic-bezier(0.2, 0, 0, 1)",transform:de===x?"scale(0.8)":"scale(1)",transformOrigin:"top left"},children:jsx(gn,{activeId:de,activeType:v,dismissIntentId:x,renderDragOverlay:r,renderPaneRef:ft,renderPane:c,tabHeadersRef:mt,classNames:gt})}),className:`${o.dragOverlay||""} ${A===x&&o.dismissPreview||""}`.trim()}),jsx("div",{id:"zeugma-portal-host",style:{display:"none"},children:Wn.map(de=>{let Ye=F[de],zt=H(de);return zt?jsx(mn,{tabDetails:zt,target:Ye||null,renderWidget:ve.current[de]},de):null})})]})})})})},So=({renderPane:e,resizerSize:t,snapThreshold:n})=>{if(!e)throw new Error("Zeugma component requires a renderPane prop when used as a standalone renderer.");return jsx(wt,{renderPane:e,resizerSize:t,snapThreshold:n})},No=e=>{let{children:t,...n}=e,{controller:r}=e;if(!r)throw new Error("Zeugma component requires a controller.");return jsx(Eo,{...e,children:t!==void 0?t:jsx(So,{...n})})};var ko={top:{"1/4":{position:"absolute",top:0,left:0,width:"100%",height:"24px",zIndex:100,pointerEvents:"auto"},"1/3":{position:"absolute",top:"24px",left:0,width:"100%",height:"24px",zIndex:100,pointerEvents:"auto"}},bottom:{"1/4":{position:"absolute",bottom:0,left:0,width:"100%",height:"24px",zIndex:100,pointerEvents:"auto"},"1/3":{position:"absolute",bottom:"24px",left:0,width:"100%",height:"24px",zIndex:100,pointerEvents:"auto"}},left:{"1/4":{position:"absolute",left:0,top:"48px",width:"24px",height:"calc(100% - 96px)",zIndex:100,pointerEvents:"auto"},"1/3":{position:"absolute",left:"24px",top:"48px",width:"24px",height:"calc(100% - 96px)",zIndex:100,pointerEvents:"auto"}},right:{"1/4":{position:"absolute",right:0,top:"48px",width:"24px",height:"calc(100% - 96px)",zIndex:100,pointerEvents:"auto"},"1/3":{position:"absolute",right:"24px",top:"48px",width:"24px",height:"calc(100% - 96px)",zIndex:100,pointerEvents:"auto"}}},Mo={top:{"1/4":{top:0,left:0,width:"100%",height:"60px",borderBottomLeftRadius:"12px",borderBottomRightRadius:"12px",borderTopLeftRadius:"0px",borderTopRightRadius:"0px"},"1/3":{top:0,left:0,width:"100%",height:"96px",borderBottomLeftRadius:"12px",borderBottomRightRadius:"12px",borderTopLeftRadius:"0px",borderTopRightRadius:"0px"}},bottom:{"1/4":{bottom:0,left:0,width:"100%",height:"60px",borderTopLeftRadius:"12px",borderTopRightRadius:"12px",borderBottomLeftRadius:"0px",borderBottomRightRadius:"0px"},"1/3":{bottom:0,left:0,width:"100%",height:"96px",borderTopLeftRadius:"12px",borderTopRightRadius:"12px",borderBottomLeftRadius:"0px",borderBottomRightRadius:"0px"}},left:{"1/4":{left:0,top:0,width:"60px",height:"100%",borderTopRightRadius:"12px",borderBottomRightRadius:"12px",borderTopLeftRadius:"0px",borderBottomLeftRadius:"0px"},"1/3":{left:0,top:0,width:"96px",height:"100%",borderTopRightRadius:"12px",borderBottomRightRadius:"12px",borderTopLeftRadius:"0px",borderBottomLeftRadius:"0px"}},right:{"1/4":{right:0,top:0,width:"60px",height:"100%",borderTopLeftRadius:"12px",borderBottomLeftRadius:"12px",borderTopRightRadius:"0px",borderBottomRightRadius:"0px"},"1/3":{right:0,top:0,width:"96px",height:"100%",borderTopLeftRadius:"12px",borderBottomLeftRadius:"12px",borderTopRightRadius:"0px",borderBottomRightRadius:"0px"}}},Oo=({id:e,fraction:t,edge:n,activeClassName:r})=>{let{setNodeRef:o,isOver:c}=useDroppable({id:e}),i={position:"absolute",pointerEvents:"none",zIndex:101,boxSizing:"border-box",...Mo[n][t]};return jsxs(Fragment,{children:[jsx("div",{ref:o,style:ko[n][t]}),c&&jsx("div",{className:r,style:i})]})},Tn=({activeClassName:e})=>jsx("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:99,pointerEvents:"none"},children:[{id:"drop-root-1/4-top",fraction:"1/4",edge:"top"},{id:"drop-root-1/3-top",fraction:"1/3",edge:"top"},{id:"drop-root-1/4-bottom",fraction:"1/4",edge:"bottom"},{id:"drop-root-1/3-bottom",fraction:"1/3",edge:"bottom"},{id:"drop-root-1/4-left",fraction:"1/4",edge:"left"},{id:"drop-root-1/3-left",fraction:"1/3",edge:"left"},{id:"drop-root-1/4-right",fraction:"1/4",edge:"right"},{id:"drop-root-1/3-right",fraction:"1/3",edge:"right"}].map(n=>jsx(Oo,{id:n.id,fraction:n.fraction,edge:n.edge,activeClassName:e},n.id))});var it=createContext(null);var $o={top:{position:"absolute",top:0,left:0,width:"100%",height:"25%",zIndex:20,pointerEvents:"auto"},bottom:{position:"absolute",bottom:0,left:0,width:"100%",height:"25%",zIndex:20,pointerEvents:"auto"},left:{position:"absolute",top:"25%",left:0,width:"50%",height:"50%",zIndex:20,pointerEvents:"auto"},right:{position:"absolute",top:"25%",right:0,width:"50%",height:"50%",zIndex:20,pointerEvents:"auto"},full:{position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:20,pointerEvents:"auto",cursor:"not-allowed"},center:{position:"absolute",top:"25%",left:"25%",width:"50%",height:"50%",zIndex:22,pointerEvents:"auto"}},Bo={top:{position:"absolute",top:0,left:0,right:0,height:"50%",zIndex:21,pointerEvents:"none",boxSizing:"border-box"},bottom:{position:"absolute",bottom:0,left:0,right:0,height:"50%",zIndex:21,pointerEvents:"none",boxSizing:"border-box"},left:{position:"absolute",top:0,bottom:0,left:0,width:"50%",zIndex:21,pointerEvents:"none",boxSizing:"border-box"},right:{position:"absolute",top:0,bottom:0,right:0,width:"50%",zIndex:21,pointerEvents:"none",boxSizing:"border-box"},full:{position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:21,pointerEvents:"none",boxSizing:"border-box"},center:{position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:21,pointerEvents:"none",boxSizing:"border-box"}},lt=({id:e,position:t,activeClassName:n})=>{let{setNodeRef:r,isOver:o}=useDroppable({id:e});return jsxs(Fragment,{children:[jsx("div",{ref:r,style:$o[t]}),o&&jsx("div",{className:n,style:Bo[t]})]})};var wn=({children:e,className:t,style:n})=>{let r=useContext(it);if(!r)throw new Error("<DragHandle> must be used inside a <Pane>");let{disabled:o,...c}=r;return jsx("div",{className:t,style:{cursor:o?"default":"grab",userSelect:o?"auto":"none",touchAction:o?"auto":"none",...n},...o?{}:c,children:e})};var Go=createContext(void 0);var We=({id:e,locked:t=false,children:n,className:r,style:o})=>{let{locked:c,classNames:i={},fullscreenPaneId:s,poppedOutTabIds:u=[]}=ie(),f=useContext(Re),{overTabId:l}=Je(),b=useContext(Te);useEffect(()=>(b?.registerTabHeader&&b.registerTabHeader(e,n),()=>{b?.registerTabHeader&&b.activeIdRef?.current!==e&&b.registerTabHeader(e,()=>null);}),[e,n,b]);let g=u.includes(e),m=useContext(Ct),w=t||c||(m?.locked??false)||s!==null,{attributes:y,listeners:D,setNodeRef:I,isDragging:T}=useDraggable({id:`tab-header-${e}`,disabled:w}),{setNodeRef:z,isOver:E}=useDroppable({id:`tab-drop-${e}`,disabled:w}),k=U=>{I(U),z(U);},M=E&&l===e,a=m?.tabIds||[],d=a.indexOf(e),h=m?.activeTabId,N=d>0&&e!==h&&a[d-1]!==h?jsx("div",{className:i.tabSeparator}):null,X=m?m.activeTabId===e:false,Y=m?.tabsMetadata?.[e],ne=useCallback(()=>{m?.selectTab(e);},[m,e]),O=useCallback(()=>{m?.removeTab(e);},[m,e]),H=useMemo(()=>({tabId:e,isActive:X,isDragging:T,isOver:M,metadata:Y,locked:w,selectTab:ne,removeTab:O,isPoppedOut:g,popoutTab:()=>f?.popoutTab(e),dockTab:()=>f?.dockTab(e)}),[e,X,T,M,Y,w,ne,O,g,f]);return jsx(Go.Provider,{value:H,children:jsxs("div",{ref:k,id:`tab-header-${e}`,className:r,style:{display:"inline-flex",position:"relative",cursor:w?"default":"grab",...o},...w?{}:D,...w?{}:y,children:[N,n({isDragging:T,isOver:M})]})})};var Ct=createContext(void 0);var En=(e,t)=>typeof e=="function"?e(t):e,Dt=({tabIds:e,activeTabId:t,locked:n,tabsMetadata:r,selectTab:o,removeTab:c,renderTab:i,classNames:s,styles:u})=>{let f=useContext(ct),l=e??f?.tabIds??[],b=t??f?.activeTabId??"",g=n??f?.locked??false,m=r??f?.tabsMetadata,w=o??f?.selectTab??(()=>{}),y=c??f?.removeTab??(()=>{}),{classNames:D={},activeType:I,poppedOutTabIds:T=[]}=ie(),z=useContext(Re),{overTabId:E,overTabPosition:k}=Je(),M=useMemo(()=>({tabIds:l,activeTabId:b,locked:g,tabsMetadata:m,selectTab:w,removeTab:y}),[l,b,g,m,w,y]),a=Jt(l,I,E,k);return jsx(Ct.Provider,{value:M,children:jsxs("div",{className:s?.container,style:{display:"flex",alignItems:"center",height:"100%",...u?.container},children:[l.map((d,h)=>{let P=m?.[d],N=En(s?.tab,d),X=En(u?.tab,d),Y=h===a;return jsxs(ge.Fragment,{children:[Y&&D.tabDropPreview&&jsx("div",{style:{position:"relative",height:"100%",width:0,zIndex:10},children:jsx("div",{className:D.tabDropPreview,style:{position:"absolute",top:0,bottom:0,transform:h===0?"none":"translateX(-50%)"}})}),jsx(We,{id:d,locked:g,className:N,style:X,children:({isDragging:ne,isOver:O})=>i({id:d,paneId:f?.id??"",isActive:d===b,index:h,isDragging:ne,isOver:O,metadata:P,onSelect:()=>w(d),onRemove:()=>y(d),isPoppedOut:T.includes(d),popout:()=>z?.popoutTab(d),dock:()=>z?.dockTab(d)})})]},d)}),a===l.length&&D.tabDropPreview&&jsx("div",{style:{position:"relative",height:"100%",width:0,zIndex:10},children:jsx("div",{className:D.tabDropPreview,style:{position:"absolute",top:0,bottom:0,transform:"translateX(-100%)"}})})]})})};Dt.Tab=We;var Nn=({className:e,style:t,children:n})=>jsx("div",{className:e,style:t,children:n});var ct=createContext(void 0),Ln=()=>{let e=useContext(ct);if(!e)throw new Error("usePaneContext must be used within a Pane component");return e},sr=({children:e,className:t,style:n})=>{let{activeTabId:r}=Ln(),{classNames:o,isTabPoppedOut:c}=ie(),{dockTab:i}=He(),s=useRef(null),u=useContext(Te);if(!u)throw new Error("PaneContent must be used within a Zeugma provider");let{registerPortalTarget:f,registerRenderCallback:l}=u,b=useMemo(()=>typeof e=="function"?e:()=>e,[e]);l(r,b),useEffect(()=>{let m=s.current;return f(r,m),()=>{f(r,null,m);}},[r,f]);let g=c(r);return jsx("div",{ref:s,id:`zeugma-tab-target-${r}`,className:`${o.tabContentWrapper||""} ${t||""}`.trim(),style:{height:"100%",width:"100%",position:"relative",...n},children:g&&jsxs("div",{className:"zeugma-popout-placeholder",style:{position:"absolute",top:0,left:0,right:0,bottom:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:"12px",padding:"24px",textAlign:"center",backgroundColor:"#161719",color:"#94a3b8",fontSize:"13px",fontWeight:500},children:[jsx("div",{children:"This panel is open in a new window"}),jsx("button",{onClick:()=>i(r),style:{padding:"6px 12px",fontSize:"11px",fontWeight:600,borderRadius:"4px",backgroundColor:"#2563eb",color:"#ffffff",border:"none",cursor:"pointer",boxShadow:"0 1px 3px rgba(0,0,0,0.1)"},onMouseOver:m=>{m.currentTarget.style.backgroundColor="#1d4ed8";},onMouseOut:m=>{m.currentTarget.style.backgroundColor="#2563eb";},children:"Dock Back"})]})})},Oe=({id:e,children:t,style:n,locked:r=false})=>{let{layout:o,renderingLayout:c,activeId:i,activeType:s,classNames:u,fullscreenPaneId:f,onFullscreenChange:l,locked:b,poppedOutTabIds:g=[]}=ie(),{removePane:m,updateMetadata:w,selectTab:y,removeTab:D,popoutTab:I,dockTab:T}=He(),z=useMemo(()=>{if(s==="tab"&&e===i){let B=W(o,e)?.tabsMetadata?.[e];return {type:"pane",id:e,tabIds:[e],activeTabId:e,tabsMetadata:B?{[e]:B}:void 0}}return qt(e===i?o:c,e)},[o,c,e,i,s]),E=z?.id??e,k=z?.tabIds??[e],M=z?.activeTabId??e,a=z?.tabsMetadata,d=a?.[e],h=z?.locked??false,P=r||h,N=b||P||f!==null,X=b||P||f!==null,Y=i!==null&&i!==e&&(!k.includes(i)||k.length>1)&&!X,{attributes:ne,listeners:O,setNodeRef:H}=useDraggable({id:e,disabled:N}),U=i!==null&&k.includes(i),V=f===e,A=useMemo(()=>({isDragging:U,isFullscreen:V,toggleFullscreen:()=>l?.(V?null:e),remove:()=>{V&&l?.(null),m(E);},metadata:d,updateMetadata:$=>{w(e,$);},locked:N,tabIds:k,activeTabId:M,selectTab:$=>y(E,$),removeTab:$=>{V&&$===M&&l?.(null),D($);},tabsMetadata:a,updateTabMetadata:($,x)=>{w($,x);},isActiveTabPoppedOut:g.includes(M),popoutTab:$=>I($||M),dockTab:$=>T($||M)}),[U,V,l,e,D,d,w,N,k,M,y,E,a,g,I,T]),Z=useMemo(()=>N?{disabled:true}:{...O,...ne},[O,ne,N]),v=`${u.pane||""} ${P&&u.paneLocked||""}`.trim();return jsx(ct.Provider,{value:{id:e,...A},children:jsx(it.Provider,{value:Z,children:jsxs("div",{ref:H,id:e,className:v,style:{position:"relative",width:"100%",height:"100%",...n},children:[t,Y&&jsxs("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:15,pointerEvents:"none"},children:[["top","bottom","left","right"].map($=>jsx(lt,{id:`drop-${$}-${e}`,position:$,activeClassName:u.dropPreview},$)),s==="tab"&&jsx(lt,{id:`drop-center-${e}`,position:"center",activeClassName:u.swapPreview??u.dropPreview})]}),i!==null&&i!==e&&X&&jsx("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:15,pointerEvents:"none"},children:jsx(lt,{id:`drop-locked-${e}`,position:"full",activeClassName:u.lockedPreview||""})})]})})})};Oe.Content=sr;Oe.DragHandle=wn;Oe.Tabs=Dt;Oe.Tab=We;Oe.Controls=Nn;var dt=new Map;function qe(e){let t=dt.get(e);return t||(t={mounts:0,renders:0,listeners:new Set},dt.set(e,t)),t}function kn(e,t){let n=qe(e);return n.listeners.add(t),()=>{n.listeners.delete(t);}}function St(e){let t=dt.get(e);t&&t.listeners.forEach(n=>n());}function Mn(e){let t=dt.get(e);t&&(t.mounts=0,t.renders=0,St(e));}function Ae(e,t){let n=useId(),r=typeof e=="string"?{id:e,...t}:e||{},{id:o=n,logToConsole:c=false,disabled:i=false}=r,s=useRef(0),u=useRef(false),[,f]=useState(0);if(i||(s.current+=1),useEffect(()=>{if(i)return;let g=kn(o,()=>{f(w=>w+1);}),m=qe(o);return m.mounts+=1,u.current=true,c&&console.log(`[DevTools:${o}] Mounted: ${m.mounts} | Rendered: ${s.current}`),St(o),()=>{u.current=false,g();}},[o,i,c]),!i){let g=qe(o);g.renders=Math.max(g.renders,s.current);}let l=useCallback(()=>{s.current=0,Mn(o);},[o]);return i?{mounts:0,renders:0,reset:l}:{mounts:qe(o).mounts,renders:s.current,reset:l}}function An({id:e,className:t,style:n,logToConsole:r=false,disabled:o=false}){let{mounts:c,renders:i}=Ae(e,{logToConsole:r,disabled:o});return o?null:jsxs("div",{className:t,style:n,children:[jsxs("span",{children:["M: ",jsx("strong",{children:c})]}),jsx("span",{children:"|"}),jsxs("span",{children:["R: ",jsx("strong",{children:i})]})]})}function zn({id:e,label:t,children:n,className:r,footerClassName:o,style:c,logToConsole:i=false,disabled:s=false}){let u=t||e||"widget",{mounts:f,renders:l}=Ae(e,{logToConsole:i,disabled:s});return s?jsx(Fragment,{children:n}):jsxs("div",{className:r,style:c,children:[n&&jsx("div",{className:"flex-1 overflow-hidden relative min-h-0",children:n}),jsxs("div",{className:o,children:[jsx("span",{className:"truncate",children:u}),jsxs("div",{className:"flex items-center gap-3",children:[jsxs("span",{children:["Mounts: ",jsx("strong",{className:"counter-mounts",children:f})]}),jsx("span",{children:"|"}),jsxs("span",{children:["Renders: ",jsx("strong",{className:"counter-renders",children:l})]})]})]})]})}export{Oe as Pane,wt as PaneTree,An as RenderCounterBadge,zn as RenderCounterFooter,No as Zeugma,Ln as usePaneContext,Ae as useRenderCounter,Rt as useResizer,Qn as useZeugma,Kn as useZeugmaContext};//# sourceMappingURL=index.js.map
12
12
  //# sourceMappingURL=index.js.map