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