react-zeugma 6.1.3 → 6.2.1
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/README.md +0 -81
- package/dist/index.cjs +2 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -5
- package/dist/index.d.ts +3 -5
- package/dist/index.js +2 -3
- package/dist/index.js.map +1 -1
- package/dist/{dom-CGKdSlH9.d.cts → types-BPZMRZht.d.cts} +3 -22
- package/dist/{dom-CGKdSlH9.d.ts → types-BPZMRZht.d.ts} +3 -22
- package/dist/utils.cjs +1 -1
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +1 -2
- package/dist/utils.d.ts +1 -2
- package/dist/utils.js +1 -1
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { P as PortalRegistryValue,
|
|
2
|
-
export {
|
|
1
|
+
import { P as PortalRegistryValue, Z as ZeugmaActionsValue, a as ZeugmaDragStateValue, b as ZeugmaStateValue, U as UseZeugmaOptions, c as ZeugmaController, d as ZeugmaContextValue, e as ZeugmaProps, S as SplitDirection, T as TreeNode, f as SplitNode } from './types-BPZMRZht.cjs';
|
|
2
|
+
export { g as PaneNode, h as TabDetails, i as ZeugmaClassNames } from './types-BPZMRZht.cjs';
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import React__default, { ReactNode } from 'react';
|
|
5
5
|
|
|
@@ -41,8 +41,6 @@ declare const ZeugmaDragContext: React.Context<ZeugmaDragStateValue | undefined>
|
|
|
41
41
|
declare const useZeugmaState: () => ZeugmaStateValue;
|
|
42
42
|
declare const useZeugmaActions: () => ZeugmaActionsValue;
|
|
43
43
|
declare const useZeugmaDrag: () => ZeugmaDragStateValue;
|
|
44
|
-
declare const TabWindowContext: React.Context<TabWindowValue>;
|
|
45
|
-
declare const useTabWindow: () => TabWindowValue;
|
|
46
44
|
|
|
47
45
|
declare function useZeugma(options: UseZeugmaOptions): ZeugmaController;
|
|
48
46
|
|
|
@@ -184,4 +182,4 @@ interface TabRenderProps {
|
|
|
184
182
|
isOver: boolean;
|
|
185
183
|
}
|
|
186
184
|
|
|
187
|
-
export { DEFAULT_DRAG_ACTIVATION_DISTANCE, DEFAULT_RESIZER_SIZE, DEFAULT_SNAP_THRESHOLD, DragHandle, type DragHandleProps, type DragSessionConfig, Pane, type PaneProps, type PaneRenderProps, PaneTree, PortalRegistryContext, PortalRegistryValue, SplitDirection, SplitNode, type TabContextValue, type TabRenderProps,
|
|
185
|
+
export { DEFAULT_DRAG_ACTIVATION_DISTANCE, DEFAULT_RESIZER_SIZE, DEFAULT_SNAP_THRESHOLD, DragHandle, type DragHandleProps, type DragSessionConfig, Pane, type PaneProps, type PaneRenderProps, PaneTree, PortalRegistryContext, PortalRegistryValue, SplitDirection, SplitNode, type TabContextValue, type TabRenderProps, Tabs, type TabsProps, TreeNode, UseZeugmaOptions, Zeugma, ZeugmaActionsContext, ZeugmaActionsValue, ZeugmaContextValue, ZeugmaController, ZeugmaDragContext, ZeugmaDragStateValue, ZeugmaProps, ZeugmaStateContext, ZeugmaStateValue, createDragSession, safeJsonStringify, useResizer, useTabContext, useZeugma, useZeugmaActions, useZeugmaContext, useZeugmaDrag, useZeugmaState };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { P as PortalRegistryValue,
|
|
2
|
-
export {
|
|
1
|
+
import { P as PortalRegistryValue, Z as ZeugmaActionsValue, a as ZeugmaDragStateValue, b as ZeugmaStateValue, U as UseZeugmaOptions, c as ZeugmaController, d as ZeugmaContextValue, e as ZeugmaProps, S as SplitDirection, T as TreeNode, f as SplitNode } from './types-BPZMRZht.js';
|
|
2
|
+
export { g as PaneNode, h as TabDetails, i as ZeugmaClassNames } from './types-BPZMRZht.js';
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import React__default, { ReactNode } from 'react';
|
|
5
5
|
|
|
@@ -41,8 +41,6 @@ declare const ZeugmaDragContext: React.Context<ZeugmaDragStateValue | undefined>
|
|
|
41
41
|
declare const useZeugmaState: () => ZeugmaStateValue;
|
|
42
42
|
declare const useZeugmaActions: () => ZeugmaActionsValue;
|
|
43
43
|
declare const useZeugmaDrag: () => ZeugmaDragStateValue;
|
|
44
|
-
declare const TabWindowContext: React.Context<TabWindowValue>;
|
|
45
|
-
declare const useTabWindow: () => TabWindowValue;
|
|
46
44
|
|
|
47
45
|
declare function useZeugma(options: UseZeugmaOptions): ZeugmaController;
|
|
48
46
|
|
|
@@ -184,4 +182,4 @@ interface TabRenderProps {
|
|
|
184
182
|
isOver: boolean;
|
|
185
183
|
}
|
|
186
184
|
|
|
187
|
-
export { DEFAULT_DRAG_ACTIVATION_DISTANCE, DEFAULT_RESIZER_SIZE, DEFAULT_SNAP_THRESHOLD, DragHandle, type DragHandleProps, type DragSessionConfig, Pane, type PaneProps, type PaneRenderProps, PaneTree, PortalRegistryContext, PortalRegistryValue, SplitDirection, SplitNode, type TabContextValue, type TabRenderProps,
|
|
185
|
+
export { DEFAULT_DRAG_ACTIVATION_DISTANCE, DEFAULT_RESIZER_SIZE, DEFAULT_SNAP_THRESHOLD, DragHandle, type DragHandleProps, type DragSessionConfig, Pane, type PaneProps, type PaneRenderProps, PaneTree, PortalRegistryContext, PortalRegistryValue, SplitDirection, SplitNode, type TabContextValue, type TabRenderProps, Tabs, type TabsProps, TreeNode, UseZeugmaOptions, Zeugma, ZeugmaActionsContext, ZeugmaActionsValue, ZeugmaContextValue, ZeugmaController, ZeugmaDragContext, ZeugmaDragStateValue, ZeugmaProps, ZeugmaStateContext, ZeugmaStateValue, createDragSession, safeJsonStringify, useResizer, useTabContext, useZeugma, useZeugmaActions, useZeugmaContext, useZeugmaDrag, useZeugmaState };
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
`));}t.head.appendChild(c);}catch{try{t.head.appendChild(i.cloneNode(!0));}catch(c){console.error("Failed to copy style element:",c);}}});}function Ye(e){let t=document.getElementById(e);return t||(t=document.createElement("div"),t.id=e,t.style.display="none",document.body.appendChild(t)),t}function ct(e){let t=useRef(null);return useEffect(()=>{if(!e){t.current=null;return}let n=o=>{t.current={x:o.clientX,y:o.clientY};},s=o=>{let r=o.touches[0]||o.changedTouches[0];r&&(t.current={x:r.clientX,y:r.clientY});};return window.addEventListener("pointermove",n,{passive:true}),window.addEventListener("touchmove",s,{passive:true}),()=>{window.removeEventListener("pointermove",n),window.removeEventListener("touchmove",s);}},[e]),t}function ut(e){useEffect(()=>(e?document.body.style.setProperty("cursor","not-allowed","important"):document.body.style.removeProperty("cursor"),()=>{document.body.style.removeProperty("cursor");}),[e]);}function dt(){let[e,t]=useState({}),n=useRef(true);useEffect(()=>(n.current=true,()=>{n.current=false;}),[]);let s=useCallback((o,r)=>{n.current&&t(i=>i[o]===r?i:{...i,[o]:r});},[]);return {portalTargets:e,registerPortalTarget:s}}function pt({tabId:e,isOpenedInNewWindow:t,onClose:n}){let s=useRef(null),[o,r]=useState(null);return useEffect(()=>{let i=null,c=null;if(t){if(!s.current||s.current.closed){let l=`zeugma-tab-${e.replace(/[^a-zA-Z0-9]/g,"_")}`,a=window.open("",l,"width=800,height=600,menubar=no,toolbar=no,location=no,status=no,resizable=yes");if(a){s.current=a;let d=e.includes("/")?e.split("/").pop():e;a.document.title=d,a.addEventListener("beforeunload",n),c=setTimeout(()=>{at(document,a.document),a.document.body.style.margin="0",a.document.body.style.padding="0";let g=a.document.getElementById("zeugma-popup-root");g||(g=a.document.createElement("div"),g.id="zeugma-popup-root",g.style.width="100%",g.style.height="100vh",a.document.body.appendChild(g)),r(g);},300),i=setInterval(()=>{a.closed&&n();},300);}else console.warn("Popup window blocked or failed to open."),n();}}else s.current&&!s.current.closed&&s.current.close(),s.current=null,r(null);return ()=>{i&&clearInterval(i),c&&clearTimeout(c),s.current&&s.current.removeEventListener("beforeunload",n);}},[t,e,n]),useEffect(()=>()=>{s.current&&!s.current.closed&&s.current.close();},[]),{popupWindow:s.current,popupContainer:o}}var _t=8,Ht=8,eo=4;function de(){return "pane-"+Math.random().toString(36).substring(2,11)}function he(e,t){if(e===null)return null;if(e.type==="pane")return e.id===t?null:e;let n=he(e.first,t),s=he(e.second,t);return n===null?s:s===null?n:{...e,first:n,second:s}}function fe(e,t){if(e===null)return null;if(e.type==="pane"){if(e.tabs.includes(t)){let o=e.tabs.filter(c=>c!==t);if(o.length===0)return null;let r=e.activeTabId;e.activeTabId===t&&(r=o[0]);let i={...e.tabsMetadata};return delete i[t],{...e,tabs:o,activeTabId:r,tabsMetadata:Object.keys(i).length>0?i:void 0}}return e}let n=fe(e.first,t),s=fe(e.second,t);return n===null?s:s===null?n:{...e,first:n,second:s}}function we(e,t,n,s,o){if(e===null)return typeof o=="string"?{type:"pane",id:de(),tabs:[o],activeTabId:o}:o;if(e.type==="pane"){if(e.id===t){let r=typeof o=="string"?{type:"pane",id:de(),tabs:[o],activeTabId:o}:o,i=s==="left"||s==="top";return {type:"split",direction:n,first:i?r:e,second:i?e:r,splitPercentage:50}}return e}return {...e,first:we(e.first,t,n,s,o)||e.first,second:we(e.second,t,n,s,o)||e.second}}function ft(e,t,n){if(e===null)return {type:"pane",id:de(),tabs:[t],activeTabId:t,tabsMetadata:n?{[t]:n}:void 0};function s(o,r){return o.type==="pane"?{type:"split",direction:r==="row"?"column":"row",splitPercentage:50,first:o,second:{type:"pane",id:de(),tabs:[t],activeTabId:t,tabsMetadata:n?{[t]:n}:void 0}}:{...o,second:s(o.second,o.direction)}}return s(e,null)}function Pe(e,t,n){return e===null?null:e===t?{...e,splitPercentage:n}:e.type==="split"?{...e,first:Pe(e.first,t,n)||e.first,second:Pe(e.second,t,n)||e.second}:e}function Q(e,t){return e===null?null:e.type==="pane"?e.id===t?e:null:Q(e.first,t)??Q(e.second,t)}function X(e,t){return e===null?null:e.type==="pane"?e.tabs.includes(t)?e:null:X(e.first,t)??X(e.second,t)}function mt(e,t){let n=X(e,t);if(!n)return null;let s=n.tabs.indexOf(t);return {id:t,paneId:n.id,isActive:n.activeTabId===t,index:s,metadata:n.tabsMetadata?.[t]}}function Ze(e,t,n){if(e===null)return null;if(e.type==="pane"){if(e.tabs.includes(t)){let s=e.tabsMetadata||{},o=s[t],r=n(o),i={...s};return r===void 0?delete i[t]:i[t]=r,{...e,tabsMetadata:Object.keys(i).length>0?i:void 0}}return e}return {...e,first:Ze(e.first,t,n)??e.first,second:Ze(e.second,t,n)??e.second}}function ke(e,t,n,s){if(e===null)return null;if(e.type==="pane"){if(e.id===t){let o=[...e.tabs];o.includes(n)||o.push(n);let r=e.tabsMetadata;return s&&(r={...e.tabsMetadata,[n]:s}),{...e,tabs:o,activeTabId:n,tabsMetadata:r}}return e}return {...e,first:ke(e.first,t,n,s)||e.first,second:ke(e.second,t,n,s)||e.second}}function Oe(e,t,n){if(e===null)return null;if(e.type==="pane"){if(e.id===t){if(n===false){let{locked:s,...o}=e;return o}return {...e,locked:n}}return e}return {...e,first:Oe(e.first,t,n)??e.first,second:Oe(e.second,t,n)??e.second}}function De(e,t,n){return e===null?null:e.type==="pane"?e.id===t?e.activeTabId===n?e:{...e,activeTabId:n}:e:{...e,first:De(e.first,t,n)??e.first,second:De(e.second,t,n)??e.second}}function gt(e,t,n){if(e===null)return null;let o=X(e,t)?.tabsMetadata?.[t],r=fe(e,t);if(r===null)return {type:"pane",id:de(),tabs:[t],activeTabId:t,tabsMetadata:o?{[t]:o}:void 0};function i(c){if(c.type==="pane"){if(c.id===n){let l=[...c.tabs];l.includes(t)||l.push(t);let a={...c.tabsMetadata};return o&&(a[t]=o),{...c,tabs:l,activeTabId:t,tabsMetadata:Object.keys(a).length>0?a:void 0}}return c}return {...c,first:i(c.first),second:i(c.second)}}return i(r)}function $e(e,t,n,s="before"){if(e===null)return null;let r=X(e,t)?.tabsMetadata?.[t],i=fe(e,t);if(i===null)return {type:"pane",id:de(),tabs:[t],activeTabId:t,tabsMetadata:r?{[t]:r}:void 0};function c(l){if(l.type==="pane"){if(l.tabs.includes(n)){let d=[...l.tabs].filter(x=>x!==t),g=d.indexOf(n);g<0&&(g=0),s==="after"&&(g+=1),d.splice(g,0,t);let P={...l.tabsMetadata};return r&&(P[t]=r),{...l,tabs:d,activeTabId:t,tabsMetadata:Object.keys(P).length>0?P:void 0}}return l}return {...l,first:c(l.first),second:c(l.second)}}return c(i)}function ge(e,t=0,n=0,s=100,o=100,r="root"){if(e===null)return {panes:[],splitters:[]};if(e.type==="pane")return {panes:[{paneId:e.id,left:t,top:n,width:s,height:o,node:e}],splitters:[]};let{direction:i,splitPercentage:c,first:l,second:a}=e,g={id:`splitter-${r}-${i}`,currentNode:e,direction:i,left:i==="row"?t+s*(c/100):t,top:i==="column"?n+o*(c/100):n,width:i==="row"?0:s,height:i==="column"?0:o,parentLeft:t,parentTop:n,parentWidth:s,parentHeight:o},P={panes:[],splitters:[]},x={panes:[],splitters:[]};if(i==="row"){let v=s*(c/100);P=ge(l,t,n,v,o,`${r}-L`),x=ge(a,t+v,n,s-v,o,`${r}-R`);}else {let v=o*(c/100);P=ge(l,t,n,s,v,`${r}-T`),x=ge(a,t,n+v,s,o-v,`${r}-B`);}return {panes:[...P.panes,...x.panes],splitters:[g,...P.splitters,...x.splitters]}}function bt(e,t,n,s){if(!(t==="tab"&&n&&e.includes(n))||!s)return -1;let i=e.indexOf(n);return s==="before"?i:i+1}function Le(e){try{return JSON.stringify(e)}catch{return ""}}function Ft(e){let{initialLayout:t,layout:n,onChange:s,fullscreenPaneId:o,onFullscreenChange:r,locked:i=false,dragActivationDistance:c=8,snapThreshold:l=8,minSplitPercentage:a=5,maxSplitPercentage:d=95,enableDragToDismiss:g=false,dismissThreshold:P=60,onRemove:x,onDragStart:v,onDragEnd:S,onResizeStart:L,onResize:E,onResizeEnd:m,onDismissIntentChange:T}=e,[$,R]=useState(()=>n!==void 0?n:t??null),[A,V]=useState(()=>Le(n!==void 0?n:null)),[B,ee]=useState(o||null),[oe,te]=useState(i),[re,ie]=useState(null),[le,y]=useState({}),W=useCallback((f,D)=>{y(I=>I[f]===D?I:{...I,[f]:D});},[]),[z,M]=useState(null),[w,u]=useState(null),[Z,b]=useState(null),h=useRef(null),J=useCallback(f=>{h.current=f;},[]),k=useRef($);k.current=$;let _=useRef(s);_.current=s;let H=useRef(r);H.current=r;let j=useCallback(f=>{ee(f),H.current?.(f);},[]);if(useEffect(()=>{te(i);},[i]),useEffect(()=>{o!==void 0&&ee(o);},[o]),n!==void 0){let f=Le(n);f!==A&&(V(f),R(n));}let p=useCallback(f=>(...D)=>{let I=k.current,U=f(I,...D);Le(I)!==Le(U)&&(k.current=U,R(U),_.current?.(U));},[]),N=useCallback(p((f,D)=>typeof D=="function"?D(f):D),[p]),se=useCallback(p((f,D)=>he(f,D)),[p]),Y=useCallback(p((f,D,I)=>ft(f,D,I)),[p]),K=useCallback(p((f,D,I,U)=>{let pe=Q(f,D)??X(f,D);if(!pe)return f;let Ne=X(f,I),Ge=Ne&&Ne.id===pe.id?f:fe(f,I)??f;return ke(Ge,pe.id,I,U)}),[p]),Ee=useCallback(p((f,D,I,U,pe)=>{let Ne=Q(f,D)??X(f,D);if(!Ne)return f;let it=Q(f,pe)??X(f,pe)??{type:"pane",id:pe,tabs:[pe],activeTabId:pe},Ge=he(f,pe);return we(Ge,Ne.id,I,U,it)}),[p]),ce=useCallback(p((f,D,I)=>Pe(f,D,I)),[p]),ue=useCallback(p((f,D,I)=>Ze(f,D,I)),[p]),q=useCallback(p((f,D,I)=>{let U=Q(f,D)??X(f,D);return U?Oe(f,U.id,I):f}),[p]),me=useCallback(p((f,D,I)=>{let U=Q(f,D)??X(f,D);return U?De(f,U.id,I):f}),[p]),O=useCallback(p((f,D,I)=>{let U=Q(f,I)??X(f,I);return U?gt(f,D,U.id):f}),[p]),ae=useCallback(p((f,D,I,U)=>$e(f,D,I,U)),[p]),F=useCallback(p((f,D)=>fe(f,D)),[p]),Te=useCallback(f=>Q(k.current,f),[]),st=useCallback(f=>X(k.current,f),[]),zt=useCallback(f=>mt(k.current,f),[]);return {layout:$,setLayout:N,layoutBeforeDrag:re,setLayoutBeforeDrag:ie,fullscreenPaneId:B,setFullscreenPaneId:j,locked:oe,setLocked:te,popoutTabs:le,activeId:z,setActiveId:M,activeType:w,setActiveType:u,dismissIntentId:Z,setDismissIntentId:b,containerRef:h,setContainerRef:J,dragActivationDistance:c,snapThreshold:l,minSplitPercentage:a,maxSplitPercentage:d,enableDragToDismiss:g,dismissThreshold:P,onRemove:x,onDragStart:v,onDragEnd:S,onResizeStart:L,onResize:E,onResizeEnd:m,onDismissIntentChange:T,removePane:se,addPane:Y,addTab:K,splitPane:Ee,updateSplitPercentage:ce,updateTabMetadata:ue,updatePaneLock:q,selectTab:me,mergeTab:O,moveTab:ae,removeTab:F,setTabPopout:W,findPaneById:Te,findPaneContainingTab:st,findTabById:zt}}function vt({cursor:e,resizerEl:t,onMove:n,onEnd:s}){document.body.classList.add("zeugma-resizing");let o=document.createElement("style");o.id="zeugma-global-cursor-style",o.textContent=`
|
|
1
|
+
import _t,{createContext,useState,useRef,useEffect,useCallback,useContext,useMemo}from'react';import {DndContext,useDraggable,useSensors,useSensor,pointerWithin,closestCenter,useDroppable,PointerSensor,TouchSensor}from'@dnd-kit/core';import {jsx,Fragment,jsxs}from'react/jsx-runtime';import {createPortal}from'react-dom';function tt(e){let t=useRef(null);return useEffect(()=>{if(!e){t.current=null;return}let n=o=>{t.current={x:o.clientX,y:o.clientY};},s=o=>{let r=o.touches[0]||o.changedTouches[0];r&&(t.current={x:r.clientX,y:r.clientY});};return window.addEventListener("pointermove",n,{passive:true}),window.addEventListener("touchmove",s,{passive:true}),()=>{window.removeEventListener("pointermove",n),window.removeEventListener("touchmove",s);}},[e]),t}function nt(e){useEffect(()=>(e?document.body.style.setProperty("cursor","not-allowed","important"):document.body.style.removeProperty("cursor"),()=>{document.body.style.removeProperty("cursor");}),[e]);}function ot(){let[e,t]=useState({}),n=useRef(true);useEffect(()=>(n.current=true,()=>{n.current=false;}),[]);let s=useCallback((o,r)=>{n.current&&t(a=>a[o]===r?a:{...a,[o]:r});},[]);return {portalTargets:e,registerPortalTarget:s}}var Lt=8,It=8,On=4;function de(){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),s=be(e.second,t);return n===null?s:s===null?n:{...e,first:n,second:s}}function fe(e,t){if(e===null)return null;if(e.type==="pane"){if(e.tabs.includes(t)){let o=e.tabs.filter(l=>l!==t);if(o.length===0)return null;let r=e.activeTabId;e.activeTabId===t&&(r=o[0]);let a={...e.tabsMetadata};return delete a[t],{...e,tabs:o,activeTabId:r,tabsMetadata:Object.keys(a).length>0?a:void 0}}return e}let n=fe(e.first,t),s=fe(e.second,t);return n===null?s:s===null?n:{...e,first:n,second:s}}function Re(e,t,n,s,o){if(e===null)return typeof o=="string"?{type:"pane",id:de(),tabs:[o],activeTabId:o}:o;if(e.type==="pane"){if(e.id===t){let r=typeof o=="string"?{type:"pane",id:de(),tabs:[o],activeTabId:o}:o,a=s==="left"||s==="top";return {type:"split",direction:n,first:a?r:e,second:a?e:r,splitPercentage:50}}return e}return {...e,first:Re(e.first,t,n,s,o)||e.first,second:Re(e.second,t,n,s,o)||e.second}}function rt(e,t,n){if(e===null)return {type:"pane",id:de(),tabs:[t],activeTabId:t,tabsMetadata:n?{[t]:n}:void 0};function s(o,r){return o.type==="pane"?{type:"split",direction:r==="row"?"column":"row",splitPercentage:50,first:o,second:{type:"pane",id:de(),tabs:[t],activeTabId:t,tabsMetadata:n?{[t]:n}:void 0}}:{...o,second:s(o.second,o.direction)}}return s(e,null)}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 j(e,t){return e===null?null:e.type==="pane"?e.id===t?e:null:j(e.first,t)??j(e.second,t)}function V(e,t){return e===null?null:e.type==="pane"?e.tabs.includes(t)?e:null:V(e.first,t)??V(e.second,t)}function st(e,t){let n=V(e,t);if(!n)return null;let s=n.tabs.indexOf(t);return {id:t,paneId:n.id,isActive:n.activeTabId===t,index:s,metadata:n.tabsMetadata?.[t]}}function Ee(e,t,n){if(e===null)return null;if(e.type==="pane"){if(e.tabs.includes(t)){let s=e.tabsMetadata||{},o=s[t],r=n(o),a={...s};return r===void 0?delete a[t]:a[t]=r,{...e,tabsMetadata:Object.keys(a).length>0?a:void 0}}return e}return {...e,first:Ee(e.first,t,n)??e.first,second:Ee(e.second,t,n)??e.second}}function Le(e,t,n,s){if(e===null)return null;if(e.type==="pane"){if(e.id===t){let o=[...e.tabs];o.includes(n)||o.push(n);let r=e.tabsMetadata;return s&&(r={...e.tabsMetadata,[n]:s}),{...e,tabs:o,activeTabId:n,tabsMetadata:r}}return e}return {...e,first:Le(e.first,t,n,s)||e.first,second:Le(e.second,t,n,s)||e.second}}function Ie(e,t,n){if(e===null)return null;if(e.type==="pane"){if(e.id===t){if(n===false){let{locked:s,...o}=e;return o}return {...e,locked:n}}return e}return {...e,first:Ie(e.first,t,n)??e.first,second:Ie(e.second,t,n)??e.second}}function ye(e,t,n){return e===null?null:e.type==="pane"?e.id===t?e.activeTabId===n?e:{...e,activeTabId:n}:e:{...e,first:ye(e.first,t,n)??e.first,second:ye(e.second,t,n)??e.second}}function it(e,t,n){if(e===null)return null;let o=V(e,t)?.tabsMetadata?.[t],r=fe(e,t);if(r===null)return {type:"pane",id:de(),tabs:[t],activeTabId:t,tabsMetadata:o?{[t]:o}:void 0};function a(l){if(l.type==="pane"){if(l.id===n){let d=[...l.tabs];d.includes(t)||d.push(t);let p={...l.tabsMetadata};return o&&(p[t]=o),{...l,tabs:d,activeTabId:t,tabsMetadata:Object.keys(p).length>0?p:void 0}}return l}return {...l,first:a(l.first),second:a(l.second)}}return a(r)}function Me(e,t,n,s="before"){if(e===null)return null;let r=V(e,t)?.tabsMetadata?.[t],a=fe(e,t);if(a===null)return {type:"pane",id:de(),tabs:[t],activeTabId:t,tabsMetadata:r?{[t]:r}:void 0};function l(d){if(d.type==="pane"){if(d.tabs.includes(n)){let g=[...d.tabs].filter(w=>w!==t),x=g.indexOf(n);x<0&&(x=0),s==="after"&&(x+=1),g.splice(x,0,t);let R={...d.tabsMetadata};return r&&(R[t]=r),{...d,tabs:g,activeTabId:t,tabsMetadata:Object.keys(R).length>0?R:void 0}}return d}return {...d,first:l(d.first),second:l(d.second)}}return l(a)}function ge(e,t=0,n=0,s=100,o=100,r="root"){if(e===null)return {panes:[],splitters:[]};if(e.type==="pane")return {panes:[{paneId:e.id,left:t,top:n,width:s,height:o,node:e}],splitters:[]};let{direction:a,splitPercentage:l,first:d,second:p}=e,x={id:`splitter-${r}-${a}`,currentNode:e,direction:a,left:a==="row"?t+s*(l/100):t,top:a==="column"?n+o*(l/100):n,width:a==="row"?0:s,height:a==="column"?0:o,parentLeft:t,parentTop:n,parentWidth:s,parentHeight:o},R={panes:[],splitters:[]},w={panes:[],splitters:[]};if(a==="row"){let P=s*(l/100);R=ge(d,t,n,P,o,`${r}-L`),w=ge(p,t+P,n,s-P,o,`${r}-R`);}else {let P=o*(l/100);R=ge(d,t,n,s,P,`${r}-T`),w=ge(p,t,n+P,s,o-P,`${r}-B`);}return {panes:[...R.panes,...w.panes],splitters:[x,...R.splitters,...w.splitters]}}function at(e,t,n,s){if(!(t==="tab"&&n&&e.includes(n))||!s)return -1;let a=e.indexOf(n);return s==="before"?a:a+1}function Ne(e){try{return JSON.stringify(e)}catch{return ""}}function Mt(e){let{initialLayout:t,layout:n,onChange:s,fullscreenPaneId:o,onFullscreenChange:r,locked:a=false,dragActivationDistance:l=8,snapThreshold:d=8,minSplitPercentage:p=5,maxSplitPercentage:g=95,enableDragToDismiss:x=false,dismissThreshold:R=60,onRemove:w,onDragStart:P,onDragEnd:k,onResizeStart:I,onResize:M,onResizeEnd:u,onDismissIntentChange:T}=e,[N,E]=useState(()=>n!==void 0?n:t??null),[A,J]=useState(()=>Ne(n!==void 0?n:null)),[q,W]=useState(o||null),[ee,te]=useState(a),[ie,ne]=useState(null),[le,C]=useState(null),[O,$]=useState(null),[z,y]=useState(null),i=useRef(null),h=useCallback(c=>{i.current=c;},[]),v=useRef(N);v.current=N;let b=useRef(s);b.current=s;let U=useRef(r);U.current=r;let B=useCallback(c=>{W(c),U.current?.(c);},[]);if(useEffect(()=>{te(a);},[a]),useEffect(()=>{o!==void 0&&W(o);},[o]),n!==void 0){let c=Ne(n);c!==A&&(J(c),E(n));}let f=useCallback(c=>(...S)=>{let H=v.current,F=c(H,...S);Ne(H)!==Ne(F)&&(v.current=F,E(F),b.current?.(F));},[]),G=useCallback(f((c,S)=>typeof S=="function"?S(c):S),[f]),m=useCallback(f((c,S)=>be(c,S)),[f]),D=useCallback(f((c,S,H)=>rt(c,S,H)),[f]),Z=useCallback(f((c,S,H,F)=>{let pe=j(c,S)??V(c,S);if(!pe)return c;let we=V(c,H),We=we&&we.id===pe.id?c:fe(c,H)??c;return Le(We,pe.id,H,F)}),[f]),oe=useCallback(f((c,S,H,F,pe)=>{let we=j(c,S)??V(c,S);if(!we)return c;let je=j(c,pe)??V(c,pe)??{type:"pane",id:pe,tabs:[pe],activeTabId:pe},We=be(c,pe);return Re(We,we.id,H,F,je)}),[f]),K=useCallback(f((c,S,H)=>xe(c,S,H)),[f]),Q=useCallback(f((c,S,H)=>Ee(c,S,H)),[f]),Se=useCallback(f((c,S,H)=>{let F=j(c,S)??V(c,S);return F?Ie(c,F.id,H):c}),[f]),ce=useCallback(f((c,S,H)=>{let F=j(c,S)??V(c,S);return F?ye(c,F.id,H):c}),[f]),ue=useCallback(f((c,S,H)=>{let F=j(c,H)??V(c,H);return F?it(c,S,F.id):c}),[f]),L=useCallback(f((c,S,H,F)=>Me(c,S,H,F)),[f]),re=useCallback(f((c,S)=>fe(c,S)),[f]),X=useCallback(c=>j(v.current,c),[]),me=useCallback(c=>V(v.current,c),[]),se=useCallback(c=>st(v.current,c),[]);return {layout:N,setLayout:G,layoutBeforeDrag:ie,setLayoutBeforeDrag:ne,fullscreenPaneId:q,setFullscreenPaneId:B,locked:ee,setLocked:te,activeId:le,setActiveId:C,activeType:O,setActiveType:$,dismissIntentId:z,setDismissIntentId:y,containerRef:i,setContainerRef:h,dragActivationDistance:l,snapThreshold:d,minSplitPercentage:p,maxSplitPercentage:g,enableDragToDismiss:x,dismissThreshold:R,onRemove:w,onDragStart:P,onDragEnd:k,onResizeStart:I,onResize:M,onResizeEnd:u,onDismissIntentChange:T,removePane:m,addPane:D,addTab:Z,splitPane:oe,updateSplitPercentage:K,updateTabMetadata:Q,updatePaneLock:Se,selectTab:ce,mergeTab:ue,moveTab:L,removeTab:re,findPaneById:X,findPaneContainingTab:me,findTabById:se}}function ct({cursor:e,resizerEl:t,onMove:n,onEnd:s}){document.body.classList.add("zeugma-resizing");let o=document.createElement("style");o.id="zeugma-global-cursor-style",o.textContent=`
|
|
3
2
|
* {
|
|
4
3
|
cursor: ${e} !important;
|
|
5
4
|
user-select: none !important;
|
|
6
5
|
}
|
|
7
|
-
`,document.head.appendChild(o),t.setAttribute("data-resizing","true");let r=c=>{n(c);},i=()=>{document.body.classList.remove("zeugma-resizing"),t.removeAttribute("data-resizing");let c=document.getElementById("zeugma-global-cursor-style");c&&c.remove(),document.removeEventListener("pointermove",r),document.removeEventListener("pointerup",i),s();};document.addEventListener("pointermove",r),document.addEventListener("pointerup",i);}var Je=createContext(void 0),je=createContext(void 0),_e=createContext(void 0),Ke=createContext(void 0),ne=()=>{let e=useContext(Je);if(!e)throw new Error("useZeugmaState must be used within a Zeugma provider");return e},Ce=()=>{let e=useContext(je);if(!e)throw new Error("useZeugmaActions must be used within a Zeugma provider");return e},He=()=>{let e=useContext(Ke);if(!e)throw new Error("useZeugmaDrag must be used within a Zeugma provider");return e},Qe=createContext({window:typeof window<"u"?window:null,document:typeof document<"u"?document:null}),po=()=>useContext(Qe);var Vt=()=>{let e=ne(),t=Ce();return {...e,...t}};var Fe=class extends PointerSensor{static activators=[{eventName:"onPointerDown",handler:({nativeEvent:t})=>!t.target?.closest(".drag-cancel")}]},Ve=class extends TouchSensor{static activators=[{eventName:"onTouchStart",handler:({nativeEvent:t})=>!t.target?.closest(".drag-cancel")}]};function Be(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 Pt(e){let{layout:t,setLayout:n,layoutBeforeDrag:s,setLayoutBeforeDrag:o,activeId:r,setActiveId:i,setActiveType:c,dismissIntentId:l,setDismissIntentId:a,setOverTabId:d,setOverTabPosition:g,containerRef:P,dragActivationDistance:x,enableDragToDismiss:v,dismissThreshold:S,onRemove:L,onDragStart:E,onDragEnd:m,onDismissIntentChange:T,removeTab:$}=e,R=useRef(null),A=ct(r),[V,B]=useState(false);ut(V);let ee=useSensors(useSensor(Fe,{activationConstraint:{distance:x}}),useSensor(Ve,{activationConstraint:{delay:250,tolerance:5}})),oe=useCallback(y=>{let z=y.active.id.toString().startsWith("tab-header-"),M=pointerWithin(y),w=z?M:M.filter(u=>!u.id.toString().startsWith("tab-drop-"));if(w.length>0)return [...w].sort((Z,b)=>{let h=Z.id.toString(),J=b.id.toString();if(z){let H=h.startsWith("tab-drop-"),j=J.startsWith("tab-drop-");if(H&&!j)return -1;if(!H&&j)return 1}let k=h.startsWith("drop-root-"),_=J.startsWith("drop-root-");return k&&!_?-1:!k&&_?1:0});if(z){let u=y.droppableContainers.filter(Z=>Z.id.toString().startsWith("tab-drop-"));return closestCenter({...y,droppableContainers:u})}return []},[]);return {sensors:ee,collisionDetection:oe,onDragStart:y=>{let W=y.active.id.toString(),z=W.startsWith("tab-header-"),M=z?W.substring(11):W;i(M),c(z?"tab":"pane"),d(null),g(null);let w=y.activatorEvent;A.current=Be(w),v&&P.current?R.current=P.current.getBoundingClientRect():R.current=null;let u=t;if(z){let Z=X(t,M);Z&&(u=De(t,Z.id,M)||t);}o(u),z&&u!==t&&n(u),E&&E(M);},onDragMove:y=>{let{over:W}=y,z=W?.id.toString()||"",M=z.startsWith("drop-locked-");B(p=>p===M?p:M);let w=y.active.id.toString(),u=w.startsWith("tab-header-"),Z=u?w.substring(11):w,b=z.match(/^tab-drop-(.+)$/);if(b&&W&&u){let[,p]=b;if(Z!==p){let C="before",N=W.rect,se=y.activatorEvent,Y=null;if(A.current)Y=A.current.x;else {let K=Be(se);K&&(Y=K.x+y.delta.x);}if(Y!==null){let K=N.left+N.width/2;Y>K&&(C="after");}d(K=>K===p?K:p),g(K=>K===C?K:C);}else d(C=>C===null?C:null),g(C=>C===null?C:null);}else d(p=>p===null?p:null),g(p=>p===null?p:null);if(!v)return;let h=R.current;if(!h){l!==null&&(a(null),T?.(null));return}let J=y.activatorEvent,k=null,_=null;if(A.current)k=A.current.x,_=A.current.y;else {let p=Be(J);p&&(k=p.x+y.delta.x,_=p.y+y.delta.y);}let H=0;if(k!==null&&_!==null){let p=0,C=0;k<h.left?p=h.left-k:k>h.right&&(p=k-h.right),_<h.top?C=h.top-_:_>h.bottom&&(C=_-h.bottom),H=Math.sqrt(p*p+C*C);}else {let p=y.active.rect.current.translated;if(p){let C=p.left+p.width/2,N=p.top+p.height/2,se=0,Y=0;C<h.left?se=h.left-C:C>h.right&&(se=C-h.right),N<h.top?Y=h.top-N:N>h.bottom&&(Y=N-h.bottom),H=Math.sqrt(se*se+Y*Y);}}H>S?l!==Z&&(a(Z),T?.(Z)):l!==null&&(a(null),T?.(null));},onDragEnd:y=>{i(null),c(null),B(false),d(null),g(null);let{active:W,over:z}=y,M=W.id.toString(),w=M.startsWith("tab-header-"),u=w?M.substring(11):M,Z=v&&l===u;a(null),T?.(null),R.current=null;let b=s||t;if(o(null),Z){L?L(u):$(u),m&&m(u,null,null);return}if(!z){n(b),m&&m(u,null,null);return}let h=z.id.toString();if(h.startsWith("drop-locked-")){n(b),m&&m(u,null,null);return}let J=h.match(/^tab-drop-(.+)$/);if(J){if(!w){n(b),m&&m(u,null,null);return}let[,ce]=J;if(u!==ce){let ue="before",q=z.rect,me=y.activatorEvent,O=null;if(A.current)O=A.current.x;else {let F=Be(me);F&&(O=F.x+y.delta.x);}if(O!==null){let F=q.left+q.width/2;O>F&&(ue="after");}let ae=$e(b,u,ce,ue);n(ae),m&&m(u,ce,{type:"move",position:"center"});}else n(b),m&&m(u,null,null);return}let k=h.match(/^drop-root-(1\/4|1\/3)-(top|bottom|left|right|start|end)$/);if(k){let[,ce,ue]=k,q=ue;q==="start"&&(q="left"),q==="end"&&(q="right");let me=w?fe(b,u):he(b,u),O;if(w){let F=X(b,u)?.tabsMetadata?.[u];O={type:"pane",id:de(),tabs:[u],activeTabId:u,tabsMetadata:F?{[u]:F}:void 0};}else O=Q(b,u)??{type:"pane",id:de(),tabs:[u],activeTabId:u};if(me===null)n(O);else {let ae=q==="left"||q==="right",F=q==="left"||q==="top",Te=50;ce==="1/4"?Te=F?25:75:ce==="1/3"&&(Te=F?100/3:200/3),n({type:"split",direction:ae?"row":"column",first:F?O:me,second:F?me:O,splitPercentage:Te});}m&&m(u,"root",{type:"split",direction:q==="left"||q==="right"?"row":"column",position:q});return}let _=h.match(/^drop-(left|right|top|bottom)-(.+)$/);if(!_){n(b),m&&m(u,null,null);return}let[,H,j]=_,p=w?X(b,u):Q(b,u),C=p&&p.id===j,N=p&&p.tabs.length===1;if(u===j||C&&N){n(b),m&&m(u,null,null);return}let se=H==="left"||H==="right"?"row":"column",Y;if(w){let ue=X(b,u)?.tabsMetadata?.[u];Y={type:"pane",id:de(),tabs:[u],activeTabId:u,tabsMetadata:ue?{[u]:ue}:void 0};}else Y=Q(b,u)??{type:"pane",id:de(),tabs:[u],activeTabId:u};let K=w?fe(b,u):he(b,u),Ee=we(K,j,se,H,Y);n(Ee),m&&m(u,j,{type:"split",direction:se,position:H});},onDragCancel:()=>{i(null),c(null),B(false),d(null),g(null),a(null),T?.(null),R.current=null,s!==null&&(n(s),o(null));}}}var yt=({activeId:e,render:t,className:n})=>{let s=useRef(null);return useEffect(()=>{let o=r=>{s.current&&(s.current.style.transform=`translate(${r.clientX+12}px, ${r.clientY+12}px)`);};return document.addEventListener("pointermove",o),()=>document.removeEventListener("pointermove",o)},[]),jsx("div",{ref:s,className:n,style:{position:"fixed",top:0,left:0,zIndex:9999,pointerEvents:"none"},children:t(e)})};var We=globalThis;if(typeof window<"u"&&typeof Document<"u"){let e=Document.prototype,t=Node.prototype,n=()=>{if(We.__currentTabDocument)return We.__currentTabDocument;let l=window.event||(typeof event<"u"?event:null);if(l&&l.target){let a=l.target,d=a.ownerDocument||a.document;if(d&&d!==document)return d}return null},s=Object.getOwnPropertyDescriptor(e,"body");if(s&&s.get&&!s.get.__isZeugmaOverridden){let l=s.get,a=function(){let d=n();return d&&this===document?d.body:l.call(this)};a.__isZeugmaOverridden=true,Object.defineProperty(e,"body",{...s,get:a});}let o=Object.getOwnPropertyDescriptor(e,"documentElement");if(o&&o.get&&!o.get.__isZeugmaOverridden){let l=o.get,a=function(){let d=n();return d&&this===document?d.documentElement:l.call(this)};a.__isZeugmaOverridden=true,Object.defineProperty(e,"documentElement",{...o,get:a});}let r=e.createElement;if(r&&!r.__isZeugmaOverridden){let l=function(a,d){let g=n();return g&&this===document?r.call(g,a,d):r.call(this,a,d)};l.__isZeugmaOverridden=true,e.createElement=l;}let i=t.appendChild;if(i&&!i.__isZeugmaOverridden){let l=function(a){return a&&a.ownerDocument&&a.ownerDocument!==document&&(this===document.body||this===document.documentElement)?a.ownerDocument.body.appendChild(a):i.call(this,a)};l.__isZeugmaOverridden=true,t.appendChild=l;}let c=t.insertBefore;if(c&&!c.__isZeugmaOverridden){let l=function(a,d){return a&&a.ownerDocument&&a.ownerDocument!==document&&(this===document.body||this===document.documentElement)?a.ownerDocument.body.insertBefore(a,null):c.call(this,a,d)};l.__isZeugmaOverridden=true,t.insertBefore=l;}}var an=({doc:e,children:t})=>{e&&(We.__currentTabDocument=e);try{return jsx(Fragment,{children:t})}finally{We.__currentTabDocument=null;}},xt=en.memo(({tabId:e,target:t,renderWidget:n})=>{let[s,o]=useState(false),r=useRef(null),{popoutTabs:i}=ne(),{setTabPopout:c}=Ce(),l=!!i[e];useEffect(()=>{o(true);},[]);let a=useCallback(()=>{r.current&&(document.adoptNode(r.current),Ye("zeugma-hidden-portal-container").appendChild(r.current)),c(e,false);},[e,c]),{popupWindow:d,popupContainer:g}=pt({tabId:e,isOpenedInNewWindow:l,onClose:a}),P=useMemo(()=>l&&d?{window:d,document:d.document}:{window:typeof window<"u"?window:null,document:typeof document<"u"?document:null},[l,d]);if(useEffect(()=>{if(!s||!r.current)return;let v=r.current;l?g&&d&&(d.document.adoptNode(v),g.appendChild(v)):(document.adoptNode(v),t?t.appendChild(v):Ye("zeugma-hidden-portal-container").appendChild(v));},[t,s,l,g,d]),useEffect(()=>()=>{r.current&&r.current.remove();},[]),!s)return null;r.current||(r.current=document.createElement("div"),r.current.className=`zeugma-portal-wrapper-${e}`,r.current.style.width="100%",r.current.style.height="100%");let x=r.current;return !x||!n?null:createPortal(jsx(Qe.Provider,{value:P,children:jsx(an,{doc:P.document,children:n(e)})}),x)});var un=e=>{let t=e,{renderPane:n,renderWidget:s,renderDragOverlay:o,classNames:r={},children:i,layout:c,setLayout:l,fullscreenPaneId:a,setFullscreenPaneId:d,locked:g,setLocked:P,popoutTabs:x,findPaneById:v,findPaneContainingTab:S,findTabById:L,activeId:E,activeType:m,dismissIntentId:T,setContainerRef:$,layoutBeforeDrag:R,snapThreshold:A,minSplitPercentage:V,maxSplitPercentage:B,onRemove:ee,onResizeStart:oe,onResize:te,onResizeEnd:re,removePane:ie,addPane:le,addTab:y,updateTabMetadata:W,updatePaneLock:z,selectTab:M,mergeTab:w,removeTab:u,splitPane:Z,updateSplitPercentage:b,moveTab:h,setTabPopout:J}=t,{portalTargets:k,registerPortalTarget:_}=dt(),[H,j]=useState(null),[p,C]=useState(null),N=Pt({...t,setOverTabId:j,setOverTabPosition:C}),se=useCallback(O=>n(O),[n]),Y=useMemo(()=>r,[r.dashboard,r.dashboardDismissActive,r.pane,r.paneLocked,r.dropPreview,r.dragOverlay,r.resizer,r.dismissPreview,r.dashboardLocked,r.lockedPreview,r.tabDropPreview,r.tabSeparator]),K=useCallback((O,ae)=>{re&&re(O,ae);},[re]),Ee=useMemo(()=>({layout:c,setLayout:l,renderPane:se,activeId:E,activeType:m,dismissIntentId:T,setContainerRef:$,fullscreenPaneId:a,classNames:Y,onRemove:ee,onFullscreenChange:d,snapThreshold:A,onResizeStart:oe,onResize:te,onResizeEnd:K,minSplitPercentage:V,maxSplitPercentage:B,locked:g,setLocked:P,popoutTabs:x,findPaneById:v,findPaneContainingTab:S,findTabById:L}),[c,E,m,T,$,a,Y,ee,d,A,oe,te,V,B,l,se,K,g,P,x,v,S,L]),ce=useMemo(()=>({overTabId:H,overTabPosition:p}),[H,p]),ue=useMemo(()=>({removePane:ie,addPane:le,addTab:y,updateTabMetadata:W,updatePaneLock:z,selectTab:M,mergeTab:w,removeTab:u,setFullscreenPaneId:d,setLocked:P,splitPane:Z,updateSplitPercentage:b,moveTab:h,setTabPopout:J}),[ie,le,y,W,z,M,w,u,d,P,Z,b,h,J]),q=useMemo(()=>{let O=new Set;function ae(F){F&&(F.type==="pane"?F.tabs.forEach(Te=>{O.add(Te);}):(ae(F.first),ae(F.second)));}return ae(c),R&&ae(R),Array.from(O).sort()},[c,E,R]),me=useMemo(()=>({registerPortalTarget:_}),[_]);return jsx(je.Provider,{value:ue,children:jsx(Je.Provider,{value:Ee,children:jsx(Ke.Provider,{value:ce,children:jsxs(_e.Provider,{value:me,children:[jsx(DndContext,{id:"zeugma-dnd-context",...N,children:i}),E&&m&&o&&jsx(yt,{activeId:E,render:O=>o(O,m),className:`${r.dragOverlay||""} ${E===T&&r.dismissPreview||""}`.trim()}),jsx("div",{id:"zeugma-portal-host",style:{display:"none"},children:q.map(O=>jsx(xt,{tabId:O,target:k[O]||null,renderWidget:s},O))})]})})})})};var fn={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"}}},mn={top:{"1/4":{top:0,left:0,width:"100%",height:"25%"},"1/3":{top:0,left:0,width:"100%",height:"33.3333%"}},bottom:{"1/4":{bottom:0,left:0,width:"100%",height:"25%"},"1/3":{bottom:0,left:0,width:"100%",height:"33.3333%"}},left:{"1/4":{left:0,top:0,width:"25%",height:"100%"},"1/3":{left:0,top:0,width:"33.3333%",height:"100%"}},right:{"1/4":{right:0,top:0,width:"25%",height:"100%"},"1/3":{right:0,top:0,width:"33.3333%",height:"100%"}}},gn=({id:e,fraction:t,edge:n,activeClassName:s})=>{let{setNodeRef:o,isOver:r}=useDroppable({id:e}),i={position:"absolute",pointerEvents:"none",zIndex:101,boxSizing:"border-box",...mn[n][t]};return jsxs(Fragment,{children:[jsx("div",{ref:o,style:fn[n][t]}),r&&jsx("div",{className:s,style:i})]})},Ct=({activeClassName:e})=>jsx("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:99,pointerEvents:"none"},children:[{id:"drop-root-1/3-top",fraction:"1/3",edge:"top"},{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(gn,{id:n.id,fraction:n.fraction,edge:n.edge,activeClassName:e},n.id))});function nt({containerRef:e,isRow:t,direction:n,splitPercentage:s,resizerSize:o,snapThreshold:r,layout:i,currentNode:c,onLayoutChange:l,onResizeStart:a,onResizeEnd:d,parentLeft:g,parentTop:P,parentWidth:x,parentHeight:v}){let{onResizeStart:S,onResize:L,onResizeEnd:E,minSplitPercentage:m=5,maxSplitPercentage:T=95,locked:$=false}=ne();return useCallback(R=>{if($)return;R.preventDefault();let A=e.current;if(!A)return;a&&a(),S&&S(c);let V=A.getBoundingClientRect(),B=R.clientX,ee=R.clientY,oe=s,te=R.currentTarget,re=V.left+V.width*(g/100),ie=V.top+V.height*(P/100),le=V.width*(x/100),y=V.height*(v/100),z=Array.from(document.querySelectorAll('div[role="separator"][data-direction]')).filter(w=>w!==te&&w.getAttribute("data-direction")===n).map(w=>{let u=w.getBoundingClientRect();return t?u.left+u.width/2:u.top+u.height/2}),M=oe;vt({cursor:t?"col-resize":"row-resize",resizerEl:te,onMove:w=>{let u=t?(w.clientX-B)/le*100:(w.clientY-ee)/y*100,Z=oe+u,b=t?re+(le-o)*(Z/100)+o/2:ie+(y-o)*(Z/100)+o/2,h=1/0,J=null;for(let j of z){let p=Math.abs(b-j);p<r&&p<h&&(h=p,J=j);}let k=Z;J!==null&&(k=t?(J-o/2-re)/(le-o)*100:(J-o/2-ie)/(y-o)*100);let _=Math.max(m,Math.min(T,k));M=_;let H=Pe(i,c,_);if(H){let{panes:j,splitters:p}=ge(H),C=e.current;if(C){for(let N of j)C.style.setProperty(`--pane-left-${N.paneId}`,`${N.left}%`),C.style.setProperty(`--pane-top-${N.paneId}`,`${N.top}%`),C.style.setProperty(`--pane-width-${N.paneId}`,`${N.width}%`),C.style.setProperty(`--pane-height-${N.paneId}`,`${N.height}%`);for(let N of p)C.style.setProperty(`--splitter-pos-${N.id}`,`${N.direction==="row"?N.left:N.top}%`);}}L&&L(c,_);},onEnd:()=>{let w=Pe(i,c,M),u=e.current;if(u){let{panes:Z,splitters:b}=ge(w);for(let h of Z)u.style.removeProperty(`--pane-left-${h.paneId}`),u.style.removeProperty(`--pane-top-${h.paneId}`),u.style.removeProperty(`--pane-width-${h.paneId}`),u.style.removeProperty(`--pane-height-${h.paneId}`);for(let h of b)u.style.removeProperty(`--splitter-pos-${h.id}`);}l(w),d&&d(),E&&E(c,M);}});},[e,t,n,s,o,r,i,c,l,a,d,S,L,E,m,T,g,P,x,v])}var wn=({splitter:e,resizerSize:t,snapThreshold:n,containerRef:s})=>{let{layout:o,setLayout:r,classNames:i,locked:c}=ne(),[l,a]=useState(false),{currentNode:d,direction:g,left:P,top:x,width:v,height:S,parentLeft:L,parentTop:E,parentWidth:m,parentHeight:T}=e,$=g==="row",R=nt({containerRef:s,isRow:$,direction:g,splitPercentage:d.splitPercentage,resizerSize:t,snapThreshold:n,layout:o,currentNode:d,onLayoutChange:r,onResizeStart:()=>a(true),onResizeEnd:()=>a(false),parentLeft:L,parentTop:E,parentWidth:m,parentHeight:T}),A=$?{position:"absolute",left:`calc(var(--splitter-pos-${e.id}, ${P}%) - ${t/2}px)`,top:`calc(${x}% + ${t/2}px)`,width:`${t}px`,height:`calc(${S}% - ${t}px)`,cursor:c?"default":"col-resize",pointerEvents:c?"none":"auto",zIndex:10,userSelect:"none",touchAction:"none",boxSizing:"border-box"}:{position:"absolute",left:`calc(${P}% + ${t/2}px)`,top:`calc(var(--splitter-pos-${e.id}, ${x}%) - ${t/2}px)`,width:`calc(${v}% - ${t}px)`,height:`${t}px`,cursor:c?"default":"row-resize",pointerEvents:c?"none":"auto",zIndex:10,userSelect:"none",touchAction:"none",boxSizing:"border-box"};return jsx("div",{className:i.resizer||"","data-direction":g,"data-resizing":l||void 0,style:A,onPointerDown:R,role:"separator","aria-valuenow":d.splitPercentage,"aria-valuemin":5,"aria-valuemax":95})},Dn=en.memo(({paneId:e,renderPane:t})=>jsx(Fragment,{children:t(e)}),(e,t)=>e.paneId===t.paneId&&e.renderPane===t.renderPane),Cn=({tree:e,resizerSize:t=4,snapThreshold:n})=>{let{layout:s,renderPane:o,activeId:r,dismissIntentId:i,setContainerRef:c,fullscreenPaneId:l,snapThreshold:a,locked:d,classNames:g}=ne(),P=n!==void 0?n:a??8,x=e!==void 0?e:s,v=useRef(null),{panes:S,splitters:L}=useMemo(()=>x?ge(x):{panes:[],splitters:[]},[x]);if(!x)return null;let E=()=>jsxs(Fragment,{children:[S.map(m=>{let T=l===m.paneId;return jsx("div",{style:{position:"absolute",left:T?"0%":`var(--pane-left-${m.paneId}, ${m.left}%)`,top:T?"0%":`var(--pane-top-${m.paneId}, ${m.top}%)`,width:T?"100%":`var(--pane-width-${m.paneId}, ${m.width}%)`,height:T?"100%":`var(--pane-height-${m.paneId}, ${m.height}%)`,overflow:"hidden",zIndex:T?20:1,display:l&&!T?"none":"block",padding:T?"0px":`${t/2}px`,boxSizing:"border-box"},children:jsx(Dn,{paneId:m.paneId,renderPane:o})},m.paneId)}),!l&&L.map(m=>jsx(wn,{splitter:m,resizerSize:t,snapThreshold:P,containerRef:v},m.id))]});if(e===void 0){let m=r!==null&&r===i,T=R=>{c(R),v.current=R;},$=`${g.dashboard||""} ${m&&g.dashboardDismissActive||""} ${d&&g.dashboardLocked||""}`.trim();return jsxs("div",{ref:T,className:$,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden"},children:[E(),r!==null&&!d&&jsx(Ct,{activeClassName:g.dropPreview})]})}return jsx("div",{ref:v,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden"},children:E()})};var Xe=createContext(null);var Zn={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"}},kn={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"}},Et=({id:e,position:t,activeClassName:n})=>{let{setNodeRef:s,isOver:o}=useDroppable({id:e});return jsxs(Fragment,{children:[jsx("div",{ref:s,style:Zn[t]}),o&&jsx("div",{className:n,style:kn[t]})]})},On=({id:e,children:t,style:n,locked:s=false})=>{let{layout:o,activeId:r,classNames:i,fullscreenPaneId:c,onFullscreenChange:l,locked:a}=ne(),{removePane:d,updateTabMetadata:g,selectTab:P,removeTab:x}=Ce(),v=useContext(_e);if(!v)throw new Error("Pane must be used within a Zeugma provider");let{registerPortalTarget:S}=v,L=useMemo(()=>Q(o,e),[o,e]),E=L?.id??e,m=L?.tabs??[e],T=L?.activeTabId??e,$=L?.tabsMetadata,R=$?.[e],A=L?.locked??false,V=s||A,B=a||V,ee=a||V,oe=r!==null&&r!==e&&(!m.includes(r)||m.length>1)&&!ee,{attributes:te,listeners:re,setNodeRef:ie}=useDraggable({id:e,disabled:B}),le=r!==null&&m.includes(r),y=c===e,[W,z]=useState(null);useEffect(()=>(S(T,W),()=>{S(T,null);}),[T,W,S]);let M=useCallback(()=>jsx("div",{ref:z,id:`zeugma-tab-target-${T}`,className:"zeugma-tab-content-wrapper",style:{height:"100%",width:"100%"}}),[T]),w=useMemo(()=>({isDragging:le,isFullscreen:y,toggleFullscreen:()=>l?.(y?null:e),remove:()=>{y&&l?.(null),d(E);},metadata:R,updateMetadata:b=>{g(e,b);},locked:B,tabs:m,activeTabId:T,selectTab:b=>P(E,b),removeTab:b=>{y&&b===T&&l?.(null),x(b);},tabsMetadata:$,updateTabMetadata:(b,h)=>{g(b,h);},renderActiveTab:M}),[le,y,l,e,x,R,g,B,m,T,P,E,$,M]),u=useMemo(()=>B?{disabled:true}:{...re,...te},[re,te,B]),Z=`${i.pane||""} ${V&&i.paneLocked||""}`.trim();return jsx(Xe.Provider,{value:u,children:jsxs("div",{ref:ie,className:Z,style:{position:"relative",width:"100%",height:"100%",...n},children:[t(w),oe&&jsx("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:15,pointerEvents:"none"},children:["top","bottom","left","right"].map(b=>jsx(Et,{id:`drop-${b}-${e}`,position:b,activeClassName:i.dropPreview},b))}),r!==null&&r!==e&&ee&&jsx("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:15,pointerEvents:"none"},children:jsx(Et,{id:`drop-locked-${e}`,position:"full",activeClassName:i.lockedPreview||""})})]})})};var An=({children:e,className:t,style:n})=>{let s=useContext(Xe);if(!s)throw new Error("<DragHandle> must be used inside a <Pane>");let{disabled:o,...r}=s;return jsx("div",{className:t,style:{cursor:o?"default":"grab",userSelect:o?"auto":"none",touchAction:o?"auto":"none",...n},...o?{}:r,children:e})};var Zt=createContext(void 0),Wn=()=>{let e=useContext(Zt);if(!e)throw new Error("useTabContext must be used within a Tab component");return e},kt=({id:e,locked:t=false,children:n,className:s,style:o})=>{let{locked:r,classNames:i={},activeType:c}=ne(),{overTabId:l}=He(),a=useContext(rt),d=t||r||(a?.locked??false),{attributes:g,listeners:P,setNodeRef:x,isDragging:v}=useDraggable({id:`tab-header-${e}`,disabled:d}),{setNodeRef:S,isOver:L}=useDroppable({id:`tab-drop-${e}`,disabled:d||c==="pane"}),E=ie=>{x(ie),S(ie);},m=L&&l===e,T=a?.tabs||[],$=T.indexOf(e),R=a?.activeTabId,V=$>0&&e!==R&&T[$-1]!==R?jsx("div",{className:i.tabSeparator}):null,B=a?a.activeTabId===e:false,ee=a?.tabsMetadata?.[e],oe=useCallback(()=>{a?.selectTab(e);},[a,e]),te=useCallback(()=>{a?.removeTab(e);},[a,e]),re=useMemo(()=>({tabId:e,isActive:B,isDragging:v,isOver:m,metadata:ee,locked:d,selectTab:oe,removeTab:te}),[e,B,v,m,ee,d,oe,te]);return jsx(Zt.Provider,{value:re,children:jsxs("div",{ref:E,className:s,style:{display:"inline-flex",position:"relative",cursor:d?"default":"grab",...o},...d?{}:P,...d?{}:g,children:[V,n({isDragging:v,isOver:m})]})})};var rt=createContext(void 0);var Ot=(e,t)=>typeof e=="function"?e(t):e,qn=({tabs:e,activeTabId:t,locked:n=false,tabsMetadata:s,selectTab:o,removeTab:r,renderTab:i,classNames:c,styles:l})=>{let{classNames:a={},activeType:d}=ne(),{overTabId:g,overTabPosition:P}=He(),x=useMemo(()=>({tabs:e,activeTabId:t,locked:n,tabsMetadata:s,selectTab:o,removeTab:r}),[e,t,n,s,o,r]),v=bt(e,d,g,P);return jsx(rt.Provider,{value:x,children:jsxs("div",{className:c?.container,style:{display:"flex",alignItems:"center",height:"100%",...l?.container},children:[e.map((S,L)=>{let E=s?.[S],m=Ot(c?.tab,S),T=Ot(l?.tab,S),$=L===v;return jsxs(en.Fragment,{children:[$&&a.tabDropPreview&&jsx("div",{style:{position:"relative",height:"100%",width:0,zIndex:10},children:jsx("div",{className:a.tabDropPreview,style:{position:"absolute",top:0,bottom:0,transform:L===0?"none":"translateX(-50%)"}})}),jsx(kt,{id:S,locked:n,className:m,style:T,children:({isDragging:R,isOver:A})=>i({tabId:S,activeTabId:t,isDragging:R,isOver:A,metadata:E,selectTab:o,removeTab:r})})]},S)}),v===e.length&&a.tabDropPreview&&jsx("div",{style:{position:"relative",height:"100%",width:0,zIndex:10},children:jsx("div",{className:a.tabDropPreview,style:{position:"absolute",top:0,bottom:0,transform:"translateX(-100%)"}})})]})})};export{Ht as DEFAULT_DRAG_ACTIVATION_DISTANCE,eo as DEFAULT_RESIZER_SIZE,_t as DEFAULT_SNAP_THRESHOLD,An as DragHandle,On as Pane,Cn as PaneTree,_e as PortalRegistryContext,Qe as TabWindowContext,qn as Tabs,un as Zeugma,je as ZeugmaActionsContext,Ke as ZeugmaDragContext,Je as ZeugmaStateContext,at as copyStyles,vt as createDragSession,Ye as getOrCreateHiddenContainer,Le as safeJsonStringify,nt as useResizer,Wn as useTabContext,po as useTabWindow,Ft as useZeugma,Ce as useZeugmaActions,Vt as useZeugmaContext,He as useZeugmaDrag,ne as useZeugmaState};//# sourceMappingURL=index.js.map
|
|
6
|
+
`,document.head.appendChild(o),t.setAttribute("data-resizing","true");let r=l=>{n(l);},a=()=>{document.body.classList.remove("zeugma-resizing"),t.removeAttribute("data-resizing");let l=document.getElementById("zeugma-global-cursor-style");l&&l.remove(),document.removeEventListener("pointermove",r),document.removeEventListener("pointerup",a),s();};document.addEventListener("pointermove",r),document.addEventListener("pointerup",a);}var Xe=createContext(void 0),Ye=createContext(void 0),$e=createContext(void 0),Je=createContext(void 0),ae=()=>{let e=useContext(Xe);if(!e)throw new Error("useZeugmaState must be used within a Zeugma provider");return e},ze=()=>{let e=useContext(Ye);if(!e)throw new Error("useZeugmaActions must be used within a Zeugma provider");return e},Ae=()=>{let e=useContext(Je);if(!e)throw new Error("useZeugmaDrag must be used within a Zeugma provider");return e};var Zt=()=>{let e=ae(),t=ze();return {...e,...t}};var He=class extends PointerSensor{static activators=[{eventName:"onPointerDown",handler:({nativeEvent:t})=>!t.target?.closest(".drag-cancel")}]},Oe=class extends TouchSensor{static activators=[{eventName:"onTouchStart",handler:({nativeEvent:t})=>!t.target?.closest(".drag-cancel")}]};function Be(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 dt(e){let{layout:t,setLayout:n,layoutBeforeDrag:s,setLayoutBeforeDrag:o,activeId:r,setActiveId:a,setActiveType:l,dismissIntentId:d,setDismissIntentId:p,setOverTabId:g,setOverTabPosition:x,containerRef:R,dragActivationDistance:w,enableDragToDismiss:P,dismissThreshold:k,onRemove:I,onDragStart:M,onDragEnd:u,onDismissIntentChange:T,removeTab:N}=e,E=useRef(null),A=tt(r),[J,q]=useState(false);nt(J);let W=useSensors(useSensor(He,{activationConstraint:{distance:w}}),useSensor(Oe,{activationConstraint:{delay:250,tolerance:5}})),ee=useCallback(C=>{let $=C.active.id.toString().startsWith("tab-header-"),z=pointerWithin(C),y=$?z:z.filter(i=>!i.id.toString().startsWith("tab-drop-"));if(y.length>0)return [...y].sort((h,v)=>{let b=h.id.toString(),U=v.id.toString();if($){let _=b.startsWith("tab-drop-"),G=U.startsWith("tab-drop-");if(_&&!G)return -1;if(!_&&G)return 1}let B=b.startsWith("drop-root-"),f=U.startsWith("drop-root-");return B&&!f?-1:!B&&f?1:0});if($){let i=C.droppableContainers.filter(h=>h.id.toString().startsWith("tab-drop-"));return closestCenter({...C,droppableContainers:i})}return []},[]);return {sensors:W,collisionDetection:ee,onDragStart:C=>{let O=C.active.id.toString(),$=O.startsWith("tab-header-"),z=$?O.substring(11):O;a(z),l($?"tab":"pane"),g(null),x(null);let y=C.activatorEvent;A.current=Be(y),P&&R.current?E.current=R.current.getBoundingClientRect():E.current=null;let i=t;if($){let h=V(t,z);h&&(i=ye(t,h.id,z)||t);}o(i),$&&i!==t&&n(i),M&&M(z);},onDragMove:C=>{let{over:O}=C,$=O?.id.toString()||"",z=$.startsWith("drop-locked-");q(m=>m===z?m:z);let y=C.active.id.toString(),i=y.startsWith("tab-header-"),h=i?y.substring(11):y,v=$.match(/^tab-drop-(.+)$/);if(v&&O&&i){let[,m]=v;if(h!==m){let D="before",Z=O.rect,oe=C.activatorEvent,K=null;if(A.current)K=A.current.x;else {let Q=Be(oe);Q&&(K=Q.x+C.delta.x);}if(K!==null){let Q=Z.left+Z.width/2;K>Q&&(D="after");}g(Q=>Q===m?Q:m),x(Q=>Q===D?Q:D);}else g(D=>D===null?D:null),x(D=>D===null?D:null);}else g(m=>m===null?m:null),x(m=>m===null?m:null);if(!P)return;let b=E.current;if(!b){d!==null&&(p(null),T?.(null));return}let U=C.activatorEvent,B=null,f=null;if(A.current)B=A.current.x,f=A.current.y;else {let m=Be(U);m&&(B=m.x+C.delta.x,f=m.y+C.delta.y);}let _=0;if(B!==null&&f!==null){let m=0,D=0;B<b.left?m=b.left-B:B>b.right&&(m=B-b.right),f<b.top?D=b.top-f:f>b.bottom&&(D=f-b.bottom),_=Math.sqrt(m*m+D*D);}else {let m=C.active.rect.current.translated;if(m){let D=m.left+m.width/2,Z=m.top+m.height/2,oe=0,K=0;D<b.left?oe=b.left-D:D>b.right&&(oe=D-b.right),Z<b.top?K=b.top-Z:Z>b.bottom&&(K=Z-b.bottom),_=Math.sqrt(oe*oe+K*K);}}_>k?d!==h&&(p(h),T?.(h)):d!==null&&(p(null),T?.(null));},onDragEnd:C=>{a(null),l(null),q(false),g(null),x(null);let{active:O,over:$}=C,z=O.id.toString(),y=z.startsWith("tab-header-"),i=y?z.substring(11):z,h=P&&d===i;p(null),T?.(null),E.current=null;let v=s||t;if(o(null),h){I?I(i):N(i),u&&u(i,null,null);return}if(!$){n(v),u&&u(i,null,null);return}let b=$.id.toString();if(b.startsWith("drop-locked-")){n(v),u&&u(i,null,null);return}let U=b.match(/^tab-drop-(.+)$/);if(U){if(!y){n(v),u&&u(i,null,null);return}let[,ce]=U;if(i!==ce){let ue="before",L=$.rect,re=C.activatorEvent,X=null;if(A.current)X=A.current.x;else {let se=Be(re);se&&(X=se.x+C.delta.x);}if(X!==null){let se=L.left+L.width/2;X>se&&(ue="after");}let me=Me(v,i,ce,ue);n(me),u&&u(i,ce,{type:"move",position:"center"});}else n(v),u&&u(i,null,null);return}let B=b.match(/^drop-root-(1\/4|1\/3)-(top|bottom|left|right|start|end)$/);if(B){let[,ce,ue]=B,L=ue;L==="start"&&(L="left"),L==="end"&&(L="right");let re=y?fe(v,i):be(v,i),X;if(y){let se=V(v,i)?.tabsMetadata?.[i];X={type:"pane",id:de(),tabs:[i],activeTabId:i,tabsMetadata:se?{[i]:se}:void 0};}else X=j(v,i)??{type:"pane",id:de(),tabs:[i],activeTabId:i};if(re===null)n(X);else {let me=L==="left"||L==="right",se=L==="left"||L==="top",c=50;ce==="1/4"?c=se?25:75:ce==="1/3"&&(c=se?100/3:200/3),n({type:"split",direction:me?"row":"column",first:se?X:re,second:se?re:X,splitPercentage:c});}u&&u(i,"root",{type:"split",direction:L==="left"||L==="right"?"row":"column",position:L});return}let f=b.match(/^drop-(left|right|top|bottom)-(.+)$/);if(!f){n(v),u&&u(i,null,null);return}let[,_,G]=f,m=y?V(v,i):j(v,i),D=m&&m.id===G,Z=m&&m.tabs.length===1;if(i===G||D&&Z){n(v),u&&u(i,null,null);return}let oe=_==="left"||_==="right"?"row":"column",K;if(y){let ue=V(v,i)?.tabsMetadata?.[i];K={type:"pane",id:de(),tabs:[i],activeTabId:i,tabsMetadata:ue?{[i]:ue}:void 0};}else K=j(v,i)??{type:"pane",id:de(),tabs:[i],activeTabId:i};let Q=y?fe(v,i):be(v,i),Se=Re(Q,G,oe,_,K);n(Se),u&&u(i,G,{type:"split",direction:oe,position:_});},onDragCancel:()=>{a(null),l(null),q(false),g(null),x(null),p(null),T?.(null),E.current=null,s!==null&&(n(s),o(null));}}}var pt=({activeId:e,render:t,className:n})=>{let s=useRef(null);return useEffect(()=>{let o=r=>{s.current&&(s.current.style.transform=`translate(${r.clientX+12}px, ${r.clientY+12}px)`);};return document.addEventListener("pointermove",o),()=>document.removeEventListener("pointermove",o)},[]),jsx("div",{ref:s,className:n,style:{position:"fixed",top:0,left:0,zIndex:9999,pointerEvents:"none"},children:t(e)})};var ft=_t.memo(({tabId:e,target:t,renderWidget:n})=>{let[s,o]=useState(false),r=useRef(null);if(useEffect(()=>{o(true);},[]),useEffect(()=>{if(!s||!r.current)return;let l=r.current;if(t)t.appendChild(l);else {let d=document.getElementById("zeugma-hidden-portal-container");d||(d=document.createElement("div"),d.id="zeugma-hidden-portal-container",d.style.display="none",document.body.appendChild(d)),d.appendChild(l);}},[t,s]),useEffect(()=>()=>{r.current&&r.current.remove();},[]),!s)return null;r.current||(r.current=document.createElement("div"),r.current.className=`zeugma-portal-wrapper-${e}`,r.current.style.width="100%",r.current.style.height="100%");let a=r.current;return !a||!n?null:createPortal(n(e),a)});var Gt=e=>{let t=e,{renderPane:n,renderWidget:s,renderDragOverlay:o,classNames:r={},children:a,layout:l,setLayout:d,fullscreenPaneId:p,setFullscreenPaneId:g,locked:x,setLocked:R,findPaneById:w,findPaneContainingTab:P,findTabById:k,activeId:I,activeType:M,dismissIntentId:u,setContainerRef:T,layoutBeforeDrag:N,snapThreshold:E,minSplitPercentage:A,maxSplitPercentage:J,onRemove:q,onResizeStart:W,onResize:ee,onResizeEnd:te,removePane:ie,addPane:ne,addTab:le,updateTabMetadata:C,updatePaneLock:O,selectTab:$,mergeTab:z,removeTab:y,splitPane:i,updateSplitPercentage:h,moveTab:v}=t,{portalTargets:b,registerPortalTarget:U}=ot(),[B,f]=useState(null),[_,G]=useState(null),m=dt({...t,setOverTabId:f,setOverTabPosition:G}),D=useCallback(L=>n(L),[n]),Z=useMemo(()=>r,[r.dashboard,r.dashboardDismissActive,r.pane,r.paneLocked,r.dropPreview,r.rootDropPreview,r.dragOverlay,r.resizer,r.dismissPreview,r.dashboardLocked,r.lockedPreview,r.tabDropPreview,r.tabSeparator]),oe=useCallback((L,re)=>{te&&te(L,re);},[te]),K=useMemo(()=>({layout:l,setLayout:d,renderPane:D,activeId:I,activeType:M,dismissIntentId:u,setContainerRef:T,fullscreenPaneId:p,classNames:Z,onRemove:q,onFullscreenChange:g,snapThreshold:E,onResizeStart:W,onResize:ee,onResizeEnd:oe,minSplitPercentage:A,maxSplitPercentage:J,locked:x,setLocked:R,findPaneById:w,findPaneContainingTab:P,findTabById:k}),[l,I,M,u,T,p,Z,q,g,E,W,ee,A,J,d,D,oe,x,R,w,P,k]),Q=useMemo(()=>({overTabId:B,overTabPosition:_}),[B,_]),Se=useMemo(()=>({removePane:ie,addPane:ne,addTab:le,updateTabMetadata:C,updatePaneLock:O,selectTab:$,mergeTab:z,removeTab:y,setFullscreenPaneId:g,setLocked:R,splitPane:i,updateSplitPercentage:h,moveTab:v}),[ie,ne,le,C,O,$,z,y,g,R,i,h,v]),ce=useMemo(()=>{let L=new Set;function re(X){X&&(X.type==="pane"?X.tabs.forEach(me=>{L.add(me);}):(re(X.first),re(X.second)));}return re(l),N&&re(N),Array.from(L).sort()},[l,I,N]),ue=useMemo(()=>({registerPortalTarget:U}),[U]);return jsx(Ye.Provider,{value:Se,children:jsx(Xe.Provider,{value:K,children:jsx(Je.Provider,{value:Q,children:jsxs($e.Provider,{value:ue,children:[jsx(DndContext,{id:"zeugma-dnd-context",...m,children:a}),I&&M&&o&&jsx(pt,{activeId:I,render:L=>o(L,M),className:`${r.dragOverlay||""} ${I===u&&r.dismissPreview||""}`.trim()}),jsx("div",{id:"zeugma-portal-host",style:{display:"none"},children:ce.map(L=>jsx(ft,{tabId:L,target:b[L]||null,renderWidget:s},L))})]})})})})};var jt={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"}}},en={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"}}},tn=({id:e,fraction:t,edge:n,activeClassName:s})=>{let{setNodeRef:o,isOver:r}=useDroppable({id:e}),a={position:"absolute",pointerEvents:"none",zIndex:101,boxSizing:"border-box",...en[n][t]};return jsxs(Fragment,{children:[jsx("div",{ref:o,style:jt[n][t]}),r&&jsx("div",{className:s,style:a})]})},bt=({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(tn,{id:n.id,fraction:n.fraction,edge:n.edge,activeClassName:e},n.id))});function Ge({containerRef:e,isRow:t,direction:n,splitPercentage:s,resizerSize:o,snapThreshold:r,layout:a,currentNode:l,onLayoutChange:d,onResizeStart:p,onResizeEnd:g,parentLeft:x,parentTop:R,parentWidth:w,parentHeight:P}){let{onResizeStart:k,onResize:I,onResizeEnd:M,minSplitPercentage:u=5,maxSplitPercentage:T=95,locked:N=false}=ae();return useCallback(E=>{if(N)return;E.preventDefault();let A=e.current;if(!A)return;p&&p(),k&&k(l);let J=A.getBoundingClientRect(),q=E.clientX,W=E.clientY,ee=s,te=E.currentTarget,ie=J.left+J.width*(x/100),ne=J.top+J.height*(R/100),le=J.width*(w/100),C=J.height*(P/100),$=Array.from(document.querySelectorAll('div[role="separator"][data-direction]')).filter(y=>y!==te&&y.getAttribute("data-direction")===n).map(y=>{let i=y.getBoundingClientRect();return t?i.left+i.width/2:i.top+i.height/2}),z=ee;ct({cursor:t?"col-resize":"row-resize",resizerEl:te,onMove:y=>{let i=t?(y.clientX-q)/le*100:(y.clientY-W)/C*100,h=ee+i,v=t?ie+(le-o)*(h/100)+o/2:ne+(C-o)*(h/100)+o/2,b=1/0,U=null;for(let G of $){let m=Math.abs(v-G);m<r&&m<b&&(b=m,U=G);}let B=h;U!==null&&(B=t?(U-o/2-ie)/(le-o)*100:(U-o/2-ne)/(C-o)*100);let f=Math.max(u,Math.min(T,B));z=f;let _=xe(a,l,f);if(_){let{panes:G,splitters:m}=ge(_),D=e.current;if(D){for(let Z of G)D.style.setProperty(`--pane-left-${Z.paneId}`,`${Z.left}%`),D.style.setProperty(`--pane-top-${Z.paneId}`,`${Z.top}%`),D.style.setProperty(`--pane-width-${Z.paneId}`,`${Z.width}%`),D.style.setProperty(`--pane-height-${Z.paneId}`,`${Z.height}%`);for(let Z of m)D.style.setProperty(`--splitter-pos-${Z.id}`,`${Z.direction==="row"?Z.left:Z.top}%`);}}I&&I(l,f);},onEnd:()=>{let y=xe(a,l,z),i=e.current;if(i){let{panes:h,splitters:v}=ge(y);for(let b of h)i.style.removeProperty(`--pane-left-${b.paneId}`),i.style.removeProperty(`--pane-top-${b.paneId}`),i.style.removeProperty(`--pane-width-${b.paneId}`),i.style.removeProperty(`--pane-height-${b.paneId}`);for(let b of v)i.style.removeProperty(`--splitter-pos-${b.id}`);}d(y),g&&g(),M&&M(l,z);}});},[e,t,n,s,o,r,a,l,d,p,g,k,I,M,u,T,x,R,w,P])}var un=({splitter:e,resizerSize:t,snapThreshold:n,containerRef:s})=>{let{layout:o,setLayout:r,classNames:a,locked:l}=ae(),[d,p]=useState(false),{currentNode:g,direction:x,left:R,top:w,width:P,height:k,parentLeft:I,parentTop:M,parentWidth:u,parentHeight:T}=e,N=x==="row",E=Ge({containerRef:s,isRow:N,direction:x,splitPercentage:g.splitPercentage,resizerSize:t,snapThreshold:n,layout:o,currentNode:g,onLayoutChange:r,onResizeStart:()=>p(true),onResizeEnd:()=>p(false),parentLeft:I,parentTop:M,parentWidth:u,parentHeight:T}),A=N?{position:"absolute",left:`calc(var(--splitter-pos-${e.id}, ${R}%) - ${t/2}px)`,top:`calc(${w}% + ${t/2}px)`,width:`${t}px`,height:`calc(${k}% - ${t}px)`,cursor:l?"default":"col-resize",pointerEvents:l?"none":"auto",zIndex:10,userSelect:"none",touchAction:"none",boxSizing:"border-box"}:{position:"absolute",left:`calc(${R}% + ${t/2}px)`,top:`calc(var(--splitter-pos-${e.id}, ${w}%) - ${t/2}px)`,width:`calc(${P}% - ${t}px)`,height:`${t}px`,cursor:l?"default":"row-resize",pointerEvents:l?"none":"auto",zIndex:10,userSelect:"none",touchAction:"none",boxSizing:"border-box"};return jsx("div",{className:a.resizer||"","data-direction":x,"data-resizing":d||void 0,style:A,onPointerDown:E,role:"separator","aria-valuenow":g.splitPercentage,"aria-valuemin":5,"aria-valuemax":95})},dn=_t.memo(({paneId:e,renderPane:t})=>jsx(Fragment,{children:t(e)}),(e,t)=>e.paneId===t.paneId&&e.renderPane===t.renderPane),pn=({tree:e,resizerSize:t=4,snapThreshold:n})=>{let{layout:s,renderPane:o,activeId:r,dismissIntentId:a,setContainerRef:l,fullscreenPaneId:d,snapThreshold:p,locked:g,classNames:x}=ae(),R=n!==void 0?n:p??8,w=e!==void 0?e:s,P=useRef(null),{panes:k,splitters:I}=useMemo(()=>w?ge(w):{panes:[],splitters:[]},[w]);if(!w)return null;let M=()=>jsxs(Fragment,{children:[k.map(u=>{let T=d===u.paneId;return jsx("div",{style:{position:"absolute",left:T?"0%":`var(--pane-left-${u.paneId}, ${u.left}%)`,top:T?"0%":`var(--pane-top-${u.paneId}, ${u.top}%)`,width:T?"100%":`var(--pane-width-${u.paneId}, ${u.width}%)`,height:T?"100%":`var(--pane-height-${u.paneId}, ${u.height}%)`,overflow:"hidden",zIndex:T?20:1,display:d&&!T?"none":"block",padding:T?"0px":`${t/2}px`,boxSizing:"border-box"},children:jsx(dn,{paneId:u.paneId,renderPane:o})},u.paneId)}),!d&&I.map(u=>jsx(un,{splitter:u,resizerSize:t,snapThreshold:R,containerRef:P},u.id))]});if(e===void 0){let u=r!==null&&r===a,T=E=>{l(E),P.current=E;},N=`${x.dashboard||""} ${u&&x.dashboardDismissActive||""} ${g&&x.dashboardLocked||""}`.trim();return jsxs("div",{ref:T,className:N,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden"},children:[M(),r!==null&&!g&&jsx(bt,{activeClassName:x.rootDropPreview??x.dropPreview})]})}return jsx("div",{ref:P,style:{position:"relative",width:"100%",height:"100%",overflow:"hidden"},children:M()})};var Ve=createContext(null);var Tn={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"}},Pn={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"}},xt=({id:e,position:t,activeClassName:n})=>{let{setNodeRef:s,isOver:o}=useDroppable({id:e});return jsxs(Fragment,{children:[jsx("div",{ref:s,style:Tn[t]}),o&&jsx("div",{className:n,style:Pn[t]})]})},Rn=({id:e,children:t,style:n,locked:s=false})=>{let o=useRef(null),{layout:r,activeId:a,classNames:l,fullscreenPaneId:d,onFullscreenChange:p,locked:g}=ae(),{removePane:x,updateTabMetadata:R,selectTab:w,removeTab:P}=ze(),k=useContext($e);if(!k)throw new Error("Pane must be used within a Zeugma provider");let{registerPortalTarget:I}=k,M=useMemo(()=>j(r,e),[r,e]),u=M?.id??e,T=M?.tabs??[e],N=M?.activeTabId??e,E=M?.tabsMetadata,A=E?.[e],J=M?.locked??false,q=s||J,W=g||q,ee=g||q,te=a!==null&&a!==e&&(!T.includes(a)||T.length>1)&&!ee,{attributes:ie,listeners:ne,setNodeRef:le}=useDraggable({id:e,disabled:W}),C=a!==null&&T.includes(a),O=d===e,$=useCallback(()=>jsx("div",{ref:o,id:`zeugma-tab-target-${N}`,className:"zeugma-tab-content-wrapper",style:{height:"100%",width:"100%"}}),[N]);useEffect(()=>{let h=o.current;return I(N,h),()=>{I(N,null);}},[N,I]);let z=useMemo(()=>({isDragging:C,isFullscreen:O,toggleFullscreen:()=>p?.(O?null:e),remove:()=>{O&&p?.(null),x(u);},metadata:A,updateMetadata:h=>{R(e,h);},locked:W,tabs:T,activeTabId:N,selectTab:h=>w(u,h),removeTab:h=>{O&&h===N&&p?.(null),P(h);},tabsMetadata:E,updateTabMetadata:(h,v)=>{R(h,v);},renderActiveTab:$}),[C,O,p,e,P,A,R,W,T,N,w,u,E,$]),y=useMemo(()=>W?{disabled:true}:{...ne,...ie},[ne,ie,W]),i=`${l.pane||""} ${q&&l.paneLocked||""}`.trim();return jsx(Ve.Provider,{value:y,children:jsxs("div",{ref:le,className:i,style:{position:"relative",width:"100%",height:"100%",...n},children:[t(z),te&&jsx("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:15,pointerEvents:"none"},children:["top","bottom","left","right"].map(h=>jsx(xt,{id:`drop-${h}-${e}`,position:h,activeClassName:l.dropPreview},h))}),a!==null&&a!==e&&ee&&jsx("div",{style:{position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:15,pointerEvents:"none"},children:jsx(xt,{id:`drop-locked-${e}`,position:"full",activeClassName:l.lockedPreview||""})})]})})};var Cn=({children:e,className:t,style:n})=>{let s=useContext(Ve);if(!s)throw new Error("<DragHandle> must be used inside a <Pane>");let{disabled:o,...r}=s;return jsx("div",{className:t,style:{cursor:o?"default":"grab",userSelect:o?"auto":"none",touchAction:o?"auto":"none",...n},...o?{}:r,children:e})};var Dt=createContext(void 0),In=()=>{let e=useContext(Dt);if(!e)throw new Error("useTabContext must be used within a Tab component");return e},Ct=({id:e,locked:t=false,children:n,className:s,style:o})=>{let{locked:r,classNames:a={},activeType:l}=ae(),{overTabId:d}=Ae(),p=useContext(Qe),g=t||r||(p?.locked??false),{attributes:x,listeners:R,setNodeRef:w,isDragging:P}=useDraggable({id:`tab-header-${e}`,disabled:g}),{setNodeRef:k,isOver:I}=useDroppable({id:`tab-drop-${e}`,disabled:g||l==="pane"}),M=ne=>{w(ne),k(ne);},u=I&&d===e,T=p?.tabs||[],N=T.indexOf(e),E=p?.activeTabId,J=N>0&&e!==E&&T[N-1]!==E?jsx("div",{className:a.tabSeparator}):null,q=p?p.activeTabId===e:false,W=p?.tabsMetadata?.[e],ee=useCallback(()=>{p?.selectTab(e);},[p,e]),te=useCallback(()=>{p?.removeTab(e);},[p,e]),ie=useMemo(()=>({tabId:e,isActive:q,isDragging:P,isOver:u,metadata:W,locked:g,selectTab:ee,removeTab:te}),[e,q,P,u,W,g,ee,te]);return jsx(Dt.Provider,{value:ie,children:jsxs("div",{ref:M,className:s,style:{display:"inline-flex",position:"relative",cursor:g?"default":"grab",...o},...g?{}:R,...g?{}:x,children:[J,n({isDragging:P,isOver:u})]})})};var Qe=createContext(void 0);var St=(e,t)=>typeof e=="function"?e(t):e,zn=({tabs:e,activeTabId:t,locked:n=false,tabsMetadata:s,selectTab:o,removeTab:r,renderTab:a,classNames:l,styles:d})=>{let{classNames:p={},activeType:g}=ae(),{overTabId:x,overTabPosition:R}=Ae(),w=useMemo(()=>({tabs:e,activeTabId:t,locked:n,tabsMetadata:s,selectTab:o,removeTab:r}),[e,t,n,s,o,r]),P=at(e,g,x,R);return jsx(Qe.Provider,{value:w,children:jsxs("div",{className:l?.container,style:{display:"flex",alignItems:"center",height:"100%",...d?.container},children:[e.map((k,I)=>{let M=s?.[k],u=St(l?.tab,k),T=St(d?.tab,k),N=I===P;return jsxs(_t.Fragment,{children:[N&&p.tabDropPreview&&jsx("div",{style:{position:"relative",height:"100%",width:0,zIndex:10},children:jsx("div",{className:p.tabDropPreview,style:{position:"absolute",top:0,bottom:0,transform:I===0?"none":"translateX(-50%)"}})}),jsx(Ct,{id:k,locked:n,className:u,style:T,children:({isDragging:E,isOver:A})=>a({tabId:k,activeTabId:t,isDragging:E,isOver:A,metadata:M,selectTab:o,removeTab:r})})]},k)}),P===e.length&&p.tabDropPreview&&jsx("div",{style:{position:"relative",height:"100%",width:0,zIndex:10},children:jsx("div",{className:p.tabDropPreview,style:{position:"absolute",top:0,bottom:0,transform:"translateX(-100%)"}})})]})})};export{It as DEFAULT_DRAG_ACTIVATION_DISTANCE,On as DEFAULT_RESIZER_SIZE,Lt as DEFAULT_SNAP_THRESHOLD,Cn as DragHandle,Rn as Pane,pn as PaneTree,$e as PortalRegistryContext,zn as Tabs,Gt as Zeugma,Ye as ZeugmaActionsContext,Je as ZeugmaDragContext,Xe as ZeugmaStateContext,ct as createDragSession,Ne as safeJsonStringify,Ge as useResizer,In as useTabContext,Mt as useZeugma,ze as useZeugmaActions,Zt as useZeugmaContext,Ae as useZeugmaDrag,ae as useZeugmaState};//# sourceMappingURL=index.js.map
|
|
8
7
|
//# sourceMappingURL=index.js.map
|