react-resizable-panels 4.15.1 → 4.15.2
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.
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Y=require("react/jsx-runtime"),b=require("react");function Qe(e){return(typeof e=="number"||typeof e=="string")&&e!==""}function Me(e){const t=b.useId();return Qe(e)?`${e}`:t}const re=typeof window<"u"?b.useLayoutEffect:b.useEffect;function ve(e){const t=b.useRef(e);return re(()=>{t.current=e},[e]),b.useCallback((...n)=>t.current?.(...n),[t])}function Be(...e){return ve(t=>{e.forEach(n=>{if(n)switch(typeof n){case"function":{n(t);break}case"object":{n.current=t;break}}})})}function He(e,t){const n=e?.["data-testid"];return Qe(n)?`${n}`:Qe(t)?`${t}`:void 0}function ct(e,t){return t?e*2+1:e+1}function An(e,t){return t?e*2-1:e}function It(e,t,n){const o=ct(e,n);return t===void 0?`${o} / -1`:`${o} / span ${An(t,n)}`}function Dn(e){return`${e*2} / span 1`}function $n({crossCount:e,crossSpan:t,crossStart:n,hasGutters:o}){const r=t===void 0?e:n+t;if(n===0&&r===e)return"1 / -1";let i=ct(n,o),s=ct(r-1,o)+1;return o&&(n>0&&i--,r<e&&s++),`${i} / ${s}`}function dt(e,t){return Number.isInteger(e)&&e>=1&&e<t}function F(e,t="Assertion error"){if(!e)throw Error(t)}const tn=b.createContext(null);function nn(){const e=b.useContext(tn);return F(e,"Grid Context not found; did you render a Cell or Gridline outside of a Grid?"),e}function on({children:e,className:t,column:n,columnSpan:o=1,elementRef:r,id:i,row:s,rowSpan:a=1,style:l,...u}){const c=Me(i),{gutters:d,registerCell:p}=nn(),g=b.useRef(null),m=Be(g,r);return re(()=>{const f=g.current;if(f!==null)return p({column:n,columnSpan:o,element:f,id:c,row:s,rowSpan:a})},[n,o,c,p,s,a]),Y.jsx("div",{...u,className:t,"data-cell":!0,"data-testid":He(u,i),id:c,ref:m,style:{overflow:"auto",...l,minHeight:0,minWidth:0,gridColumn:It(n,o,d.column),gridRow:It(s,a,d.row)},children:e})}on.displayName="Cell";let Ye;function rn(){return Ye===void 0&&(typeof matchMedia=="function"?Ye=!!matchMedia("(pointer:coarse)").matches:Ye=!1),Ye}function ut({expandHitTargets:e,axis:t,rect:n}){const o=e?rn()?t.resizeTargetMinimumSize.coarse:t.resizeTargetMinimumSize.fine:0;if(n.width<o){const r=o-n.width;n=new DOMRect(n.x-r/2,n.y,n.width+r,n.height)}if(n.height<o){const r=o-n.height;n=new DOMRect(n.x,n.y-r/2,n.width,n.height+r)}return n}function Rt({axis:e,cells:t,index:n,rect:o}){let r=[o];for(const i of t){const s=e==="column"?i.column:i.row,a=e==="column"?i.columnSpan:i.rowSpan;if(s>=n||s+a<=n)continue;const l=i.element.getBoundingClientRect(),u=e==="column"?l.top:l.left,c=e==="column"?l.bottom:l.right;c<=u||(r=r.flatMap(d=>{const p=e==="column"?d.top:d.left,g=e==="column"?d.bottom:d.right;if(u>=g||c<=p)return[d];const m=[],f=(y,S)=>{m.push(e==="column"?new DOMRect(d.x,y,d.width,S-y):new DOMRect(y,d.y,S-y,d.height))};return p<u&&f(p,u),g>c&&f(c,g),m}))}return r}function On({axis:e,cells:t,crossTrackCount:n,expandHitTargets:o,resizeAxis:r,axisSize:i,includeDisabled:s,separatorPlacements:a}){const{items:l,separators:u}=r,c=l.length;let d=-1,p=-1,g=0;if(l.forEach((x,z)=>{x.constraintProps.disabled||(g++,d===-1&&(d=z),p=z)}),!s&&g<2)return[];const m=x=>s||x>d&&x<=p,f=[],y=(x,z,h)=>({axis:r,axisSize:i,items:[l[x-1],l[x]],rect:z,separator:h}),S=(x,z)=>{let h;for(const I of t){const L=e==="column"?I.row:I.column,k=e==="column"?I.rowSpan:I.columnSpan;if(z==="start"?L===x:L+k-1===x){const A=I.element.getBoundingClientRect();if(z==="start"){const P=e==="column"?A.top:A.left;h=h===void 0?P:Math.min(h,P)}else{const P=e==="column"?A.bottom:A.right;h=h===void 0?P:Math.max(h,P)}}}return h},v=new Set;for(const x of u){const z=a.get(x);if(!z||z.index<1||z.index>=c||(v.add(z.index),!s&&(x.disabled||x.element.hasAttribute("aria-disabled")))||!m(z.index))continue;let h=x.element.getBoundingClientRect();const{crossSpan:I,crossStart:L}=z,k=I===void 0?n:L+I;let A=e==="column"?h.top:h.left,P=e==="column"?h.bottom:h.right;if(L>0){const N=S(L-1,"end");N!==void 0&&N<A&&(A=N)}if(k<n){const N=S(k,"start");N!==void 0&&N>P&&(P=N)}h=e==="column"?new DOMRect(h.x,A,h.width,P-A):new DOMRect(A,h.y,P-A,h.height),h=ut({expandHitTargets:o,axis:r,rect:h}),s?f.push(y(z.index,h,x)):Rt({axis:e,cells:t,index:z.index,rect:h}).forEach(N=>{f.push(y(z.index,N,x))})}const C=(x,z)=>{Rt({axis:e,cells:t,index:x,rect:ut({expandHitTargets:o,axis:r,rect:z})}).forEach(h=>{f.push(y(x,h))})},w=Array.from({length:n},()=>new Array(c));for(const x of t){const[z,h,I,L]=e==="column"?[x.column,x.columnSpan,x.row,x.rowSpan]:[x.row,x.rowSpan,x.column,x.columnSpan];for(let k=Math.max(0,I);k<Math.min(n,I+L);k++)for(let A=Math.max(0,z);A<Math.min(c,z+h);A++)w[k][A]??=x}const E=new Map,T=x=>{let z=E.get(x);if(!z){const h=x.element.getBoundingClientRect();z=e==="column"?{crossEnd:h.bottom,crossStart:h.top,end:h.right,start:h.left}:{crossEnd:h.right,crossStart:h.left,end:h.bottom,start:h.top},E.set(x,z)}return z},G=({crossEnd:x,crossStart:z,end:h,start:I})=>e==="column"?new DOMRect(I,z,h-I,x-z):new DOMRect(z,I,x-z,h-I);for(let x=1;x<c;x++){if(v.has(x)||!m(x))continue;let z;for(let h=0;h<n;h++){const I=w[h][x-1],L=w[h][x];let k;if((I||L)&&I!==L){const A=I?T(I):void 0,P=L?T(L):void 0,N=A?.end??P.start,j=P?.start??A.end,M=Math.max(A?.crossStart??-1/0,P?.crossStart??-1/0),D=Math.min(A?.crossEnd??1/0,P?.crossEnd??1/0);k={crossEnd:Math.max(M,D),crossStart:M,end:Math.max(N,j),start:Math.min(N,j)}}k?z=z?{crossEnd:Math.max(z.crossEnd,k.crossEnd),crossStart:Math.min(z.crossStart,k.crossStart),end:Math.max(z.end,k.end),start:Math.min(z.start,k.start)}:k:z&&(C(x,G(z)),z=void 0)}z&&C(x,G(z))}return f}function de(e){const t=parseFloat(e??"");return Number.isFinite(t)?t:0}function Gn({axis:e,element:t,gutterSizes:n,hasGutters:o,layout:r,trackIds:i}){const s=i.length,a=o?s*2-1:s,l=t.ownerDocument.defaultView?.getComputedStyle(t),u=e==="column"?l?.gridTemplateColumns:l?.gridTemplateRows;if(u){const f=u.trim().split(/\s+/);if(f.length===a&&f.every(y=>/^-?[\d.]+px$/.test(y))){const y=i.map((S,v)=>de(f[o?v*2:v]));return{availableSize:y.reduce((S,v)=>S+v,0),trackSizes:y}}}const c=e==="column"?t.offsetWidth:t.offsetHeight,d=e==="column"?de(l?.paddingLeft)+de(l?.paddingRight)+de(l?.borderLeftWidth)+de(l?.borderRightWidth):de(l?.paddingTop)+de(l?.paddingBottom)+de(l?.borderTopWidth)+de(l?.borderBottomWidth),p=de(e==="column"?l?.columnGap:l?.rowGap),g=n.reduce((f,y)=>f+y,0),m=Math.max(0,c-d-p*Math.max(0,a-1)-g);return{availableSize:m,trackSizes:i.map(f=>r&&r[f]!==void 0?r[f]/100*m:m/s)}}function sn(e){switch(typeof e){case"number":return[e,"px"];case"string":{const t=parseFloat(e);return e.endsWith("%")?[t,"%"]:e.endsWith("px")?[t,"px"]:e.endsWith("rem")?[t,"rem"]:e.endsWith("em")?[t,"em"]:e.endsWith("vh")?[t,"vh"]:e.endsWith("vw")?[t,"vw"]:[t,"%"]}}}class an{#e={};addListener(t,n){const o=this.#e[t];return o===void 0?this.#e[t]=[n]:o.includes(n)||o.push(n),()=>{this.removeListener(t,n)}}emit(t,n){const o=this.#e[t];if(o!==void 0){if(o.length===1){o[0].call(null,n);return}let r;const i=Array.from(o);for(let s=0;s<i.length;s++){const a=i[s];try{a.call(null,n)}catch(l){r??={error:l}}}if(r)throw r.error}}removeAllListeners(){this.#e={}}removeListener(t,n){const o=this.#e[t];if(o!==void 0){const r=o.indexOf(n);r>=0&&o.splice(r,1)}}}function Nn(e){const t=o=>{o.preventDefault(),o.stopPropagation(),n()},n=()=>{e.removeEventListener("click",t,!0)};e.addEventListener("click",t,!0),setTimeout(n,0)}let X={cursorFlags:0,state:"inactive"};const ft=new an;function se(){return X}function mt(e){return ft.addListener("change",e)}function jn(e,t=[],n,o=!1){const r=X,i={...X};i.cursorFlags=e,i.state==="active"&&(i.didPointerMove||=o,i.previews=t,n&&(i.previewLayoutMap=n)),X=i,ft.emit("change",{prev:r,next:i})}function me(e){const t=X;X=e,t.state==="active"&&e.state!=="active"&&t.didPointerMove&&(t.hitRegions.forEach(({separator:n})=>{n&&n.element.ownerDocument.activeElement===n.element&&n.element.blur()}),Nn(t.ownerDocument)),ft.emit("change",{prev:t,next:e})}function Fn(e){X.state!=="active"||!X.previews.some(t=>t.separator===e)||me({...X,previews:X.previews.map(t=>t.separator===e?{...t}:t)})}function _n(e){if(X.state==="inactive")return;const t=X.hitRegions.filter(o=>o.axis!==e),n=X.state==="active"&&X.previews.some(o=>o.axis===e);if(!(t.length===X.hitRegions.length&&!n))if(t.length===0)me({cursorFlags:0,state:"inactive"});else if(X.state==="active"){const o=new Map(X.initialLayoutMap),r=new Map(X.previewLayoutMap);o.delete(e),r.delete(e),me({...X,cursorFlags:0,hitRegions:t,initialLayoutMap:o,previewLayoutMap:r,previews:X.previews.filter(i=>i.axis!==e)})}else me({...X,hitRegions:t})}const Bn=e=>e,at=()=>{},cn=1,un=2,ln=4,dn=8,Et=3,Pt=12;let Xe;function Mt(){return Xe===void 0&&(Xe=!1,typeof window<"u"&&(window.navigator.userAgent.includes("Chrome")||window.navigator.userAgent.includes("Firefox"))&&(Xe=!0)),Xe}function Hn({cursorFlags:e,axes:t,state:n}){let o=0,r=0;switch(n){case"active":case"hover":t.forEach(i=>{if(!i.mutableState.disableCursor)switch(i.orientation){case"horizontal":{o++;break}case"vertical":{r++;break}}})}if(!(o===0&&r===0)){switch(n){case"active":{if(e&&Mt()){const i=(e&cn)!==0,s=(e&un)!==0,a=(e&ln)!==0,l=(e&dn)!==0;if(i)return a?"se-resize":l?"ne-resize":"e-resize";if(s)return a?"sw-resize":l?"nw-resize":"w-resize";if(a)return"s-resize";if(l)return"n-resize"}break}}return Mt()?o>0&&r>0?"move":o>0?"ew-resize":"ns-resize":o>0&&r>0?"grab":o>0?"col-resize":"row-resize"}}const kt=new WeakMap;function Tt(e){if(!e.defaultView||!e.adoptedStyleSheets)return;let{prevStyle:t,styleSheet:n}=kt.get(e)??{};n===void 0&&(n=new e.defaultView.CSSStyleSheet,e.adoptedStyleSheets&&(Object.isExtensible(e.adoptedStyleSheets)?e.adoptedStyleSheets.push(n):e.adoptedStyleSheets=[...e.adoptedStyleSheets,n]));let o=se();switch(o.state!=="inactive"&&o.ownerDocument!==e&&(o={cursorFlags:0,state:"inactive"}),o.state){case"active":case"hover":{const r=Hn({cursorFlags:o.cursorFlags,axes:o.hitRegions.map(s=>s.axis),state:o.state}),i=`*, *:hover {cursor: ${r} !important; }`;if(t===i)return;t=i,r?n.cssRules.length===0?n.insertRule(i):n.replaceSync(i):n.cssRules.length===1&&n.deleteRule(0);break}case"inactive":{t=void 0,n.cssRules.length===1&&n.deleteRule(0);break}}kt.set(e,{prevStyle:t,styleSheet:n})}function At(e){return e.state==="inactive"?void 0:e.ownerDocument}function qn({next:e,prev:t}){const n=At(t),o=At(e);n&&n!==o&&Tt(n),o&&Tt(o)}function qe({axis:e}){const{layoutStrategy:t,orientation:n,items:o}=e;return t?t.calculateAvailableSize():o.reduce((r,i)=>(r+=n==="horizontal"?i.element.offsetWidth:i.element.offsetHeight,r),0)}function pt(e,t){const n=e.compareDocumentPosition(t);return n&Node.DOCUMENT_POSITION_DISCONNECTED?0:n&Node.DOCUMENT_POSITION_FOLLOWING?-1:n&Node.DOCUMENT_POSITION_PRECEDING?1:0}function Ge(e,t){return Array.from(t).sort((n,o)=>{const r=e==="horizontal"?Vn(n,o):Un(n,o);return r!==0?r:pt(n.element,o.element)})}function Vn(e,t){const n=e.element.offsetLeft-t.element.offsetLeft;return n!==0?n:e.element.offsetWidth-t.element.offsetWidth}function Un(e,t){const n=e.element.offsetTop-t.element.offsetTop;return n!==0?n:e.element.offsetHeight-t.element.offsetHeight}function lt(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function fn(e,t){return{x:e.x>=t.left&&e.x<=t.right?0:Math.min(Math.abs(e.x-t.left),Math.abs(e.x-t.right)),y:e.y>=t.top&&e.y<=t.bottom?0:Math.min(Math.abs(e.y-t.top),Math.abs(e.y-t.bottom))}}function Wn({orientation:e,rects:t,targetRect:n}){const o={x:n.x+n.width/2,y:n.y+n.height/2};let r,i=Number.MAX_VALUE;for(const s of t){const{x:a,y:l}=fn(o,s),u=e==="horizontal"?a:l;u<i&&(i=u,r=s)}return F(r,"No rect found"),r}function ht({expandHitTargets:e=!0,axis:t,includeDisabled:n=!1}){if(t.layoutStrategy)return t.layoutStrategy.calculateHitRegions({expandHitTargets:e,axis:t,includeDisabled:n});const{element:o,orientation:r,items:i,separators:s}=t,a=Ge(r,Array.from(o.children).filter(lt).filter(S=>!S.hasAttribute("data-resize-preview")).map(S=>({element:S}))).map(({element:S})=>S),l=[];let u=!1,c=!1,d=-1,p,g=-1,m=0,f,y=[];{let S=-1;for(const v of a)v.hasAttribute("data-panel")&&(S++,v.hasAttribute("data-disabled")||(m++,d===-1&&(d=S),g=S))}if(n||m>1){let S=-1;for(const v of a)if(v.hasAttribute("data-panel")){S++;const C=i.find(w=>w.element===v);if(C){if(f){const w=f.element.getBoundingClientRect(),E=v.getBoundingClientRect();let T;if(c){const G=r==="horizontal"?new DOMRect(w.right,w.top,0,w.height):new DOMRect(w.left,w.bottom,w.width,0),x=r==="horizontal"?new DOMRect(E.left,E.top,0,E.height):new DOMRect(E.left,E.top,E.width,0);switch(y.length){case 0:{T=[G,x];break}case 1:{const z=y[0],h=Wn({orientation:r,rects:[w,E],targetRect:z.element.getBoundingClientRect()});T=[z,h===w?x:G];break}default:{T=y;break}}}else y.length?T=y:T=[r==="horizontal"?new DOMRect(w.right,E.top,E.left-w.right,E.height):new DOMRect(E.left,w.bottom,E.width,E.top-w.bottom)];for(const G of T){const x=ut({expandHitTargets:e,axis:t,rect:"width"in G?G:G.element.getBoundingClientRect()}),z=S<=d||S>g;(n||!u&&!z)&&(p??=qe({axis:t}),l.push({axis:t,axisSize:p,items:[f,C],separator:"width"in G?void 0:G,rect:x})),u=!1}}c=!1,f=C,y=[]}}else if(v.hasAttribute("data-separator")){v.ariaDisabled!==null&&(u=!0);const C=s.find(w=>w.element===v);C?y.push(C):(f=void 0,y=[])}else c=!0}return l}function Yn(e,t){const n=getComputedStyle(e),o=parseFloat(n.fontSize);return t*o}function Xn(e,t){const n=getComputedStyle(e.ownerDocument.documentElement),o=parseFloat(n.fontSize);return t*o}function Kn(e){return e/100*window.innerHeight}function Jn(e){return e/100*window.innerWidth}function Re({axisSize:e,itemElement:t,styleProp:n}){let o;const[r,i]=sn(n);switch(i){case"%":{o=r/100*e;break}case"px":{o=r;break}case"rem":{o=Xn(t,r);break}case"em":{o=Yn(t,r);break}case"vh":{o=Kn(r);break}case"vw":{o=Jn(r);break}}return o}function Q(e){return parseFloat(e.toFixed(3))}function gt(e,t=qe({axis:e})){const{items:n}=e;return t===0?n.map(o=>({groupResizeBehavior:o.constraintProps.groupResizeBehavior,collapsedSize:0,collapsible:o.constraintProps.collapsible===!0,defaultSize:void 0,disabled:o.constraintProps.disabled,minSize:0,maxSize:100,itemId:o.id})):n.map(o=>{const{element:r,constraintProps:i}=o;let s=0;if(i.collapsedSize!==void 0){const d=Re({axisSize:t,itemElement:r,styleProp:i.collapsedSize});s=Q(d/t*100)}let a;if(i.collapsedThreshold!==void 0){const d=Re({axisSize:t,itemElement:r,styleProp:i.collapsedThreshold});a=Q(d/t*100)}let l;if(i.defaultSize!==void 0){const d=Re({axisSize:t,itemElement:r,styleProp:i.defaultSize});l=Q(d/t*100)}let u=0;if(i.minSize!==void 0){const d=Re({axisSize:t,itemElement:r,styleProp:i.minSize});u=Q(d/t*100)}let c=100;if(i.maxSize!==void 0){const d=Re({axisSize:t,itemElement:r,styleProp:i.maxSize});c=Q(d/t*100)}return{groupResizeBehavior:i.groupResizeBehavior,collapsedSize:s,collapsedThreshold:a,collapsible:i.collapsible===!0,defaultSize:l,disabled:i.disabled,minSize:u,maxSize:c,itemId:o.id}})}let fe=new Map;const yt=new an;let Ne=0;const Ke=[];let Je;function tt(){Ne++}function St(){for(let e=0;e<Ke.length;e++)try{yt.emit("axisChange",Ke[e])}catch(t){Je??={error:t}}Ke.length=0}function nt(){if(Ne===1&&St(),Ne--,Ne===0&&Je){const{error:e}=Je;throw Je=void 0,e}}function Zn(e){fe=new Map(fe),fe.delete(e)}function Pe(e,t){for(const[n]of fe)if(n.id===e)return n}function ue(e,t){for(const[n,o]of fe)if(n.id===e)return o;if(t)throw Error(`Could not find data for Group with id ${e}`)}function ye(){return fe}function Fe(e,t){return yt.addListener("axisChange",n=>{n.axis.id===e&&t(n)})}function pe(e,t,n){const o=fe.get(e);fe=new Map(fe),fe.set(e,t);const r={axis:e,isUserInteraction:n?.isUserInteraction===!0,prev:o,next:t};Ne>0?Ke.push(r):yt.emit("axisChange",r)}function mn(e,{pointerId:t,pointerType:n}){return t===e.pointerId||n==="pen"&&e.pointerType==="pen"}function ot(e,t,n={}){return e.ownerDocument===t&&(n.pointerId===void 0||mn(e,n))}function Qn(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n])return!1;return!0}function W(e,t,n=0){return Math.abs(Q(e)-Q(t))<=n}function oe(e,t){return W(e,t)?0:e>t?1:-1}function Le({overrideDisabledItems:e,itemConstraints:t,prevSize:n,size:o}){const{collapsedSize:r=0,collapsedThreshold:i,collapsible:s,disabled:a,maxSize:l=100,minSize:u=0}=t;if(a&&!e)return n;if(oe(o,u)<0)if(s){const c=i??(u-r)/2,d=oe(n,r)<=0,p=d?r+c:u-c,g=oe(o,p);oe(o,r)<=0||g<0||i!==void 0&&d&&g===0?o=r:o=u}else o=u;return o=Math.min(l,o),o=Q(o),o}function _e({delta:e,initialLayout:t,itemConstraints:n,pivotIndices:o,prevLayout:r,trigger:i}){if(W(e,0))return t;const s=i==="imperative-api",a=n.map(({itemId:m})=>t[m]),l=n.map(({itemId:m})=>r[m]),u=[...a],[c,d]=o;F(c!=null,"Invalid first pivot index"),F(d!=null,"Invalid second pivot index");let p=0;switch(i){case"keyboard":{{const m=e<0?d:c,f=n[m];F(f,`Panel constraints not found for index ${m}`);const{collapsedSize:y=0,collapsible:S,minSize:v=0}=f;if(S){const C=a[m];if(F(C!=null,`Previous layout not found for panel index ${m}`),W(C,y)){const w=v-C;oe(w,Math.abs(e))>0&&(e=e<0?0-w:w)}}}{const m=e<0?c:d,f=n[m];F(f,`No panel constraints found for index ${m}`);const{collapsedSize:y=0,collapsible:S,minSize:v=0}=f;if(S){const C=a[m];if(F(C!=null,`Previous layout not found for panel index ${m}`),W(C,v)){const w=C-y;oe(w,Math.abs(e))>0&&(e=e<0?0-w:w)}}}break}default:{const m=e<0?d:c,f=n[m];F(f,`Panel constraints not found for index ${m}`);const y=a[m],{collapsedSize:S,collapsedThreshold:v,collapsible:C,minSize:w}=f;if(C&&oe(y,w)<0){const E=w-S,T=v??E/2,G=y+Math.abs(e);if(oe(G,w)<0){const x=oe(Math.abs(e),T),z=v===void 0&&e<0;x>0||x===0&&z?e=e<0?-E:E:e=0}}break}}{const m=e<0?1:-1;let f=e<0?d:c,y=0;for(;;){const v=a[f];F(v!=null,`Previous layout not found for panel index ${f}`);const w=Le({overrideDisabledItems:s,itemConstraints:n[f],prevSize:v,size:100})-v;if(y+=w,f+=m,f<0||f>=n.length)break}const S=Math.min(Math.abs(e),Math.abs(y));e=e<0?0-S:S}{let f=e<0?c:d;for(;f>=0&&f<n.length;){const y=Math.abs(e)-Math.abs(p),S=a[f];F(S!=null,`Previous layout not found for panel index ${f}`);const v=S-y,C=Le({overrideDisabledItems:s,itemConstraints:n[f],prevSize:S,size:v});if(!W(S,C)&&(p+=S-C,u[f]=C,p.toFixed(3).localeCompare(Math.abs(e).toFixed(3),void 0,{numeric:!0})>=0))break;e<0?f--:f++}}if(Qn(l,u))return r;{const m=e<0?d:c,f=a[m];F(f!=null,`Previous layout not found for panel index ${m}`);const y=f+p,S=Le({overrideDisabledItems:s,itemConstraints:n[m],prevSize:f,size:y});if(u[m]=S,!W(S,y)){let v=y-S,w=e<0?d:c;for(;w>=0&&w<n.length;){const E=u[w];F(E!=null,`Previous layout not found for panel index ${w}`);const T=E+v,G=Le({overrideDisabledItems:s,itemConstraints:n[w],prevSize:E,size:T});if(W(E,G)||(v-=G-E,u[w]=G),W(v,0))break;e>0?w--:w++}}}const g=Object.values(u).reduce((m,f)=>f+m,0);return W(g,100,.1)?u.reduce((m,f,y)=>(m[n[y].itemId]=f,m),{}):r}function ce(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(t[n]===void 0||oe(e[n],t[n])!==0)return!1;return!0}function vt(e){tt();try{eo(e)}finally{nt()}}function eo({commit:e,event:t,hitRegions:n,initialLayoutMap:o,mountedAxes:r,pointerDownAtPoint:i,prevCursorFlags:s}){let a=0;const l=se();let u=l.state==="active"?l.previews:[];const c=new Map(l.state==="active"?l.previewLayoutMap:void 0);n.forEach(g=>{const{axis:m,axisSize:f}=g,{orientation:y,items:S}=m;if(e&&m.resizePreviewMode!=="separator")return;const{disableCursor:v}=m.mutableState;let C=0;i?y==="horizontal"?C=(t.clientX-i.x)/f*100:C=(t.clientY-i.y)/f*100:y==="horizontal"?C=t.clientX<0?-100:100:C=t.clientY<0?-100:100;const w=o.get(m),E=r.get(m);if(!w||!E)return;const{defaultLayoutDeferred:T,derivedItemConstraints:G,axisSize:x,layout:z,separatorToItems:h}=E;if(G&&z&&h){const I=m.resizePreviewMode==="separator"?c.get(m)??z:z,L=_e({delta:C,initialLayout:w,itemConstraints:G,pivotIndices:g.items.map(k=>S.indexOf(k)),prevLayout:I,trigger:"mouse-or-touch"});if(m.resizePreviewMode==="separator"&&!e&&!ce(L,I)){c.set(m,L);let k=0;const A=S.map(P=>(k+=L[P.id]-w[P.id],k*(f/100)));u=u.map(P=>{if(P.axis!==m)return P;const N=A[P.itemIndex];return N===P.offset?P:{...P,offset:N}})}if(ce(L,I)&&C!==0&&!v)switch(y){case"horizontal":{a|=C<0?cn:un;break}case"vertical":{a|=C<0?ln:dn;break}}(m.resizePreviewMode!=="separator"||e)&&!ce(L,z)&&pe(g.axis,{defaultLayoutDeferred:T,derivedItemConstraints:G,axisSize:x,layout:L,requestedAxisSize:x,requestedLayout:L,separatorToItems:h})}});let d=0;t.movementX===0?d|=s&Et:d|=a&Et,t.movementY===0?d|=s&Pt:d|=a&Pt;const p=l.state==="active"&&(t.clientX!==l.pointerDownAtPoint.x||t.clientY!==l.pointerDownAtPoint.y);jn(d,u,c,p)}function pn(e,t){const n=se();if(n.state!=="active"||!ot(n,e,t))return;const o=ye();tt();try{vt({commit:!0,event:t,hitRegions:n.hitRegions,initialLayoutMap:n.initialLayoutMap,mountedAxes:o,pointerDownAtPoint:n.pointerDownAtPoint,prevCursorFlags:n.cursorFlags}),St(),me({cursorFlags:0,state:"inactive"}),n.hitRegions.length>0&&(t.preventDefault?.(),n.hitRegions.forEach(r=>{if(!o.has(r.axis))return;const i=ue(r.axis.id,!0);pe(r.axis,i,{isUserInteraction:!0})}))}finally{nt()}}function Dt(e){if(e.defaultPrevented)return;const{clientX:t,clientY:n,movementX:o,movementY:r}=e;pn(e.currentTarget,{clientX:t,clientY:n,movementX:o,movementY:r})}function to(e,t,n){let o,r={x:1/0,y:1/0};for(const i of t){const s=fn(n,i.rect);switch(e){case"horizontal":{(s.x<r.x||s.x===r.x&&s.y<=r.y)&&(o=i,r=s);break}case"vertical":{(s.y<r.y||s.y===r.y&&s.x<=r.x)&&(o=i,r=s);break}}}return o?{distance:r,hitRegion:o}:void 0}function no(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE}function oo(e,t){if(e===t)throw new Error("Cannot compare node with itself");const n={a:Gt(e),b:Gt(t)};let o;for(;n.a.at(-1)===n.b.at(-1);)o=n.a.pop(),n.b.pop();F(o,"Stacking order can only be calculated for elements with a common ancestor");const r={a:Ot($t(n.a)),b:Ot($t(n.b))};if(r.a===r.b){const i=o.childNodes,s={a:n.a.at(-1),b:n.b.at(-1)};let a=i.length;for(;a--;){const l=i[a];if(l===s.a)return 1;if(l===s.b)return-1}}return Math.sign(r.a-r.b)}const ro=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function io(e){const t=getComputedStyle(hn(e)??e).display;return t==="flex"||t==="inline-flex"}function so(e){const t=getComputedStyle(e);return!!(t.position==="fixed"||t.zIndex!=="auto"&&(t.position!=="static"||io(e))||+t.opacity<1||"transform"in t&&t.transform!=="none"||"webkitTransform"in t&&t.webkitTransform!=="none"||"mixBlendMode"in t&&t.mixBlendMode!=="normal"||"filter"in t&&t.filter!=="none"||"webkitFilter"in t&&t.webkitFilter!=="none"||"isolation"in t&&t.isolation==="isolate"||ro.test(t.willChange)||t.webkitOverflowScrolling==="touch")}function $t(e){let t=e.length;for(;t--;){const n=e[t];if(F(n,"Missing node"),so(n))return n}return null}function Ot(e){return e&&Number(getComputedStyle(e).zIndex)||0}function Gt(e){const t=[];for(;e;)t.push(e),e=hn(e);return t}function hn(e){const{parentNode:t}=e;return no(t)?t.host:t}function ao(e,t){return e.x<t.x+t.width&&e.x+e.width>t.x&&e.y<t.y+t.height&&e.y+e.height>t.y}function co(e){try{return e.matches(":modal")}catch{return!1}}function uo({axisElement:e,hitRegion:t,pointerEventTarget:n}){if(lt(n)){const o=n.closest("dialog");if(o&&!o.contains(e)&&co(o))return!1}if(!lt(n)||n.contains(e)||e.contains(n)||!n.isConnected||!e.isConnected)return!0;if(oo(n,e)>0){let o=n;for(;o;){if(o.contains(e))return!0;if(ao(o.getBoundingClientRect(),t))return!1;o=o.parentElement}}return!0}function bt(e,t,n){const o=[];return t.forEach((r,i)=>{if(i.disabled||i.element.ownerDocument!==n)return;const s=ht({axis:i}),a=to(i.orientation,s,{x:e.clientX,y:e.clientY});a&&a.distance.x<=0&&a.distance.y<=0&&uo({axisElement:i.element,hitRegion:a.hitRegion.rect,pointerEventTarget:e.target})&&o.push(a.hitRegion)}),o}function lo(e){let t=0,n=0;const o={};for(const i of e)if(i.defaultSize!==void 0){t++;const s=Q(i.defaultSize);n+=s,o[i.itemId]=s}else o[i.itemId]=void 0;const r=e.length-t;if(r!==0){const i=Q((100-n)/r);for(const s of e)s.defaultSize===void 0&&(o[s.itemId]=i)}return o}function fo(e,t){const n=e.map(r=>r.id),o=Object.keys(t);if(n.length!==o.length)return!1;for(const r of n)if(!o.includes(r))return!1;return!0}function gn({axis:e,itemConstraints:t}){const n=e.items.map(({id:r})=>r).join(","),o=e.mutableState.defaultLayout;return e.mutableState.layouts[n]??(o&&fo(e.items,o)?o:lo(t))}function yn(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const o in e)if(e[o]!==t[o])return!1;return!0}function mo(e,t){return e.length!==t.length?!1:e.every((n,o)=>yn(n,t[o]))}function be({layout:e,itemConstraints:t}){const n=t.map(({itemId:s})=>e[s]),o=[...n],r=o.reduce((s,a)=>s+a,0);if(Object.keys(e).length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${Object.values(e).map(s=>`${s}%`).join(", ")}`);if(!W(r,100)&&o.length>0)for(let s=0;s<t.length;s++){const a=o[s];F(a!=null,`No layout data found for index ${s}`);const l=100/r*a;o[s]=l}let i=0;for(let s=0;s<t.length;s++){const a=n[s];F(a!=null,`No layout data found for index ${s}`);const l=o[s];F(l!=null,`No layout data found for index ${s}`);const u=Le({overrideDisabledItems:!0,itemConstraints:t[s],prevSize:a,size:l});l!=u&&(i+=l-u,o[s]=u)}if(!W(i,0))for(let s=0;s<t.length;s++){const a=o[s];F(a!=null,`No layout data found for index ${s}`);const l=a+i,u=Le({overrideDisabledItems:!0,itemConstraints:t[s],prevSize:a,size:l});if(a!==u&&(i-=u-a,o[s]=u,W(i,0)))break}return o.reduce((s,a,l)=>(s[t[l].itemId]=a,s),{})}function Sn({itemIds:e,layout:t}){return be({layout:t,itemConstraints:e.map(n=>({collapsedSize:0,collapsible:!1,defaultSize:void 0,disabled:void 0,itemId:n,maxSize:100,minSize:0}))})}function po({axis:e,nextAxisSize:t,prevAxisSize:n,prevLayout:o}){if(n<=0||t<=0||n===t)return o;let r=0,i=0,s=!1;const a=new Map,l=[];for(const d of e.items){const p=o[d.id]??0;switch(d.constraintProps.groupResizeBehavior){case"preserve-pixel-size":{s=!0;const g=p/100*n,m=Q(g/t*100);a.set(d.id,m),r+=m;break}case"preserve-relative-size":default:{l.push(d.id),i+=p;break}}}if(!s||l.length===0)return o;const u=100-r,c={...o};if(a.forEach((d,p)=>{c[p]=d}),i>0)for(const d of l){const p=o[d]??0;c[d]=Q(p/i*u)}else{const d=Q(u/l.length);for(const p of l)c[p]=d}return c}function xt({axis:e,axisState:t}){const n=qe({axis:e});if(n===0)return;const o=gt(e,n);let r=t.requestedAxisSize,i=t.requestedLayout;t.defaultLayoutDeferred&&(r=n,i=Sn({itemIds:e.items.map(({id:u})=>u),layout:gn({axis:e,itemConstraints:o})}));const s=po({axis:e,nextAxisSize:n,prevAxisSize:r,prevLayout:i}),a=be({layout:s,itemConstraints:o});return{changed:t.defaultLayoutDeferred||!ce(t.layout,a)||!mo(t.derivedItemConstraints,o)||t.axisSize!==n,state:{defaultLayoutDeferred:!1,derivedItemConstraints:o,axisSize:n,layout:a,requestedAxisSize:r,requestedLayout:i,separatorToItems:t.separatorToItems}}}function wt({axisId:e,itemId:t}){const n=()=>{const u=ye();for(const[c,d]of u)if(c.id===e)return{axis:c,...d};throw Error(`Group ${e} not found`)},o=()=>{const u=n().derivedItemConstraints.find(c=>c.itemId===t);if(u!==void 0)return u;throw Error(`Panel constraints not found for Panel ${t}`)},r=()=>{const{axis:u,...c}=n(),d=xt({axis:u,axisState:c}),p=d?.state??c,g=p.derivedItemConstraints.find(f=>f.itemId===t);if(g===void 0)throw Error(`Panel constraints not found for Panel ${t}`);const m=p.layout[t];if(m===void 0)throw Error(`Layout not found for Panel ${t}`);return{axis:u,changed:d?.changed===!0,itemConstraints:g,itemSize:m,state:p}},i=()=>{const u=n().axis.items.find(c=>c.id===t);if(u!==void 0)return u;throw Error(`Layout not found for Panel ${t}`)},s=()=>{const u=n().layout[t];if(u!==void 0)return u;throw Error(`Layout not found for Panel ${t}`)},a=({allowPartialSize:u=!1,nextSize:c,items:d,prevLayout:p,derivedItemConstraints:g})=>{const m=p[t],f=d.findIndex(h=>h.id===t),y=f===0,S=f===d.length-1;if(S&&c<m&&(y||d.slice(0,f).every((h,I)=>{const L=g[I];return L?.collapsible&&W(L.collapsedSize,p[L.itemId])}))){const h=d.slice(0,f).reduce((I,L)=>I+p[L.id],0);return{...p,[t]:Q(100-h)}}const C=g[f],w=Le({overrideDisabledItems:!0,itemConstraints:C,prevSize:m,size:c}),E={...p};let T=w-m;for(const h of y?[1]:S?[-1]:[1,-1])for(let I=f+h;I>=0&&I<d.length&&!W(T,0);I+=h){const L=g[I],k=E[L.itemId];if(et(L,E)||(T>0?oe(k,L.minSize)<=0:oe(k,L.maxSize)>=0))continue;const A=T>0?Math.max(L.minSize,k-T):Math.min(L.maxSize,k-T);T-=k-A,E[L.itemId]=Q(A)}if(E[t]=Q(w-T),W(T,0)||u&&oe(E[t],C.minSize)>=0)return E;const G=(h,I,L)=>{const k=h==="after"?1:-1,A=N=>{for(let j=f+k;j>=0&&j<d.length;j+=k){const M=g[j];if(!et(M,I)&&N(M))return j}},P=A(({itemId:N,maxSize:j,minSize:M})=>L>0?oe(I[N],M)>0:oe(I[N],j)<0)??A(()=>!0)??f+k;return _e({delta:h==="after"?L:-L,initialLayout:I,itemConstraints:g,pivotIndices:h==="after"?[f,P]:[P,f],prevLayout:I,trigger:"imperative-api"})};if(y||S)return G(S?"before":"after",p,c-m);const x=h=>{const I=G(h,p,c-m),L=c-I[t];return W(L,0)?I:G(h==="after"?"before":"after",I,L)},z=x("after");if(Nt({itemConstraints:g,itemId:t,nextLayout:z,prevLayout:p})){const h=x("before");if(!Nt({itemConstraints:g,itemId:t,nextLayout:h,prevLayout:p}))return h}return z},l=(u,{axis:c,changed:d,itemSize:p,state:g},{allowPartialSize:m=!1}={})=>{if(u===p)return;const{derivedItemConstraints:f,axisSize:y,layout:S}=g,v=a({allowPartialSize:m,nextSize:u,items:c.items,prevLayout:S,derivedItemConstraints:f}),C=be({layout:v,itemConstraints:f});(d||!ce(S,C))&&pe(c,{...g,layout:C,requestedAxisSize:y,requestedLayout:C})};return{collapse:()=>{const u=r(),{collapsible:c,collapsedSize:d}=u.itemConstraints,{mutableValues:p}=i(),g=u.itemSize;c&&g!==d&&(p.expandToSize=g,l(d,u))},expand:()=>{const u=r(),{collapsible:c,collapsedSize:d,minSize:p}=u.itemConstraints,{mutableValues:g}=i(),m=u.itemSize;if(c&&m===d){let f=g.expandToSize??p;f===0&&(f=1),l(f,u,{allowPartialSize:!0})}},getSize:()=>{const{axis:u}=n(),c=s(),{element:d}=i(),p=u.layoutStrategy?u.layoutStrategy.getItemSizeInPixels(t):u.orientation==="horizontal"?d.offsetWidth:d.offsetHeight;return{asPercentage:c,inPixels:p}},isCollapsed:()=>{const{collapsible:u,collapsedSize:c}=o(),d=s();return u&&W(c,d)},resize:u=>{const c=r(),{axisSize:d}=c.state,{element:p}=i(),g=Re({axisSize:d,itemElement:p,styleProp:u}),m=Q(g/d*100);l(m,c)}}}function et({collapsedSize:e,collapsible:t,itemId:n},o){return t&&W(o[n],e)}function Nt({itemConstraints:e,itemId:t,nextLayout:n,prevLayout:o}){return e.some(r=>r.itemId!==t&&et(r,o)!==et(r,n))}function jt(e){if(e.defaultPrevented)return;const t=ye();bt(e,t,e.currentTarget).forEach(o=>{if(o.separator&&!o.separator.disableDoubleClick){const r=o.items.find(i=>i.constraintProps.defaultSize!==void 0);if(r){const i=r.constraintProps.defaultSize,s=wt({axisId:o.axis.id,itemId:r.id});s&&i!==void 0&&(s.resize(i),e.preventDefault())}}})}function vn(e){const t=ye();for(const[n]of t)if(n.separators.some(o=>o.element===e))return n;throw Error("Could not find parent Group for separator element")}function je({axisId:e}){const t=()=>{const n=ye();for(const[o,r]of n)if(o.id===e)return{axis:o,...r};throw Error(`Could not find Group with id "${e}"`)};return{getLayout(){const{defaultLayoutDeferred:n,layout:o}=t();return n?{}:o},setLayout(n){const{axis:o,...r}=t(),i=xt({axis:o,axisState:r}),s=i?.state??r,{defaultLayoutDeferred:a,derivedItemConstraints:l,axisSize:u,layout:c}=s,d=be({layout:n,itemConstraints:l});return a?c:((i?.changed||!ce(c,d))&&pe(o,{...s,layout:d,requestedAxisSize:u,requestedLayout:d}),d)}}}function Ce(e,t){const n=vn(e),o=ue(n.id,!0),r=n.separators.find(d=>d.element===e);F(r,"Matching separator not found");const i=o.separatorToItems.get(r);F(i,"Matching panels not found");const s=i.map(d=>n.items.indexOf(d)),l=je({axisId:n.id}).getLayout(),u=_e({delta:t,initialLayout:l,itemConstraints:o.derivedItemConstraints,pivotIndices:s,prevLayout:l,trigger:"keyboard"}),c=be({layout:u,itemConstraints:o.derivedItemConstraints});ce(l,c)||pe(n,{defaultLayoutDeferred:o.defaultLayoutDeferred,derivedItemConstraints:o.derivedItemConstraints,axisSize:o.axisSize,layout:c,requestedAxisSize:o.axisSize,requestedLayout:c,separatorToItems:o.separatorToItems},{isUserInteraction:!0})}function ho(e){return e.separators.filter(t=>!t.disabled)}function Ft(e){if(e.defaultPrevented)return;const t=e.currentTarget,n=vn(t);if(!(n.disabled||n.separators.find(r=>r.element===t)?.disabled))switch(e.key){case"ArrowDown":{e.preventDefault(),n.orientation==="vertical"&&Ce(t,5);break}case"ArrowLeft":{e.preventDefault(),n.orientation==="horizontal"&&Ce(t,-5);break}case"ArrowRight":{e.preventDefault(),n.orientation==="horizontal"&&Ce(t,5);break}case"ArrowUp":{e.preventDefault(),n.orientation==="vertical"&&Ce(t,-5);break}case"End":{e.preventDefault(),Ce(t,100);break}case"Enter":{e.preventDefault();const r=ue(n.id,!0),{derivedItemConstraints:i,layout:s,separatorToItems:a}=r,l=n.separators.find(p=>p.element===t);F(l,"Matching separator not found");const u=a.get(l);F(u,"Matching panels not found");const c=u[0],d=i.find(p=>p.itemId===c.id);if(F(d,"Panel metadata not found"),d.collapsible){const p=s[c.id],g=d.collapsedSize===p?n.mutableState.expandedItemSizes[c.id]??d.minSize:d.collapsedSize;Ce(t,g-p)}break}case"F6":{e.preventDefault();const r=ho(n).map(l=>l.element),i=r.findIndex(l=>l===e.currentTarget);F(i!==-1,"Index not found");const s=e.shiftKey?i>0?i-1:r.length-1:i+1<r.length?i+1:0;r[s].focus({preventScroll:!0});break}case"Home":{e.preventDefault(),Ce(t,-100);break}}}function ke(e,t){const n=se();if(n.state!=="active"||!ot(n,e,t))return!1;const o=ye();tt();try{n.previewLayoutMap.forEach((r,i)=>{const s=o.get(i);i.resizePreviewMode==="separator"&&s&&!ce(r,s.layout)&&pe(i,{...s,layout:r,requestedAxisSize:s.axisSize,requestedLayout:r})}),St(),me({cursorFlags:0,state:"inactive"}),n.hitRegions.forEach(r=>{if(!o.has(r.axis))return;const i=ue(r.axis.id,!0);pe(r.axis,i,{isUserInteraction:!0})})}finally{nt()}return!0}function _t(e){const t=se();if(t.state!=="active")return;const n=t.hitRegions.flatMap(({separator:o})=>o?[o.element]:[]);!n.some(o=>o===e.target)||n.some(o=>o.hasPointerCapture?.(e.pointerId))||ke(e.currentTarget,e)}function Bt(e){ke(e.currentTarget,e)}function go(e,t){const{element:n,orientation:o,items:r}=e,i=n.getBoundingClientRect(),s=o==="horizontal";return ht({expandHitTargets:!1,axis:e,includeDisabled:!0}).map(({items:l,rect:u,separator:c},d)=>{const p=r.indexOf(l[0]),g=s?u.left+u.width/2:u.top+u.height/2;return{active:t.some(f=>{if(f.axis!==e||f.items[0]!==l[0])return!1;if(c||f.separator)return f.separator===c;const y=s?f.rect.left+f.rect.width/2:f.rect.top+f.rect.height/2;return W(g,y)}),axis:e,key:c?`separator-${c.id}`:`panel-${l[0].id}-${d}`,offset:0,itemIndex:p,rect:new DOMRect((s&&!c?g:u.left)-i.left-n.clientLeft+n.scrollLeft,(!s&&!c?g:u.top)-i.top-n.clientTop+n.scrollTop,s&&!c?0:u.width,!s&&!c?0:u.height),separator:c}})}function Ht(e){if(e.defaultPrevented)return;if(e.pointerType==="mouse"&&e.button>0)return;const t=se();if(t.state==="active"){mn(t,e)&&ke(t.ownerDocument,t);return}const n=ye(),o=bt(e,n,e.currentTarget);if(o.length===0)return;const r=new Map;let i=!1;o.forEach(a=>{a.separator&&(i||(i=!0,a.separator.element.focus({focusVisible:!1,preventScroll:!0})));const l=n.get(a.axis);l&&r.set(a.axis,l.layout)});const s=Array.from(r.keys()).flatMap(a=>a.resizePreviewMode==="separator"?go(a,o):[]);me({cursorFlags:0,didPointerMove:!1,hitRegions:o,initialLayoutMap:r,ownerDocument:e.currentTarget,pointerDownAtPoint:{x:e.clientX,y:e.clientY},pointerId:e.pointerId,pointerType:e.pointerType,previewLayoutMap:new Map(r),previews:s,state:"active"}),e.preventDefault()}function qt(e){const t=e.currentTarget,n=ye(),o=se();switch(o.state){case"active":{if(!ot(o,t,e))return;vt({commit:!1,event:e,hitRegions:o.hitRegions,initialLayoutMap:o.initialLayoutMap,mountedAxes:n,prevCursorFlags:o.cursorFlags})}}}function Vt(e){if(e.defaultPrevented)return;const t=e.currentTarget,n=se(),o=ye();switch(n.state){case"active":{if(!ot(n,t,e))return;if(e.buttons===0){ke(t,e);return}for(const r of n.hitRegions)if(r.separator){const{element:i}=r.separator;i.isConnected&&!i.hasPointerCapture?.(e.pointerId)&&i.setPointerCapture?.(e.pointerId)}vt({commit:!1,event:e,hitRegions:n.hitRegions,initialLayoutMap:n.initialLayoutMap,mountedAxes:o,pointerDownAtPoint:n.pointerDownAtPoint,prevCursorFlags:n.cursorFlags});break}default:{const r=bt(e,o,t);r.length===0?n.state!=="inactive"&&me({cursorFlags:0,state:"inactive"}):me({cursorFlags:0,hitRegions:r,ownerDocument:t,state:"hover"});break}}}function Ut(e){if(e.relatedTarget instanceof HTMLIFrameElement){const t=se();switch(t.state){case"hover":t.ownerDocument===e.currentTarget&&me({cursorFlags:0,state:"inactive"})}}}function Wt(e){e.defaultPrevented||e.pointerType==="mouse"&&e.button>0||pn(e.currentTarget,e)}function Yt(e){e.target===e.currentTarget&&ke(e.currentTarget.document)}function Xt(e){ke(e.currentTarget.document)}function yo(e,t,n){if(!n[0])return;const r=e.items.find(u=>u.element===t);if(!r||!r.onResize)return;const i=qe({axis:e}),s=e.orientation==="horizontal"?r.element.offsetWidth:r.element.offsetHeight,a=r.mutableValues.prevSize,l={asPercentage:Q(s/i*100),inPixels:s};r.mutableValues.prevSize=l,r.onResize(l,r.id,a)}const Ie=new Map;let Kt=!1;function bn(e){let t=!0;F(e.element.ownerDocument.defaultView,"Cannot register an unmounted Group");const n=e.element.ownerDocument.defaultView.ResizeObserver,o=new Set,r=new Set,i=new n(m=>{let f;tt();try{for(const y of m){const{borderBoxSize:S,target:v}=y;if(v===e.element){if(t){const C=ue(e.id);if(!C)break;const w=xt({axis:e,axisState:C});if(!w)break;if(!w.changed)continue;pe(e,w.state)}}else try{yo(e,v,S)}catch(C){f??={error:C}}}}finally{nt()}if(f)throw f.error});i.observe(e.element),e.items.forEach(m=>{F(!o.has(m.id),`Panel ids must be unique; id "${m.id}" was used more than once`),o.add(m.id),m.onResize&&i.observe(m.element)});const s=qe({axis:e}),a=gt(e,s),l=gn({axis:e,itemConstraints:a}),u=be({layout:l,itemConstraints:a}),c=e.element.ownerDocument,d=c.defaultView;Ie.set(c,(Ie.get(c)??0)+1);const p=new Map;return ht({axis:e,includeDisabled:!0}).forEach(m=>{m.separator&&p.set(m.separator,m.items)}),pe(e,{defaultLayoutDeferred:s===0,derivedItemConstraints:a,axisSize:s,layout:u,requestedAxisSize:s,requestedLayout:Sn({itemIds:e.items.map(({id:m})=>m),layout:l}),separatorToItems:p}),e.separators.forEach(m=>{F(!r.has(m.id),`Separator ids must be unique; id "${m.id}" was used more than once`),r.add(m.id),m.element.addEventListener("keydown",Ft)}),Kt||(Kt=!0,mt(qn)),Ie.get(c)===1&&(c.addEventListener("contextmenu",Dt,!0),c.addEventListener("dblclick",jt,!0),c.addEventListener("lostpointercapture",_t,!0),c.addEventListener("pointercancel",Bt,!0),c.addEventListener("pointerdown",Ht,!0),c.addEventListener("pointerleave",qt),c.addEventListener("pointermove",Vt),c.addEventListener("pointerout",Ut),c.addEventListener("pointerup",Wt,!0),d?.addEventListener("blur",Yt),d?.addEventListener("pagehide",Xt)),function(){t=!1,Ie.set(c,Math.max(0,(Ie.get(c)??0)-1)),Zn(e),_n(e),e.separators.forEach(f=>{f.element.removeEventListener("keydown",Ft)}),Ie.get(c)||(c.removeEventListener("contextmenu",Dt,!0),c.removeEventListener("dblclick",jt,!0),c.removeEventListener("lostpointercapture",_t,!0),c.removeEventListener("pointercancel",Bt,!0),c.removeEventListener("pointerdown",Ht,!0),c.removeEventListener("pointerleave",qt),c.removeEventListener("pointermove",Vt),c.removeEventListener("pointerout",Ut),c.removeEventListener("pointerup",Wt,!0),d?.removeEventListener("blur",Yt),d?.removeEventListener("pagehide",Xt)),i.disconnect()}}function xn({derivedItemConstraints:e,axis:t,layout:n,prevLayout:o,requestedLayout:r}){const i=t.items.map(({id:s})=>s).join(",");t.mutableState.layouts[i]=r,o&&e.forEach(s=>{if(s.collapsible){const a=W(s.collapsedSize,n[s.itemId]),l=W(s.collapsedSize,o[s.itemId]);a&&!l&&(t.mutableState.expandedItemSizes[s.itemId]=o[s.itemId])}})}function wn(){const[e,t]=b.useState({}),n=b.useCallback(()=>t({}),[]);return[e,n]}function rt(e){const t=b.useRef({...e});return re(()=>{for(const n in e)t.current[n]=e[n]},[e]),t.current}const zt=b.createContext(null),zn=b.createContext(null);function So({layout:e,itemConstraints:t,itemId:n,itemIndex:o}){let r,i;const s=e[n],a=t.find(l=>l.itemId===n);if(a){const l=a.maxSize,u=a.collapsible?a.collapsedSize:a.minSize,c=[o,o+1];i=be({layout:_e({delta:u-s,initialLayout:e,itemConstraints:t,pivotIndices:c,prevLayout:e}),itemConstraints:t})[n],r=be({layout:_e({delta:l-s,initialLayout:e,itemConstraints:t,pivotIndices:c,prevLayout:e}),itemConstraints:t})[n]}return{valueControls:n,valueMax:r,valueMin:i,valueNow:s}}function Cn({attributes:e,axisId:t,axisOrientation:n,children:o,className:r,"data-testid":i,disableCursor:s,disabled:a,disableDoubleClick:l,elementRef:u,id:c,isSharedHitRegion:d,preview:p,registerSeparator:g,requiredStyle:m,style:f,styleDefaults:y,tabIndex:S=0,updateSeparatorProps:v}){const C=rt({disabled:a,disableDoubleClick:l,children:o,className:r,preview:p,style:f}),[w,E]=b.useState({}),[T,G]=b.useState("inactive"),[x,z]=b.useState(!1),h=b.useRef(null),I=b.useRef(null),L=Be(h,u),k=n==="horizontal"?"vertical":"horizontal";re(()=>{const N=h.current;if(N!==null){const j={disabled:C.disabled,disableDoubleClick:C.disableDoubleClick,element:N,id:c,get children(){return C.children},get className(){return C.className},get preview(){return C.preview},get style(){return C.style}};I.current=j;const M=g(j),D=mt(V=>{G(V.next.state!=="inactive"&&V.next.hitRegions.some(U=>U.separator===j||(d?.(U)??!1))?V.next.state:"inactive")}),q=Fe(t,V=>{const{derivedItemConstraints:U,layout:le,separatorToItems:Se}=V.next,xe=Se.get(j);if(xe){const we=xe[0],Te=U.findIndex(R=>R.itemId===we.id),{layoutStrategy:ee}=V.axis;E({...So({layout:le,itemConstraints:U,itemId:we.id,itemIndex:Te}),...ee?.getItemAriaControls&&{valueControls:ee.getItemAriaControls(we.id)}})}});return()=>{I.current=null,D(),q(),M()}}},[t,c,d,g,C]),re(()=>{const N=I.current;N&&Fn(N)},[p]),b.useEffect(()=>{v(c,{disabled:a,disableDoubleClick:l})},[a,l,c,v]);let A;a&&!s&&(A="not-allowed");let P;if(a)P="disabled";else switch(T){case"active":{P="active";break}default:x?P="focus":P=T}return Y.jsx("div",{...e,"aria-controls":w.valueControls,"aria-disabled":a||void 0,"aria-orientation":k,"aria-valuemax":w.valueMax,"aria-valuemin":w.valueMin,"aria-valuenow":w.valueNow,children:o,className:r,"data-separator":P,"data-testid":i,id:c,onBlur:()=>z(!1),onFocus:()=>z(!0),ref:L,role:"separator",style:{...y,cursor:A,...f,...m,touchAction:"none"},tabIndex:a?void 0:S})}function Jt({axis:e,children:t,className:n,crossSpan:o,crossStart:r,disabled:i,elementRef:s,index:a,style:l}){const u=Me(void 0),{getDisableCursor:c,getResizeAxisId:d,gutters:p,registerSeparator:g,separatorPlacements:m,trackCounts:f,updateSeparatorProps:y}=nn(),S=d(e),v=e==="column"?"row":"column",C=f[v],w=!!i||!dt(a,f[e]);let E=!0;for(const h of m.values())if(h.axis===e&&h.index===a&&!h.disabled&&h.crossStart<r){E=!1;break}const T=b.useCallback(h=>h.axis.id===S&&h.axis.items.indexOf(h.items[1])===a,[S,a]),G=b.useCallback(h=>g({axis:e,crossSpan:o,crossStart:r,disabled:!!i,index:a},h),[e,o,r,i,a,g]),x=Dn(a),z=$n({crossCount:C,crossSpan:o,crossStart:r,hasGutters:p[v]});return Y.jsx(Cn,{axisId:S,axisOrientation:e==="column"?"horizontal":"vertical",className:n,disableCursor:c(),disabled:w,disableDoubleClick:void 0,elementRef:s,id:u,isSharedHitRegion:T,registerSeparator:G,requiredStyle:{gridColumn:e==="column"?x:z,gridRow:e==="row"?x:z},style:l,tabIndex:E?0:-1,updateSeparatorProps:y,children:t})}function Ct(e){const{children:t,className:n,disabled:o,elementRef:r,style:i}=e;return e.type==="column"?Y.jsx(Jt,{axis:"column",className:n,crossSpan:e.rowSpan,crossStart:e.row??0,disabled:o,elementRef:r,index:e.column,style:i,children:t}):Y.jsx(Jt,{axis:"row",className:n,crossSpan:e.columnSpan,crossStart:e.column??0,disabled:o,elementRef:r,index:e.row,style:i,children:t})}Ct.displayName="Gridline";const Ee=["column","row"],Zt={columns:{},rows:{}};function Ln({children:e,className:t,columns:n,defaultLayout:o,disableCursor:r,disabled:i,elementRef:s,gridRef:a,id:l,onLayoutChange:u,onLayoutChanged:c,resizeTargetMinimumSize:d={coarse:20,fine:10},rows:p,style:g,...m}){const f=Me(l),y=b.useCallback(R=>R==="column"?`${f}:columns`:`${f}:rows`,[f]),S=Qt(n,"columns"),v=Qt(p,"rows"),C=R=>R==="column"?S:v,w=b.useRef({onLayoutChange:Zt,onLayoutChanged:Zt}),E=ve(R=>{en(w.current.onLayoutChange,R)||(w.current.onLayoutChange=R,u?.(R))}),T=ve((R,$,B)=>{en(w.current.onLayoutChanged,R)||(w.current.onLayoutChanged=R,c?.(R,{isUserInteraction:$,requestedLayout:B}))}),G=b.useRef(null),x=Be(G,s),[z,h]=wn(),I=b.useRef({cells:[],column:{expandedItemSizes:{},layouts:{}},loggedErrors:new Set,row:{expandedItemSizes:{},layouts:{}},separators:new Map}),L={column:!1,row:!1};for(const R of I.current.separators.values())L[R.axis]=!0;In(e,L);const k=rt({defaultLayout:o,disableCursor:r,resizeTargetMinimumSize:d}),A=ve(()=>!!k.disableCursor),P=b.useCallback(R=>{const $=I.current;return $.cells=[...$.cells,R],h(),()=>{$.cells=$.cells.filter(B=>B!==R),h()}},[h]),N=b.useCallback((R,$)=>{const B=I.current;return B.separators=new Map(B.separators),B.separators.set($,R),h(),()=>{B.separators=new Map(B.separators),B.separators.delete($),h()}},[h]),j=b.useCallback((R,{disabled:$,disableDoubleClick:B})=>{for(const _ of I.current.separators.keys())_.id===R&&(_.disabled=$,_.disableDoubleClick=B)},[]),M=I.current.separators,D=b.useMemo(()=>({getDisableCursor:A,getResizeAxisId:y,gutters:{column:L.column,row:L.row},id:f,registerCell:P,registerSeparator:N,separatorPlacements:M,trackCounts:{column:S.length,row:v.length},updateSeparatorProps:j}),[S.length,A,y,L.column,L.row,f,P,N,v.length,M,j]),q=b.useRef([]);re(()=>{const R=G.current;if(R===null)return;const $=I.current,B=bo({cells:$.cells,separatorPlacements:$.separators,trackCounts:{column:S.length,row:v.length}});B.forEach(O=>{$.loggedErrors.has(O)||console.error(O)}),$.loggedErrors=new Set(B);const _=O=>Array.from($.separators.entries()).filter(([,J])=>J.axis===O).sort(([,J],[,he])=>J.index-he.index).map(([J])=>J),H=O=>{const J=O==="column"?S:v,he=O==="column"?v:S,ge=J.map(te=>te.id),Ve=y(O),Ue=_(O),ze=Ue.length>0,We=J.map(({id:te,...ie},ne)=>({element:R,id:ge[ne],idIsStable:!0,mutableValues:{expandToSize:void 0,prevSize:void 0},onResize:void 0,constraintProps:ie})),De=()=>{const te=[];if(ze){for(const[ie,ne]of $.separators)if(ne.axis===O&&dt(ne.index,J.length)){const Oe=ie.element.getBoundingClientRect();te[ne.index]=Math.max(te[ne.index]??0,O==="column"?Oe.width:Oe.height)}}return Gn({axis:O,element:R,gutterSizes:te.filter(ie=>ie!==void 0),hasGutters:ze,layout:ue(Ve)?.layout,trackIds:ge})};let $e;const st=k.defaultLayout?.[O==="column"?"columns":"rows"];if(st!==void 0&&Object.keys(st).length===ge.length){$e={};for(const te of ge){const ie=st[te];ie!==void 0&&($e[te]=ie)}}return{disabled:!!i,element:R,id:Ve,layoutStrategy:{getItemAriaControls:te=>{const ie=ge.indexOf(te);return $.cells.filter(ne=>{const Oe=O==="column"?ne.column:ne.row,Tn=O==="column"?ne.columnSpan:ne.rowSpan;return Oe<=ie&&ie<Oe+Tn}).map(ne=>ne.element.id).filter(Boolean).join(" ")||void 0},calculateAvailableSize:()=>De().availableSize,calculateHitRegions:({expandHitTargets:te,axis:ie,includeDisabled:ne})=>On({axis:O,cells:$.cells,crossTrackCount:he.length,expandHitTargets:te,resizeAxis:ie,axisSize:De().availableSize,includeDisabled:ne,separatorPlacements:$.separators}),getItemSizeInPixels:te=>De().trackSizes[ge.indexOf(te)]??0},mutableState:{defaultLayout:$e,disableCursor:!!k.disableCursor,expandedItemSizes:$[O].expandedItemSizes,layouts:$[O].layouts},orientation:O==="column"?"horizontal":"vertical",items:We,resizePreviewMode:"panel",get resizeTargetMinimumSize(){return k.resizeTargetMinimumSize},separators:Ue}},Z=Ee.map(H);q.current=Z;const K=Z.map(O=>bn(O)),ae=()=>{const[O,J]=Z.map(he=>ue(he.id));if(!(!O||!J||O.defaultLayoutDeferred||J.defaultLayoutDeferred))return{layout:{columns:O.layout,rows:J.layout},requestedLayout:{columns:O.requestedLayout,rows:J.requestedLayout}}};{const O=ae();if(O)try{try{E(O.layout)}finally{T(O.layout,!1,O.requestedLayout)}}catch(J){throw q.current=[],K.forEach(he=>he()),J}}const Ae=Z.map(O=>Fe(O.id,J=>{const{defaultLayoutDeferred:he,derivedItemConstraints:ge,layout:Ve,requestedLayout:Ue}=J.next;if(he||ge.length===0)return;xn({derivedItemConstraints:ge,axis:O,layout:Ve,prevLayout:J.prev?.layout,requestedLayout:Ue});const ze=ae();if(ze){const We=se(),De=We.state!=="active"||!We.hitRegions.some($e=>Z.includes($e.axis));try{E(ze.layout)}finally{De&&T(ze.layout,J.isUserInteraction,ze.requestedLayout)}}}));return()=>{q.current=[],K.forEach(O=>O()),Ae.forEach(O=>O())}},[S,i,y,f,T,E,v,z,k]),b.useEffect(()=>{q.current.forEach(R=>{R.mutableState.defaultLayout=o?.[R.orientation==="horizontal"?"columns":"rows"],R.mutableState.disableCursor=!!r})});const V=b.useMemo(()=>{const R=()=>{const[_,H]=Ee.map(y);return!Pe(_)||!Pe(H)?{columns:{},rows:{}}:{columns:je({axisId:_}).getLayout(),rows:je({axisId:H}).getLayout()}},$=_=>_.map(H=>`"${H}"`).join(", "),B=(_,H)=>{const Z=y(_),K=()=>{const ae=Pe(Z);return F(ae,`Grid "${f}" has not been mounted`),F(ae.items.some(Ae=>Ae.id===H),`Grid "${f}" no longer contains a ${_} with id "${H}"; ${_} ids are ${$(ae.items.map(Ae=>Ae.id))}`),wt({axisId:Z,itemId:H})};return{collapse:()=>K().collapse(),expand:()=>K().expand(),getSize:()=>K().getSize(),isCollapsed:()=>K().isCollapsed(),resize:ae=>K().resize(ae)}};return{getLayout:R,getTrackById:(_,H)=>{const Z=_==="column"?S:v,K=`${H}`;return F(Z.some(ae=>ae.id===K),`Grid "${f}" does not contain a ${_} with id "${K}"; ${_} ids are ${$(Z.map(ae=>ae.id))}`),B(_,K)},getTrackByIndex:(_,H)=>{const Z=_==="column"?S:v,K=Number.isInteger(H)?Z[H]:void 0;return F(K,`Grid "${f}" does not contain a ${_} at index ${H}; it has ${Z.length} ${_}s`),B(_,K.id)},setLayout:_=>(Ee.forEach(H=>{const Z=_[H==="column"?"columns":"rows"],K=y(H);Z&&Pe(K)&&je({axisId:K}).setLayout(Z)}),R())}},[S,y,f,v]);b.useImperativeHandle(a,()=>V,[V]);const U=b.useRef(V);re(()=>{U.current=V});const le=b.useMemo(()=>({getLayout:()=>U.current.getLayout(),getTrackById:(R,$)=>U.current.getTrackById(R,$),getTrackByIndex:(R,$)=>U.current.getTrackByIndex(R,$),id:f,setLayout:R=>U.current.setLayout(R)}),[f]),Se=()=>Ee.map(R=>{const $=ue(y(R)),B=C(R);return($&&!$.defaultLayoutDeferred?B.map(H=>`minmax(0, ${$.layout[H.id]??1}fr)`):vo(B,o?.[R==="column"?"columns":"rows"])).join(L[R]?" auto ":" ")}).join("|"),xe=b.useCallback(R=>{const $=Ee.map(B=>Fe(y(B),R));return()=>$.forEach(B=>B())},[y]),we=b.useSyncExternalStore(xe,Se,Se),[Te,ee]=we.split("|");return Y.jsx(tn.Provider,{value:D,children:Y.jsx("div",{...m,className:t,"data-grid":!0,"data-testid":He(m,l),id:f,ref:x,style:{height:"100%",width:"100%",overflow:"hidden",...g,display:"grid",gridTemplateColumns:Te,gridTemplateRows:ee,touchAction:"none"},children:Y.jsx(zt.Provider,{value:null,children:Y.jsx(zn.Provider,{value:le,children:e})})})})}Ln.displayName="Grid";function Qt(e,t){const n=JSON.stringify(e);return b.useMemo(()=>{const o=typeof e=="number"?Array.from({length:e},(r,i)=>({id:`${i}`})):e.map((r,i)=>({...r,id:`${r.id??i}`}));return F(o.length>0,`Grid must have at least one track; "${t}" is ${n}`),o},[n])}function In(e,t){b.Children.forEach(e,n=>{if(b.isValidElement(n))if(n.type===Ct){const{type:o}=n.props;o==="column"?t.column=!0:o==="row"&&(t.row=!0)}else typeof n.type=="symbol"&&n.props!==null&&typeof n.props=="object"&&"children"in n.props&&In(n.props.children,t)})}function vo(e,t){if(t)return e.map(i=>`minmax(0, ${t[i.id]??1}fr)`);const n=e.map(i=>i.defaultSize===void 0?void 0:sn(i.defaultSize));let o=100,r=0;return n.forEach(i=>{i===void 0?r++:i[1]==="%"&&(o-=i[0])}),n.map(i=>{if(i===void 0)return`minmax(0, ${Math.max(0,o)/Math.max(1,r)}fr)`;const[s,a]=i;return a==="%"?`minmax(0, ${s}fr)`:`${s}${a}`})}function bo({cells:e,separatorPlacements:t,trackCounts:n}){const o=[];for(const a of e)Ee.forEach(l=>{const[u,c]=l==="column"?[a.column,a.columnSpan]:[a.row,a.rowSpan],d=n[l];(!Number.isInteger(u)||!Number.isInteger(c)||u<0||c<1||u+c>d)&&o.push(`Invalid Cell ${l} placement (${l}: ${u}, ${l}Span: ${c}); Grid has ${d} ${l}s`)});const r=({axis:a,crossSpan:l,crossStart:u,disabled:c,index:d})=>{const p=a==="column"?"row":"column";let g=`type="${a}" ${a}={${d}}`;return(u!==0||l!==void 0)&&(g+=` ${p}={${u}}`),l!==void 0&&(g+=` ${p}Span={${l}}`),c&&(g+=" disabled"),`<Gridline ${g} />`},i=Array.from(t.values()).filter(a=>{const{axis:l,crossSpan:u,crossStart:c,index:d}=a,p=l==="column"?"row":"column",g=n[l],m=n[p];let f=!0;return dt(d,g)||(o.push(`Invalid ${l} Gridline ${l} (${d}); must be between 1 and ${g-1}`),f=!1),!Number.isInteger(c)||c<0||c>=m?(o.push(`Invalid ${l} Gridline ${p} (${c}); must be between 0 and ${m-1}`),f=!1):u!==void 0&&(!Number.isInteger(u)||u<1||c+u>m)&&(o.push(`Invalid ${l} Gridline ${p}Span (${u}); Grid has ${m} ${p}s`),f=!1),f}),s=a=>{const l=n[a.axis==="column"?"row":"column"];return[a.crossStart,a.crossSpan===void 0?l:a.crossStart+a.crossSpan]};return i.forEach((a,l)=>{const{axis:u,index:c}=a,[d,p]=s(a);for(const g of e){const[m,f,y,S]=u==="column"?[g.column,g.columnSpan,g.row,g.rowSpan]:[g.row,g.rowSpan,g.column,g.columnSpan];if(m<c&&c<m+f&&y<p&&d<y+S){const v=u==="column"?"row":"column";o.push(`${r(a)} overlaps a Cell that spans across it (${u}: ${m}, ${u}Span: ${f}, ${v}: ${y}, ${v}Span: ${S}); use the ${v} and ${v}Span props to render gridlines beside the Cell instead`)}}for(const g of i.slice(l+1))if(g.axis===u&&g.index===c){const[m,f]=s(g);m<p&&d<f&&o.push(`${r(a)} overlaps ${r(g)}`)}}),o}function en(e,t){return ce(e.columns,t.columns)&&ce(e.rows,t.rows)}function xo({id:e,onlySaveAfterUserInteractions:t,storage:n=localStorage}){const o=`react-resizable-panels:grid:${e}`,r=b.useSyncExternalStore(wo,()=>n.getItem(o),()=>n.getItem(o)),i=b.useMemo(()=>{if(r)try{const a=JSON.parse(r);if(a!==null&&typeof a=="object")return a}catch{}},[r]),s=b.useCallback((a,l)=>{if(!(t&&!l.isUserInteraction))try{n.setItem(o,JSON.stringify(l.requestedLayout??a))}catch(u){console.error(u)}},[t,n,o]);return{defaultLayout:i,onLayoutChanged:s}}function wo(){return function(){}}function zo(){return b.useState(null)}function Co(){return b.useRef(null)}function Lo(){return b.useContext(zn)}function Io(e){for(let t=1;t<e.length;t++)if(pt(e[t-1],e[t])>0)return!1;return!0}function Ro({separator:e}){const{element:t}=e,n=b.useRef(null);return re(()=>{const o=t.cloneNode(!0),r=[t,...t.querySelectorAll("*")],i=[o,...o.querySelectorAll("*")],s=t.ownerDocument.defaultView;return r.forEach((a,l)=>{const u=i[l];if(u instanceof s.HTMLElement||u instanceof s.SVGElement){const c=s.getComputedStyle(a);for(let d=0;d<c.length;d++){const p=c.item(d);u.style.setProperty(p,c.getPropertyValue(p))}}u.removeAttribute("data-testid"),u.removeAttribute("id")}),Object.assign(o.style,{boxSizing:"border-box",height:"100%",margin:"0",position:"static",transform:"none",width:"100%"}),n.current.appendChild(o),()=>o.remove()},[t]),Y.jsx("div",{ref:n,style:{height:"100%",opacity:.65,pointerEvents:"none",width:"100%"}})}function it(){const e=b.useContext(zt);return F(e,"Group Context not found; did you render a Panel or Separator outside of a Group?"),e}function Lt(e){const{registerOverlay:t}=it(),n=b.useRef(e);yn(n.current,e)||(n.current=e);const o=n.current;return re(()=>t(o),[t,o]),null}Lt.displayName="SeparatorOverlay";function Eo({active:e,orientation:t,style:n,...o}){let r;switch(t){case"horizontal":{r={height:"100%",minWidth:"1px"};break}case"vertical":{r={minHeight:"1px",width:"100%"};break}}return Y.jsx("div",{...o,"data-separator-overlay":e?"active":"inactive",style:{...r,...n,flexShrink:0,pointerEvents:"none"}})}function Po({overlay:e,preview:t}){const{axis:n,offset:o,rect:r,separator:i}=t,s=n.orientation==="horizontal";let a=i?.preview,l=e;return b.isValidElement(a)&&a.type===Lt&&(l=a.props,a=void 0),a==null&&(l?a=Y.jsx(Eo,{...l,active:t.active,orientation:n.orientation}):i&&(a=Y.jsx(Ro,{separator:i}))),Y.jsx("div",{"aria-hidden":"true","data-resize-preview":!0,inert:!0,style:{height:r.height,left:r.left,pointerEvents:"none",position:"absolute",top:r.top,transform:s?`translateX(${o}px)`:`translateY(${o}px)`,width:r.width},children:a})}function Mo(e){return Array.from(e).sort(pt)}const Rn=b.createContext(null);function ko(e,t){const n=b.useRef({getLayout:()=>({}),setLayout:Bn});return b.useImperativeHandle(t,()=>n.current,[]),re(()=>{Object.assign(n.current,je({axisId:e}))}),n}function To({groupId:e,resizePreviewMode:t}){const[n,o]=b.useState([]),r=b.useRef(n);return re(()=>{const i=a=>{const l=Pe(e),u=t==="separator"&&a.state==="active"?a.previews.filter(d=>d.axis===l&&(d.active||!W(d.offset,0))):[],c=r.current;c.length===u.length&&u.every((d,p)=>d===c[p])||(r.current=u,o(u))};if(t!=="separator"){i(se());return}const s=mt(({next:a})=>i(a));return i(se()),s},[e,t]),n}function En({children:e,className:t,defaultLayout:n,disableCursor:o,disabled:r,elementRef:i,groupRef:s,id:a,onLayoutChange:l,onLayoutChanged:u,orientation:c="horizontal",resizePreviewMode:d="panel",resizeTargetMinimumSize:p={coarse:20,fine:10},style:g,...m}){const f=b.useRef({onLayoutChange:{},onLayoutChanged:{}}),y=ve(M=>{ce(f.current.onLayoutChange,M)||(f.current.onLayoutChange=M,l?.(M))}),S=ve((M,D,q)=>{ce(f.current.onLayoutChanged,M)||(f.current.onLayoutChanged=M,u?.(M,{isUserInteraction:D,requestedLayout:q}))}),v=Me(a),[C,w]=b.useState(),E=To({groupId:v,resizePreviewMode:d}),T=b.useRef(null),[G,x]=wn(),z=b.useRef([]),h=b.useRef({lastExpandedPanelSizes:{},layouts:{},panels:[],separators:[]}),I=Be(T,i),L=ko(v,s),k=b.useMemo(()=>({getLayout:()=>L.current.getLayout(),id:v,orientation:c,setLayout:M=>L.current.setLayout(M)}),[v,L,c]),A=ve((M,D)=>{const q=ue(M);if(q)return{flexGrow:q.layout[D]??1};if(n?.[D])return{flexGrow:n?.[D]}}),P=rt({defaultLayout:n,disableCursor:o,resizeTargetMinimumSize:p}),N=b.useMemo(()=>({get disableCursor(){return!!P.disableCursor},getPanelStyles:A,id:v,orientation:c,registerPanel:M=>{const D=h.current;return D.panels=Ge(c,[...D.panels,M]),x(),()=>{D.panels=D.panels.filter(q=>q!==M),x()}},registerOverlay:M=>(w(M),()=>{w(void 0)}),registerSeparator:M=>{const D=h.current;return D.separators=Ge(c,[...D.separators,M]),x(),()=>{D.separators=D.separators.filter(q=>q!==M),x()}},updatePanelProps:(M,{disabled:D})=>{const V=h.current.panels.find(Se=>Se.id===M);if(!V||V.constraintProps.disabled===D)return;V.constraintProps.disabled=D;const U=Pe(v),le=ue(v);U&&le&&pe(U,{...le,derivedItemConstraints:gt(U)})},updateSeparatorProps:(M,{disabled:D,disableDoubleClick:q})=>{const U=h.current.separators.find(le=>le.id===M);U&&(U.disabled=D,U.disableDoubleClick=q)}}),[A,v,x,c,P]),j=b.useRef(null);return re(()=>{const M=T.current;if(M===null)return;const D=h.current;D.panels=Ge(c,D.panels),D.separators=Ge(c,D.separators),z.current=Mo([...D.panels.map(({element:ee})=>ee),...D.separators.map(({element:ee})=>ee)]);let q;if(P.defaultLayout!==void 0&&Object.keys(P.defaultLayout).length===D.panels.length){q={};for(const ee of D.panels){const R=P.defaultLayout[ee.id];R!==void 0&&(q[ee.id]=R)}}const V={disabled:!!r,element:M,id:v,mutableState:{defaultLayout:q,disableCursor:!!P.disableCursor,expandedItemSizes:h.current.lastExpandedPanelSizes,layouts:h.current.layouts},orientation:c,items:D.panels,resizePreviewMode:d,get resizeTargetMinimumSize(){return P.resizeTargetMinimumSize},separators:D.separators};j.current=V;const U=bn(V),{defaultLayoutDeferred:le,derivedItemConstraints:Se,layout:xe,requestedLayout:we}=ue(V.id,!0);if(!le&&Se.length>0)try{try{y(xe)}finally{S(xe,!1,we)}}catch(ee){throw j.current=null,U(),ee}const Te=Fe(v,ee=>{const{defaultLayoutDeferred:R,derivedItemConstraints:$,layout:B,requestedLayout:_}=ee.next;if(R||$.length===0)return;xn({derivedItemConstraints:$,axis:V,layout:B,prevLayout:ee.prev?.layout,requestedLayout:_});const H=se(),Z=H.state!=="active"||!H.hitRegions.some(K=>K.axis===V);try{y(B)}finally{Z&&S(B,ee.isUserInteraction,_)}});return()=>{j.current=null,U(),Te()}},[r,v,S,y,c,G,d,P]),re(()=>{Io(z.current)||x()}),b.useEffect(()=>{const M=j.current;M&&(M.mutableState.defaultLayout=n,M.mutableState.disableCursor=!!o)}),Y.jsx(Rn.Provider,{value:k,children:Y.jsx(zt.Provider,{value:N,children:Y.jsxs("div",{...m,className:t,"data-group":!0,"data-testid":He(m,a),id:v,ref:I,style:{height:"100%",width:"100%",overflow:"hidden",position:d==="separator"?"relative":void 0,...g,display:"flex",flexDirection:c==="horizontal"?"row":"column",flexWrap:"nowrap",touchAction:c==="horizontal"?"pan-y":"pan-x"},children:[e,E.map(M=>Y.jsx(Po,{overlay:C,preview:M},M.key))]})})})}En.displayName="Group";function Ze(e,t){return`react-resizable-panels:${[e,...t].join(":")}`}function Ao({id:e,panelIds:t,storage:n}){const o=Ze(e,[]),r=n.getItem(o);if(r)try{const i=JSON.parse(r);if(t){const s=t.join(","),a=i[s];if(a&&Array.isArray(a.layout)&&t.length===a.layout.length){const l={};for(let u=0;u<t.length;u++)l[t[u]]=a.layout[u];return l}}else{const s=Object.keys(i);if(s.length===1){const a=i[s[0]];if(a&&Array.isArray(a.layout)){const l=s[0].split(",");if(l.length===a.layout.length){const u={};for(let c=0;c<l.length;c++)u[l[c]]=a.layout[c];return u}}}}}catch{}}function Do({debounceSaveMs:e=100,onlySaveAfterUserInteractions:t,panelIds:n,storage:o=localStorage,...r}){const i=n!==void 0,s="id"in r?r.id:r.groupId,a=Ze(s,n??[]),l=b.useSyncExternalStore($o,()=>o.getItem(a),()=>o.getItem(a)),u=b.useMemo(()=>{if(l){const y=JSON.parse(l),S=Object.values(y);if(Array.from(S).every(v=>typeof v=="number"))return y}},[l]),c=b.useMemo(()=>{if(!u)return Ao({id:s,panelIds:n,storage:o})},[u,s,n,o]),d=u??c,p=b.useRef(null),g=b.useCallback(()=>{const y=p.current;y&&(p.current=null,clearTimeout(y))},[]);b.useLayoutEffect(()=>()=>{g()},[g]);const m=b.useCallback((y,S)=>{if(t&&!S.isUserInteraction)return;g();const v=S.requestedLayout??y;let C;i?C=Ze(s,Object.keys(v)):C=Ze(s,[]);try{o.setItem(C,JSON.stringify(v))}catch(w){console.error(w)}},[g,i,s,t,o]),f=b.useCallback(y=>{g(),e===0?m(y,{isUserInteraction:!1}):p.current=setTimeout(()=>{m(y,{isUserInteraction:!1})},e)},[g,e,m]);return{defaultLayout:d,onLayoutChange:f,onLayoutChanged:m}}function $o(){return function(){}}function Oo(){return b.useState(null)}function Go(){return b.useRef(null)}function No(){return b.useContext(Rn)}const Pn=b.createContext(null);function jo(e,t){const{id:n}=it(),o=b.useRef({collapse:at,expand:at,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:at});return b.useImperativeHandle(t,()=>o.current,[]),re(()=>{Object.assign(o.current,wt({axisId:n,itemId:e}))}),o}function Mn({children:e,className:t,collapsedSize:n="0%",collapsedThreshold:o,collapsible:r=!1,defaultSize:i,disabled:s,elementRef:a,groupResizeBehavior:l="preserve-relative-size",id:u,maxSize:c="100%",minSize:d="0%",onResize:p,panelRef:g,style:m,...f}){const y=Qe(u),S=Me(u),v=rt({disabled:s}),C=b.useRef(null),w=Be(C,a),{getPanelStyles:E,id:T,orientation:G,registerPanel:x,updatePanelProps:z}=it(),h=p!==null,I=ve((j,M,D)=>{p?.(j,u,D)});re(()=>{const j=C.current;if(j!==null){const M={element:j,id:S,idIsStable:y,mutableValues:{expandToSize:void 0,prevSize:void 0},onResize:h?I:void 0,constraintProps:{groupResizeBehavior:l,collapsedSize:n,collapsedThreshold:o,collapsible:r,defaultSize:i,disabled:v.disabled,maxSize:c,minSize:d}};return x(M)}},[l,n,o,r,i,h,S,y,c,d,I,x,v]),b.useEffect(()=>{z(S,{disabled:s})},[s,S,z]);const L=jo(S,g),k=b.useMemo(()=>({collapse:()=>L.current.collapse(),expand:()=>L.current.expand(),getSize:()=>L.current.getSize(),groupId:T,id:S,isCollapsed:()=>L.current.isCollapsed(),resize:j=>L.current.resize(j)}),[T,S,L]),A=()=>{const j=E(T,S);if(j)return JSON.stringify(j)},P=b.useSyncExternalStore(j=>Fe(T,j),A,A);let N;return P?N=JSON.parse(P):i!==void 0?N={flexGrow:void 0,flexShrink:void 0,flexBasis:i}:N={flexGrow:1},Y.jsx("div",{...f,"data-disabled":s||void 0,"data-panel":!0,"data-testid":He(f,u),id:S,ref:w,style:{...Fo,display:"flex",flexBasis:0,flexShrink:1,overflow:"visible",...N},children:Y.jsx("div",{className:t,style:{maxHeight:"100%",maxWidth:"100%",flexGrow:1,overflow:"auto",...m,touchAction:G==="horizontal"?"pan-y":"pan-x"},children:Y.jsx(Pn.Provider,{value:k,children:e})})})}Mn.displayName="Panel";const Fo={minHeight:0,maxHeight:"100%",height:"auto",minWidth:0,maxWidth:"100%",width:"auto",border:"none",borderWidth:0,padding:0,margin:0};function _o(){return b.useState(null)}function Bo(){return b.useRef(null)}function Ho(){return b.useContext(Pn)}const qo={flexBasis:"auto"},Vo={flexGrow:0,flexShrink:0};function kn({children:e,className:t,disabled:n,disableDoubleClick:o,elementRef:r,id:i,preview:s,style:a,...l}){const u=Me(i),{disableCursor:c,id:d,orientation:p,registerSeparator:g,updateSeparatorProps:m}=it();return Y.jsx(Cn,{attributes:l,axisId:d,axisOrientation:p,className:t,"data-testid":He(l,i),disableCursor:c,disabled:n,disableDoubleClick:o,elementRef:r,id:u,preview:s,registerSeparator:g,requiredStyle:Vo,style:a,styleDefaults:qo,updateSeparatorProps:m,children:e})}kn.displayName="Separator";exports.Cell=on;exports.Grid=Ln;exports.Gridline=Ct;exports.Group=En;exports.Panel=Mn;exports.Separator=kn;exports.SeparatorOverlay=Lt;exports.isCoarsePointer=rn;exports.useDefaultGridLayout=xo;exports.useDefaultLayout=Do;exports.useGridCallbackRef=zo;exports.useGridRef=Co;exports.useGroupCallbackRef=Oo;exports.useGroupRef=Go;exports.usePanelCallbackRef=_o;exports.usePanelRef=Bo;exports.useParentGrid=Lo;exports.useParentGroup=No;exports.useParentPanel=Ho;
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Y=require("react/jsx-runtime"),b=require("react");function Qe(e){return(typeof e=="number"||typeof e=="string")&&e!==""}function Me(e){const t=b.useId();return Qe(e)?`${e}`:t}const re=typeof window<"u"?b.useLayoutEffect:b.useEffect;function ve(e){const t=b.useRef(e);return re(()=>{t.current=e},[e]),b.useCallback((...n)=>t.current?.(...n),[t])}function Be(...e){return ve(t=>{e.forEach(n=>{if(n)switch(typeof n){case"function":{n(t);break}case"object":{n.current=t;break}}})})}function He(e,t){const n=e?.["data-testid"];return Qe(n)?`${n}`:Qe(t)?`${t}`:void 0}function ct(e,t){return t?e*2+1:e+1}function An(e,t){return t?e*2-1:e}function Rt(e,t,n){const o=ct(e,n);return t===void 0?`${o} / -1`:`${o} / span ${An(t,n)}`}function $n(e){return`${e*2} / span 1`}function On({crossCount:e,crossSpan:t,crossStart:n,hasGutters:o}){const r=t===void 0?e:n+t;if(n===0&&r===e)return"1 / -1";let i=ct(n,o),s=ct(r-1,o)+1;return o&&(n>0&&i--,r<e&&s++),`${i} / ${s}`}function dt(e,t){return Number.isInteger(e)&&e>=1&&e<t}function F(e,t="Assertion error"){if(!e)throw Error(t)}const nn=b.createContext(null);function on(){const e=b.useContext(nn);return F(e,"Grid Context not found; did you render a Cell or Gridline outside of a Grid?"),e}function rn({children:e,className:t,column:n,columnSpan:o=1,elementRef:r,id:i,row:s,rowSpan:a=1,style:l,...u}){const c=Me(i),{gutters:d,registerCell:p}=on(),g=b.useRef(null),m=Be(g,r);return re(()=>{const f=g.current;if(f!==null)return p({column:n,columnSpan:o,element:f,id:c,row:s,rowSpan:a})},[n,o,c,p,s,a]),Y.jsx("div",{...u,className:t,"data-cell":!0,"data-testid":He(u,i),id:c,ref:m,style:{overflow:"auto",...l,minHeight:0,minWidth:0,gridColumn:Rt(n,o,d.column),gridRow:Rt(s,a,d.row)},children:e})}rn.displayName="Cell";let Ye;function sn(){return Ye===void 0&&(typeof matchMedia=="function"?Ye=!!matchMedia("(pointer:coarse)").matches:Ye=!1),Ye}function ut({expandHitTargets:e,axis:t,rect:n}){const o=e?sn()?t.resizeTargetMinimumSize.coarse:t.resizeTargetMinimumSize.fine:0;if(n.width<o){const r=o-n.width;n=new DOMRect(n.x-r/2,n.y,n.width+r,n.height)}if(n.height<o){const r=o-n.height;n=new DOMRect(n.x,n.y-r/2,n.width,n.height+r)}return n}function Pt({axis:e,cells:t,index:n,rect:o}){let r=[o];for(const i of t){const s=e==="column"?i.column:i.row,a=e==="column"?i.columnSpan:i.rowSpan;if(s>=n||s+a<=n)continue;const l=i.element.getBoundingClientRect(),u=e==="column"?l.top:l.left,c=e==="column"?l.bottom:l.right;c<=u||(r=r.flatMap(d=>{const p=e==="column"?d.top:d.left,g=e==="column"?d.bottom:d.right;if(u>=g||c<=p)return[d];const m=[],f=(y,S)=>{m.push(e==="column"?new DOMRect(d.x,y,d.width,S-y):new DOMRect(y,d.y,S-y,d.height))};return p<u&&f(p,u),g>c&&f(c,g),m}))}return r}function Gn({axis:e,cells:t,crossTrackCount:n,expandHitTargets:o,resizeAxis:r,axisSize:i,includeDisabled:s,separatorPlacements:a}){const{items:l,separators:u}=r,c=l.length;let d=-1,p=-1,g=0;if(l.forEach((x,z)=>{x.constraintProps.disabled||(g++,d===-1&&(d=z),p=z)}),!s&&g<2)return[];const m=x=>s||x>d&&x<=p,f=[],y=(x,z,h)=>({axis:r,axisSize:i,items:[l[x-1],l[x]],rect:z,separator:h}),S=(x,z)=>{let h;for(const I of t){const L=e==="column"?I.row:I.column,k=e==="column"?I.rowSpan:I.columnSpan;if(z==="start"?L===x:L+k-1===x){const D=I.element.getBoundingClientRect();if(z==="start"){const E=e==="column"?D.top:D.left;h=h===void 0?E:Math.min(h,E)}else{const E=e==="column"?D.bottom:D.right;h=h===void 0?E:Math.max(h,E)}}}return h},v=new Set;for(const x of u){const z=a.get(x);if(!z||z.index<1||z.index>=c||(v.add(z.index),!s&&(x.disabled||x.element.hasAttribute("aria-disabled")))||!m(z.index))continue;let h=x.element.getBoundingClientRect();const{crossSpan:I,crossStart:L}=z,k=I===void 0?n:L+I;let D=e==="column"?h.top:h.left,E=e==="column"?h.bottom:h.right;if(L>0){const N=S(L-1,"end");N!==void 0&&N<D&&(D=N)}if(k<n){const N=S(k,"start");N!==void 0&&N>E&&(E=N)}h=e==="column"?new DOMRect(h.x,D,h.width,E-D):new DOMRect(D,h.y,E-D,h.height),h=ut({expandHitTargets:o,axis:r,rect:h}),s?f.push(y(z.index,h,x)):Pt({axis:e,cells:t,index:z.index,rect:h}).forEach(N=>{f.push(y(z.index,N,x))})}const C=(x,z)=>{Pt({axis:e,cells:t,index:x,rect:ut({expandHitTargets:o,axis:r,rect:z})}).forEach(h=>{f.push(y(x,h))})},w=Array.from({length:n},()=>new Array(c));for(const x of t){const[z,h,I,L]=e==="column"?[x.column,x.columnSpan,x.row,x.rowSpan]:[x.row,x.rowSpan,x.column,x.columnSpan];for(let k=Math.max(0,I);k<Math.min(n,I+L);k++)for(let D=Math.max(0,z);D<Math.min(c,z+h);D++)w[k][D]??=x}const P=new Map,T=x=>{let z=P.get(x);if(!z){const h=x.element.getBoundingClientRect();z=e==="column"?{crossEnd:h.bottom,crossStart:h.top,end:h.right,start:h.left}:{crossEnd:h.right,crossStart:h.left,end:h.bottom,start:h.top},P.set(x,z)}return z},G=({crossEnd:x,crossStart:z,end:h,start:I})=>e==="column"?new DOMRect(I,z,h-I,x-z):new DOMRect(z,I,x-z,h-I);for(let x=1;x<c;x++){if(v.has(x)||!m(x))continue;let z;for(let h=0;h<n;h++){const I=w[h][x-1],L=w[h][x];let k;if((I||L)&&I!==L){const D=I?T(I):void 0,E=L?T(L):void 0,N=D?.end??E.start,j=E?.start??D.end,M=Math.max(D?.crossStart??-1/0,E?.crossStart??-1/0),A=Math.min(D?.crossEnd??1/0,E?.crossEnd??1/0);k={crossEnd:Math.max(M,A),crossStart:M,end:Math.max(N,j),start:Math.min(N,j)}}k?z=z?{crossEnd:Math.max(z.crossEnd,k.crossEnd),crossStart:Math.min(z.crossStart,k.crossStart),end:Math.max(z.end,k.end),start:Math.min(z.start,k.start)}:k:z&&(C(x,G(z)),z=void 0)}z&&C(x,G(z))}return f}function de(e){const t=parseFloat(e??"");return Number.isFinite(t)?t:0}function Nn({axis:e,element:t,gutterSizes:n,hasGutters:o,layout:r,trackIds:i}){const s=i.length,a=o?s*2-1:s,l=t.ownerDocument.defaultView?.getComputedStyle(t),u=e==="column"?l?.gridTemplateColumns:l?.gridTemplateRows;if(u){const f=u.trim().split(/\s+/);if(f.length===a&&f.every(y=>/^-?[\d.]+px$/.test(y))){const y=i.map((S,v)=>de(f[o?v*2:v]));return{availableSize:y.reduce((S,v)=>S+v,0),trackSizes:y}}}const c=e==="column"?t.offsetWidth:t.offsetHeight,d=e==="column"?de(l?.paddingLeft)+de(l?.paddingRight)+de(l?.borderLeftWidth)+de(l?.borderRightWidth):de(l?.paddingTop)+de(l?.paddingBottom)+de(l?.borderTopWidth)+de(l?.borderBottomWidth),p=de(e==="column"?l?.columnGap:l?.rowGap),g=n.reduce((f,y)=>f+y,0),m=Math.max(0,c-d-p*Math.max(0,a-1)-g);return{availableSize:m,trackSizes:i.map(f=>r&&r[f]!==void 0?r[f]/100*m:m/s)}}function an(e){switch(typeof e){case"number":return[e,"px"];case"string":{const t=parseFloat(e);return e.endsWith("%")?[t,"%"]:e.endsWith("px")?[t,"px"]:e.endsWith("rem")?[t,"rem"]:e.endsWith("em")?[t,"em"]:e.endsWith("vh")?[t,"vh"]:e.endsWith("vw")?[t,"vw"]:[t,"%"]}}}class cn{#e={};addListener(t,n){const o=this.#e[t];return o===void 0?this.#e[t]=[n]:o.includes(n)||o.push(n),()=>{this.removeListener(t,n)}}emit(t,n){const o=this.#e[t];if(o!==void 0){if(o.length===1){o[0].call(null,n);return}let r;const i=Array.from(o);for(let s=0;s<i.length;s++){const a=i[s];try{a.call(null,n)}catch(l){r??={error:l}}}if(r)throw r.error}}removeAllListeners(){this.#e={}}removeListener(t,n){const o=this.#e[t];if(o!==void 0){const r=o.indexOf(n);r>=0&&o.splice(r,1)}}}function jn(e){const t=o=>{o.preventDefault(),o.stopPropagation(),n()},n=()=>{e.removeEventListener("click",t,!0)};e.addEventListener("click",t,!0),setTimeout(n,0)}let X={cursorFlags:0,state:"inactive"};const ft=new cn;function se(){return X}function mt(e){return ft.addListener("change",e)}function Fn(e,t=[],n,o=!1){const r=X,i={...X};i.cursorFlags=e,i.state==="active"&&(i.didPointerMove||=o,i.previews=t,n&&(i.previewLayoutMap=n)),X=i,ft.emit("change",{prev:r,next:i})}function me(e){const t=X;X=e,t.state==="active"&&e.state!=="active"&&t.didPointerMove&&(t.hitRegions.forEach(({separator:n})=>{n&&n.element.ownerDocument.activeElement===n.element&&n.element.blur()}),jn(t.ownerDocument)),ft.emit("change",{prev:t,next:e})}function _n(e){X.state!=="active"||!X.previews.some(t=>t.separator===e)||me({...X,previews:X.previews.map(t=>t.separator===e?{...t}:t)})}function Bn(e){if(X.state==="inactive")return;const t=X.hitRegions.filter(o=>o.axis!==e),n=X.state==="active"&&X.previews.some(o=>o.axis===e);if(!(t.length===X.hitRegions.length&&!n))if(t.length===0)me({cursorFlags:0,state:"inactive"});else if(X.state==="active"){const o=new Map(X.initialLayoutMap),r=new Map(X.previewLayoutMap);o.delete(e),r.delete(e),me({...X,cursorFlags:0,hitRegions:t,initialLayoutMap:o,previewLayoutMap:r,previews:X.previews.filter(i=>i.axis!==e)})}else me({...X,hitRegions:t})}const Hn=e=>e,at=()=>{},un=1,ln=2,dn=4,fn=8,Et=3,Mt=12;let Xe;function kt(){return Xe===void 0&&(Xe=!1,typeof window<"u"&&(window.navigator.userAgent.includes("Chrome")||window.navigator.userAgent.includes("Firefox"))&&(Xe=!0)),Xe}function qn({cursorFlags:e,axes:t,state:n}){let o=0,r=0;switch(n){case"active":case"hover":t.forEach(i=>{if(!i.mutableState.disableCursor)switch(i.orientation){case"horizontal":{o++;break}case"vertical":{r++;break}}})}if(!(o===0&&r===0)){switch(n){case"active":{if(e&&kt()){const i=(e&un)!==0,s=(e&ln)!==0,a=(e&dn)!==0,l=(e&fn)!==0;if(i)return a?"se-resize":l?"ne-resize":"e-resize";if(s)return a?"sw-resize":l?"nw-resize":"w-resize";if(a)return"s-resize";if(l)return"n-resize"}break}}return kt()?o>0&&r>0?"move":o>0?"ew-resize":"ns-resize":o>0&&r>0?"grab":o>0?"col-resize":"row-resize"}}const Tt=new WeakMap;function Dt(e){if(!e.defaultView||!e.adoptedStyleSheets)return;let{prevStyle:t,styleSheet:n}=Tt.get(e)??{};n===void 0&&(n=new e.defaultView.CSSStyleSheet,e.adoptedStyleSheets&&(Object.isExtensible(e.adoptedStyleSheets)?e.adoptedStyleSheets.push(n):e.adoptedStyleSheets=[...e.adoptedStyleSheets,n]));let o=se();switch(o.state!=="inactive"&&o.ownerDocument!==e&&(o={cursorFlags:0,state:"inactive"}),o.state){case"active":case"hover":{const r=qn({cursorFlags:o.cursorFlags,axes:o.hitRegions.map(s=>s.axis),state:o.state}),i=`*, *:hover {cursor: ${r} !important; }`;if(t===i)return;t=i,r?n.cssRules.length===0?n.insertRule(i):n.replaceSync(i):n.cssRules.length===1&&n.deleteRule(0);break}case"inactive":{t=void 0,n.cssRules.length===1&&n.deleteRule(0);break}}Tt.set(e,{prevStyle:t,styleSheet:n})}function At(e){return e.state==="inactive"?void 0:e.ownerDocument}function Vn({next:e,prev:t}){const n=At(t),o=At(e);n&&n!==o&&Dt(n),o&&Dt(o)}function qe({axis:e}){const{layoutStrategy:t,orientation:n,items:o}=e;return t?t.calculateAvailableSize():o.reduce((r,i)=>(r+=n==="horizontal"?i.element.offsetWidth:i.element.offsetHeight,r),0)}function pt(e,t){const n=e.compareDocumentPosition(t);return n&Node.DOCUMENT_POSITION_DISCONNECTED?0:n&Node.DOCUMENT_POSITION_FOLLOWING?-1:n&Node.DOCUMENT_POSITION_PRECEDING?1:0}function Ge(e,t){return Array.from(t).sort((n,o)=>{const r=e==="horizontal"?Un(n,o):Wn(n,o);return r!==0?r:pt(n.element,o.element)})}function Un(e,t){const n=e.element.offsetLeft-t.element.offsetLeft;return n!==0?n:e.element.offsetWidth-t.element.offsetWidth}function Wn(e,t){const n=e.element.offsetTop-t.element.offsetTop;return n!==0?n:e.element.offsetHeight-t.element.offsetHeight}function lt(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function mn(e,t){return{x:e.x>=t.left&&e.x<=t.right?0:Math.min(Math.abs(e.x-t.left),Math.abs(e.x-t.right)),y:e.y>=t.top&&e.y<=t.bottom?0:Math.min(Math.abs(e.y-t.top),Math.abs(e.y-t.bottom))}}function Yn({orientation:e,rects:t,targetRect:n}){const o={x:n.x+n.width/2,y:n.y+n.height/2};let r,i=Number.MAX_VALUE;for(const s of t){const{x:a,y:l}=mn(o,s),u=e==="horizontal"?a:l;u<i&&(i=u,r=s)}return F(r,"No rect found"),r}function ht({expandHitTargets:e=!0,axis:t,includeDisabled:n=!1}){if(t.layoutStrategy)return t.layoutStrategy.calculateHitRegions({expandHitTargets:e,axis:t,includeDisabled:n});const{element:o,orientation:r,items:i,separators:s}=t,a=Ge(r,Array.from(o.children).filter(lt).filter(S=>!S.hasAttribute("data-resize-preview")).map(S=>({element:S}))).map(({element:S})=>S),l=[];let u=!1,c=!1,d=-1,p,g=-1,m=0,f,y=[];{let S=-1;for(const v of a)v.hasAttribute("data-panel")&&(S++,v.hasAttribute("data-disabled")||(m++,d===-1&&(d=S),g=S))}if(n||m>1){let S=-1;for(const v of a)if(v.hasAttribute("data-panel")){S++;const C=i.find(w=>w.element===v);if(C){if(f){const w=f.element.getBoundingClientRect(),P=v.getBoundingClientRect();let T;if(c){const G=r==="horizontal"?new DOMRect(w.right,w.top,0,w.height):new DOMRect(w.left,w.bottom,w.width,0),x=r==="horizontal"?new DOMRect(P.left,P.top,0,P.height):new DOMRect(P.left,P.top,P.width,0);switch(y.length){case 0:{T=[G,x];break}case 1:{const z=y[0],h=Yn({orientation:r,rects:[w,P],targetRect:z.element.getBoundingClientRect()});T=[z,h===w?x:G];break}default:{T=y;break}}}else y.length?T=y:T=[r==="horizontal"?new DOMRect(w.right,P.top,P.left-w.right,P.height):new DOMRect(P.left,w.bottom,P.width,P.top-w.bottom)];for(const G of T){const x=ut({expandHitTargets:e,axis:t,rect:"width"in G?G:G.element.getBoundingClientRect()}),z=S<=d||S>g;(n||!u&&!z)&&(p??=qe({axis:t}),l.push({axis:t,axisSize:p,items:[f,C],separator:"width"in G?void 0:G,rect:x})),u=!1}}c=!1,f=C,y=[]}}else if(v.hasAttribute("data-separator")){v.ariaDisabled!==null&&(u=!0);const C=s.find(w=>w.element===v);C?y.push(C):(f=void 0,y=[])}else c=!0}return l}function gt(e){return e.ownerDocument.defaultView??window}function Xn(e,t){const n=gt(e).getComputedStyle(e),o=parseFloat(n.fontSize);return t*o}function Kn(e,t){const n=getComputedStyle(e.ownerDocument.documentElement),o=parseFloat(n.fontSize);return t*o}function Jn(e,t){return t/100*gt(e).innerHeight}function Zn(e,t){return t/100*gt(e).innerWidth}function Re({axisSize:e,itemElement:t,styleProp:n}){let o;const[r,i]=an(n);switch(i){case"%":{o=r/100*e;break}case"px":{o=r;break}case"rem":{o=Kn(t,r);break}case"em":{o=Xn(t,r);break}case"vh":{o=Jn(t,r);break}case"vw":{o=Zn(t,r);break}}return o}function Q(e){return parseFloat(e.toFixed(3))}function yt(e,t=qe({axis:e})){const{items:n}=e;return t===0?n.map(o=>({groupResizeBehavior:o.constraintProps.groupResizeBehavior,collapsedSize:0,collapsible:o.constraintProps.collapsible===!0,defaultSize:void 0,disabled:o.constraintProps.disabled,minSize:0,maxSize:100,itemId:o.id})):n.map(o=>{const{element:r,constraintProps:i}=o;let s=0;if(i.collapsedSize!==void 0){const d=Re({axisSize:t,itemElement:r,styleProp:i.collapsedSize});s=Q(d/t*100)}let a;if(i.collapsedThreshold!==void 0){const d=Re({axisSize:t,itemElement:r,styleProp:i.collapsedThreshold});a=Q(d/t*100)}let l;if(i.defaultSize!==void 0){const d=Re({axisSize:t,itemElement:r,styleProp:i.defaultSize});l=Q(d/t*100)}let u=0;if(i.minSize!==void 0){const d=Re({axisSize:t,itemElement:r,styleProp:i.minSize});u=Q(d/t*100)}let c=100;if(i.maxSize!==void 0){const d=Re({axisSize:t,itemElement:r,styleProp:i.maxSize});c=Q(d/t*100)}return{groupResizeBehavior:i.groupResizeBehavior,collapsedSize:s,collapsedThreshold:a,collapsible:i.collapsible===!0,defaultSize:l,disabled:i.disabled,minSize:u,maxSize:c,itemId:o.id}})}let fe=new Map;const St=new cn;let Ne=0;const Ke=[];let Je;function tt(){Ne++}function vt(){for(let e=0;e<Ke.length;e++)try{St.emit("axisChange",Ke[e])}catch(t){Je??={error:t}}Ke.length=0}function nt(){if(Ne===1&&vt(),Ne--,Ne===0&&Je){const{error:e}=Je;throw Je=void 0,e}}function Qn(e){fe=new Map(fe),fe.delete(e)}function Ee(e,t){for(const[n]of fe)if(n.id===e)return n}function ue(e,t){for(const[n,o]of fe)if(n.id===e)return o;if(t)throw Error(`Could not find data for Group with id ${e}`)}function ye(){return fe}function Fe(e,t){return St.addListener("axisChange",n=>{n.axis.id===e&&t(n)})}function pe(e,t,n){const o=fe.get(e);fe=new Map(fe),fe.set(e,t);const r={axis:e,isUserInteraction:n?.isUserInteraction===!0,prev:o,next:t};Ne>0?Ke.push(r):St.emit("axisChange",r)}function pn(e,{pointerId:t,pointerType:n}){return t===e.pointerId||n==="pen"&&e.pointerType==="pen"}function ot(e,t,n={}){return e.ownerDocument===t&&(n.pointerId===void 0||pn(e,n))}function eo(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n])return!1;return!0}function W(e,t,n=0){return Math.abs(Q(e)-Q(t))<=n}function oe(e,t){return W(e,t)?0:e>t?1:-1}function Le({overrideDisabledItems:e,itemConstraints:t,prevSize:n,size:o}){const{collapsedSize:r=0,collapsedThreshold:i,collapsible:s,disabled:a,maxSize:l=100,minSize:u=0}=t;if(a&&!e)return n;if(oe(o,u)<0)if(s){const c=i??(u-r)/2,d=oe(n,r)<=0,p=d?r+c:u-c,g=oe(o,p);oe(o,r)<=0||g<0||i!==void 0&&d&&g===0?o=r:o=u}else o=u;return o=Math.min(l,o),o=Q(o),o}function _e({delta:e,initialLayout:t,itemConstraints:n,pivotIndices:o,prevLayout:r,trigger:i}){if(W(e,0))return t;const s=i==="imperative-api",a=n.map(({itemId:m})=>t[m]),l=n.map(({itemId:m})=>r[m]),u=[...a],[c,d]=o;F(c!=null,"Invalid first pivot index"),F(d!=null,"Invalid second pivot index");let p=0;switch(i){case"keyboard":{{const m=e<0?d:c,f=n[m];F(f,`Panel constraints not found for index ${m}`);const{collapsedSize:y=0,collapsible:S,minSize:v=0}=f;if(S){const C=a[m];if(F(C!=null,`Previous layout not found for panel index ${m}`),W(C,y)){const w=v-C;oe(w,Math.abs(e))>0&&(e=e<0?0-w:w)}}}{const m=e<0?c:d,f=n[m];F(f,`No panel constraints found for index ${m}`);const{collapsedSize:y=0,collapsible:S,minSize:v=0}=f;if(S){const C=a[m];if(F(C!=null,`Previous layout not found for panel index ${m}`),W(C,v)){const w=C-y;oe(w,Math.abs(e))>0&&(e=e<0?0-w:w)}}}break}default:{const m=e<0?d:c,f=n[m];F(f,`Panel constraints not found for index ${m}`);const y=a[m],{collapsedSize:S,collapsedThreshold:v,collapsible:C,minSize:w}=f;if(C&&oe(y,w)<0){const P=w-S,T=v??P/2,G=y+Math.abs(e);if(oe(G,w)<0){const x=oe(Math.abs(e),T),z=v===void 0&&e<0;x>0||x===0&&z?e=e<0?-P:P:e=0}}break}}{const m=e<0?1:-1;let f=e<0?d:c,y=0;for(;;){const v=a[f];F(v!=null,`Previous layout not found for panel index ${f}`);const w=Le({overrideDisabledItems:s,itemConstraints:n[f],prevSize:v,size:100})-v;if(y+=w,f+=m,f<0||f>=n.length)break}const S=Math.min(Math.abs(e),Math.abs(y));e=e<0?0-S:S}{let f=e<0?c:d;for(;f>=0&&f<n.length;){const y=Math.abs(e)-Math.abs(p),S=a[f];F(S!=null,`Previous layout not found for panel index ${f}`);const v=S-y,C=Le({overrideDisabledItems:s,itemConstraints:n[f],prevSize:S,size:v});if(!W(S,C)&&(p+=S-C,u[f]=C,p.toFixed(3).localeCompare(Math.abs(e).toFixed(3),void 0,{numeric:!0})>=0))break;e<0?f--:f++}}if(eo(l,u))return r;{const m=e<0?d:c,f=a[m];F(f!=null,`Previous layout not found for panel index ${m}`);const y=f+p,S=Le({overrideDisabledItems:s,itemConstraints:n[m],prevSize:f,size:y});if(u[m]=S,!W(S,y)){let v=y-S,w=e<0?d:c;for(;w>=0&&w<n.length;){const P=u[w];F(P!=null,`Previous layout not found for panel index ${w}`);const T=P+v,G=Le({overrideDisabledItems:s,itemConstraints:n[w],prevSize:P,size:T});if(W(P,G)||(v-=G-P,u[w]=G),W(v,0))break;e>0?w--:w++}}}const g=Object.values(u).reduce((m,f)=>f+m,0);return W(g,100,.1)?u.reduce((m,f,y)=>(m[n[y].itemId]=f,m),{}):r}function ce(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(t[n]===void 0||oe(e[n],t[n])!==0)return!1;return!0}function bt(e){tt();try{to(e)}finally{nt()}}function to({commit:e,event:t,hitRegions:n,initialLayoutMap:o,mountedAxes:r,pointerDownAtPoint:i,prevCursorFlags:s}){let a=0;const l=se();let u=l.state==="active"?l.previews:[];const c=new Map(l.state==="active"?l.previewLayoutMap:void 0);n.forEach(g=>{const{axis:m,axisSize:f}=g,{orientation:y,items:S}=m;if(e&&m.resizePreviewMode!=="separator")return;const{disableCursor:v}=m.mutableState;let C=0;i?y==="horizontal"?C=(t.clientX-i.x)/f*100:C=(t.clientY-i.y)/f*100:y==="horizontal"?C=t.clientX<0?-100:100:C=t.clientY<0?-100:100;const w=o.get(m),P=r.get(m);if(!w||!P)return;const{defaultLayoutDeferred:T,derivedItemConstraints:G,axisSize:x,layout:z,separatorToItems:h}=P;if(G&&z&&h){const I=m.resizePreviewMode==="separator"?c.get(m)??z:z,L=_e({delta:C,initialLayout:w,itemConstraints:G,pivotIndices:g.items.map(k=>S.indexOf(k)),prevLayout:I,trigger:"mouse-or-touch"});if(m.resizePreviewMode==="separator"&&!e&&!ce(L,I)){c.set(m,L);let k=0;const D=S.map(E=>(k+=L[E.id]-w[E.id],k*(f/100)));u=u.map(E=>{if(E.axis!==m)return E;const N=D[E.itemIndex];return N===E.offset?E:{...E,offset:N}})}if(ce(L,I)&&C!==0&&!v)switch(y){case"horizontal":{a|=C<0?un:ln;break}case"vertical":{a|=C<0?dn:fn;break}}(m.resizePreviewMode!=="separator"||e)&&!ce(L,z)&&pe(g.axis,{defaultLayoutDeferred:T,derivedItemConstraints:G,axisSize:x,layout:L,requestedAxisSize:x,requestedLayout:L,separatorToItems:h})}});let d=0;t.movementX===0?d|=s&Et:d|=a&Et,t.movementY===0?d|=s&Mt:d|=a&Mt;const p=l.state==="active"&&(t.clientX!==l.pointerDownAtPoint.x||t.clientY!==l.pointerDownAtPoint.y);Fn(d,u,c,p)}function hn(e,t){const n=se();if(n.state!=="active"||!ot(n,e,t))return;const o=ye();tt();try{bt({commit:!0,event:t,hitRegions:n.hitRegions,initialLayoutMap:n.initialLayoutMap,mountedAxes:o,pointerDownAtPoint:n.pointerDownAtPoint,prevCursorFlags:n.cursorFlags}),vt(),me({cursorFlags:0,state:"inactive"}),n.hitRegions.length>0&&(t.preventDefault?.(),n.hitRegions.forEach(r=>{if(!o.has(r.axis))return;const i=ue(r.axis.id,!0);pe(r.axis,i,{isUserInteraction:!0})}))}finally{nt()}}function $t(e){if(e.defaultPrevented)return;const{clientX:t,clientY:n,movementX:o,movementY:r}=e;hn(e.currentTarget,{clientX:t,clientY:n,movementX:o,movementY:r})}function no(e,t,n){let o,r={x:1/0,y:1/0};for(const i of t){const s=mn(n,i.rect);switch(e){case"horizontal":{(s.x<r.x||s.x===r.x&&s.y<=r.y)&&(o=i,r=s);break}case"vertical":{(s.y<r.y||s.y===r.y&&s.x<=r.x)&&(o=i,r=s);break}}}return o?{distance:r,hitRegion:o}:void 0}function oo(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE}function ro(e,t){if(e===t)throw new Error("Cannot compare node with itself");const n={a:Nt(e),b:Nt(t)};let o;for(;n.a.at(-1)===n.b.at(-1);)o=n.a.pop(),n.b.pop();F(o,"Stacking order can only be calculated for elements with a common ancestor");const r={a:Gt(Ot(n.a)),b:Gt(Ot(n.b))};if(r.a===r.b){const i=o.childNodes,s={a:n.a.at(-1),b:n.b.at(-1)};let a=i.length;for(;a--;){const l=i[a];if(l===s.a)return 1;if(l===s.b)return-1}}return Math.sign(r.a-r.b)}const io=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function so(e){const t=getComputedStyle(gn(e)??e).display;return t==="flex"||t==="inline-flex"}function ao(e){const t=getComputedStyle(e);return!!(t.position==="fixed"||t.zIndex!=="auto"&&(t.position!=="static"||so(e))||+t.opacity<1||"transform"in t&&t.transform!=="none"||"webkitTransform"in t&&t.webkitTransform!=="none"||"mixBlendMode"in t&&t.mixBlendMode!=="normal"||"filter"in t&&t.filter!=="none"||"webkitFilter"in t&&t.webkitFilter!=="none"||"isolation"in t&&t.isolation==="isolate"||io.test(t.willChange)||t.webkitOverflowScrolling==="touch")}function Ot(e){let t=e.length;for(;t--;){const n=e[t];if(F(n,"Missing node"),ao(n))return n}return null}function Gt(e){return e&&Number(getComputedStyle(e).zIndex)||0}function Nt(e){const t=[];for(;e;)t.push(e),e=gn(e);return t}function gn(e){const{parentNode:t}=e;return oo(t)?t.host:t}function co(e,t){return e.x<t.x+t.width&&e.x+e.width>t.x&&e.y<t.y+t.height&&e.y+e.height>t.y}function uo(e){try{return e.matches(":modal")}catch{return!1}}function lo({axisElement:e,hitRegion:t,pointerEventTarget:n}){if(lt(n)){const o=n.closest("dialog");if(o&&!o.contains(e)&&uo(o))return!1}if(!lt(n)||n.contains(e)||e.contains(n)||!n.isConnected||!e.isConnected)return!0;if(ro(n,e)>0){let o=n;for(;o;){if(o.contains(e))return!0;if(co(o.getBoundingClientRect(),t))return!1;o=o.parentElement}}return!0}function xt(e,t,n){const o=[];return t.forEach((r,i)=>{if(i.disabled||i.element.ownerDocument!==n)return;const s=ht({axis:i}),a=no(i.orientation,s,{x:e.clientX,y:e.clientY});a&&a.distance.x<=0&&a.distance.y<=0&&lo({axisElement:i.element,hitRegion:a.hitRegion.rect,pointerEventTarget:e.target})&&o.push(a.hitRegion)}),o}function fo(e){let t=0,n=0;const o={};for(const i of e)if(i.defaultSize!==void 0){t++;const s=Q(i.defaultSize);n+=s,o[i.itemId]=s}else o[i.itemId]=void 0;const r=e.length-t;if(r!==0){const i=Q((100-n)/r);for(const s of e)s.defaultSize===void 0&&(o[s.itemId]=i)}return o}function mo(e,t){const n=e.map(r=>r.id),o=Object.keys(t);if(n.length!==o.length)return!1;for(const r of n)if(!o.includes(r))return!1;return!0}function yn({axis:e,itemConstraints:t}){const n=e.items.map(({id:r})=>r).join(","),o=e.mutableState.defaultLayout;return e.mutableState.layouts[n]??(o&&mo(e.items,o)?o:fo(t))}function Sn(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const o in e)if(e[o]!==t[o])return!1;return!0}function po(e,t){return e.length!==t.length?!1:e.every((n,o)=>Sn(n,t[o]))}function be({layout:e,itemConstraints:t}){const n=t.map(({itemId:s})=>e[s]),o=[...n],r=o.reduce((s,a)=>s+a,0);if(Object.keys(e).length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${Object.values(e).map(s=>`${s}%`).join(", ")}`);if(!W(r,100)&&o.length>0)for(let s=0;s<t.length;s++){const a=o[s];F(a!=null,`No layout data found for index ${s}`);const l=100/r*a;o[s]=l}let i=0;for(let s=0;s<t.length;s++){const a=n[s];F(a!=null,`No layout data found for index ${s}`);const l=o[s];F(l!=null,`No layout data found for index ${s}`);const u=Le({overrideDisabledItems:!0,itemConstraints:t[s],prevSize:a,size:l});l!=u&&(i+=l-u,o[s]=u)}if(!W(i,0))for(let s=0;s<t.length;s++){const a=o[s];F(a!=null,`No layout data found for index ${s}`);const l=a+i,u=Le({overrideDisabledItems:!0,itemConstraints:t[s],prevSize:a,size:l});if(a!==u&&(i-=u-a,o[s]=u,W(i,0)))break}return o.reduce((s,a,l)=>(s[t[l].itemId]=a,s),{})}function vn({itemIds:e,layout:t}){return be({layout:t,itemConstraints:e.map(n=>({collapsedSize:0,collapsible:!1,defaultSize:void 0,disabled:void 0,itemId:n,maxSize:100,minSize:0}))})}function ho({axis:e,nextAxisSize:t,prevAxisSize:n,prevLayout:o}){if(n<=0||t<=0||n===t)return o;let r=0,i=0,s=!1;const a=new Map,l=[];for(const d of e.items){const p=o[d.id]??0;switch(d.constraintProps.groupResizeBehavior){case"preserve-pixel-size":{s=!0;const g=p/100*n,m=Q(g/t*100);a.set(d.id,m),r+=m;break}case"preserve-relative-size":default:{l.push(d.id),i+=p;break}}}if(!s||l.length===0)return o;const u=100-r,c={...o};if(a.forEach((d,p)=>{c[p]=d}),i>0)for(const d of l){const p=o[d]??0;c[d]=Q(p/i*u)}else{const d=Q(u/l.length);for(const p of l)c[p]=d}return c}function wt({axis:e,axisState:t}){const n=qe({axis:e});if(n===0)return;const o=yt(e,n);let r=t.requestedAxisSize,i=t.requestedLayout;t.defaultLayoutDeferred&&(r=n,i=vn({itemIds:e.items.map(({id:u})=>u),layout:yn({axis:e,itemConstraints:o})}));const s=ho({axis:e,nextAxisSize:n,prevAxisSize:r,prevLayout:i}),a=be({layout:s,itemConstraints:o});return{changed:t.defaultLayoutDeferred||!ce(t.layout,a)||!po(t.derivedItemConstraints,o)||t.axisSize!==n,state:{defaultLayoutDeferred:!1,derivedItemConstraints:o,axisSize:n,layout:a,requestedAxisSize:r,requestedLayout:i,separatorToItems:t.separatorToItems}}}function zt({axisId:e,itemId:t}){const n=()=>{const u=ye();for(const[c,d]of u)if(c.id===e)return{axis:c,...d};throw Error(`Group ${e} not found`)},o=()=>{const u=n().derivedItemConstraints.find(c=>c.itemId===t);if(u!==void 0)return u;throw Error(`Panel constraints not found for Panel ${t}`)},r=()=>{const{axis:u,...c}=n(),d=wt({axis:u,axisState:c}),p=d?.state??c,g=p.derivedItemConstraints.find(f=>f.itemId===t);if(g===void 0)throw Error(`Panel constraints not found for Panel ${t}`);const m=p.layout[t];if(m===void 0)throw Error(`Layout not found for Panel ${t}`);return{axis:u,changed:d?.changed===!0,itemConstraints:g,itemSize:m,state:p}},i=()=>{const u=n().axis.items.find(c=>c.id===t);if(u!==void 0)return u;throw Error(`Layout not found for Panel ${t}`)},s=()=>{const u=n().layout[t];if(u!==void 0)return u;throw Error(`Layout not found for Panel ${t}`)},a=({allowPartialSize:u=!1,nextSize:c,items:d,prevLayout:p,derivedItemConstraints:g})=>{const m=p[t],f=d.findIndex(h=>h.id===t),y=f===0,S=f===d.length-1;if(S&&c<m&&(y||d.slice(0,f).every((h,I)=>{const L=g[I];return L?.collapsible&&W(L.collapsedSize,p[L.itemId])}))){const h=d.slice(0,f).reduce((I,L)=>I+p[L.id],0);return{...p,[t]:Q(100-h)}}const C=g[f],w=Le({overrideDisabledItems:!0,itemConstraints:C,prevSize:m,size:c}),P={...p};let T=w-m;for(const h of y?[1]:S?[-1]:[1,-1])for(let I=f+h;I>=0&&I<d.length&&!W(T,0);I+=h){const L=g[I],k=P[L.itemId];if(et(L,P)||(T>0?oe(k,L.minSize)<=0:oe(k,L.maxSize)>=0))continue;const D=T>0?Math.max(L.minSize,k-T):Math.min(L.maxSize,k-T);T-=k-D,P[L.itemId]=Q(D)}if(P[t]=Q(w-T),W(T,0)||u&&oe(P[t],C.minSize)>=0)return P;const G=(h,I,L)=>{const k=h==="after"?1:-1,D=N=>{for(let j=f+k;j>=0&&j<d.length;j+=k){const M=g[j];if(!et(M,I)&&N(M))return j}},E=D(({itemId:N,maxSize:j,minSize:M})=>L>0?oe(I[N],M)>0:oe(I[N],j)<0)??D(()=>!0)??f+k;return _e({delta:h==="after"?L:-L,initialLayout:I,itemConstraints:g,pivotIndices:h==="after"?[f,E]:[E,f],prevLayout:I,trigger:"imperative-api"})};if(y||S)return G(S?"before":"after",p,c-m);const x=h=>{const I=G(h,p,c-m),L=c-I[t];return W(L,0)?I:G(h==="after"?"before":"after",I,L)},z=x("after");if(jt({itemConstraints:g,itemId:t,nextLayout:z,prevLayout:p})){const h=x("before");if(!jt({itemConstraints:g,itemId:t,nextLayout:h,prevLayout:p}))return h}return z},l=(u,{axis:c,changed:d,itemSize:p,state:g},{allowPartialSize:m=!1}={})=>{if(u===p)return;const{derivedItemConstraints:f,axisSize:y,layout:S}=g,v=a({allowPartialSize:m,nextSize:u,items:c.items,prevLayout:S,derivedItemConstraints:f}),C=be({layout:v,itemConstraints:f});(d||!ce(S,C))&&pe(c,{...g,layout:C,requestedAxisSize:y,requestedLayout:C})};return{collapse:()=>{const u=r(),{collapsible:c,collapsedSize:d}=u.itemConstraints,{mutableValues:p}=i(),g=u.itemSize;c&&g!==d&&(p.expandToSize=g,l(d,u))},expand:()=>{const u=r(),{collapsible:c,collapsedSize:d,minSize:p}=u.itemConstraints,{mutableValues:g}=i(),m=u.itemSize;if(c&&m===d){let f=g.expandToSize??p;f===0&&(f=1),l(f,u,{allowPartialSize:!0})}},getSize:()=>{const{axis:u}=n(),c=s(),{element:d}=i(),p=u.layoutStrategy?u.layoutStrategy.getItemSizeInPixels(t):u.orientation==="horizontal"?d.offsetWidth:d.offsetHeight;return{asPercentage:c,inPixels:p}},isCollapsed:()=>{const{collapsible:u,collapsedSize:c}=o(),d=s();return u&&W(c,d)},resize:u=>{const c=r(),{axisSize:d}=c.state,{element:p}=i(),g=Re({axisSize:d,itemElement:p,styleProp:u}),m=Q(g/d*100);l(m,c)}}}function et({collapsedSize:e,collapsible:t,itemId:n},o){return t&&W(o[n],e)}function jt({itemConstraints:e,itemId:t,nextLayout:n,prevLayout:o}){return e.some(r=>r.itemId!==t&&et(r,o)!==et(r,n))}function Ft(e){if(e.defaultPrevented)return;const t=ye();xt(e,t,e.currentTarget).forEach(o=>{if(o.separator&&!o.separator.disableDoubleClick){const r=o.items.find(i=>i.constraintProps.defaultSize!==void 0);if(r){const i=r.constraintProps.defaultSize,s=zt({axisId:o.axis.id,itemId:r.id});s&&i!==void 0&&(s.resize(i),e.preventDefault())}}})}function bn(e){const t=ye();for(const[n]of t)if(n.separators.some(o=>o.element===e))return n;throw Error("Could not find parent Group for separator element")}function je({axisId:e}){const t=()=>{const n=ye();for(const[o,r]of n)if(o.id===e)return{axis:o,...r};throw Error(`Could not find Group with id "${e}"`)};return{getLayout(){const{defaultLayoutDeferred:n,layout:o}=t();return n?{}:o},setLayout(n){const{axis:o,...r}=t(),i=wt({axis:o,axisState:r}),s=i?.state??r,{defaultLayoutDeferred:a,derivedItemConstraints:l,axisSize:u,layout:c}=s,d=be({layout:n,itemConstraints:l});return a?c:((i?.changed||!ce(c,d))&&pe(o,{...s,layout:d,requestedAxisSize:u,requestedLayout:d}),d)}}}function Ce(e,t){const n=bn(e),o=ue(n.id,!0),r=n.separators.find(d=>d.element===e);F(r,"Matching separator not found");const i=o.separatorToItems.get(r);F(i,"Matching panels not found");const s=i.map(d=>n.items.indexOf(d)),l=je({axisId:n.id}).getLayout(),u=_e({delta:t,initialLayout:l,itemConstraints:o.derivedItemConstraints,pivotIndices:s,prevLayout:l,trigger:"keyboard"}),c=be({layout:u,itemConstraints:o.derivedItemConstraints});ce(l,c)||pe(n,{defaultLayoutDeferred:o.defaultLayoutDeferred,derivedItemConstraints:o.derivedItemConstraints,axisSize:o.axisSize,layout:c,requestedAxisSize:o.axisSize,requestedLayout:c,separatorToItems:o.separatorToItems},{isUserInteraction:!0})}function go(e){return e.separators.filter(t=>!t.disabled)}function _t(e){if(e.defaultPrevented)return;const t=e.currentTarget,n=bn(t);if(!(n.disabled||n.separators.find(r=>r.element===t)?.disabled))switch(e.key){case"ArrowDown":{e.preventDefault(),n.orientation==="vertical"&&Ce(t,5);break}case"ArrowLeft":{e.preventDefault(),n.orientation==="horizontal"&&Ce(t,-5);break}case"ArrowRight":{e.preventDefault(),n.orientation==="horizontal"&&Ce(t,5);break}case"ArrowUp":{e.preventDefault(),n.orientation==="vertical"&&Ce(t,-5);break}case"End":{e.preventDefault(),Ce(t,100);break}case"Enter":{e.preventDefault();const r=ue(n.id,!0),{derivedItemConstraints:i,layout:s,separatorToItems:a}=r,l=n.separators.find(p=>p.element===t);F(l,"Matching separator not found");const u=a.get(l);F(u,"Matching panels not found");const c=u[0],d=i.find(p=>p.itemId===c.id);if(F(d,"Panel metadata not found"),d.collapsible){const p=s[c.id],g=d.collapsedSize===p?n.mutableState.expandedItemSizes[c.id]??d.minSize:d.collapsedSize;Ce(t,g-p)}break}case"F6":{e.preventDefault();const r=go(n).map(l=>l.element),i=r.findIndex(l=>l===e.currentTarget);F(i!==-1,"Index not found");const s=e.shiftKey?i>0?i-1:r.length-1:i+1<r.length?i+1:0;r[s].focus({preventScroll:!0});break}case"Home":{e.preventDefault(),Ce(t,-100);break}}}function ke(e,t){const n=se();if(n.state!=="active"||!ot(n,e,t))return!1;const o=ye();tt();try{n.previewLayoutMap.forEach((r,i)=>{const s=o.get(i);i.resizePreviewMode==="separator"&&s&&!ce(r,s.layout)&&pe(i,{...s,layout:r,requestedAxisSize:s.axisSize,requestedLayout:r})}),vt(),me({cursorFlags:0,state:"inactive"}),n.hitRegions.forEach(r=>{if(!o.has(r.axis))return;const i=ue(r.axis.id,!0);pe(r.axis,i,{isUserInteraction:!0})})}finally{nt()}return!0}function Bt(e){const t=se();if(t.state!=="active")return;const n=t.hitRegions.flatMap(({separator:o})=>o?[o.element]:[]);!n.some(o=>o===e.target)||n.some(o=>o.hasPointerCapture?.(e.pointerId))||ke(e.currentTarget,e)}function Ht(e){ke(e.currentTarget,e)}function yo(e,t){const{element:n,orientation:o,items:r}=e,i=n.getBoundingClientRect(),s=o==="horizontal";return ht({expandHitTargets:!1,axis:e,includeDisabled:!0}).map(({items:l,rect:u,separator:c},d)=>{const p=r.indexOf(l[0]),g=s?u.left+u.width/2:u.top+u.height/2;return{active:t.some(f=>{if(f.axis!==e||f.items[0]!==l[0])return!1;if(c||f.separator)return f.separator===c;const y=s?f.rect.left+f.rect.width/2:f.rect.top+f.rect.height/2;return W(g,y)}),axis:e,key:c?`separator-${c.id}`:`panel-${l[0].id}-${d}`,offset:0,itemIndex:p,rect:new DOMRect((s&&!c?g:u.left)-i.left-n.clientLeft+n.scrollLeft,(!s&&!c?g:u.top)-i.top-n.clientTop+n.scrollTop,s&&!c?0:u.width,!s&&!c?0:u.height),separator:c}})}function qt(e){if(e.defaultPrevented)return;if(e.pointerType==="mouse"&&e.button>0)return;const t=se();if(t.state==="active"){pn(t,e)&&ke(t.ownerDocument,t);return}const n=ye(),o=xt(e,n,e.currentTarget);if(o.length===0)return;const r=new Map;let i=!1;o.forEach(a=>{a.separator&&(i||(i=!0,a.separator.element.focus({focusVisible:!1,preventScroll:!0})));const l=n.get(a.axis);l&&r.set(a.axis,l.layout)});const s=Array.from(r.keys()).flatMap(a=>a.resizePreviewMode==="separator"?yo(a,o):[]);me({cursorFlags:0,didPointerMove:!1,hitRegions:o,initialLayoutMap:r,ownerDocument:e.currentTarget,pointerDownAtPoint:{x:e.clientX,y:e.clientY},pointerId:e.pointerId,pointerType:e.pointerType,previewLayoutMap:new Map(r),previews:s,state:"active"}),e.preventDefault()}function Vt(e){const t=e.currentTarget,n=ye(),o=se();switch(o.state){case"active":{if(!ot(o,t,e))return;bt({commit:!1,event:e,hitRegions:o.hitRegions,initialLayoutMap:o.initialLayoutMap,mountedAxes:n,prevCursorFlags:o.cursorFlags})}}}function Ut(e){if(e.defaultPrevented)return;const t=e.currentTarget,n=se(),o=ye();switch(n.state){case"active":{if(!ot(n,t,e))return;if(e.buttons===0){ke(t,e);return}for(const r of n.hitRegions)if(r.separator){const{element:i}=r.separator;i.isConnected&&!i.hasPointerCapture?.(e.pointerId)&&i.setPointerCapture?.(e.pointerId)}bt({commit:!1,event:e,hitRegions:n.hitRegions,initialLayoutMap:n.initialLayoutMap,mountedAxes:o,pointerDownAtPoint:n.pointerDownAtPoint,prevCursorFlags:n.cursorFlags});break}default:{const r=xt(e,o,t);r.length===0?n.state!=="inactive"&&me({cursorFlags:0,state:"inactive"}):me({cursorFlags:0,hitRegions:r,ownerDocument:t,state:"hover"});break}}}function Wt(e){if(e.relatedTarget instanceof HTMLIFrameElement){const t=se();switch(t.state){case"hover":t.ownerDocument===e.currentTarget&&me({cursorFlags:0,state:"inactive"})}}}function Yt(e){e.defaultPrevented||e.pointerType==="mouse"&&e.button>0||hn(e.currentTarget,e)}function Xt(e){e.target===e.currentTarget&&ke(e.currentTarget.document)}function Kt(e){ke(e.currentTarget.document)}function So(e,t,n){if(!n[0])return;const r=e.items.find(u=>u.element===t);if(!r||!r.onResize)return;const i=qe({axis:e}),s=e.orientation==="horizontal"?r.element.offsetWidth:r.element.offsetHeight,a=r.mutableValues.prevSize,l={asPercentage:Q(s/i*100),inPixels:s};r.mutableValues.prevSize=l,r.onResize(l,r.id,a)}const Ie=new Map;let Jt=!1;function xn(e){let t=!0;F(e.element.ownerDocument.defaultView,"Cannot register an unmounted Group");const n=e.element.ownerDocument.defaultView.ResizeObserver,o=new Set,r=new Set,i=new n(m=>{let f;tt();try{for(const y of m){const{borderBoxSize:S,target:v}=y;if(v===e.element){if(t){const C=ue(e.id);if(!C)break;const w=wt({axis:e,axisState:C});if(!w)break;if(!w.changed)continue;pe(e,w.state)}}else try{So(e,v,S)}catch(C){f??={error:C}}}}finally{nt()}if(f)throw f.error});i.observe(e.element),e.items.forEach(m=>{F(!o.has(m.id),`Panel ids must be unique; id "${m.id}" was used more than once`),o.add(m.id),m.onResize&&i.observe(m.element)});const s=qe({axis:e}),a=yt(e,s),l=yn({axis:e,itemConstraints:a}),u=be({layout:l,itemConstraints:a}),c=e.element.ownerDocument,d=c.defaultView;Ie.set(c,(Ie.get(c)??0)+1);const p=new Map;return ht({axis:e,includeDisabled:!0}).forEach(m=>{m.separator&&p.set(m.separator,m.items)}),pe(e,{defaultLayoutDeferred:s===0,derivedItemConstraints:a,axisSize:s,layout:u,requestedAxisSize:s,requestedLayout:vn({itemIds:e.items.map(({id:m})=>m),layout:l}),separatorToItems:p}),e.separators.forEach(m=>{F(!r.has(m.id),`Separator ids must be unique; id "${m.id}" was used more than once`),r.add(m.id),m.element.addEventListener("keydown",_t)}),Jt||(Jt=!0,mt(Vn)),Ie.get(c)===1&&(c.addEventListener("contextmenu",$t,!0),c.addEventListener("dblclick",Ft,!0),c.addEventListener("lostpointercapture",Bt,!0),c.addEventListener("pointercancel",Ht,!0),c.addEventListener("pointerdown",qt,!0),c.addEventListener("pointerleave",Vt),c.addEventListener("pointermove",Ut),c.addEventListener("pointerout",Wt),c.addEventListener("pointerup",Yt,!0),d?.addEventListener("blur",Xt),d?.addEventListener("pagehide",Kt)),function(){t=!1,Ie.set(c,Math.max(0,(Ie.get(c)??0)-1)),Qn(e),Bn(e),e.separators.forEach(f=>{f.element.removeEventListener("keydown",_t)}),Ie.get(c)||(c.removeEventListener("contextmenu",$t,!0),c.removeEventListener("dblclick",Ft,!0),c.removeEventListener("lostpointercapture",Bt,!0),c.removeEventListener("pointercancel",Ht,!0),c.removeEventListener("pointerdown",qt,!0),c.removeEventListener("pointerleave",Vt),c.removeEventListener("pointermove",Ut),c.removeEventListener("pointerout",Wt),c.removeEventListener("pointerup",Yt,!0),d?.removeEventListener("blur",Xt),d?.removeEventListener("pagehide",Kt)),i.disconnect()}}function wn({derivedItemConstraints:e,axis:t,layout:n,prevLayout:o,requestedLayout:r}){const i=t.items.map(({id:s})=>s).join(",");t.mutableState.layouts[i]=r,o&&e.forEach(s=>{if(s.collapsible){const a=W(s.collapsedSize,n[s.itemId]),l=W(s.collapsedSize,o[s.itemId]);a&&!l&&(t.mutableState.expandedItemSizes[s.itemId]=o[s.itemId])}})}function zn(){const[e,t]=b.useState({}),n=b.useCallback(()=>t({}),[]);return[e,n]}function rt(e){const t=b.useRef({...e});return re(()=>{for(const n in e)t.current[n]=e[n]},[e]),t.current}const Ct=b.createContext(null),Cn=b.createContext(null);function vo({layout:e,itemConstraints:t,itemId:n,itemIndex:o}){let r,i;const s=e[n],a=t.find(l=>l.itemId===n);if(a){const l=a.maxSize,u=a.collapsible?a.collapsedSize:a.minSize,c=[o,o+1];i=be({layout:_e({delta:u-s,initialLayout:e,itemConstraints:t,pivotIndices:c,prevLayout:e}),itemConstraints:t})[n],r=be({layout:_e({delta:l-s,initialLayout:e,itemConstraints:t,pivotIndices:c,prevLayout:e}),itemConstraints:t})[n]}return{valueControls:n,valueMax:r,valueMin:i,valueNow:s}}function Ln({attributes:e,axisId:t,axisOrientation:n,children:o,className:r,"data-testid":i,disableCursor:s,disabled:a,disableDoubleClick:l,elementRef:u,id:c,isSharedHitRegion:d,preview:p,registerSeparator:g,requiredStyle:m,style:f,styleDefaults:y,tabIndex:S=0,updateSeparatorProps:v}){const C=rt({disabled:a,disableDoubleClick:l,children:o,className:r,preview:p,style:f}),[w,P]=b.useState({}),[T,G]=b.useState("inactive"),[x,z]=b.useState(!1),h=b.useRef(null),I=b.useRef(null),L=Be(h,u),k=n==="horizontal"?"vertical":"horizontal";re(()=>{const N=h.current;if(N!==null){const j={disabled:C.disabled,disableDoubleClick:C.disableDoubleClick,element:N,id:c,get children(){return C.children},get className(){return C.className},get preview(){return C.preview},get style(){return C.style}};I.current=j;const M=g(j),A=mt(V=>{G(V.next.state!=="inactive"&&V.next.hitRegions.some(U=>U.separator===j||(d?.(U)??!1))?V.next.state:"inactive")}),q=Fe(t,V=>{const{derivedItemConstraints:U,layout:le,separatorToItems:Se}=V.next,xe=Se.get(j);if(xe){const we=xe[0],Te=U.findIndex(R=>R.itemId===we.id),{layoutStrategy:ee}=V.axis;P({...vo({layout:le,itemConstraints:U,itemId:we.id,itemIndex:Te}),...ee?.getItemAriaControls&&{valueControls:ee.getItemAriaControls(we.id)}})}});return()=>{I.current=null,A(),q(),M()}}},[t,c,d,g,C]),re(()=>{const N=I.current;N&&_n(N)},[p]),b.useEffect(()=>{v(c,{disabled:a,disableDoubleClick:l})},[a,l,c,v]);let D;a&&!s&&(D="not-allowed");let E;if(a)E="disabled";else switch(T){case"active":{E="active";break}default:x?E="focus":E=T}return Y.jsx("div",{...e,"aria-controls":w.valueControls,"aria-disabled":a||void 0,"aria-orientation":k,"aria-valuemax":w.valueMax,"aria-valuemin":w.valueMin,"aria-valuenow":w.valueNow,children:o,className:r,"data-separator":E,"data-testid":i,id:c,onBlur:()=>z(!1),onFocus:()=>z(!0),ref:L,role:"separator",style:{...y,cursor:D,...f,...m,touchAction:"none"},tabIndex:a?void 0:S})}function Zt({axis:e,children:t,className:n,crossSpan:o,crossStart:r,disabled:i,elementRef:s,index:a,style:l}){const u=Me(void 0),{getDisableCursor:c,getResizeAxisId:d,gutters:p,registerSeparator:g,separatorPlacements:m,trackCounts:f,updateSeparatorProps:y}=on(),S=d(e),v=e==="column"?"row":"column",C=f[v],w=!!i||!dt(a,f[e]);let P=!0;for(const h of m.values())if(h.axis===e&&h.index===a&&!h.disabled&&h.crossStart<r){P=!1;break}const T=b.useCallback(h=>h.axis.id===S&&h.axis.items.indexOf(h.items[1])===a,[S,a]),G=b.useCallback(h=>g({axis:e,crossSpan:o,crossStart:r,disabled:!!i,index:a},h),[e,o,r,i,a,g]),x=$n(a),z=On({crossCount:C,crossSpan:o,crossStart:r,hasGutters:p[v]});return Y.jsx(Ln,{axisId:S,axisOrientation:e==="column"?"horizontal":"vertical",className:n,disableCursor:c(),disabled:w,disableDoubleClick:void 0,elementRef:s,id:u,isSharedHitRegion:T,registerSeparator:G,requiredStyle:{gridColumn:e==="column"?x:z,gridRow:e==="row"?x:z},style:l,tabIndex:P?0:-1,updateSeparatorProps:y,children:t})}function Lt(e){const{children:t,className:n,disabled:o,elementRef:r,style:i}=e;return e.type==="column"?Y.jsx(Zt,{axis:"column",className:n,crossSpan:e.rowSpan,crossStart:e.row??0,disabled:o,elementRef:r,index:e.column,style:i,children:t}):Y.jsx(Zt,{axis:"row",className:n,crossSpan:e.columnSpan,crossStart:e.column??0,disabled:o,elementRef:r,index:e.row,style:i,children:t})}Lt.displayName="Gridline";const Pe=["column","row"],Qt={columns:{},rows:{}};function In({children:e,className:t,columns:n,defaultLayout:o,disableCursor:r,disabled:i,elementRef:s,gridRef:a,id:l,onLayoutChange:u,onLayoutChanged:c,resizeTargetMinimumSize:d={coarse:20,fine:10},rows:p,style:g,...m}){const f=Me(l),y=b.useCallback(R=>R==="column"?`${f}:columns`:`${f}:rows`,[f]),S=en(n,"columns"),v=en(p,"rows"),C=R=>R==="column"?S:v,w=b.useRef({onLayoutChange:Qt,onLayoutChanged:Qt}),P=ve(R=>{tn(w.current.onLayoutChange,R)||(w.current.onLayoutChange=R,u?.(R))}),T=ve((R,$,B)=>{tn(w.current.onLayoutChanged,R)||(w.current.onLayoutChanged=R,c?.(R,{isUserInteraction:$,requestedLayout:B}))}),G=b.useRef(null),x=Be(G,s),[z,h]=zn(),I=b.useRef({cells:[],column:{expandedItemSizes:{},layouts:{}},loggedErrors:new Set,row:{expandedItemSizes:{},layouts:{}},separators:new Map}),L={column:!1,row:!1};for(const R of I.current.separators.values())L[R.axis]=!0;Rn(e,L);const k=rt({defaultLayout:o,disableCursor:r,resizeTargetMinimumSize:d}),D=ve(()=>!!k.disableCursor),E=b.useCallback(R=>{const $=I.current;return $.cells=[...$.cells,R],h(),()=>{$.cells=$.cells.filter(B=>B!==R),h()}},[h]),N=b.useCallback((R,$)=>{const B=I.current;return B.separators=new Map(B.separators),B.separators.set($,R),h(),()=>{B.separators=new Map(B.separators),B.separators.delete($),h()}},[h]),j=b.useCallback((R,{disabled:$,disableDoubleClick:B})=>{for(const _ of I.current.separators.keys())_.id===R&&(_.disabled=$,_.disableDoubleClick=B)},[]),M=I.current.separators,A=b.useMemo(()=>({getDisableCursor:D,getResizeAxisId:y,gutters:{column:L.column,row:L.row},id:f,registerCell:E,registerSeparator:N,separatorPlacements:M,trackCounts:{column:S.length,row:v.length},updateSeparatorProps:j}),[S.length,D,y,L.column,L.row,f,E,N,v.length,M,j]),q=b.useRef([]);re(()=>{const R=G.current;if(R===null)return;const $=I.current,B=xo({cells:$.cells,separatorPlacements:$.separators,trackCounts:{column:S.length,row:v.length}});B.forEach(O=>{$.loggedErrors.has(O)||console.error(O)}),$.loggedErrors=new Set(B);const _=O=>Array.from($.separators.entries()).filter(([,J])=>J.axis===O).sort(([,J],[,he])=>J.index-he.index).map(([J])=>J),H=O=>{const J=O==="column"?S:v,he=O==="column"?v:S,ge=J.map(te=>te.id),Ve=y(O),Ue=_(O),ze=Ue.length>0,We=J.map(({id:te,...ie},ne)=>({element:R,id:ge[ne],idIsStable:!0,mutableValues:{expandToSize:void 0,prevSize:void 0},onResize:void 0,constraintProps:ie})),Ae=()=>{const te=[];if(ze){for(const[ie,ne]of $.separators)if(ne.axis===O&&dt(ne.index,J.length)){const Oe=ie.element.getBoundingClientRect();te[ne.index]=Math.max(te[ne.index]??0,O==="column"?Oe.width:Oe.height)}}return Nn({axis:O,element:R,gutterSizes:te.filter(ie=>ie!==void 0),hasGutters:ze,layout:ue(Ve)?.layout,trackIds:ge})};let $e;const st=k.defaultLayout?.[O==="column"?"columns":"rows"];if(st!==void 0&&Object.keys(st).length===ge.length){$e={};for(const te of ge){const ie=st[te];ie!==void 0&&($e[te]=ie)}}return{disabled:!!i,element:R,id:Ve,layoutStrategy:{getItemAriaControls:te=>{const ie=ge.indexOf(te);return $.cells.filter(ne=>{const Oe=O==="column"?ne.column:ne.row,Dn=O==="column"?ne.columnSpan:ne.rowSpan;return Oe<=ie&&ie<Oe+Dn}).map(ne=>ne.element.id).filter(Boolean).join(" ")||void 0},calculateAvailableSize:()=>Ae().availableSize,calculateHitRegions:({expandHitTargets:te,axis:ie,includeDisabled:ne})=>Gn({axis:O,cells:$.cells,crossTrackCount:he.length,expandHitTargets:te,resizeAxis:ie,axisSize:Ae().availableSize,includeDisabled:ne,separatorPlacements:$.separators}),getItemSizeInPixels:te=>Ae().trackSizes[ge.indexOf(te)]??0},mutableState:{defaultLayout:$e,disableCursor:!!k.disableCursor,expandedItemSizes:$[O].expandedItemSizes,layouts:$[O].layouts},orientation:O==="column"?"horizontal":"vertical",items:We,resizePreviewMode:"panel",get resizeTargetMinimumSize(){return k.resizeTargetMinimumSize},separators:Ue}},Z=Pe.map(H);q.current=Z;const K=Z.map(O=>xn(O)),ae=()=>{const[O,J]=Z.map(he=>ue(he.id));if(!(!O||!J||O.defaultLayoutDeferred||J.defaultLayoutDeferred))return{layout:{columns:O.layout,rows:J.layout},requestedLayout:{columns:O.requestedLayout,rows:J.requestedLayout}}};{const O=ae();if(O)try{try{P(O.layout)}finally{T(O.layout,!1,O.requestedLayout)}}catch(J){throw q.current=[],K.forEach(he=>he()),J}}const De=Z.map(O=>Fe(O.id,J=>{const{defaultLayoutDeferred:he,derivedItemConstraints:ge,layout:Ve,requestedLayout:Ue}=J.next;if(he||ge.length===0)return;wn({derivedItemConstraints:ge,axis:O,layout:Ve,prevLayout:J.prev?.layout,requestedLayout:Ue});const ze=ae();if(ze){const We=se(),Ae=We.state!=="active"||!We.hitRegions.some($e=>Z.includes($e.axis));try{P(ze.layout)}finally{Ae&&T(ze.layout,J.isUserInteraction,ze.requestedLayout)}}}));return()=>{q.current=[],K.forEach(O=>O()),De.forEach(O=>O())}},[S,i,y,f,T,P,v,z,k]),b.useEffect(()=>{q.current.forEach(R=>{R.mutableState.defaultLayout=o?.[R.orientation==="horizontal"?"columns":"rows"],R.mutableState.disableCursor=!!r})});const V=b.useMemo(()=>{const R=()=>{const[_,H]=Pe.map(y);return!Ee(_)||!Ee(H)?{columns:{},rows:{}}:{columns:je({axisId:_}).getLayout(),rows:je({axisId:H}).getLayout()}},$=_=>_.map(H=>`"${H}"`).join(", "),B=(_,H)=>{const Z=y(_),K=()=>{const ae=Ee(Z);return F(ae,`Grid "${f}" has not been mounted`),F(ae.items.some(De=>De.id===H),`Grid "${f}" no longer contains a ${_} with id "${H}"; ${_} ids are ${$(ae.items.map(De=>De.id))}`),zt({axisId:Z,itemId:H})};return{collapse:()=>K().collapse(),expand:()=>K().expand(),getSize:()=>K().getSize(),isCollapsed:()=>K().isCollapsed(),resize:ae=>K().resize(ae)}};return{getLayout:R,getTrackById:(_,H)=>{const Z=_==="column"?S:v,K=`${H}`;return F(Z.some(ae=>ae.id===K),`Grid "${f}" does not contain a ${_} with id "${K}"; ${_} ids are ${$(Z.map(ae=>ae.id))}`),B(_,K)},getTrackByIndex:(_,H)=>{const Z=_==="column"?S:v,K=Number.isInteger(H)?Z[H]:void 0;return F(K,`Grid "${f}" does not contain a ${_} at index ${H}; it has ${Z.length} ${_}s`),B(_,K.id)},setLayout:_=>(Pe.forEach(H=>{const Z=_[H==="column"?"columns":"rows"],K=y(H);Z&&Ee(K)&&je({axisId:K}).setLayout(Z)}),R())}},[S,y,f,v]);b.useImperativeHandle(a,()=>V,[V]);const U=b.useRef(V);re(()=>{U.current=V});const le=b.useMemo(()=>({getLayout:()=>U.current.getLayout(),getTrackById:(R,$)=>U.current.getTrackById(R,$),getTrackByIndex:(R,$)=>U.current.getTrackByIndex(R,$),id:f,setLayout:R=>U.current.setLayout(R)}),[f]),Se=()=>Pe.map(R=>{const $=ue(y(R)),B=C(R);return($&&!$.defaultLayoutDeferred?B.map(H=>`minmax(0, ${$.layout[H.id]??1}fr)`):bo(B,o?.[R==="column"?"columns":"rows"])).join(L[R]?" auto ":" ")}).join("|"),xe=b.useCallback(R=>{const $=Pe.map(B=>Fe(y(B),R));return()=>$.forEach(B=>B())},[y]),we=b.useSyncExternalStore(xe,Se,Se),[Te,ee]=we.split("|");return Y.jsx(nn.Provider,{value:A,children:Y.jsx("div",{...m,className:t,"data-grid":!0,"data-testid":He(m,l),id:f,ref:x,style:{height:"100%",width:"100%",overflow:"hidden",...g,display:"grid",gridTemplateColumns:Te,gridTemplateRows:ee,touchAction:"none"},children:Y.jsx(Ct.Provider,{value:null,children:Y.jsx(Cn.Provider,{value:le,children:e})})})})}In.displayName="Grid";function en(e,t){const n=JSON.stringify(e);return b.useMemo(()=>{const o=typeof e=="number"?Array.from({length:e},(r,i)=>({id:`${i}`})):e.map((r,i)=>({...r,id:`${r.id??i}`}));return F(o.length>0,`Grid must have at least one track; "${t}" is ${n}`),o},[n])}function Rn(e,t){b.Children.forEach(e,n=>{if(b.isValidElement(n))if(n.type===Lt){const{type:o}=n.props;o==="column"?t.column=!0:o==="row"&&(t.row=!0)}else typeof n.type=="symbol"&&n.props!==null&&typeof n.props=="object"&&"children"in n.props&&Rn(n.props.children,t)})}function bo(e,t){if(t)return e.map(i=>`minmax(0, ${t[i.id]??1}fr)`);const n=e.map(i=>i.defaultSize===void 0?void 0:an(i.defaultSize));let o=100,r=0;return n.forEach(i=>{i===void 0?r++:i[1]==="%"&&(o-=i[0])}),n.map(i=>{if(i===void 0)return`minmax(0, ${Math.max(0,o)/Math.max(1,r)}fr)`;const[s,a]=i;return a==="%"?`minmax(0, ${s}fr)`:`${s}${a}`})}function xo({cells:e,separatorPlacements:t,trackCounts:n}){const o=[];for(const a of e)Pe.forEach(l=>{const[u,c]=l==="column"?[a.column,a.columnSpan]:[a.row,a.rowSpan],d=n[l];(!Number.isInteger(u)||!Number.isInteger(c)||u<0||c<1||u+c>d)&&o.push(`Invalid Cell ${l} placement (${l}: ${u}, ${l}Span: ${c}); Grid has ${d} ${l}s`)});const r=({axis:a,crossSpan:l,crossStart:u,disabled:c,index:d})=>{const p=a==="column"?"row":"column";let g=`type="${a}" ${a}={${d}}`;return(u!==0||l!==void 0)&&(g+=` ${p}={${u}}`),l!==void 0&&(g+=` ${p}Span={${l}}`),c&&(g+=" disabled"),`<Gridline ${g} />`},i=Array.from(t.values()).filter(a=>{const{axis:l,crossSpan:u,crossStart:c,index:d}=a,p=l==="column"?"row":"column",g=n[l],m=n[p];let f=!0;return dt(d,g)||(o.push(`Invalid ${l} Gridline ${l} (${d}); must be between 1 and ${g-1}`),f=!1),!Number.isInteger(c)||c<0||c>=m?(o.push(`Invalid ${l} Gridline ${p} (${c}); must be between 0 and ${m-1}`),f=!1):u!==void 0&&(!Number.isInteger(u)||u<1||c+u>m)&&(o.push(`Invalid ${l} Gridline ${p}Span (${u}); Grid has ${m} ${p}s`),f=!1),f}),s=a=>{const l=n[a.axis==="column"?"row":"column"];return[a.crossStart,a.crossSpan===void 0?l:a.crossStart+a.crossSpan]};return i.forEach((a,l)=>{const{axis:u,index:c}=a,[d,p]=s(a);for(const g of e){const[m,f,y,S]=u==="column"?[g.column,g.columnSpan,g.row,g.rowSpan]:[g.row,g.rowSpan,g.column,g.columnSpan];if(m<c&&c<m+f&&y<p&&d<y+S){const v=u==="column"?"row":"column";o.push(`${r(a)} overlaps a Cell that spans across it (${u}: ${m}, ${u}Span: ${f}, ${v}: ${y}, ${v}Span: ${S}); use the ${v} and ${v}Span props to render gridlines beside the Cell instead`)}}for(const g of i.slice(l+1))if(g.axis===u&&g.index===c){const[m,f]=s(g);m<p&&d<f&&o.push(`${r(a)} overlaps ${r(g)}`)}}),o}function tn(e,t){return ce(e.columns,t.columns)&&ce(e.rows,t.rows)}function wo({id:e,onlySaveAfterUserInteractions:t,storage:n=localStorage}){const o=`react-resizable-panels:grid:${e}`,r=b.useSyncExternalStore(zo,()=>n.getItem(o),()=>n.getItem(o)),i=b.useMemo(()=>{if(r)try{const a=JSON.parse(r);if(a!==null&&typeof a=="object")return a}catch{}},[r]),s=b.useCallback((a,l)=>{if(!(t&&!l.isUserInteraction))try{n.setItem(o,JSON.stringify(l.requestedLayout??a))}catch(u){console.error(u)}},[t,n,o]);return{defaultLayout:i,onLayoutChanged:s}}function zo(){return function(){}}function Co(){return b.useState(null)}function Lo(){return b.useRef(null)}function Io(){return b.useContext(Cn)}function Ro(e){for(let t=1;t<e.length;t++)if(pt(e[t-1],e[t])>0)return!1;return!0}function Po({separator:e}){const{element:t}=e,n=b.useRef(null);return re(()=>{const o=t.cloneNode(!0),r=[t,...t.querySelectorAll("*")],i=[o,...o.querySelectorAll("*")],s=t.ownerDocument.defaultView;return r.forEach((a,l)=>{const u=i[l];if(u instanceof s.HTMLElement||u instanceof s.SVGElement){const c=s.getComputedStyle(a);for(let d=0;d<c.length;d++){const p=c.item(d);u.style.setProperty(p,c.getPropertyValue(p))}}u.removeAttribute("data-testid"),u.removeAttribute("id")}),Object.assign(o.style,{boxSizing:"border-box",height:"100%",margin:"0",position:"static",transform:"none",width:"100%"}),n.current.appendChild(o),()=>o.remove()},[t]),Y.jsx("div",{ref:n,style:{height:"100%",opacity:.65,pointerEvents:"none",width:"100%"}})}function it(){const e=b.useContext(Ct);return F(e,"Group Context not found; did you render a Panel or Separator outside of a Group?"),e}function It(e){const{registerOverlay:t}=it(),n=b.useRef(e);Sn(n.current,e)||(n.current=e);const o=n.current;return re(()=>t(o),[t,o]),null}It.displayName="SeparatorOverlay";function Eo({active:e,orientation:t,style:n,...o}){let r;switch(t){case"horizontal":{r={height:"100%",minWidth:"1px"};break}case"vertical":{r={minHeight:"1px",width:"100%"};break}}return Y.jsx("div",{...o,"data-separator-overlay":e?"active":"inactive",style:{...r,...n,flexShrink:0,pointerEvents:"none"}})}function Mo({overlay:e,preview:t}){const{axis:n,offset:o,rect:r,separator:i}=t,s=n.orientation==="horizontal";let a=i?.preview,l=e;return b.isValidElement(a)&&a.type===It&&(l=a.props,a=void 0),a==null&&(l?a=Y.jsx(Eo,{...l,active:t.active,orientation:n.orientation}):i&&(a=Y.jsx(Po,{separator:i}))),Y.jsx("div",{"aria-hidden":"true","data-resize-preview":!0,inert:!0,style:{height:r.height,left:r.left,pointerEvents:"none",position:"absolute",top:r.top,transform:s?`translateX(${o}px)`:`translateY(${o}px)`,width:r.width},children:a})}function ko(e){return Array.from(e).sort(pt)}const Pn=b.createContext(null);function To(e,t){const n=b.useRef({getLayout:()=>({}),setLayout:Hn});return b.useImperativeHandle(t,()=>n.current,[]),re(()=>{Object.assign(n.current,je({axisId:e}))}),n}function Do({groupId:e,resizePreviewMode:t}){const[n,o]=b.useState([]),r=b.useRef(n);return re(()=>{const i=a=>{const l=Ee(e),u=t==="separator"&&a.state==="active"?a.previews.filter(d=>d.axis===l&&(d.active||!W(d.offset,0))):[],c=r.current;c.length===u.length&&u.every((d,p)=>d===c[p])||(r.current=u,o(u))};if(t!=="separator"){i(se());return}const s=mt(({next:a})=>i(a));return i(se()),s},[e,t]),n}function En({children:e,className:t,defaultLayout:n,disableCursor:o,disabled:r,elementRef:i,groupRef:s,id:a,onLayoutChange:l,onLayoutChanged:u,orientation:c="horizontal",resizePreviewMode:d="panel",resizeTargetMinimumSize:p={coarse:20,fine:10},style:g,...m}){const f=b.useRef({onLayoutChange:{},onLayoutChanged:{}}),y=ve(M=>{ce(f.current.onLayoutChange,M)||(f.current.onLayoutChange=M,l?.(M))}),S=ve((M,A,q)=>{ce(f.current.onLayoutChanged,M)||(f.current.onLayoutChanged=M,u?.(M,{isUserInteraction:A,requestedLayout:q}))}),v=Me(a),[C,w]=b.useState(),P=Do({groupId:v,resizePreviewMode:d}),T=b.useRef(null),[G,x]=zn(),z=b.useRef([]),h=b.useRef({lastExpandedPanelSizes:{},layouts:{},panels:[],separators:[]}),I=Be(T,i),L=To(v,s),k=b.useMemo(()=>({getLayout:()=>L.current.getLayout(),id:v,orientation:c,setLayout:M=>L.current.setLayout(M)}),[v,L,c]),D=ve((M,A)=>{const q=ue(M);if(q)return{flexGrow:q.layout[A]??1};if(n?.[A])return{flexGrow:n?.[A]}}),E=rt({defaultLayout:n,disableCursor:o,resizeTargetMinimumSize:p}),N=b.useMemo(()=>({get disableCursor(){return!!E.disableCursor},getPanelStyles:D,id:v,orientation:c,registerPanel:M=>{const A=h.current;return A.panels=Ge(c,[...A.panels,M]),x(),()=>{A.panels=A.panels.filter(q=>q!==M),x()}},registerOverlay:M=>(w(M),()=>{w(void 0)}),registerSeparator:M=>{const A=h.current;return A.separators=Ge(c,[...A.separators,M]),x(),()=>{A.separators=A.separators.filter(q=>q!==M),x()}},updatePanelProps:(M,{disabled:A})=>{const V=h.current.panels.find(Se=>Se.id===M);if(!V||V.constraintProps.disabled===A)return;V.constraintProps.disabled=A;const U=Ee(v),le=ue(v);U&&le&&pe(U,{...le,derivedItemConstraints:yt(U)})},updateSeparatorProps:(M,{disabled:A,disableDoubleClick:q})=>{const U=h.current.separators.find(le=>le.id===M);U&&(U.disabled=A,U.disableDoubleClick=q)}}),[D,v,x,c,E]),j=b.useRef(null);return re(()=>{const M=T.current;if(M===null)return;const A=h.current;A.panels=Ge(c,A.panels),A.separators=Ge(c,A.separators),z.current=ko([...A.panels.map(({element:ee})=>ee),...A.separators.map(({element:ee})=>ee)]);let q;if(E.defaultLayout!==void 0&&Object.keys(E.defaultLayout).length===A.panels.length){q={};for(const ee of A.panels){const R=E.defaultLayout[ee.id];R!==void 0&&(q[ee.id]=R)}}const V={disabled:!!r,element:M,id:v,mutableState:{defaultLayout:q,disableCursor:!!E.disableCursor,expandedItemSizes:h.current.lastExpandedPanelSizes,layouts:h.current.layouts},orientation:c,items:A.panels,resizePreviewMode:d,get resizeTargetMinimumSize(){return E.resizeTargetMinimumSize},separators:A.separators};j.current=V;const U=xn(V),{defaultLayoutDeferred:le,derivedItemConstraints:Se,layout:xe,requestedLayout:we}=ue(V.id,!0);if(!le&&Se.length>0)try{try{y(xe)}finally{S(xe,!1,we)}}catch(ee){throw j.current=null,U(),ee}const Te=Fe(v,ee=>{const{defaultLayoutDeferred:R,derivedItemConstraints:$,layout:B,requestedLayout:_}=ee.next;if(R||$.length===0)return;wn({derivedItemConstraints:$,axis:V,layout:B,prevLayout:ee.prev?.layout,requestedLayout:_});const H=se(),Z=H.state!=="active"||!H.hitRegions.some(K=>K.axis===V);try{y(B)}finally{Z&&S(B,ee.isUserInteraction,_)}});return()=>{j.current=null,U(),Te()}},[r,v,S,y,c,G,d,E]),re(()=>{Ro(z.current)||x()}),b.useEffect(()=>{const M=j.current;M&&(M.mutableState.defaultLayout=n,M.mutableState.disableCursor=!!o)}),Y.jsx(Pn.Provider,{value:k,children:Y.jsx(Ct.Provider,{value:N,children:Y.jsxs("div",{...m,className:t,"data-group":!0,"data-testid":He(m,a),id:v,ref:I,style:{height:"100%",width:"100%",overflow:"hidden",position:d==="separator"?"relative":void 0,...g,display:"flex",flexDirection:c==="horizontal"?"row":"column",flexWrap:"nowrap",touchAction:c==="horizontal"?"pan-y":"pan-x"},children:[e,P.map(M=>Y.jsx(Mo,{overlay:C,preview:M},M.key))]})})})}En.displayName="Group";function Ze(e,t){return`react-resizable-panels:${[e,...t].join(":")}`}function Ao({id:e,panelIds:t,storage:n}){const o=Ze(e,[]),r=n.getItem(o);if(r)try{const i=JSON.parse(r);if(t){const s=t.join(","),a=i[s];if(a&&Array.isArray(a.layout)&&t.length===a.layout.length){const l={};for(let u=0;u<t.length;u++)l[t[u]]=a.layout[u];return l}}else{const s=Object.keys(i);if(s.length===1){const a=i[s[0]];if(a&&Array.isArray(a.layout)){const l=s[0].split(",");if(l.length===a.layout.length){const u={};for(let c=0;c<l.length;c++)u[l[c]]=a.layout[c];return u}}}}}catch{}}function $o({debounceSaveMs:e=100,onlySaveAfterUserInteractions:t,panelIds:n,storage:o=localStorage,...r}){const i=n!==void 0,s="id"in r?r.id:r.groupId,a=Ze(s,n??[]),l=b.useSyncExternalStore(Oo,()=>o.getItem(a),()=>o.getItem(a)),u=b.useMemo(()=>{if(l){const y=JSON.parse(l),S=Object.values(y);if(Array.from(S).every(v=>typeof v=="number"))return y}},[l]),c=b.useMemo(()=>{if(!u)return Ao({id:s,panelIds:n,storage:o})},[u,s,n,o]),d=u??c,p=b.useRef(null),g=b.useCallback(()=>{const y=p.current;y&&(p.current=null,clearTimeout(y))},[]);b.useLayoutEffect(()=>()=>{g()},[g]);const m=b.useCallback((y,S)=>{if(t&&!S.isUserInteraction)return;g();const v=S.requestedLayout??y;let C;i?C=Ze(s,Object.keys(v)):C=Ze(s,[]);try{o.setItem(C,JSON.stringify(v))}catch(w){console.error(w)}},[g,i,s,t,o]),f=b.useCallback(y=>{g(),e===0?m(y,{isUserInteraction:!1}):p.current=setTimeout(()=>{m(y,{isUserInteraction:!1})},e)},[g,e,m]);return{defaultLayout:d,onLayoutChange:f,onLayoutChanged:m}}function Oo(){return function(){}}function Go(){return b.useState(null)}function No(){return b.useRef(null)}function jo(){return b.useContext(Pn)}const Mn=b.createContext(null);function Fo(e,t){const{id:n}=it(),o=b.useRef({collapse:at,expand:at,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:at});return b.useImperativeHandle(t,()=>o.current,[]),re(()=>{Object.assign(o.current,zt({axisId:n,itemId:e}))}),o}function kn({children:e,className:t,collapsedSize:n="0%",collapsedThreshold:o,collapsible:r=!1,defaultSize:i,disabled:s,elementRef:a,groupResizeBehavior:l="preserve-relative-size",id:u,maxSize:c="100%",minSize:d="0%",onResize:p,panelRef:g,style:m,...f}){const y=Qe(u),S=Me(u),v=rt({disabled:s}),C=b.useRef(null),w=Be(C,a),{getPanelStyles:P,id:T,orientation:G,registerPanel:x,updatePanelProps:z}=it(),h=p!==null,I=ve((j,M,A)=>{p?.(j,u,A)});re(()=>{const j=C.current;if(j!==null){const M={element:j,id:S,idIsStable:y,mutableValues:{expandToSize:void 0,prevSize:void 0},onResize:h?I:void 0,constraintProps:{groupResizeBehavior:l,collapsedSize:n,collapsedThreshold:o,collapsible:r,defaultSize:i,disabled:v.disabled,maxSize:c,minSize:d}};return x(M)}},[l,n,o,r,i,h,S,y,c,d,I,x,v]),b.useEffect(()=>{z(S,{disabled:s})},[s,S,z]);const L=Fo(S,g),k=b.useMemo(()=>({collapse:()=>L.current.collapse(),expand:()=>L.current.expand(),getSize:()=>L.current.getSize(),groupId:T,id:S,isCollapsed:()=>L.current.isCollapsed(),resize:j=>L.current.resize(j)}),[T,S,L]),D=()=>{const j=P(T,S);if(j)return JSON.stringify(j)},E=b.useSyncExternalStore(j=>Fe(T,j),D,D);let N;return E?N=JSON.parse(E):i!==void 0?N={flexGrow:void 0,flexShrink:void 0,flexBasis:i}:N={flexGrow:1},Y.jsx("div",{...f,"data-disabled":s||void 0,"data-panel":!0,"data-testid":He(f,u),id:S,ref:w,style:{..._o,display:"flex",flexBasis:0,flexShrink:1,overflow:"visible",...N},children:Y.jsx("div",{className:t,style:{maxHeight:"100%",maxWidth:"100%",flexGrow:1,overflow:"auto",...m,touchAction:G==="horizontal"?"pan-y":"pan-x"},children:Y.jsx(Mn.Provider,{value:k,children:e})})})}kn.displayName="Panel";const _o={minHeight:0,maxHeight:"100%",height:"auto",minWidth:0,maxWidth:"100%",width:"auto",border:"none",borderWidth:0,padding:0,margin:0};function Bo(){return b.useState(null)}function Ho(){return b.useRef(null)}function qo(){return b.useContext(Mn)}const Vo={flexBasis:"auto"},Uo={flexGrow:0,flexShrink:0};function Tn({children:e,className:t,disabled:n,disableDoubleClick:o,elementRef:r,id:i,preview:s,style:a,...l}){const u=Me(i),{disableCursor:c,id:d,orientation:p,registerSeparator:g,updateSeparatorProps:m}=it();return Y.jsx(Ln,{attributes:l,axisId:d,axisOrientation:p,className:t,"data-testid":He(l,i),disableCursor:c,disabled:n,disableDoubleClick:o,elementRef:r,id:u,preview:s,registerSeparator:g,requiredStyle:Uo,style:a,styleDefaults:Vo,updateSeparatorProps:m,children:e})}Tn.displayName="Separator";exports.Cell=rn;exports.Grid=In;exports.Gridline=Lt;exports.Group=En;exports.Panel=kn;exports.Separator=Tn;exports.SeparatorOverlay=It;exports.isCoarsePointer=sn;exports.useDefaultGridLayout=wo;exports.useDefaultLayout=$o;exports.useGridCallbackRef=Co;exports.useGridRef=Lo;exports.useGroupCallbackRef=Go;exports.useGroupRef=No;exports.usePanelCallbackRef=Bo;exports.usePanelRef=Ho;exports.useParentGrid=Io;exports.useParentGroup=jo;exports.useParentPanel=qo;
|
|
2
2
|
//# sourceMappingURL=react-resizable-panels.cjs.map
|