react-resizable-panels 4.14.3 → 4.14.4

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