react-resizable-panels 4.3.0 → 4.3.2-alpha.0

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 q=require("react/jsx-runtime"),x=require("react");function z(e,t="Assertion error"){if(!e)throw Error(t)}function H({group:e}){const{orientation:t,panels:n}=e;return n.reduce((o,i)=>(o+=t==="horizontal"?i.element.offsetWidth:i.element.offsetHeight,o),0)}function oe(e,t){return t.sort(e==="horizontal"?We:Ue)}function We(e,t){const n=e.element.offsetLeft-t.element.offsetLeft;return n!==0?n:e.element.offsetWidth-t.element.offsetWidth}function Ue(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 Le(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 Ke({orientation:e,rects:t,targetRect:n}){const o={x:n.x+n.width/2,y:n.y+n.height/2};let i,s=Number.MAX_VALUE;for(const l of t){const{x:r,y:a}=Le(o,l),u=e==="horizontal"?r:a;u<s&&(s=u,i=l)}return z(i,"No rect found"),i}function Re(e){const{element:t,orientation:n,panels:o,separators:i}=e,s=oe(n,Array.from(t.children).filter(we).map(f=>({element:f}))).map(({element:f})=>f),l=[];let r=!1,a,u=[];for(const f of s)if(f.hasAttribute("data-panel")){const p=o.find(m=>m.element===f);if(p){if(a){const m=a.element.getBoundingClientRect(),h=f.getBoundingClientRect();let c;if(r){const d=n==="horizontal"?new DOMRect(m.right,m.top,0,m.height):new DOMRect(m.left,m.bottom,m.width,0),y=n==="horizontal"?new DOMRect(h.left,h.top,0,h.height):new DOMRect(h.left,h.top,h.width,0);switch(u.length){case 0:{c=[d,y];break}case 1:{const g=u[0],v=Ke({orientation:n,rects:[m,h],targetRect:g.element.getBoundingClientRect()});c=[g,v===m?y:d];break}default:{c=u;break}}}else u.length?c=u:c=[n==="horizontal"?new DOMRect(m.right,h.top,h.left-m.right,h.height):new DOMRect(h.left,m.bottom,h.width,h.top-m.bottom)];for(const d of c)l.push({group:e,groupSize:H({group:e}),panels:[a,p],separator:"width"in d?void 0:d,rect:"width"in d?d:d.element.getBoundingClientRect()})}r=!1,a=p,u=[]}}else if(f.hasAttribute("data-separator")){const p=i.find(m=>m.element===f);p?u.push(p):(a=void 0,u=[])}else r=!0;return l}function qe(e,t){const n=getComputedStyle(e),o=parseFloat(n.fontSize);return t*o}function Xe(e,t){const n=getComputedStyle(e.ownerDocument.body),o=parseFloat(n.fontSize);return t*o}function Ye(e){return e/100*window.innerHeight}function Ze(e){return e/100*window.innerWidth}function Je(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 J({groupSize:e,panelElement:t,styleProp:n}){let o;const[i,s]=Je(n);switch(s){case"%":{o=i/100*e;break}case"px":{o=i;break}case"rem":{o=Xe(t,i);break}case"em":{o=qe(t,i);break}case"vh":{o=Ye(i);break}case"vw":{o=Ze(i);break}}return o}function G(e){return parseFloat(e.toFixed(3))}function fe(e){const{panels:t}=e,n=H({group:e});return n===0?t.map(o=>({collapsedSize:0,collapsible:o.panelConstraints.collapsible===!0,defaultSize:void 0,minSize:0,maxSize:100,panelId:o.id})):t.map(o=>{const{element:i,panelConstraints:s}=o;let l=0;if(s.collapsedSize){const f=J({groupSize:n,panelElement:i,styleProp:s.collapsedSize});l=G(f/n*100)}let r;if(s.defaultSize){const f=J({groupSize:n,panelElement:i,styleProp:s.defaultSize});r=G(f/n*100)}let a=0;if(s.minSize){const f=J({groupSize:n,panelElement:i,styleProp:s.minSize});a=G(f/n*100)}let u=100;if(s.maxSize){const f=J({groupSize:n,panelElement:i,styleProp:s.maxSize});u=G(f/n*100)}return{collapsedSize:l,collapsible:s.collapsible===!0,defaultSize:r,minSize:a,maxSize:u,panelId:o.id}})}class Qe{#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 i=!1,s=null;const l=Array.from(o);for(let r=0;r<l.length;r++){const a=l[r];try{a.call(null,n)}catch(u){s===null&&(i=!0,s=u)}}if(i)throw s}}removeAllListeners(){this.#e={}}removeListener(t,n){const o=this.#e[t];if(o!==void 0){const i=o.indexOf(n);i>=0&&o.splice(i,1)}}}function C(e,t,n=0){return Math.abs(G(e)-G(t))<=n}let E={cursorFlags:0,interactionState:{state:"inactive"},mountedGroups:new Map};const O=new Qe;function D(){return E}function k(e){const t=typeof e=="function"?e(E):e;if(E===t)return E;const n=E;return E={...E,...t},t.cursorFlags!==void 0&&O.emit("cursorFlagsChange",E.cursorFlags),t.interactionState!==void 0&&O.emit("interactionStateChange",E.interactionState),t.mountedGroups!==void 0&&(E.mountedGroups.forEach((o,i)=>{o.derivedPanelConstraints.forEach(s=>{if(s.collapsible){const{layout:l}=n.mountedGroups.get(i)??{};if(l){const r=C(s.collapsedSize,o.layout[s.panelId]),a=C(s.collapsedSize,l[s.panelId]);r&&!a&&(i.inMemoryLastExpandedPanelSizes[s.panelId]=l[s.panelId])}}})}),O.emit("mountedGroupsChange",E.mountedGroups)),E}function et(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n])return!1;return!0}function X(e,t){return C(e,t)?0:e>t?1:-1}function V({panelConstraints:e,size:t}){const{collapsedSize:n=0,collapsible:o,maxSize:i=100,minSize:s=0}=e;if(X(t,s)<0)if(o){const l=(n+s)/2;X(t,l)<0?t=n:t=s}else t=s;return t=Math.min(i,t),t=G(t),t}function Y({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:o,prevLayout:i,trigger:s}){if(C(e,0))return t;const l=Object.values(t),r=Object.values(i),a=[...l],[u,f]=o;z(u!=null,"Invalid first pivot index"),z(f!=null,"Invalid second pivot index");let p=0;if(s==="keyboard"){{const c=e<0?f:u,d=n[c];z(d,`Panel constraints not found for index ${c}`);const{collapsedSize:y=0,collapsible:g,minSize:v=0}=d;if(g){const b=l[c];if(z(b!=null,`Previous layout not found for panel index ${c}`),C(b,y)){const S=v-b;X(S,Math.abs(e))>0&&(e=e<0?0-S:S)}}}{const c=e<0?u:f,d=n[c];z(d,`No panel constraints found for index ${c}`);const{collapsedSize:y=0,collapsible:g,minSize:v=0}=d;if(g){const b=l[c];if(z(b!=null,`Previous layout not found for panel index ${c}`),C(b,v)){const S=b-y;X(S,Math.abs(e))>0&&(e=e<0?0-S:S)}}}}{const c=e<0?1:-1;let d=e<0?f:u,y=0;for(;;){const v=l[d];z(v!=null,`Previous layout not found for panel index ${d}`);const S=V({panelConstraints:n[d],size:100})-v;if(y+=S,d+=c,d<0||d>=n.length)break}const g=Math.min(Math.abs(e),Math.abs(y));e=e<0?0-g:g}{let d=e<0?u:f;for(;d>=0&&d<n.length;){const y=Math.abs(e)-Math.abs(p),g=l[d];z(g!=null,`Previous layout not found for panel index ${d}`);const v=g-y,b=V({panelConstraints:n[d],size:v});if(!C(g,b)&&(p+=g-b,a[d]=b,p.toFixed(3).localeCompare(Math.abs(e).toFixed(3),void 0,{numeric:!0})>=0))break;e<0?d--:d++}}if(et(r,a))return i;{const c=e<0?f:u,d=l[c];z(d!=null,`Previous layout not found for panel index ${c}`);const y=d+p,g=V({panelConstraints:n[c],size:y});if(a[c]=g,!C(g,y)){let v=y-g,S=e<0?f:u;for(;S>=0&&S<n.length;){const w=a[S];z(w!=null,`Previous layout not found for panel index ${S}`);const L=w+v,M=V({panelConstraints:n[S],size:L});if(C(w,M)||(v-=M-w,a[S]=M),C(v,0))break;e>0?S--:S++}}}const m=Object.values(a).reduce((c,d)=>d+c,0);if(!C(m,100,.1))return i;const h=Object.keys(i);return a.reduce((c,d,y)=>(c[h[y]]=d,c),{})}function ee(e){const{mountedGroups:t}=D();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 B(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(t[n]===void 0||X(e[n],t[n])!==0)return!1;return!0}function N({layout:e,panelConstraints:t}){const o=[...Object.values(e)],i=o.reduce((r,a)=>r+a,0);if(o.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${o.map(r=>`${r}%`).join(", ")}`);if(!C(i,100)&&o.length>0)for(let r=0;r<t.length;r++){const a=o[r];z(a!=null,`No layout data found for index ${r}`);const u=100/i*a;o[r]=u}let s=0;for(let r=0;r<t.length;r++){const a=o[r];z(a!=null,`No layout data found for index ${r}`);const u=V({panelConstraints:t[r],size:a});a!=u&&(s+=a-u,o[r]=u)}if(!C(s,0))for(let r=0;r<t.length;r++){const a=o[r];z(a!=null,`No layout data found for index ${r}`);const u=a+s,f=V({panelConstraints:t[r],size:u});if(a!==f&&(s-=f-a,o[r]=f,C(s,0)))break}const l=Object.keys(e);return o.reduce((r,a,u)=>(r[l[u]]=a,r),{})}function Pe({groupId:e}){const t=()=>{const{mountedGroups:n}=D();for(const[o,i]of n)if(o.id===e)return{group:o,...i};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:i,group:s,layout:l,separatorToPanels:r}=t(),a=N({layout:n,panelConstraints:i});return o?l:(B(l,a)||k(u=>({mountedGroups:new Map(u.mountedGroups).set(s,{defaultLayoutDeferred:o,derivedPanelConstraints:i,layout:a,separatorToPanels:r})})),a)}}}function Ce(e){const{mountedGroups:t}=D(),n=t.get(e);return z(n,`Mounted Group ${e.id} not found`),n}function T(e,t){const n=ee(e),o=Ce(n),i=n.separators.find(p=>p.element===e);z(i,"Matching separator not found");const s=o.separatorToPanels.get(i);z(s,"Matching panels not found");const l=s.map(p=>n.panels.indexOf(p)),a=Pe({groupId:n.id}).getLayout(),u=Y({delta:t,initialLayout:a,panelConstraints:o.derivedPanelConstraints,pivotIndices:l,prevLayout:a,trigger:"keyboard"}),f=N({layout:u,panelConstraints:o.derivedPanelConstraints});B(a,f)||k(p=>({mountedGroups:new Map(p.mountedGroups).set(n,{defaultLayoutDeferred:o.defaultLayoutDeferred,derivedPanelConstraints:o.derivedPanelConstraints,layout:f,separatorToPanels:o.separatorToPanels})}))}function de(e){if(e.defaultPrevented)return;const t=e.currentTarget,n=ee(t);if(!n.disabled)switch(e.key){case"ArrowDown":{e.preventDefault(),n.orientation==="vertical"&&T(t,5);break}case"ArrowLeft":{e.preventDefault(),n.orientation==="horizontal"&&T(t,-5);break}case"ArrowRight":{e.preventDefault(),n.orientation==="horizontal"&&T(t,5);break}case"ArrowUp":{e.preventDefault(),n.orientation==="vertical"&&T(t,-5);break}case"End":{e.preventDefault(),T(t,100);break}case"Enter":{e.preventDefault();const o=ee(t),{derivedPanelConstraints:i,layout:s,separatorToPanels:l}=Ce(o),r=o.separators.find(p=>p.element===t);z(r,"Matching separator not found");const a=l.get(r);z(a,"Matching panels not found");const u=a[0],f=i.find(p=>p.panelId===u.id);if(z(f,"Panel metadata not found"),f.collapsible){const p=s[u.id],m=f.collapsedSize===p?o.inMemoryLastExpandedPanelSizes[u.id]??f.minSize:f.collapsedSize;T(t,m-p)}break}case"F6":{e.preventDefault();const i=ee(t).separators.map(a=>a.element),s=Array.from(i).findIndex(a=>a===e.currentTarget);z(s!==null,"Index not found");const l=e.shiftKey?s>0?s-1:i.length-1:s+1<i.length?s+1:0;i[l].focus();break}case"Home":{e.preventDefault(),T(t,-100);break}}}const tt=e=>e,te=()=>{},Me=1,Ee=2,ke=4,Ie=8,pe={coarse:10,precise:5};function nt(e,t,n){let o,i={x:1/0,y:1/0};for(const s of t){const l=Le(n,s.rect);switch(e){case"horizontal":{l.x<=i.x&&(o=s,i=l);break}case"vertical":{l.y<=i.y&&(o=s,i=l);break}}}return o?{distance:i,hitRegion:o}:void 0}let Q;function ot(){return Q===void 0&&(typeof matchMedia=="function"?Q=!!matchMedia("(pointer:coarse)").matches:Q=!1),Q}function rt(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE}function it(e,t){if(e===t)throw new Error("Cannot compare node with itself");const n={a:ye(e),b:ye(t)};let o;for(;n.a.at(-1)===n.b.at(-1);)e=n.a.pop(),t=n.b.pop(),o=e;z(o,"Stacking order can only be calculated for elements with a common ancestor");const i={a:he(me(n.a)),b:he(me(n.b))};if(i.a===i.b){const s=o.childNodes,l={a:n.a.at(-1),b:n.b.at(-1)};let r=s.length;for(;r--;){const a=s[r];if(a===l.a)return 1;if(a===l.b)return-1}}return Math.sign(i.a-i.b)}const st=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function at(e){const t=getComputedStyle(Ge(e)??e).display;return t==="flex"||t==="inline-flex"}function lt(e){const t=getComputedStyle(e);return!!(t.position==="fixed"||t.zIndex!=="auto"&&(t.position!=="static"||at(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"||st.test(t.willChange)||t.webkitOverflowScrolling==="touch")}function me(e){let t=e.length;for(;t--;){const n=e[t];if(z(n,"Missing node"),lt(n))return n}return null}function he(e){return e&&Number(getComputedStyle(e).zIndex)||0}function ye(e){const t=[];for(;e;)t.push(e),e=Ge(e);return t}function Ge(e){const{parentNode:t}=e;return rt(t)?t.host:t}function ut(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 ct({groupElement:e,hitRegion:t,pointerEventTarget:n}){if(!we(n)||n.contains(e)||e.contains(n))return!0;if(it(n,e)>0){let o=n;for(;o;){if(o.contains(e))return!0;if(ut(o.getBoundingClientRect(),t))return!1;o=o.parentElement}}return!0}function De(e,t){const n=[];return t.forEach((o,i)=>{if(i.disabled)return;const s=ot()?pe.coarse:pe.precise,l=Re(i),r=nt(i.orientation,l,{x:e.clientX,y:e.clientY});r&&r.distance.x<=s&&r.distance.y<=s&&ct({groupElement:i.element,hitRegion:r.hitRegion.rect,pointerEventTarget:e.target})&&n.push(r.hitRegion)}),n}function ge(e){if(e.defaultPrevented)return;if(e.pointerType==="mouse"&&e.button>0)return;const{mountedGroups:t}=D(),n=De(e,t),o=new Set,i=new Set,s=new Set,l=new Map;let r=!1;n.forEach(a=>{o.add(a.group),a.panels.forEach(f=>{i.add(f)}),a.separator&&(s.add(a.separator),r||(r=!0,a.separator.element.focus()));const u=t.get(a.group);u&&l.set(a.group,u.layout)}),k({interactionState:{hitRegions:n,initialLayoutMap:l,pointerDownAtPoint:{x:e.clientX,y:e.clientY},state:"active"}}),n.length&&e.preventDefault()}function ft({cursorFlags:e,groups:t,state:n}){let o=0,i=0;switch(n){case"active":case"hover":t.forEach(s=>{if(!s.disableCursor)switch(s.orientation){case"horizontal":{o++;break}case"vertical":{i++;break}}})}if(o===0&&i===0)return null;switch(n){case"active":{const s=(e&Me)!==0,l=(e&Ee)!==0,r=(e&ke)!==0,a=(e&Ie)!==0;if(e){if(s)return r?"se-resize":a?"ne-resize":"e-resize";if(l)return r?"sw-resize":a?"nw-resize":"w-resize";if(r)return"s-resize";if(a)return"n-resize"}break}}return o>0&&i>0?"move":o>0?"ew-resize":"ns-resize"}const Se=new WeakMap;function re(e){if(e.defaultView===null||e.defaultView===void 0)return;let{prevStyle:t,styleSheet:n}=Se.get(e)??{};n===void 0&&(n=new e.defaultView.CSSStyleSheet,e.adoptedStyleSheets=[n]);const{cursorFlags:o,interactionState:i}=D();switch(i.state){case"active":case"hover":{const s=ft({cursorFlags:o,groups:i.hitRegions.map(r=>r.group),state:i.state}),l=`*{cursor: ${s} !important; ${i.state==="active"?"touch-action: none;":""} }`;if(t===l)return;t=l,s?n.cssRules.length===0?n.insertRule(l):n.replaceSync(l):n.cssRules.length===1&&n.deleteRule(0);break}case"inactive":{t=void 0,n.cssRules.length===1&&n.deleteRule(0);break}}Se.set(e,{prevStyle:t,styleSheet:n})}function Te({document:e,event:t,hitRegions:n,initialLayoutMap:o,mountedGroups:i,pointerDownAtPoint:s}){let l=0;const r=new Map(i);n.forEach(a=>{const{group:u,groupSize:f}=a,{disableCursor:p,orientation:m,panels:h}=u;let c=0;s?m==="horizontal"?c=(t.clientX-s.x)/f*100:c=(t.clientY-s.y)/f*100:m==="horizontal"?c=t.clientX<0?-100:100:c=t.clientY<0?-100:100;const d=o.get(u),{defaultLayoutDeferred:y,derivedPanelConstraints:g,layout:v,separatorToPanels:b}=i.get(u)??{defaultLayoutDeferred:!1};if(g&&d&&v&&b){const S=Y({delta:c,initialLayout:d,panelConstraints:g,pivotIndices:a.panels.map(w=>h.indexOf(w)),prevLayout:v,trigger:"mouse-or-touch"});if(B(S,v)){if(c!==0&&!p)switch(m){case"horizontal":{l|=c<0?Me:Ee;break}case"vertical":{l|=c<0?ke:Ie;break}}}else{r.set(a.group,{defaultLayoutDeferred:y,derivedPanelConstraints:g,layout:S,separatorToPanels:b});const w=a.group.panels.map(({id:L})=>L).join(",");a.group.inMemoryLayouts[w]=S}}}),k({cursorFlags:l,mountedGroups:r}),re(e)}function ve(e){const{interactionState:t,mountedGroups:n}=D();switch(t.state){case"active":Te({document:e.currentTarget,event:e,hitRegions:t.hitRegions,initialLayoutMap:t.initialLayoutMap,mountedGroups:n})}}function xe(e){if(e.defaultPrevented)return;const{interactionState:t,mountedGroups:n}=D();switch(t.state){case"active":{if(e.buttons===0){k(o=>o.interactionState.state==="inactive"?o:{cursorFlags:0,interactionState:{state:"inactive"}});return}Te({document:e.currentTarget,event:e,hitRegions:t.hitRegions,initialLayoutMap:t.initialLayoutMap,mountedGroups:n,pointerDownAtPoint:t.pointerDownAtPoint});break}default:{const o=De(e,n);o.length===0?t.state!=="inactive"&&k({interactionState:{state:"inactive"}}):k({interactionState:{hitRegions:o,state:"hover"}}),re(e.currentTarget);break}}}function be(e){if(e.defaultPrevented)return;if(e.pointerType==="mouse"&&e.button>0)return;e.preventDefault();const{interactionState:t}=D();switch(t.state){case"active":k({cursorFlags:0,interactionState:{state:"inactive"}}),re(e.currentTarget)}}function ze(e){let t=0,n=0;const o={};for(const s of e)if(s.defaultSize!==void 0){t++;const l=G(s.defaultSize);n+=l,o[s.panelId]=l}else o[s.panelId]=void 0;const i=e.length-t;if(i!==0){const s=G((100-n)/i);for(const l of e)l.defaultSize===void 0&&(o[l.panelId]=s)}return o}function dt(e,t,n){const o=n[0];if(!o)return;const i=e.panels.find(a=>a.element===t);if(!i||!i.onResize)return;const s=H({group:e}),l=i.mutableValues.prevSize,r={asPercentage:G(o.inlineSize/s*100),inPixels:o.inlineSize};i.mutableValues.prevSize=r,i.onResize(r,i.id,l)}function pt(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 mt(e,t){const n=e.map(i=>i.id),o=Object.keys(t);if(n.length!==o.length)return!1;for(const i of n)if(!o.includes(i))return!1;return!0}const F=new Map;function ht(e){let t=!0;z(e.element.ownerDocument.defaultView,"Cannot register an unmounted Group");const n=e.element.ownerDocument.defaultView.ResizeObserver,o=new Set,i=new Set,s=new n(c=>{for(const d of c){const{borderBoxSize:y,target:g}=d;if(g===e.element){if(t){if(H({group:e})===0)return;k(b=>{const S=b.mountedGroups.get(e);if(S){const w=fe(e),L=S.defaultLayoutDeferred?ze(w):S.layout,M=N({layout:L,panelConstraints:w});return!S.defaultLayoutDeferred&&B(L,M)&&pt(S.derivedPanelConstraints,w)?b:{mountedGroups:new Map(b.mountedGroups).set(e,{defaultLayoutDeferred:!1,derivedPanelConstraints:w,layout:M,separatorToPanels:S.separatorToPanels})}}return b})}}else dt(e,g,y)}});s.observe(e.element),e.panels.forEach(c=>{z(!o.has(c.id),`Panel ids must be unique; id "${c.id}" was used more than once`),o.add(c.id),c.onResize&&s.observe(c.element)});const l=H({group:e}),r=fe(e),a=e.panels.map(({id:c})=>c).join(",");let u=e.defaultLayout;u&&(mt(e.panels,u)||(u=void 0));const f=e.inMemoryLayouts[a]??u??ze(r),p=N({layout:f,panelConstraints:r}),m=Re(e),h=e.element.ownerDocument;return k(c=>{const d=new Map;return F.set(h,(F.get(h)??0)+1),m.forEach(y=>{y.separator&&d.set(y.separator,y.panels)}),{mountedGroups:new Map(c.mountedGroups).set(e,{defaultLayoutDeferred:l===0,derivedPanelConstraints:r,layout:p,separatorToPanels:d})}}),e.separators.forEach(c=>{z(!i.has(c.id),`Separator ids must be unique; id "${c.id}" was used more than once`),i.add(c.id),c.element.addEventListener("keydown",de)}),F.get(h)===1&&(h.addEventListener("pointerdown",ge),h.addEventListener("pointerleave",ve),h.addEventListener("pointermove",xe),h.addEventListener("pointerup",be)),function(){t=!1,F.set(h,Math.max(0,(F.get(h)??0)-1)),k(d=>{const y=new Map(d.mountedGroups);return y.delete(e),{mountedGroups:y}}),e.separators.forEach(d=>{d.element.removeEventListener("keydown",de)}),F.get(h)||(h.removeEventListener("pointerdown",ge),h.removeEventListener("pointerleave",ve),h.removeEventListener("pointermove",xe),h.removeEventListener("pointerup",be)),s.disconnect()}}function yt(){const[e,t]=x.useState({}),n=x.useCallback(()=>t({}),[]);return[e,n]}function ie(e){const t=x.useId();return`${e??t}`}const _=typeof window<"u"?x.useLayoutEffect:x.useEffect;function se(e){const t=x.useRef(e);return _(()=>{t.current=e},[e]),x.useCallback((...n)=>t.current?.(...n),[t])}function ae(...e){return se(t=>{e.forEach(n=>{if(n)switch(typeof n){case"function":{n(t);break}case"object":{n.current=t;break}}})})}function gt(e){const t=x.useRef({...e});return _(()=>{for(const n in e)t.current[n]=e[n]},[e]),t.current}const Oe="--react-resizable-panels--panel--pointer-events";function Ne(e,t){const n=e.replace(/[^a-zA-Z0-9\-_]/g,""),o=t.replace(/[^a-zA-Z0-9\-_]/g,"");return`--react-resizable-panels--${n}--${o}`}const _e=x.createContext(null);function St(e,t){const n=x.useRef({getLayout:()=>({}),setLayout:tt});x.useImperativeHandle(t,()=>n.current,[]),_(()=>{Object.assign(n.current,Pe({groupId:e}))})}function Ae({children:e,className:t,defaultLayout:n,disableCursor:o,disabled:i,elementRef:s,groupRef:l,id:r,onLayoutChange:a,orientation:u="horizontal",style:f,...p}){const m=x.useRef({}),h=se(R=>{B(m.current,R)||(m.current=R,a?.(R))}),c=ie(r),d=x.useRef(null),[y,g]=x.useState(!1),[v,b]=x.useState(n??{}),[S,w]=yt(),L=x.useRef({lastExpandedPanelSizes:{},layouts:{},panels:[],separators:[]}),M=ae(d,s);St(c,l);const W=x.useMemo(()=>({id:c,orientation:u,registerPanel:R=>{const P=L.current;return P.panels=oe(u,[...P.panels,R]),w(),()=>{P.panels=P.panels.filter(I=>I!==R),w()}},registerSeparator:R=>{const P=L.current;return P.separators=oe(u,[...P.separators,R]),w(),()=>{P.separators=P.separators.filter(I=>I!==R),w()}}}),[c,w,u]),U=gt({defaultLayout:n,disableCursor:o}),A=x.useRef(null);_(()=>{const R=d.current;if(R===null)return;const P=L.current,I={defaultLayout:U.defaultLayout,disableCursor:!!U.disableCursor,disabled:!!i,element:R,id:c,inMemoryLastExpandedPanelSizes:L.current.lastExpandedPanelSizes,inMemoryLayouts:L.current.layouts,orientation:u,panels:P.panels,separators:P.separators};A.current=I;const Fe=ht(I),ue=D().mountedGroups.get(I);if(ue){const{defaultLayoutDeferred:$,derivedPanelConstraints:j,layout:Z}=ue;!$&&j.length>0&&(b(Z),h?.(Z))}const Ve=O.addListener("interactionStateChange",$=>{switch($.state){case"active":{g($.hitRegions.some(j=>j.group===I));break}default:{g(!1);break}}}),He=O.addListener("mountedGroupsChange",$=>{const j=$.get(I);if(j){const{defaultLayoutDeferred:Z,derivedPanelConstraints:Be,layout:ce}=j;if(Z||Be.length===0)return;b(ce),h?.(ce)}});return()=>{A.current=null,Fe(),Ve(),He()}},[i,c,h,u,S,U]),x.useEffect(()=>{const R=A.current;R&&(R.defaultLayout=n,R.disableCursor=!!o)});const K={[Oe]:y?"none":void 0};for(const R in v){const P=Ne(c,R),I=v[R];K[P]=I}return q.jsx(_e.Provider,{value:W,children:q.jsx("div",{...p,"aria-orientation":u,className:t,"data-group":!0,"data-testid":c,id:c,ref:M,style:{height:"100%",width:"100%",overflow:"hidden",...f,...K,display:"flex",flexDirection:u==="horizontal"?"row":"column",flexWrap:"nowrap"},children:e})})}Ae.displayName="Group";function vt(e,t=10){let n=null;return o=>{n!==null&&clearTimeout(n),n=setTimeout(()=>{e(o)},t)}}function ne(e,t){return`react-resizable-panels:${[e,...t].join(":")}`}function xt({debounceSaveMs:e=100,panelIds:t,storage:n=localStorage,...o}){const i=t!==void 0,s="id"in o?o.id:o.groupId,l=ne(s,t??[]),r=x.useSyncExternalStore(bt,()=>n.getItem(l),()=>n.getItem(l)),a=x.useMemo(()=>r?JSON.parse(r):void 0,[r]),u=x.useMemo(()=>{const f=p=>{let m;i?m=ne(s,Object.keys(p)):m=ne(s,[]);try{n.setItem(m,JSON.stringify(p))}catch(h){console.error(h)}};return e>0?vt(f,e):f},[e,i,s,n]);return{defaultLayout:a,onLayoutChange:u}}function bt(){return function(){}}function zt(){return x.useState(null)}function wt(){return x.useRef(null)}function le(){const e=x.useContext(_e);return z(e,"Group Context not found; did you render a Panel or Separator outside of a Group?"),e}function Lt({groupId:e,panelId:t}){const n=()=>{const{mountedGroups:r}=D();for(const[a,{defaultLayoutDeferred:u,derivedPanelConstraints:f,layout:p,separatorToPanels:m}]of r)if(a.id===e)return{defaultLayoutDeferred:u,derivedPanelConstraints:f,group:a,layout:p,separatorToPanels:m};throw Error(`Group ${e} not found`)},o=()=>{const r=n().derivedPanelConstraints.find(a=>a.panelId===t);if(r!==void 0)return r;throw Error(`Panel constraints not found for Panel ${t}`)},i=()=>{const r=n().group.panels.find(a=>a.id===t);if(r!==void 0)return r;throw Error(`Layout not found for Panel ${t}`)},s=()=>{const r=n().layout[t];if(r!==void 0)return r;throw Error(`Layout not found for Panel ${t}`)},l=r=>{const a=s();if(r===a)return;const{defaultLayoutDeferred:u,derivedPanelConstraints:f,group:p,layout:m,separatorToPanels:h}=n(),c=p.panels.findIndex(v=>v.id===t),d=c===p.panels.length-1,y=Y({delta:d?a-r:r-a,initialLayout:m,panelConstraints:f,pivotIndices:d?[c-1,c]:[c,c+1],prevLayout:m,trigger:"imperative-api"}),g=N({layout:y,panelConstraints:f});B(m,g)||k(v=>({mountedGroups:new Map(v.mountedGroups).set(p,{defaultLayoutDeferred:u,derivedPanelConstraints:f,layout:g,separatorToPanels:h})}))};return{collapse:()=>{const{collapsible:r,collapsedSize:a}=o(),{mutableValues:u}=i(),f=s();r&&f!==a&&(u.expandToSize=f,l(a))},expand:()=>{const{collapsible:r,collapsedSize:a,minSize:u}=o(),{mutableValues:f}=i(),p=s();if(r&&p===a){let m=f.expandToSize??u;m===0&&(m=1),l(m)}},getSize:()=>{const{group:r}=n(),a=s(),{element:u}=i(),f=r.orientation==="horizontal"?u.offsetWidth:u.offsetHeight;return{asPercentage:a,inPixels:f}},isCollapsed:()=>{const{collapsible:r,collapsedSize:a}=o(),u=s();return r&&C(a,u)},resize:r=>{if(s()!==r){let u;switch(typeof r){case"number":{const{group:f}=n(),p=H({group:f});u=G(r/p*100);break}case"string":{u=parseFloat(r);break}}l(u)}}}}function Rt(e,t){const{id:n}=le(),o=x.useRef({collapse:te,expand:te,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:te});x.useImperativeHandle(t,()=>o.current,[]),_(()=>{Object.assign(o.current,Lt({groupId:n,panelId:e}))})}function $e({children:e,className:t,collapsedSize:n="0%",collapsible:o=!1,defaultSize:i,elementRef:s,id:l,maxSize:r="100%",minSize:a="0%",onResize:u,panelRef:f,style:p,...m}){const h=!!l,c=ie(l),d=x.useRef(null),y=ae(d,s),{id:g,registerPanel:v}=le(),b=u!==null,S=se((L,M,W)=>{u?.(L,l,W)});_(()=>{const L=d.current;if(L!==null)return v({element:L,id:c,idIsStable:h,mutableValues:{expandToSize:void 0,prevSize:void 0},onResize:b?S:void 0,panelConstraints:{collapsedSize:n,collapsible:o,defaultSize:i,maxSize:r,minSize:a}})},[n,o,i,b,c,h,r,a,S,v]),Rt(c,f);const w=Ne(g,c);return q.jsx("div",{...m,"data-panel":!0,"data-testid":c,id:c,ref:y,style:{...Pt,flexBasis:0,flexGrow:`var(${w}, 1)`,flexShrink:1,overflow:"hidden",pointerEvents:`var(${Oe})`},children:q.jsx("div",{className:t,style:{width:"100%",height:"100%",...p},children:e})})}$e.displayName="Panel";const Pt={minHeight:"unset",maxHeight:"unset",height:"unset",minWidth:"unset",maxWidth:"unset",width:"unset",flex:"unset",flexBasis:"unset",flexShrink:"unset",flexGrow:"unset",border:"unset",borderWidth:"unset",padding:"unset",margin:"unset"};function Ct(){return x.useState(null)}function Mt(){return x.useRef(null)}function Et({layout:e,panelConstraints:t,panelId:n,panelIndex:o}){let i,s;const l=e[n],r=t.find(a=>a.panelId===n);if(r){const a=r.maxSize,u=s=r.collapsible?r.collapsedSize:r.minSize,f=[o,o+1];s=N({layout:Y({delta:u-l,initialLayout:e,panelConstraints:t,pivotIndices:f,prevLayout:e,trigger:"keyboard"}),panelConstraints:t})[n],i=N({layout:Y({delta:a-l,initialLayout:e,panelConstraints:t,pivotIndices:f,prevLayout:e,trigger:"keyboard"}),panelConstraints:t})[n]}return{valueControls:n,valueMax:i,valueMin:s,valueNow:l}}function je({children:e,className:t,elementRef:n,id:o,style:i,...s}){const l=ie(o),[r,a]=x.useState({}),[u,f]=x.useState("inactive"),p=x.useRef(null),m=ae(p,n),{id:h,orientation:c,registerSeparator:d}=le(),y=c==="horizontal"?"vertical":"horizontal";return _(()=>{const g=p.current;if(g!==null){const v={element:g,id:l},b=d(v),S=O.addListener("interactionStateChange",L=>{f(L.state!=="inactive"&&L.hitRegions.some(M=>M.separator===v)?L.state:"inactive")}),w=O.addListener("mountedGroupsChange",L=>{L.forEach(({derivedPanelConstraints:M,layout:W,separatorToPanels:U},A)=>{if(A.id===h){const K=U.get(v);if(K){const R=K[0],P=A.panels.indexOf(R);a(Et({layout:W,panelConstraints:M,panelId:R.id,panelIndex:P}))}}})});return()=>{S(),w(),b()}}},[h,l,d]),q.jsx("div",{...s,"aria-controls":r.valueControls,"aria-orientation":y,"aria-valuemax":r.valueMax,"aria-valuemin":r.valueMin,"aria-valuenow":r.valueNow,children:e,className:t,"data-separator":u,"data-testid":l,id:l,ref:m,role:"separator",style:{flexBasis:"auto",...i,flexGrow:0,flexShrink:0},tabIndex:0})}je.displayName="Separator";exports.Group=Ae;exports.Panel=$e;exports.Separator=je;exports.useDefaultLayout=xt;exports.useGroupCallbackRef=zt;exports.useGroupRef=wt;exports.usePanelCallbackRef=Ct;exports.usePanelRef=Mt;
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const B=require("react/jsx-runtime"),x=require("react");function z(e,t="Assertion error"){if(!e)throw Error(t)}function V({group:e}){const{orientation:t,panels:n}=e;return n.reduce((o,i)=>(o+=t==="horizontal"?i.element.offsetWidth:i.element.offsetHeight,o),0)}function se(e,t){return t.sort(e==="horizontal"?He:Ve)}function He(e,t){const n=e.element.offsetLeft-t.element.offsetLeft;return n!==0?n:e.element.offsetWidth-t.element.offsetWidth}function Ve(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 Le(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 Ue({orientation:e,rects:t,targetRect:n}){const o={x:n.x+n.width/2,y:n.y+n.height/2};let i,a=Number.MAX_VALUE;for(const l of t){const{x:r,y:s}=Le(o,l),u=e==="horizontal"?r:s;u<a&&(a=u,i=l)}return z(i,"No rect found"),i}function Re(e){const{element:t,orientation:n,panels:o,separators:i}=e,a=se(n,Array.from(t.children).filter(we).map(f=>({element:f}))).map(({element:f})=>f),l=[];let r=!1,s,u=[];for(const f of a)if(f.hasAttribute("data-panel")){const p=o.find(h=>h.element===f);if(p){if(s){const h=s.element.getBoundingClientRect(),m=f.getBoundingClientRect();let c;if(r){const d=n==="horizontal"?new DOMRect(h.right,h.top,0,h.height):new DOMRect(h.left,h.bottom,h.width,0),S=n==="horizontal"?new DOMRect(m.left,m.top,0,m.height):new DOMRect(m.left,m.top,m.width,0);switch(u.length){case 0:{c=[d,S];break}case 1:{const y=u[0],v=Ue({orientation:n,rects:[h,m],targetRect:y.element.getBoundingClientRect()});c=[y,v===h?S:d];break}default:{c=u;break}}}else u.length?c=u:c=[n==="horizontal"?new DOMRect(h.right,m.top,m.left-h.right,m.height):new DOMRect(m.left,h.bottom,m.width,m.top-h.bottom)];for(const d of c)l.push({group:e,groupSize:V({group:e}),panels:[s,p],separator:"width"in d?void 0:d,rect:"width"in d?d:d.element.getBoundingClientRect()})}r=!1,s=p,u=[]}}else if(f.hasAttribute("data-separator")){const p=i.find(h=>h.element===f);p?u.push(p):(s=void 0,u=[])}else r=!0;return l}function We(e,t){const n=getComputedStyle(e),o=parseFloat(n.fontSize);return t*o}function Be(e,t){const n=getComputedStyle(e.ownerDocument.body),o=parseFloat(n.fontSize);return t*o}function Ke(e){return e/100*window.innerHeight}function qe(e){return e/100*window.innerWidth}function Xe(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 J({groupSize:e,panelElement:t,styleProp:n}){let o;const[i,a]=Xe(n);switch(a){case"%":{o=i/100*e;break}case"px":{o=i;break}case"rem":{o=Be(t,i);break}case"em":{o=We(t,i);break}case"vh":{o=Ke(i);break}case"vw":{o=qe(i);break}}return o}function G(e){return parseFloat(e.toFixed(3))}function fe(e){const{panels:t}=e,n=V({group:e});return n===0?t.map(o=>({collapsedSize:0,collapsible:o.panelConstraints.collapsible===!0,defaultSize:void 0,minSize:0,maxSize:100,panelId:o.id})):t.map(o=>{const{element:i,panelConstraints:a}=o;let l=0;if(a.collapsedSize){const f=J({groupSize:n,panelElement:i,styleProp:a.collapsedSize});l=G(f/n*100)}let r;if(a.defaultSize){const f=J({groupSize:n,panelElement:i,styleProp:a.defaultSize});r=G(f/n*100)}let s=0;if(a.minSize){const f=J({groupSize:n,panelElement:i,styleProp:a.minSize});s=G(f/n*100)}let u=100;if(a.maxSize){const f=J({groupSize:n,panelElement:i,styleProp:a.maxSize});u=G(f/n*100)}return{collapsedSize:l,collapsible:a.collapsible===!0,defaultSize:r,minSize:s,maxSize:u,panelId:o.id}})}class Ye{#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 i=!1,a=null;const l=Array.from(o);for(let r=0;r<l.length;r++){const s=l[r];try{s.call(null,n)}catch(u){a===null&&(i=!0,a=u)}}if(i)throw a}}removeAllListeners(){this.#e={}}removeListener(t,n){const o=this.#e[t];if(o!==void 0){const i=o.indexOf(n);i>=0&&o.splice(i,1)}}}function E(e,t,n=0){return Math.abs(G(e)-G(t))<=n}let k={cursorFlags:0,interactionState:{state:"inactive"},mountedGroups:new Map};const A=new Ye;function D(){return k}function I(e){const t=typeof e=="function"?e(k):e;if(k===t)return k;const n=k;return k={...k,...t},t.cursorFlags!==void 0&&A.emit("cursorFlagsChange",k.cursorFlags),t.interactionState!==void 0&&A.emit("interactionStateChange",k.interactionState),t.mountedGroups!==void 0&&(k.mountedGroups.forEach((o,i)=>{o.derivedPanelConstraints.forEach(a=>{if(a.collapsible){const{layout:l}=n.mountedGroups.get(i)??{};if(l){const r=E(a.collapsedSize,o.layout[a.panelId]),s=E(a.collapsedSize,l[a.panelId]);r&&!s&&(i.inMemoryLastExpandedPanelSizes[a.panelId]=l[a.panelId])}}})}),A.emit("mountedGroupsChange",k.mountedGroups)),k}function Je(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n])return!1;return!0}function K(e,t){return E(e,t)?0:e>t?1:-1}function H({panelConstraints:e,size:t}){const{collapsedSize:n=0,collapsible:o,maxSize:i=100,minSize:a=0}=e;if(K(t,a)<0)if(o){const l=(n+a)/2;K(t,l)<0?t=n:t=a}else t=a;return t=Math.min(i,t),t=G(t),t}function q({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:o,prevLayout:i,trigger:a}){if(E(e,0))return t;const l=Object.values(t),r=Object.values(i),s=[...l],[u,f]=o;z(u!=null,"Invalid first pivot index"),z(f!=null,"Invalid second pivot index");let p=0;if(a==="keyboard"){{const c=e<0?f:u,d=n[c];z(d,`Panel constraints not found for index ${c}`);const{collapsedSize:S=0,collapsible:y,minSize:v=0}=d;if(y){const b=l[c];if(z(b!=null,`Previous layout not found for panel index ${c}`),E(b,S)){const g=v-b;K(g,Math.abs(e))>0&&(e=e<0?0-g:g)}}}{const c=e<0?u:f,d=n[c];z(d,`No panel constraints found for index ${c}`);const{collapsedSize:S=0,collapsible:y,minSize:v=0}=d;if(y){const b=l[c];if(z(b!=null,`Previous layout not found for panel index ${c}`),E(b,v)){const g=b-S;K(g,Math.abs(e))>0&&(e=e<0?0-g:g)}}}}{const c=e<0?1:-1;let d=e<0?f:u,S=0;for(;;){const v=l[d];z(v!=null,`Previous layout not found for panel index ${d}`);const g=H({panelConstraints:n[d],size:100})-v;if(S+=g,d+=c,d<0||d>=n.length)break}const y=Math.min(Math.abs(e),Math.abs(S));e=e<0?0-y:y}{let d=e<0?u:f;for(;d>=0&&d<n.length;){const S=Math.abs(e)-Math.abs(p),y=l[d];z(y!=null,`Previous layout not found for panel index ${d}`);const v=y-S,b=H({panelConstraints:n[d],size:v});if(!E(y,b)&&(p+=y-b,s[d]=b,p.toFixed(3).localeCompare(Math.abs(e).toFixed(3),void 0,{numeric:!0})>=0))break;e<0?d--:d++}}if(Je(r,s))return i;{const c=e<0?f:u,d=l[c];z(d!=null,`Previous layout not found for panel index ${c}`);const S=d+p,y=H({panelConstraints:n[c],size:S});if(s[c]=y,!E(y,S)){let v=S-y,g=e<0?f:u;for(;g>=0&&g<n.length;){const L=s[g];z(L!=null,`Previous layout not found for panel index ${g}`);const P=L+v,C=H({panelConstraints:n[g],size:P});if(E(L,C)||(v-=C-L,s[g]=C),E(v,0))break;e>0?g--:g++}}}const h=Object.values(s).reduce((c,d)=>d+c,0);if(!E(h,100,.1))return i;const m=Object.keys(i);return s.reduce((c,d,S)=>(c[m[S]]=d,c),{})}function Q(e){const{mountedGroups:t}=D();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 U(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(t[n]===void 0||K(e[n],t[n])!==0)return!1;return!0}function j({layout:e,panelConstraints:t}){const o=[...Object.values(e)],i=o.reduce((r,s)=>r+s,0);if(o.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${o.map(r=>`${r}%`).join(", ")}`);if(!E(i,100)&&o.length>0)for(let r=0;r<t.length;r++){const s=o[r];z(s!=null,`No layout data found for index ${r}`);const u=100/i*s;o[r]=u}let a=0;for(let r=0;r<t.length;r++){const s=o[r];z(s!=null,`No layout data found for index ${r}`);const u=H({panelConstraints:t[r],size:s});s!=u&&(a+=s-u,o[r]=u)}if(!E(a,0))for(let r=0;r<t.length;r++){const s=o[r];z(s!=null,`No layout data found for index ${r}`);const u=s+a,f=H({panelConstraints:t[r],size:u});if(s!==f&&(a-=f-s,o[r]=f,E(a,0)))break}const l=Object.keys(e);return o.reduce((r,s,u)=>(r[l[u]]=s,r),{})}function Pe({groupId:e}){const t=()=>{const{mountedGroups:n}=D();for(const[o,i]of n)if(o.id===e)return{group:o,...i};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:i,group:a,layout:l,separatorToPanels:r}=t(),s=j({layout:n,panelConstraints:i});return o?l:(U(l,s)||I(u=>({mountedGroups:new Map(u.mountedGroups).set(a,{defaultLayoutDeferred:o,derivedPanelConstraints:i,layout:s,separatorToPanels:r})})),s)}}}function Ce(e){const{mountedGroups:t}=D(),n=t.get(e);return z(n,`Mounted Group ${e.id} not found`),n}function _(e,t){const n=Q(e),o=Ce(n),i=n.separators.find(p=>p.element===e);z(i,"Matching separator not found");const a=o.separatorToPanels.get(i);z(a,"Matching panels not found");const l=a.map(p=>n.panels.indexOf(p)),s=Pe({groupId:n.id}).getLayout(),u=q({delta:t,initialLayout:s,panelConstraints:o.derivedPanelConstraints,pivotIndices:l,prevLayout:s,trigger:"keyboard"}),f=j({layout:u,panelConstraints:o.derivedPanelConstraints});U(s,f)||I(p=>({mountedGroups:new Map(p.mountedGroups).set(n,{defaultLayoutDeferred:o.defaultLayoutDeferred,derivedPanelConstraints:o.derivedPanelConstraints,layout:f,separatorToPanels:o.separatorToPanels})}))}function de(e){if(e.defaultPrevented)return;const t=e.currentTarget,n=Q(t);if(!n.disabled)switch(e.key){case"ArrowDown":{e.preventDefault(),n.orientation==="vertical"&&_(t,5);break}case"ArrowLeft":{e.preventDefault(),n.orientation==="horizontal"&&_(t,-5);break}case"ArrowRight":{e.preventDefault(),n.orientation==="horizontal"&&_(t,5);break}case"ArrowUp":{e.preventDefault(),n.orientation==="vertical"&&_(t,-5);break}case"End":{e.preventDefault(),_(t,100);break}case"Enter":{e.preventDefault();const o=Q(t),{derivedPanelConstraints:i,layout:a,separatorToPanels:l}=Ce(o),r=o.separators.find(p=>p.element===t);z(r,"Matching separator not found");const s=l.get(r);z(s,"Matching panels not found");const u=s[0],f=i.find(p=>p.panelId===u.id);if(z(f,"Panel metadata not found"),f.collapsible){const p=a[u.id],h=f.collapsedSize===p?o.inMemoryLastExpandedPanelSizes[u.id]??f.minSize:f.collapsedSize;_(t,h-p)}break}case"F6":{e.preventDefault();const i=Q(t).separators.map(s=>s.element),a=Array.from(i).findIndex(s=>s===e.currentTarget);z(a!==null,"Index not found");const l=e.shiftKey?a>0?a-1:i.length-1:a+1<i.length?a+1:0;i[l].focus();break}case"Home":{e.preventDefault(),_(t,-100);break}}}const Ze=e=>e,re=()=>{},Me=1,Ee=2,ke=4,Ie=8,pe={coarse:10,precise:5};function Qe(e,t,n){let o,i={x:1/0,y:1/0};for(const a of t){const l=Le(n,a.rect);switch(e){case"horizontal":{l.x<=i.x&&(o=a,i=l);break}case"vertical":{l.y<=i.y&&(o=a,i=l);break}}}return o?{distance:i,hitRegion:o}:void 0}let Z;function et(){return Z===void 0&&(typeof matchMedia=="function"?Z=!!matchMedia("(pointer:coarse)").matches:Z=!1),Z}function tt(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE}function nt(e,t){if(e===t)throw new Error("Cannot compare node with itself");const n={a:ye(e),b:ye(t)};let o;for(;n.a.at(-1)===n.b.at(-1);)e=n.a.pop(),t=n.b.pop(),o=e;z(o,"Stacking order can only be calculated for elements with a common ancestor");const i={a:me(he(n.a)),b:me(he(n.b))};if(i.a===i.b){const a=o.childNodes,l={a:n.a.at(-1),b:n.b.at(-1)};let r=a.length;for(;r--;){const s=a[r];if(s===l.a)return 1;if(s===l.b)return-1}}return Math.sign(i.a-i.b)}const ot=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function rt(e){const t=getComputedStyle(Ge(e)??e).display;return t==="flex"||t==="inline-flex"}function it(e){const t=getComputedStyle(e);return!!(t.position==="fixed"||t.zIndex!=="auto"&&(t.position!=="static"||rt(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"||ot.test(t.willChange)||t.webkitOverflowScrolling==="touch")}function he(e){let t=e.length;for(;t--;){const n=e[t];if(z(n,"Missing node"),it(n))return n}return null}function me(e){return e&&Number(getComputedStyle(e).zIndex)||0}function ye(e){const t=[];for(;e;)t.push(e),e=Ge(e);return t}function Ge(e){const{parentNode:t}=e;return tt(t)?t.host:t}function st(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 at({groupElement:e,hitRegion:t,pointerEventTarget:n}){if(!we(n)||n.contains(e)||e.contains(n))return!0;if(nt(n,e)>0){let o=n;for(;o;){if(o.contains(e))return!0;if(st(o.getBoundingClientRect(),t))return!1;o=o.parentElement}}return!0}function De(e,t){const n=[];return t.forEach((o,i)=>{if(i.disabled)return;const a=et()?pe.coarse:pe.precise,l=Re(i),r=Qe(i.orientation,l,{x:e.clientX,y:e.clientY});r&&r.distance.x<=a&&r.distance.y<=a&&at({groupElement:i.element,hitRegion:r.hitRegion.rect,pointerEventTarget:e.target})&&n.push(r.hitRegion)}),n}function ge(e){if(e.defaultPrevented)return;if(e.pointerType==="mouse"&&e.button>0)return;const{mountedGroups:t}=D(),n=De(e,t),o=new Set,i=new Set,a=new Set,l=new Map;let r=!1;n.forEach(s=>{o.add(s.group),s.panels.forEach(f=>{i.add(f)}),s.separator&&(a.add(s.separator),r||(r=!0,s.separator.element.focus()));const u=t.get(s.group);u&&l.set(s.group,u.layout)}),I({interactionState:{hitRegions:n,initialLayoutMap:l,pointerDownAtPoint:{x:e.clientX,y:e.clientY},state:"active"}}),n.length&&e.preventDefault()}function lt({cursorFlags:e,groups:t,state:n}){let o=0,i=0;switch(n){case"active":case"hover":t.forEach(a=>{if(!a.disableCursor)switch(a.orientation){case"horizontal":{o++;break}case"vertical":{i++;break}}})}if(o===0&&i===0)return null;switch(n){case"active":{const a=(e&Me)!==0,l=(e&Ee)!==0,r=(e&ke)!==0,s=(e&Ie)!==0;if(e){if(a)return r?"se-resize":s?"ne-resize":"e-resize";if(l)return r?"sw-resize":s?"nw-resize":"w-resize";if(r)return"s-resize";if(s)return"n-resize"}break}}return o>0&&i>0?"move":o>0?"ew-resize":"ns-resize"}const Se=new WeakMap;function ae(e){if(e.defaultView===null||e.defaultView===void 0)return;let{prevStyle:t,styleSheet:n}=Se.get(e)??{};n===void 0&&(n=new e.defaultView.CSSStyleSheet,e.adoptedStyleSheets=[n]);const{cursorFlags:o,interactionState:i}=D();switch(i.state){case"active":case"hover":{const a=lt({cursorFlags:o,groups:i.hitRegions.map(r=>r.group),state:i.state}),l=`*{cursor: ${a} !important; ${i.state==="active"?"touch-action: none;":""} }`;if(t===l)return;t=l,a?n.cssRules.length===0?n.insertRule(l):n.replaceSync(l):n.cssRules.length===1&&n.deleteRule(0);break}case"inactive":{t=void 0,n.cssRules.length===1&&n.deleteRule(0);break}}Se.set(e,{prevStyle:t,styleSheet:n})}function Oe({document:e,event:t,hitRegions:n,initialLayoutMap:o,mountedGroups:i,pointerDownAtPoint:a}){let l=0;const r=new Map(i);n.forEach(s=>{const{group:u,groupSize:f}=s,{disableCursor:p,orientation:h,panels:m}=u;let c=0;a?h==="horizontal"?c=(t.clientX-a.x)/f*100:c=(t.clientY-a.y)/f*100:h==="horizontal"?c=t.clientX<0?-100:100:c=t.clientY<0?-100:100;const d=o.get(u),{defaultLayoutDeferred:S,derivedPanelConstraints:y,layout:v,separatorToPanels:b}=i.get(u)??{defaultLayoutDeferred:!1};if(y&&d&&v&&b){const g=q({delta:c,initialLayout:d,panelConstraints:y,pivotIndices:s.panels.map(L=>m.indexOf(L)),prevLayout:v,trigger:"mouse-or-touch"});if(U(g,v)){if(c!==0&&!p)switch(h){case"horizontal":{l|=c<0?Me:Ee;break}case"vertical":{l|=c<0?ke:Ie;break}}}else{r.set(s.group,{defaultLayoutDeferred:S,derivedPanelConstraints:y,layout:g,separatorToPanels:b});const L=s.group.panels.map(({id:P})=>P).join(",");s.group.inMemoryLayouts[L]=g}}}),I({cursorFlags:l,mountedGroups:r}),ae(e)}function ve(e){const{interactionState:t,mountedGroups:n}=D();switch(t.state){case"active":Oe({document:e.currentTarget,event:e,hitRegions:t.hitRegions,initialLayoutMap:t.initialLayoutMap,mountedGroups:n})}}function xe(e){if(e.defaultPrevented)return;const{interactionState:t,mountedGroups:n}=D();switch(t.state){case"active":{if(e.buttons===0){I(o=>o.interactionState.state==="inactive"?o:{cursorFlags:0,interactionState:{state:"inactive"}});return}Oe({document:e.currentTarget,event:e,hitRegions:t.hitRegions,initialLayoutMap:t.initialLayoutMap,mountedGroups:n,pointerDownAtPoint:t.pointerDownAtPoint});break}default:{const o=De(e,n);o.length===0?t.state!=="inactive"&&I({interactionState:{state:"inactive"}}):I({interactionState:{hitRegions:o,state:"hover"}}),ae(e.currentTarget);break}}}function be(e){if(e.defaultPrevented)return;if(e.pointerType==="mouse"&&e.button>0)return;e.preventDefault();const{interactionState:t}=D();switch(t.state){case"active":I({cursorFlags:0,interactionState:{state:"inactive"}}),ae(e.currentTarget)}}function ze(e){let t=0,n=0;const o={};for(const a of e)if(a.defaultSize!==void 0){t++;const l=G(a.defaultSize);n+=l,o[a.panelId]=l}else o[a.panelId]=void 0;const i=e.length-t;if(i!==0){const a=G((100-n)/i);for(const l of e)l.defaultSize===void 0&&(o[l.panelId]=a)}return o}function ut(e,t,n){if(!n[0])return;const i=e.panels.find(u=>u.element===t);if(!i||!i.onResize)return;const a=V({group:e}),l=e.orientation==="horizontal"?i.element.offsetWidth:i.element.offsetHeight,r=i.mutableValues.prevSize,s={asPercentage:G(l/a*100),inPixels:l};i.mutableValues.prevSize=s,i.onResize(s,i.id,r)}function ct(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 ft(e,t){const n=e.map(i=>i.id),o=Object.keys(t);if(n.length!==o.length)return!1;for(const i of n)if(!o.includes(i))return!1;return!0}const $=new Map;function dt(e){let t=!0;z(e.element.ownerDocument.defaultView,"Cannot register an unmounted Group");const n=e.element.ownerDocument.defaultView.ResizeObserver,o=new Set,i=new Set,a=new n(c=>{for(const d of c){const{borderBoxSize:S,target:y}=d;if(y===e.element){if(t){if(V({group:e})===0)return;I(b=>{const g=b.mountedGroups.get(e);if(g){const L=fe(e),P=g.defaultLayoutDeferred?ze(L):g.layout,C=j({layout:P,panelConstraints:L});return!g.defaultLayoutDeferred&&U(P,C)&&ct(g.derivedPanelConstraints,L)?b:{mountedGroups:new Map(b.mountedGroups).set(e,{defaultLayoutDeferred:!1,derivedPanelConstraints:L,layout:C,separatorToPanels:g.separatorToPanels})}}return b})}}else ut(e,y,S)}});a.observe(e.element),e.panels.forEach(c=>{z(!o.has(c.id),`Panel ids must be unique; id "${c.id}" was used more than once`),o.add(c.id),c.onResize&&a.observe(c.element)});const l=V({group:e}),r=fe(e),s=e.panels.map(({id:c})=>c).join(",");let u=e.defaultLayout;u&&(ft(e.panels,u)||(u=void 0));const f=e.inMemoryLayouts[s]??u??ze(r),p=j({layout:f,panelConstraints:r}),h=Re(e),m=e.element.ownerDocument;return I(c=>{const d=new Map;return $.set(m,($.get(m)??0)+1),h.forEach(S=>{S.separator&&d.set(S.separator,S.panels)}),{mountedGroups:new Map(c.mountedGroups).set(e,{defaultLayoutDeferred:l===0,derivedPanelConstraints:r,layout:p,separatorToPanels:d})}}),e.separators.forEach(c=>{z(!i.has(c.id),`Separator ids must be unique; id "${c.id}" was used more than once`),i.add(c.id),c.element.addEventListener("keydown",de)}),$.get(m)===1&&(m.addEventListener("pointerdown",ge,!0),m.addEventListener("pointerleave",ve),m.addEventListener("pointermove",xe),m.addEventListener("pointerup",be,!0)),function(){t=!1,$.set(m,Math.max(0,($.get(m)??0)-1)),I(d=>{const S=new Map(d.mountedGroups);return S.delete(e),{mountedGroups:S}}),e.separators.forEach(d=>{d.element.removeEventListener("keydown",de)}),$.get(m)||(m.removeEventListener("pointerdown",ge,!0),m.removeEventListener("pointerleave",ve),m.removeEventListener("pointermove",xe),m.removeEventListener("pointerup",be,!0)),a.disconnect()}}function Te(){const[e,t]=x.useState({}),n=x.useCallback(()=>t({}),[]);return[e,n]}function le(e){const t=x.useId();return`${e??t}`}const F=typeof window<"u"?x.useLayoutEffect:x.useEffect;function ee(e){const t=x.useRef(e);return F(()=>{t.current=e},[e]),x.useCallback((...n)=>t.current?.(...n),[t])}function ue(...e){return ee(t=>{e.forEach(n=>{if(n)switch(typeof n){case"function":{n(t);break}case"object":{n.current=t;break}}})})}function pt(e){const t=x.useRef({...e});return F(()=>{for(const n in e)t.current[n]=e[n]},[e]),t.current}const Ne=x.createContext(null);function ht(e,t){const n=x.useRef({getLayout:()=>({}),setLayout:Ze});x.useImperativeHandle(t,()=>n.current,[]),F(()=>{Object.assign(n.current,Pe({groupId:e}))})}function _e({children:e,className:t,defaultLayout:n,disableCursor:o,disabled:i,elementRef:a,groupRef:l,id:r,onLayoutChange:s,orientation:u="horizontal",style:f,...p}){const h=x.useRef({}),m=ee(w=>{U(h.current,w)||(h.current=w,s?.(w))}),c=le(r),d=x.useRef(null),[S,y]=Te(),v=x.useRef({lastExpandedPanelSizes:{},layouts:{},panels:[],separators:[]}),b=ue(d,a);ht(c,l);const g=ee((w,R)=>{const{interactionState:M,mountedGroups:O}=D();for(const T of O.keys())if(T.id===w){const N=O.get(T);if(N){let X=!1;switch(M.state){case"active":{X=M.hitRegions.some(te=>te.group===T);break}}return{flexGrow:N.layout[R]??1,pointerEvents:X?"none":void 0}}}return{flexGrow:1}}),L=x.useMemo(()=>({getPanelStyles:g,id:c,orientation:u,registerPanel:w=>{const R=v.current;return R.panels=se(u,[...R.panels,w]),y(),()=>{R.panels=R.panels.filter(M=>M!==w),y()}},registerSeparator:w=>{const R=v.current;return R.separators=se(u,[...R.separators,w]),y(),()=>{R.separators=R.separators.filter(M=>M!==w),y()}}}),[g,c,y,u]),P=pt({defaultLayout:n,disableCursor:o}),C=x.useRef(null);return F(()=>{const w=d.current;if(w===null)return;const R=v.current,M={defaultLayout:P.defaultLayout,disableCursor:!!P.disableCursor,disabled:!!i,element:w,id:c,inMemoryLastExpandedPanelSizes:v.current.lastExpandedPanelSizes,inMemoryLayouts:v.current.layouts,orientation:u,panels:R.panels,separators:R.separators};C.current=M;const O=dt(M),N=D().mountedGroups.get(M);if(N){const{defaultLayoutDeferred:W,derivedPanelConstraints:Y,layout:ne}=N;!W&&Y.length>0&&(m?.(ne),R.panels.forEach(oe=>{oe.scheduleUpdate()}))}const X=A.addListener("interactionStateChange",()=>{R.panels.forEach(W=>{W.scheduleUpdate()})}),te=A.addListener("mountedGroupsChange",W=>{const Y=W.get(M);if(Y){const{defaultLayoutDeferred:ne,derivedPanelConstraints:oe,layout:Fe}=Y;if(ne||oe.length===0)return;m?.(Fe),R.panels.forEach($e=>{$e.scheduleUpdate()})}});return()=>{C.current=null,O(),X(),te()}},[i,c,m,u,S,P]),x.useEffect(()=>{const w=C.current;w&&(w.defaultLayout=n,w.disableCursor=!!o)}),B.jsx(Ne.Provider,{value:L,children:B.jsx("div",{...p,"aria-orientation":u,className:t,"data-group":!0,"data-testid":c,id:c,ref:b,style:{height:"100%",width:"100%",overflow:"hidden",...f,display:"flex",flexDirection:u==="horizontal"?"row":"column",flexWrap:"nowrap"},children:e})})}_e.displayName="Group";function mt(e,t=10){let n=null;return o=>{n!==null&&clearTimeout(n),n=setTimeout(()=>{e(o)},t)}}function ie(e,t){return`react-resizable-panels:${[e,...t].join(":")}`}function yt({debounceSaveMs:e=100,panelIds:t,storage:n=localStorage,...o}){const i=t!==void 0,a="id"in o?o.id:o.groupId,l=ie(a,t??[]),r=x.useSyncExternalStore(gt,()=>n.getItem(l),()=>n.getItem(l)),s=x.useMemo(()=>r?JSON.parse(r):void 0,[r]),u=x.useMemo(()=>{const f=p=>{let h;i?h=ie(a,Object.keys(p)):h=ie(a,[]);try{n.setItem(h,JSON.stringify(p))}catch(m){console.error(m)}};return e>0?mt(f,e):f},[e,i,a,n]);return{defaultLayout:s,onLayoutChange:u}}function gt(){return function(){}}function St(){return x.useState(null)}function vt(){return x.useRef(null)}function ce(){const e=x.useContext(Ne);return z(e,"Group Context not found; did you render a Panel or Separator outside of a Group?"),e}function xt({groupId:e,panelId:t}){const n=()=>{const{mountedGroups:r}=D();for(const[s,{defaultLayoutDeferred:u,derivedPanelConstraints:f,layout:p,separatorToPanels:h}]of r)if(s.id===e)return{defaultLayoutDeferred:u,derivedPanelConstraints:f,group:s,layout:p,separatorToPanels:h};throw Error(`Group ${e} not found`)},o=()=>{const r=n().derivedPanelConstraints.find(s=>s.panelId===t);if(r!==void 0)return r;throw Error(`Panel constraints not found for Panel ${t}`)},i=()=>{const r=n().group.panels.find(s=>s.id===t);if(r!==void 0)return r;throw Error(`Layout not found for Panel ${t}`)},a=()=>{const r=n().layout[t];if(r!==void 0)return r;throw Error(`Layout not found for Panel ${t}`)},l=r=>{const s=a();if(r===s)return;const{defaultLayoutDeferred:u,derivedPanelConstraints:f,group:p,layout:h,separatorToPanels:m}=n(),c=p.panels.findIndex(v=>v.id===t),d=c===p.panels.length-1,S=q({delta:d?s-r:r-s,initialLayout:h,panelConstraints:f,pivotIndices:d?[c-1,c]:[c,c+1],prevLayout:h,trigger:"imperative-api"}),y=j({layout:S,panelConstraints:f});U(h,y)||I(v=>({mountedGroups:new Map(v.mountedGroups).set(p,{defaultLayoutDeferred:u,derivedPanelConstraints:f,layout:y,separatorToPanels:m})}))};return{collapse:()=>{const{collapsible:r,collapsedSize:s}=o(),{mutableValues:u}=i(),f=a();r&&f!==s&&(u.expandToSize=f,l(s))},expand:()=>{const{collapsible:r,collapsedSize:s,minSize:u}=o(),{mutableValues:f}=i(),p=a();if(r&&p===s){let h=f.expandToSize??u;h===0&&(h=1),l(h)}},getSize:()=>{const{group:r}=n(),s=a(),{element:u}=i(),f=r.orientation==="horizontal"?u.offsetWidth:u.offsetHeight;return{asPercentage:s,inPixels:f}},isCollapsed:()=>{const{collapsible:r,collapsedSize:s}=o(),u=a();return r&&E(s,u)},resize:r=>{if(a()!==r){let u;switch(typeof r){case"number":{const{group:f}=n(),p=V({group:f});u=G(r/p*100);break}case"string":{u=parseFloat(r);break}}l(u)}}}}function bt(e,t){const{id:n}=ce(),o=x.useRef({collapse:re,expand:re,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:re});x.useImperativeHandle(t,()=>o.current,[]),F(()=>{Object.assign(o.current,xt({groupId:n,panelId:e}))})}function Ae({children:e,className:t,collapsedSize:n="0%",collapsible:o=!1,defaultSize:i,elementRef:a,id:l,maxSize:r="100%",minSize:s="0%",onResize:u,panelRef:f,style:p,...h}){const m=!!l,c=le(l),d=x.useRef(null),S=ue(d,a),[,y]=Te(),{getPanelStyles:v,id:b,registerPanel:g}=ce(),L=u!==null,P=ee((w,R,M)=>{u?.(w,l,M)});F(()=>{const w=d.current;if(w!==null)return g({element:w,id:c,idIsStable:m,mutableValues:{expandToSize:void 0,prevSize:void 0},onResize:L?P:void 0,panelConstraints:{collapsedSize:n,collapsible:o,defaultSize:i,maxSize:r,minSize:s},scheduleUpdate:y})},[n,o,i,y,L,c,m,r,s,P,g]),bt(c,f);const C=v(b,c);return B.jsx("div",{...h,"data-panel":!0,"data-testid":c,id:c,ref:S,style:{...zt,flexBasis:0,flexShrink:1,overflow:"hidden",...C},children:B.jsx("div",{className:t,style:{width:"100%",height:"100%",...p},children:e})})}Ae.displayName="Panel";const zt={minHeight:0,maxHeight:"100%",height:"auto",minWidth:0,maxWidth:"100%",width:"auto",border:"none",borderWidth:0,padding:0,margin:0};function wt(){return x.useState(null)}function Lt(){return x.useRef(null)}function Rt({layout:e,panelConstraints:t,panelId:n,panelIndex:o}){let i,a;const l=e[n],r=t.find(s=>s.panelId===n);if(r){const s=r.maxSize,u=a=r.collapsible?r.collapsedSize:r.minSize,f=[o,o+1];a=j({layout:q({delta:u-l,initialLayout:e,panelConstraints:t,pivotIndices:f,prevLayout:e,trigger:"keyboard"}),panelConstraints:t})[n],i=j({layout:q({delta:s-l,initialLayout:e,panelConstraints:t,pivotIndices:f,prevLayout:e,trigger:"keyboard"}),panelConstraints:t})[n]}return{valueControls:n,valueMax:i,valueMin:a,valueNow:l}}function je({children:e,className:t,elementRef:n,id:o,style:i,...a}){const l=le(o),[r,s]=x.useState({}),[u,f]=x.useState("inactive"),p=x.useRef(null),h=ue(p,n),{id:m,orientation:c,registerSeparator:d}=ce(),S=c==="horizontal"?"vertical":"horizontal";return F(()=>{const y=p.current;if(y!==null){const v={element:y,id:l},b=d(v),g=A.addListener("interactionStateChange",P=>{f(P.state!=="inactive"&&P.hitRegions.some(C=>C.separator===v)?P.state:"inactive")}),L=A.addListener("mountedGroupsChange",P=>{P.forEach(({derivedPanelConstraints:C,layout:w,separatorToPanels:R},M)=>{if(M.id===m){const O=R.get(v);if(O){const T=O[0],N=M.panels.indexOf(T);s(Rt({layout:w,panelConstraints:C,panelId:T.id,panelIndex:N}))}}})});return()=>{g(),L(),b()}}},[m,l,d]),B.jsx("div",{...a,"aria-controls":r.valueControls,"aria-orientation":S,"aria-valuemax":r.valueMax,"aria-valuemin":r.valueMin,"aria-valuenow":r.valueNow,children:e,className:t,"data-separator":u,"data-testid":l,id:l,ref:h,role:"separator",style:{flexBasis:"auto",...i,flexGrow:0,flexShrink:0},tabIndex:0})}je.displayName="Separator";exports.Group=_e;exports.Panel=Ae;exports.Separator=je;exports.useDefaultLayout=yt;exports.useGroupCallbackRef=St;exports.useGroupRef=vt;exports.usePanelCallbackRef=wt;exports.usePanelRef=Lt;
2
2
  //# sourceMappingURL=react-resizable-panels.cjs.map