react-resizable-panels 4.0.0-alpha.0 → 4.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -60,11 +60,6 @@ Documentation for this project is available at [react-resizable-panels.vercel.ap
60
60
  <td><p>Default layout for the Group.</p>
61
61
  <p>ℹ️ This value allows layouts to be remembered between page reloads.</p>
62
62
  <p>⚠️ Refer to the documentation for how to avoid layout shift when using server components.</p>
63
- </td>
64
- </tr>
65
- <tr>
66
- <td>direction</td>
67
- <td><p>Specifies the resizable direction (&quot;horizontal&quot; or &quot;vertical&quot;); defaults to &quot;horizontal&quot;</p>
68
63
  </td>
69
64
  </tr>
70
65
  <tr>
@@ -97,12 +92,17 @@ Use this prop to disable that behavior for Panels and Separators in this group.<
97
92
  <td>id</td>
98
93
  <td><p>Uniquely identifies this group within an application.
99
94
  Falls back to <code>useId</code> when not provided.</p>
100
- <p>ℹ️ This value will also be assigned to the <code>data-group-id</code> attribute.</p>
95
+ <p>ℹ️ This value will also be assigned to the <code>data-group</code> attribute.</p>
101
96
  </td>
102
97
  </tr>
103
98
  <tr>
104
99
  <td>onLayoutChange</td>
105
100
  <td><p>Called when panel sizes change; receives a map of Panel id to size.</p>
101
+ </td>
102
+ </tr>
103
+ <tr>
104
+ <td>orientation</td>
105
+ <td><p>Specifies the resizable orientation (&quot;horizontal&quot; or &quot;vertical&quot;); defaults to &quot;horizontal&quot;</p>
106
106
  </td>
107
107
  </tr>
108
108
  <tr>
@@ -168,7 +168,7 @@ Falls back to <code>useId</code> when not provided.</p>
168
168
  <td><p>Uniquely identifies this panel within the parent group.
169
169
  Falls back to <code>useId</code> when not provided.</p>
170
170
  <p>ℹ️ This prop is used to associate persisted group layouts with the original panel.</p>
171
- <p>ℹ️ This value will also be assigned to the <code>data-panel-id</code> attribute.</p>
171
+ <p>ℹ️ This value will also be assigned to the <code>data-panel</code> attribute.</p>
172
172
  </td>
173
173
  </tr>
174
174
  <tr>
@@ -247,7 +247,7 @@ Falls back to <code>useId</code> when not provided.</p>
247
247
  <td>id</td>
248
248
  <td><p>Uniquely identifies the separator within the parent group.
249
249
  Falls back to <code>useId</code> when not provided.</p>
250
- <p>ℹ️ This value will also be assigned to the <code>data-separator-id</code> attribute.</p>
250
+ <p>ℹ️ This value will also be assigned to the <code>data-separator</code> attribute.</p>
251
251
  </td>
252
252
  </tr>
253
253
  <tr>
@@ -1,2 +1,2 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const $=require("react/jsx-runtime"),h=require("react");function be(e,t){const n=getComputedStyle(e),o=parseFloat(n.fontSize);return t*o}function we(e,t){const n=getComputedStyle(e.ownerDocument.body),o=parseFloat(n.fontSize);return t*o}function Re(e){return e/100*window.innerHeight}function Le(e){return e/100*window.innerWidth}function Pe(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 F({groupSize:e,panelElement:t,styleProp:n}){let o;const[r,i]=Pe(n);switch(i){case"%":{o=r/100*e;break}case"px":{o=r;break}case"rem":{o=we(t,r);break}case"em":{o=be(t,r);break}case"vh":{o=Re(r);break}case"vw":{o=Le(r);break}}return o}function L(e){return parseFloat(e.toFixed(3))}function X({group:e}){const{direction:t,panels:n}=e;return n.reduce((o,r)=>(o+=t==="horizontal"?r.element.offsetWidth:r.element.offsetHeight,o),0)}function oe(e){const{panels:t}=e,n=X({group:e});return t.map(o=>{const{element:r,panelConstraints:i}=o;let a=0;if(i.collapsedSize){const u=F({groupSize:n,panelElement:r,styleProp:i.collapsedSize});a=L(u/n*100)}let s;if(i.defaultSize){const u=F({groupSize:n,panelElement:r,styleProp:i.defaultSize});s=L(u/n*100)}let l=0;if(i.minSize){const u=F({groupSize:n,panelElement:r,styleProp:i.minSize});l=L(u/n*100)}let c=100;if(i.maxSize){const u=F({groupSize:n,panelElement:r,styleProp:i.maxSize});c=L(u/n*100)}return{collapsedSize:a,collapsible:i.collapsible===!0,defaultSize:s,minSize:l,maxSize:c,panelId:o.id}})}class Ce{#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 a=Array.from(o);for(let s=0;s<a.length;s++){const l=a[s];try{l.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 E={cursorFlags:0,interactionState:{state:"inactive"},mountedGroups:new Map};const D=new Ce;function I(){return E}function M(e){const t=typeof e=="function"?e(E):e;return E===t||(E={...E,...t},t.cursorFlags!==void 0&&D.emit("cursorFlagsChange",E.cursorFlags),t.interactionState!==void 0&&D.emit("interactionStateChange",E.interactionState),t.mountedGroups!==void 0&&D.emit("mountedGroupsChange",E.mountedGroups)),E}const Ee=e=>e,U=()=>{},le=1,ce=2,ue=4,fe=8,ie={coarse:10,precise:5};function Ge(e){const{direction:t,element:n,panels:o,separators:r}=e,i=Array.from(n.children).filter(c=>c instanceof HTMLElement).sort((c,u)=>{const f=c.getBoundingClientRect(),p=u.getBoundingClientRect();return t==="horizontal"?f.left-p.left:f.top-p.top}),a=[];let s,l;for(const c of i){const u=o.find(f=>f.element===c);if(u){if(s){const f=s.element.getBoundingClientRect(),p=c.getBoundingClientRect();a.push({group:e,panels:[s,u],separator:l,rect:t==="horizontal"?new DOMRect(f.right,p.top,p.left-f.right,p.height):new DOMRect(p.left,f.bottom,p.width,p.top-f.bottom)})}s=u}else{const f=r.find(p=>p.element===c);f?l=f:(s=void 0,l=void 0)}}return a}function Me(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 Ie(e,t,n){let o,r={x:1/0,y:1/0};for(const i of t){const a=Me(n,i.rect);switch(e){case"horizontal":{a.x<=r.x&&(o=i,r=a);break}case"vertical":{a.y<=r.y&&(o=i,r=a);break}}}return o?{distance:r,hitRegion:o}:void 0}let H;function ke(){return H===void 0&&(typeof matchMedia=="function"?H=!!matchMedia("(pointer:coarse)").matches:H=!1),H}function de(e,t){const n=[];return t.forEach((o,r)=>{if(r.disabled)return;const i=ke()?ie.coarse:ie.precise,a=Ge(r),s=Ie(r.direction,a,{x:e.clientX,y:e.clientY});s&&s.distance.x<=i&&s.distance.y<=i&&n.push(s.hitRegion)}),n}function se(e){if(e.defaultPrevented)return;const{mountedGroups:t}=I(),n=de(e,t),o=new Set,r=new Set,i=new Set,a=new Map;n.forEach(s=>{o.add(s.group),s.panels.forEach(c=>{r.add(c)}),s.separator&&i.add(s.separator);const l=t.get(s.group);l&&a.set(s.group,l.layout)}),M({interactionState:{hitRegions:n,initialLayoutMap:a,pointerDownAtPoint:{x:e.clientX,y:e.clientY},state:"active"}}),n.length&&e.preventDefault()}function Oe({cursorFlags:e,groups:t,state:n}){let o=0,r=0;switch(n){case"active":case"hover":t.forEach(i=>{if(!i.disableCursor)switch(i.direction){case"horizontal":{o++;break}case"vertical":{r++;break}}})}if(o===0&&r===0)return null;switch(n){case"active":{const i=(e&le)!==0,a=(e&ce)!==0,s=(e&ue)!==0,l=(e&fe)!==0;if(e){if(i)return s?"se-resize":l?"ne-resize":"e-resize";if(a)return s?"sw-resize":l?"nw-resize":"w-resize";if(s)return"s-resize";if(l)return"n-resize"}break}}return o>0&&r>0?"move":o>0?"ew-resize":"ns-resize"}let K=null,C;function V(){C===void 0&&(C=new CSSStyleSheet,document.adoptedStyleSheets=[C]);const{cursorFlags:e,interactionState:t}=I();switch(t.state){case"active":case"hover":{const n=Oe({cursorFlags:e,groups:t.hitRegions.map(o=>o.group),state:t.state});if(K===n)return;K=n,n?C.cssRules.length===0?C.insertRule(`*{cursor: ${n} !important;}`):C.replaceSync(`*{cursor: ${n} !important;}`):C.cssRules.length===1&&C.deleteRule(0);break}case"inactive":{K=null,C.cssRules.length===1&&C.deleteRule(0);break}}}function G(e,t="Assertion error"){if(!e)throw console.error(t),Error(t)}function Ae(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 R(e,t,n=0){return Math.abs(L(e)-L(t))<=n}function q(e,t){return R(e,t)?0:e>t?1:-1}function T({panelConstraints:e,size:t}){const{collapsedSize:n=0,collapsible:o,maxSize:r=100,minSize:i=0}=e;if(q(t,i)<0)if(o){const a=(n+i)/2;q(t,a)<0?t=n:t=i}else t=i;return t=Math.min(r,t),t=L(t),t}function Ne({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:o,prevLayout:r,trigger:i}){if(R(e,0))return t;const a=Object.values(t),s=Object.values(r),l=[...a],[c,u]=o;G(c!=null,"Invalid first pivot index"),G(u!=null,"Invalid second pivot index");let f=0;{const v=e<0?1:-1;let d=e<0?u:c,g=0;for(;;){const z=a[d];G(z!=null,`Previous layout not found for panel index ${d}`);const S=T({panelConstraints:n[d],size:100})-z;if(g+=S,d+=v,d<0||d>=n.length)break}const x=Math.min(Math.abs(e),Math.abs(g));e=e<0?0-x:x}{let d=e<0?c:u;for(;d>=0&&d<n.length;){const g=Math.abs(e)-Math.abs(f),x=a[d];G(x!=null,`Previous layout not found for panel index ${d}`);const z=x-g,b=T({panelConstraints:n[d],size:z});if(!R(x,b)&&(f+=x-b,l[d]=b,f.toFixed(3).localeCompare(Math.abs(e).toFixed(3),void 0,{numeric:!0})>=0))break;e<0?d--:d++}}if(Ae(s,l))return r;{const v=e<0?u:c,d=a[v];G(d!=null,`Previous layout not found for panel index ${v}`);const g=d+f,x=T({panelConstraints:n[v],size:g});if(l[v]=x,!R(x,g)){let z=g-x,S=e<0?u:c;for(;S>=0&&S<n.length;){const P=l[S];G(P!=null,`Previous layout not found for panel index ${S}`);const k=P+z,O=T({panelConstraints:n[S],size:k});if(R(P,O)||(z-=O-P,l[S]=O),R(z,0))break;e>0?S--:S++}}}const p=Object.values(l).reduce((v,d)=>d+v,0);if(!R(p,100,.1))return r;const m=Object.keys(r);return l.reduce((v,d,g)=>(v[m[g]]=d,v),{})}function Y(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(q(e[n],t[n])!==0)return!1;return!0}function B(e){if(e.defaultPrevented)return;const{interactionState:t,mountedGroups:n}=I();switch(t.state){case"active":{if(e.type!=="pointerleave"&&e.buttons===0){M(i=>i.interactionState.state==="inactive"?i:{cursorFlags:0,interactionState:{state:"inactive"}});return}let o=0;const r=new Map(n);t.hitRegions.forEach(i=>{const{direction:a,disableCursor:s,element:l,panels:c}=i.group;let u=0;t.state==="active"&&(a==="horizontal"?u=(e.clientX-t.pointerDownAtPoint.x)/l.offsetWidth*100:u=(e.clientY-t.pointerDownAtPoint.y)/l.offsetHeight*100);const f=t.initialLayoutMap.get(i.group),{derivedPanelConstraints:p,layout:m}=n.get(i.group)??{};if(p&&f&&m){const v=Ne({delta:u,initialLayout:f,panelConstraints:p,pivotIndices:i.panels.map(d=>c.indexOf(d)),prevLayout:m,trigger:"mouse-or-touch"});if(Y(v,m)){if(u!==0&&!s)switch(a){case"horizontal":{o|=u<0?le:ce;break}case"vertical":{o|=u<0?ue:fe;break}}}else{r.set(i.group,{derivedPanelConstraints:p,layout:v});const d=i.group.panels.map(({id:g})=>g).join(",");i.group.inMemoryLayouts[d]=v}}}),M({cursorFlags:o,mountedGroups:r}),V();break}default:{const o=de(e,n);o.length===0?t.state!=="inactive"&&M({interactionState:{state:"inactive"}}):M({interactionState:{hitRegions:o,state:"hover"}}),V();break}}}function re(e){if(e.defaultPrevented)return;e.preventDefault();const{interactionState:t}=I();switch(t.state){case"active":M({cursorFlags:0,interactionState:{state:"inactive"}}),V()}}function Te(e){let t=0,n=0;const o={};for(const i of e)if(i.defaultSize!==void 0){t++;const a=L(i.defaultSize);n+=a,o[i.panelId]=a}else o[i.panelId]=void 0;const r=e.length-t;if(r!==0){const i=L((100-n)/r);for(const a of e)a.defaultSize===void 0&&(o[a.panelId]=i)}return o}function De(e,t,n){const o=n[0];if(!o)return;const r=e.panels.find(a=>a.element===t);if(!r||!r.onResize)return;const i=X({group:e});r.onResize({asPercentage:L(o.inlineSize/i*100),inPixels:o.inlineSize})}function pe({layout:e,panelConstraints:t}){const o=[...Object.values(e)],r=o.reduce((s,l)=>s+l,0);if(o.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${o.map(s=>`${s}%`).join(", ")}`);if(!R(r,100)&&o.length>0)for(let s=0;s<t.length;s++){const l=o[s];G(l!=null,`No layout data found for index ${s}`);const c=100/r*l;o[s]=c}let i=0;for(let s=0;s<t.length;s++){const l=o[s];G(l!=null,`No layout data found for index ${s}`);const c=T({panelConstraints:t[s],size:l});l!=c&&(i+=l-c,o[s]=c)}if(!R(i,0))for(let s=0;s<t.length;s++){const l=o[s];G(l!=null,`No layout data found for index ${s}`);const c=l+i,u=T({panelConstraints:t[s],size:c});if(l!==u&&(i-=u-l,o[s]=u,R(i,0)))break}const a=Object.keys(e);return o.reduce((s,l,c)=>(s[a[c]]=l,s),{})}function _e(e){let t=!1;const n=new ResizeObserver(l=>{for(const c of l){const{borderBoxSize:u,target:f}=c;f===e.element?t&&M(p=>{const m=p.mountedGroups.get(e);return m?{mountedGroups:new Map(p.mountedGroups).set(e,{derivedPanelConstraints:oe(e),layout:m.layout})}:p}):De(e,f,u)}});n.observe(e.element),e.panels.forEach(l=>{l.onResize&&n.observe(l.element)});const o=oe(e),r=e.panels.map(({id:l})=>l).join(","),i=e.inMemoryLayouts[r]??e.defaultLayout??Te(o),a=pe({layout:i,panelConstraints:o}),s=M(l=>({mountedGroups:new Map(l.mountedGroups).set(e,{derivedPanelConstraints:o,layout:a})}));return t=!0,s.mountedGroups.size===1&&(window.addEventListener("pointerdown",se),window.addEventListener("pointerleave",B),window.addEventListener("pointermove",B),window.addEventListener("pointerup",re)),function(){const c=M(u=>{const f=new Map(u.mountedGroups);return f.delete(e),{mountedGroups:f}});t=!1,c.mountedGroups.size===0&&(window.removeEventListener("pointerdown",se),window.removeEventListener("pointerleave",B),window.removeEventListener("pointermove",B),window.removeEventListener("pointerup",re)),n.disconnect()}}function Z(e){const t=h.useId();return`${e??t}`}const _=typeof window<"u"?h.useLayoutEffect:h.useEffect;function J(e){const t=h.useRef(e);return _(()=>{t.current=e},[e]),h.useCallback(n=>t.current?.(n),[t])}function Q(...e){return J(t=>{e.forEach(n=>{if(n)switch(typeof n){case"function":{n(t);break}case"object":{n.current=t;break}}})})}const he="--react-resizable-panels--panel--pointer-events";function me(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 ve=h.createContext(null);function ae(e,t){return t.sort(e==="horizontal"?(n,o)=>n.element.offsetLeft-o.element.offsetLeft:(n,o)=>n.element.offsetTop-o.element.offsetTop)}function $e({groupId:e}){const t=()=>{const{mountedGroups:n}=I();for(const[o,{derivedPanelConstraints:r,layout:i}]of n)if(o.id===e)return{derivedPanelConstraints:r,group:o,layout:i};throw Error(`Group ${e} not found`)};return{getLayout(){const{layout:n}=t();return n},setLayout(n){const{derivedPanelConstraints:o,group:r,layout:i}=t(),a=pe({layout:n,panelConstraints:o});return Y(i,a)||M(s=>({mountedGroups:new Map(s.mountedGroups).set(r,{derivedPanelConstraints:o,layout:a})})),a}}}function je(e,t){const n=h.useRef({getLayout:()=>({}),setLayout:Ee});h.useImperativeHandle(t,()=>n.current,[]),_(()=>{Object.assign(n.current,$e({groupId:e}))})}function Fe({children:e,className:t,defaultLayout:n,direction:o="horizontal",disableCursor:r,disabled:i,elementRef:a,groupRef:s,id:l,onLayoutChange:c,style:u}){const f=h.useRef({}),p=J(y=>{Y(f.current,y)||(f.current=y,c?.(y))}),m=Z(l),[v,d]=h.useState(!1),[g,x]=h.useState(null),z=h.useRef({}),[b,S]=h.useState(n??{}),[P,k]=h.useState([]),[O,te]=h.useState([]),ye=Q(x,a);je(m,s);const Se=h.useMemo(()=>({direction:o,id:m,registerPanel:y=>(k(w=>ae(o,[...w,y])),()=>{k(w=>w.filter(A=>A!==y))}),registerSeparator:y=>(te(w=>ae(o,[...w,y])),()=>{te(w=>w.filter(A=>A!==y))})}),[o,m]);_(()=>{if(g!==null&&P.length>0){const y={defaultLayout:n,direction:o,disableCursor:!!r,disabled:!!i,element:g,id:m,inMemoryLayouts:z.current,panels:P,separators:O},w=_e(y),W=I().mountedGroups.get(y);W&&(S(W.layout),p?.(W.layout));const xe=D.addListener("interactionStateChange",j=>{switch(j.state){case"active":case"hover":{d(j.hitRegions.some(N=>N.group===y));break}}}),ze=D.addListener("mountedGroupsChange",j=>{const N=j.get(y);N&&N.derivedPanelConstraints.length>0&&(S(N.layout),p?.(N.layout))});return()=>{w(),xe(),ze()}}},[n,o,r,i,g,m,p,P,O]);const ne={[he]:v?"none":void 0};for(const y in b){const w=me(m,y),A=b[y];ne[w]=A}return $.jsx(ve.Provider,{value:Se,children:$.jsx("div",{className:t,"data-group":!0,"data-group-id":m,"data-group-direction":o,ref:ye,style:{...u,...ne,display:"flex",flexDirection:o==="horizontal"?"row":"column",flexWrap:"nowrap",overflow:"hidden"},children:e})})}function ge(e){return`react-resizable-panels:${e}`}function He({id:e,storage:t}){try{const n=ge(e),o=t.getItem(n);if(o)return JSON.parse(o)}catch(n){console.error(n)}}function Be({id:e,layout:t,storage:n}){try{const o=ge(e);n.setItem(o,JSON.stringify(t))}catch(o){console.error(o)}}function We({groupId:e,storage:t=localStorage}){const n=h.useRef(null);n.current===null&&(n.current=He({id:e,storage:t}));const o=h.useCallback(r=>Be({id:e,layout:r,storage:t}),[e,t]);return{defaultLayout:n.current,onLayoutChange:o}}function Ue(){return h.useState(null)}function Ke(){return h.useRef(null)}function ee(){const e=h.useContext(ve);return G(e,"Unexpected"),e}function Ve({groupId:e,panelId:t}){const n=()=>{const{mountedGroups:a}=I();for(const[s,{derivedPanelConstraints:l,layout:c}]of a)if(s.id===e)return{derivedPanelConstraints:l,group:s,layout:c};throw Error(`Group ${e} not found`)},o=()=>{const a=n().derivedPanelConstraints.find(s=>s.panelId===t);if(a!==void 0)return a;throw Error(`Panel constraints not found for Panel ${t}`)},r=()=>{const a=n().group.panels.find(s=>s.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}`)};return{collapse:()=>{const{collapsible:a,collapsedSize:s}=o();i()},expand:()=>{const{collapsible:a,collapsedSize:s,minSize:l}=o();i()},getSize:()=>{const{group:a}=n(),s=i(),{element:l}=r(),c=a.direction==="horizontal"?l.offsetWidth:l.offsetHeight;return{asPercentage:s,inPixels:c}},isCollapsed:()=>{const{collapsible:a,collapsedSize:s}=o(),l=i();return a&&R(s,l)},resize:a=>{if(i()!==a)switch(typeof a){case"number":{const{group:l}=n(),c=X({group:l});L(a/c*100);break}}}}}function qe(e,t){const{id:n}=ee(),o=h.useRef({collapse:U,expand:U,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:U});h.useImperativeHandle(t,()=>o.current,[]),_(()=>{Object.assign(o.current,Ve({groupId:n,panelId:e}))})}function Xe({children:e,className:t,collapsedSize:n=0,collapsible:o=!1,defaultSize:r,elementRef:i,id:a,maxSize:s="100",minSize:l="0",onResize:c,panelRef:u,style:f}){const p=!!a,m=Z(a),[v,d]=h.useState(null),g=Q(d,i),{id:x,registerPanel:z}=ee(),b=c!==null,S=J(k=>{c?.(k)});_(()=>{if(v!==null)return z({element:v,id:m,idIsStable:p,onResize:b?S:void 0,panelConstraints:{collapsedSize:n,collapsible:o,defaultSize:r,maxSize:s,minSize:l}})},[n,o,r,v,b,m,p,s,l,S,z]),qe(m,u);const P=me(x,m);return $.jsx("div",{"data-panel":!0,"data-panel-id":m,ref:g,style:{flexBasis:0,flexGrow:`var(${P}, 1)`,flexShrink:1,overflow:"hidden",pointerEvents:`var(${he})`},children:$.jsx("div",{className:t,style:{width:"100%",height:"100%",...f},children:e})})}function Ye(){return h.useState(null)}function Ze(){return h.useRef(null)}function Je({children:e,className:t,elementRef:n,id:o,style:r}){const i=Z(o),[a,s]=h.useState(null),[l,c]=h.useState("inactive"),u=Q(s,n),{registerSeparator:f}=ee();return _(()=>{if(a!==null){const p={element:a,id:i},m=f(p),v=D.addListener("interactionStateChange",d=>{c(d.state!=="inactive"&&d.hitRegions.some(g=>g.separator===p)?d.state:"inactive")});return()=>{m(),v()}}},[a,i,f]),$.jsx("div",{children:e,className:t,"data-separator":!0,"data-separator-id":i,"data-separator-state":l,ref:u,style:{flexBasis:"auto",...r,flexGrow:0,flexShrink:0}})}exports.Group=Fe;exports.Panel=Xe;exports.Separator=Je;exports.useDefaultLayout=We;exports.useGroupCallbackRef=Ue;exports.useGroupRef=Ke;exports.usePanelCallbackRef=Ye;exports.usePanelRef=Ze;
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const $=require("react/jsx-runtime"),p=require("react");function be(e,t){const n=getComputedStyle(e),o=parseFloat(n.fontSize);return t*o}function we(e,t){const n=getComputedStyle(e.ownerDocument.body),o=parseFloat(n.fontSize);return t*o}function Re(e){return e/100*window.innerHeight}function Le(e){return e/100*window.innerWidth}function Pe(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 F({groupSize:e,panelElement:t,styleProp:n}){let o;const[r,i]=Pe(n);switch(i){case"%":{o=r/100*e;break}case"px":{o=r;break}case"rem":{o=we(t,r);break}case"em":{o=be(t,r);break}case"vh":{o=Re(r);break}case"vw":{o=Le(r);break}}return o}function L(e){return parseFloat(e.toFixed(3))}function J({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 re(e){const{panels:t}=e,n=J({group:e});return t.map(o=>{const{element:r,panelConstraints:i}=o;let a=0;if(i.collapsedSize){const u=F({groupSize:n,panelElement:r,styleProp:i.collapsedSize});a=L(u/n*100)}let s;if(i.defaultSize){const u=F({groupSize:n,panelElement:r,styleProp:i.defaultSize});s=L(u/n*100)}let l=0;if(i.minSize){const u=F({groupSize:n,panelElement:r,styleProp:i.minSize});l=L(u/n*100)}let c=100;if(i.maxSize){const u=F({groupSize:n,panelElement:r,styleProp:i.maxSize});c=L(u/n*100)}return{collapsedSize:a,collapsible:i.collapsible===!0,defaultSize:s,minSize:l,maxSize:c,panelId:o.id}})}class Ce{#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 a=Array.from(o);for(let s=0;s<a.length;s++){const l=a[s];try{l.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 E={cursorFlags:0,interactionState:{state:"inactive"},mountedGroups:new Map};const T=new Ce;function I(){return E}function G(e){const t=typeof e=="function"?e(E):e;return E===t||(E={...E,...t},t.cursorFlags!==void 0&&T.emit("cursorFlagsChange",E.cursorFlags),t.interactionState!==void 0&&T.emit("interactionStateChange",E.interactionState),t.mountedGroups!==void 0&&T.emit("mountedGroupsChange",E.mountedGroups)),E}const Ee=e=>e,B=()=>{},ue=1,fe=2,de=4,pe=8,ae={coarse:10,precise:5};function K(e,t){return t.sort(e==="horizontal"?Me:Ge)}function Me(e,t){const n=e.element.offsetLeft-t.element.offsetLeft;return n!==0?n:e.element.offsetWidth-t.element.offsetWidth}function Ge(e,t){const n=e.element.offsetTop-t.element.offsetTop;return n!==0?n:e.element.offsetHeight-t.element.offsetHeight}function Ie(e){const{element:t,orientation:n,panels:o,separators:r}=e,i=K(n,Array.from(t.children).filter(c=>c instanceof HTMLElement).map(c=>({element:c}))).map(({element:c})=>c),a=[];let s,l;for(const c of i){const u=o.find(d=>d.element===c);if(u){if(s){const d=s.element.getBoundingClientRect(),h=c.getBoundingClientRect();a.push({group:e,panels:[s,u],separator:l,rect:n==="horizontal"?new DOMRect(d.right,h.top,h.left-d.right,h.height):new DOMRect(h.left,d.bottom,h.width,h.top-d.bottom)})}s=u,l=void 0}else{const d=r.find(h=>h.element===c);d?l=d:(s=void 0,l=void 0)}}return a}function Oe(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(e,t,n){let o,r={x:1/0,y:1/0};for(const i of t){const a=Oe(n,i.rect);switch(e){case"horizontal":{a.x<=r.x&&(o=i,r=a);break}case"vertical":{a.y<=r.y&&(o=i,r=a);break}}}return o?{distance:r,hitRegion:o}:void 0}let H;function Ae(){return H===void 0&&(typeof matchMedia=="function"?H=!!matchMedia("(pointer:coarse)").matches:H=!1),H}function he(e,t){const n=[];return t.forEach((o,r)=>{if(r.disabled)return;const i=Ae()?ae.coarse:ae.precise,a=Ie(r),s=ke(r.orientation,a,{x:e.clientX,y:e.clientY});s&&s.distance.x<=i&&s.distance.y<=i&&n.push(s.hitRegion)}),n}function le(e){if(e.defaultPrevented)return;const{mountedGroups:t}=I(),n=he(e,t),o=new Set,r=new Set,i=new Set,a=new Map;n.forEach(s=>{o.add(s.group),s.panels.forEach(c=>{r.add(c)}),s.separator&&i.add(s.separator);const l=t.get(s.group);l&&a.set(s.group,l.layout)}),G({interactionState:{hitRegions:n,initialLayoutMap:a,pointerDownAtPoint:{x:e.clientX,y:e.clientY},state:"active"}}),n.length&&e.preventDefault()}function Ne({cursorFlags:e,groups:t,state:n}){let o=0,r=0;switch(n){case"active":case"hover":t.forEach(i=>{if(!i.disableCursor)switch(i.orientation){case"horizontal":{o++;break}case"vertical":{r++;break}}})}if(o===0&&r===0)return null;switch(n){case"active":{const i=(e&ue)!==0,a=(e&fe)!==0,s=(e&de)!==0,l=(e&pe)!==0;if(e){if(i)return s?"se-resize":l?"ne-resize":"e-resize";if(a)return s?"sw-resize":l?"nw-resize":"w-resize";if(s)return"s-resize";if(l)return"n-resize"}break}}return o>0&&r>0?"move":o>0?"ew-resize":"ns-resize"}let V=null,C;function q(){C===void 0&&(C=new CSSStyleSheet,document.adoptedStyleSheets=[C]);const{cursorFlags:e,interactionState:t}=I();switch(t.state){case"active":case"hover":{const n=Ne({cursorFlags:e,groups:t.hitRegions.map(o=>o.group),state:t.state});if(V===n)return;V=n,n?C.cssRules.length===0?C.insertRule(`*{cursor: ${n} !important;}`):C.replaceSync(`*{cursor: ${n} !important;}`):C.cssRules.length===1&&C.deleteRule(0);break}case"inactive":{V=null,C.cssRules.length===1&&C.deleteRule(0);break}}}function M(e,t="Assertion error"){if(!e)throw console.error(t),Error(t)}function De(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 R(e,t,n=0){return Math.abs(L(e)-L(t))<=n}function X(e,t){return R(e,t)?0:e>t?1:-1}function D({panelConstraints:e,size:t}){const{collapsedSize:n=0,collapsible:o,maxSize:r=100,minSize:i=0}=e;if(X(t,i)<0)if(o){const a=(n+i)/2;X(t,a)<0?t=n:t=i}else t=i;return t=Math.min(r,t),t=L(t),t}function Te({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:o,prevLayout:r,trigger:i}){if(R(e,0))return t;const a=Object.values(t),s=Object.values(r),l=[...a],[c,u]=o;M(c!=null,"Invalid first pivot index"),M(u!=null,"Invalid second pivot index");let d=0;{const m=e<0?1:-1;let f=e<0?u:c,g=0;for(;;){const z=a[f];M(z!=null,`Previous layout not found for panel index ${f}`);const x=D({panelConstraints:n[f],size:100})-z;if(g+=x,f+=m,f<0||f>=n.length)break}const y=Math.min(Math.abs(e),Math.abs(g));e=e<0?0-y:y}{let f=e<0?c:u;for(;f>=0&&f<n.length;){const g=Math.abs(e)-Math.abs(d),y=a[f];M(y!=null,`Previous layout not found for panel index ${f}`);const z=y-g,b=D({panelConstraints:n[f],size:z});if(!R(y,b)&&(d+=y-b,l[f]=b,d.toFixed(3).localeCompare(Math.abs(e).toFixed(3),void 0,{numeric:!0})>=0))break;e<0?f--:f++}}if(De(s,l))return r;{const m=e<0?u:c,f=a[m];M(f!=null,`Previous layout not found for panel index ${m}`);const g=f+d,y=D({panelConstraints:n[m],size:g});if(l[m]=y,!R(y,g)){let z=g-y,x=e<0?u:c;for(;x>=0&&x<n.length;){const P=l[x];M(P!=null,`Previous layout not found for panel index ${x}`);const O=P+z,k=D({panelConstraints:n[x],size:O});if(R(P,k)||(z-=k-P,l[x]=k),R(z,0))break;e>0?x--:x++}}}const h=Object.values(l).reduce((m,f)=>f+m,0);if(!R(h,100,.1))return r;const v=Object.keys(r);return l.reduce((m,f,g)=>(m[v[g]]=f,m),{})}function Q(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(X(e[n],t[n])!==0)return!1;return!0}function W(e){if(e.defaultPrevented)return;const{interactionState:t,mountedGroups:n}=I();switch(t.state){case"active":{if(e.type!=="pointerleave"&&e.buttons===0){G(i=>i.interactionState.state==="inactive"?i:{cursorFlags:0,interactionState:{state:"inactive"}});return}let o=0;const r=new Map(n);t.hitRegions.forEach(i=>{const{disableCursor:a,element:s,orientation:l,panels:c}=i.group;let u=0;t.state==="active"&&(l==="horizontal"?u=(e.clientX-t.pointerDownAtPoint.x)/s.offsetWidth*100:u=(e.clientY-t.pointerDownAtPoint.y)/s.offsetHeight*100);const d=t.initialLayoutMap.get(i.group),{derivedPanelConstraints:h,layout:v}=n.get(i.group)??{};if(h&&d&&v){const m=Te({delta:u,initialLayout:d,panelConstraints:h,pivotIndices:i.panels.map(f=>c.indexOf(f)),prevLayout:v,trigger:"mouse-or-touch"});if(Q(m,v)){if(u!==0&&!a)switch(l){case"horizontal":{o|=u<0?ue:fe;break}case"vertical":{o|=u<0?de:pe;break}}}else{r.set(i.group,{derivedPanelConstraints:h,layout:m});const f=i.group.panels.map(({id:g})=>g).join(",");i.group.inMemoryLayouts[f]=m}}}),G({cursorFlags:o,mountedGroups:r}),q();break}default:{const o=he(e,n);o.length===0?t.state!=="inactive"&&G({interactionState:{state:"inactive"}}):G({interactionState:{hitRegions:o,state:"hover"}}),q();break}}}function ce(e){if(e.defaultPrevented)return;e.preventDefault();const{interactionState:t}=I();switch(t.state){case"active":G({cursorFlags:0,interactionState:{state:"inactive"}}),q()}}function _e(e){let t=0,n=0;const o={};for(const i of e)if(i.defaultSize!==void 0){t++;const a=L(i.defaultSize);n+=a,o[i.panelId]=a}else o[i.panelId]=void 0;const r=e.length-t;if(r!==0){const i=L((100-n)/r);for(const a of e)a.defaultSize===void 0&&(o[a.panelId]=i)}return o}function $e(e,t,n){const o=n[0];if(!o)return;const r=e.panels.find(a=>a.element===t);if(!r||!r.onResize)return;const i=J({group:e});r.onResize({asPercentage:L(o.inlineSize/i*100),inPixels:o.inlineSize},r.id)}function Y({layout:e,panelConstraints:t}){const o=[...Object.values(e)],r=o.reduce((s,l)=>s+l,0);if(o.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${o.map(s=>`${s}%`).join(", ")}`);if(!R(r,100)&&o.length>0)for(let s=0;s<t.length;s++){const l=o[s];M(l!=null,`No layout data found for index ${s}`);const c=100/r*l;o[s]=c}let i=0;for(let s=0;s<t.length;s++){const l=o[s];M(l!=null,`No layout data found for index ${s}`);const c=D({panelConstraints:t[s],size:l});l!=c&&(i+=l-c,o[s]=c)}if(!R(i,0))for(let s=0;s<t.length;s++){const l=o[s];M(l!=null,`No layout data found for index ${s}`);const c=l+i,u=D({panelConstraints:t[s],size:c});if(l!==u&&(i-=u-l,o[s]=u,R(i,0)))break}const a=Object.keys(e);return o.reduce((s,l,c)=>(s[a[c]]=l,s),{})}function je(e){let t=!1;const n=new ResizeObserver(l=>{for(const c of l){const{borderBoxSize:u,target:d}=c;d===e.element?t&&G(h=>{const v=h.mountedGroups.get(e);if(v){const m=re(e),f=v.layout,g=Y({layout:f,panelConstraints:m});return{mountedGroups:new Map(h.mountedGroups).set(e,{derivedPanelConstraints:m,layout:g})}}return h}):$e(e,d,u)}});n.observe(e.element),e.panels.forEach(l=>{l.onResize&&n.observe(l.element)});const o=re(e),r=e.panels.map(({id:l})=>l).join(","),i=e.inMemoryLayouts[r]??e.defaultLayout??_e(o),a=Y({layout:i,panelConstraints:o}),s=G(l=>({mountedGroups:new Map(l.mountedGroups).set(e,{derivedPanelConstraints:o,layout:a})}));return t=!0,s.mountedGroups.size===1&&(window.addEventListener("pointerdown",le),window.addEventListener("pointerleave",W),window.addEventListener("pointermove",W),window.addEventListener("pointerup",ce)),function(){const c=G(u=>{const d=new Map(u.mountedGroups);return d.delete(e),{mountedGroups:d}});t=!1,c.mountedGroups.size===0&&(window.removeEventListener("pointerdown",le),window.removeEventListener("pointerleave",W),window.removeEventListener("pointermove",W),window.removeEventListener("pointerup",ce)),n.disconnect()}}function ee(e){const t=p.useId();return`${e??t}`}const _=typeof window<"u"?p.useLayoutEffect:p.useEffect;function te(e){const t=p.useRef(e);return _(()=>{t.current=e},[e]),p.useCallback(n=>t.current?.(n),[t])}function ne(...e){return te(t=>{e.forEach(n=>{if(n)switch(typeof n){case"function":{n(t);break}case"object":{n.current=t;break}}})})}const me="--react-resizable-panels--panel--pointer-events";function ve(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 ge=p.createContext(null);function Fe({groupId:e}){const t=()=>{const{mountedGroups:n}=I();for(const[o,{derivedPanelConstraints:r,layout:i}]of n)if(o.id===e)return{derivedPanelConstraints:r,group:o,layout:i};throw Error(`Group ${e} not found`)};return{getLayout(){const{layout:n}=t();return n},setLayout(n){const{derivedPanelConstraints:o,group:r,layout:i}=t(),a=Y({layout:n,panelConstraints:o});return Q(i,a)||G(s=>({mountedGroups:new Map(s.mountedGroups).set(r,{derivedPanelConstraints:o,layout:a})})),a}}}function He(e,t){const n=p.useRef({getLayout:()=>({}),setLayout:Ee});p.useImperativeHandle(t,()=>n.current,[]),_(()=>{Object.assign(n.current,Fe({groupId:e}))})}function We({children:e,className:t,defaultLayout:n,disableCursor:o,disabled:r,elementRef:i,groupRef:a,id:s,onLayoutChange:l,orientation:c="horizontal",style:u}){const d=p.useRef({}),h=te(S=>{Q(d.current,S)||(d.current=S,l?.(S))}),v=ee(s),[m,f]=p.useState(!1),[g,y]=p.useState(null),z=p.useRef({}),[b,x]=p.useState(n??{}),[P,O]=p.useState([]),[k,ie]=p.useState([]),ye=ne(y,i);He(v,a);const Se=p.useMemo(()=>({id:v,orientation:c,registerPanel:S=>(O(w=>K(c,[...w,S])),()=>{O(w=>w.filter(A=>A!==S))}),registerSeparator:S=>(ie(w=>K(c,[...w,S])),()=>{ie(w=>w.filter(A=>A!==S))})}),[v,c]);_(()=>{if(g!==null&&P.length>0){const S={defaultLayout:n,disableCursor:!!o,disabled:!!r,element:g,id:v,inMemoryLayouts:z.current,orientation:c,panels:P,separators:k},w=je(S),U=I().mountedGroups.get(S);U&&(x(U.layout),h?.(U.layout));const xe=T.addListener("interactionStateChange",j=>{switch(j.state){case"active":case"hover":{f(j.hitRegions.some(N=>N.group===S));break}}}),ze=T.addListener("mountedGroupsChange",j=>{const N=j.get(S);N&&N.derivedPanelConstraints.length>0&&(x(N.layout),h?.(N.layout))});return()=>{w(),xe(),ze()}}},[n,o,r,g,v,h,c,P,k]);const se={[me]:m?"none":void 0};for(const S in b){const w=ve(v,S),A=b[S];se[w]=A}return $.jsx(ge.Provider,{value:Se,children:$.jsx("div",{"aria-orientation":c,className:t,"data-group":v,ref:ye,style:{...u,...se,display:"flex",flexDirection:c==="horizontal"?"row":"column",flexWrap:"nowrap"},children:e})})}function Z(e){return`react-resizable-panels:${e}`}function Ue({id:e,layout:t,storage:n}){try{const o=Z(e);n.setItem(o,JSON.stringify(t))}catch(o){console.error(o)}}function Be({groupId:e,storage:t}){const n=p.useSyncExternalStore(Ve,()=>t.getItem(Z(e)),()=>t.getItem(Z(e))),o=p.useMemo(()=>n?JSON.parse(n):null,[n]),r=p.useCallback(i=>Ue({id:e,layout:i,storage:t}),[e,t]);return{defaultLayout:o,onLayoutChange:r}}function Ve(){return function(){}}function Ke(){return p.useState(null)}function qe(){return p.useRef(null)}function oe(){const e=p.useContext(ge);return M(e,"Unexpected"),e}function Xe({groupId:e,panelId:t}){const n=()=>{const{mountedGroups:a}=I();for(const[s,{derivedPanelConstraints:l,layout:c}]of a)if(s.id===e)return{derivedPanelConstraints:l,group:s,layout:c};throw Error(`Group ${e} not found`)},o=()=>{const a=n().derivedPanelConstraints.find(s=>s.panelId===t);if(a!==void 0)return a;throw Error(`Panel constraints not found for Panel ${t}`)},r=()=>{const a=n().group.panels.find(s=>s.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}`)};return{collapse:()=>{const{collapsible:a,collapsedSize:s}=o();i()},expand:()=>{const{collapsible:a,collapsedSize:s,minSize:l}=o();i()},getSize:()=>{const{group:a}=n(),s=i(),{element:l}=r(),c=a.orientation==="horizontal"?l.offsetWidth:l.offsetHeight;return{asPercentage:s,inPixels:c}},isCollapsed:()=>{const{collapsible:a,collapsedSize:s}=o(),l=i();return a&&R(s,l)},resize:a=>{if(i()!==a)switch(typeof a){case"number":{const{group:l}=n(),c=J({group:l});L(a/c*100);break}}}}}function Ye(e,t){const{id:n}=oe(),o=p.useRef({collapse:B,expand:B,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:B});p.useImperativeHandle(t,()=>o.current,[]),_(()=>{Object.assign(o.current,Xe({groupId:n,panelId:e}))})}function Ze({children:e,className:t,collapsedSize:n=0,collapsible:o=!1,defaultSize:r,elementRef:i,id:a,maxSize:s="100",minSize:l="0",onResize:c,panelRef:u,style:d}){const h=!!a,v=ee(a),[m,f]=p.useState(null),g=ne(f,i),{id:y,registerPanel:z}=oe(),b=c!==null,x=te(O=>{c?.(O,a)});_(()=>{if(m!==null)return z({element:m,id:v,idIsStable:h,onResize:b?x:void 0,panelConstraints:{collapsedSize:n,collapsible:o,defaultSize:r,maxSize:s,minSize:l}})},[n,o,r,m,b,v,h,s,l,x,z]),Ye(v,u);const P=ve(y,v);return $.jsx("div",{"data-panel":v,ref:g,style:{flexBasis:0,flexGrow:`var(${P}, 1)`,flexShrink:1,overflow:"hidden",pointerEvents:`var(${me})`},children:$.jsx("div",{className:t,style:{width:"100%",height:"100%",...d},children:e})})}function Je(){return p.useState(null)}function Qe(){return p.useRef(null)}function et({children:e,className:t,elementRef:n,id:o,style:r}){const i=ee(o),[a,s]=p.useState(null),[l,c]=p.useState("inactive"),u=ne(s,n),{orientation:d,registerSeparator:h}=oe(),v=d==="horizontal"?"vertical":"horizontal";return _(()=>{if(a!==null){const m={element:a,id:i},f=h(m),g=T.addListener("interactionStateChange",y=>{c(y.state!=="inactive"&&y.hitRegions.some(z=>z.separator===m)?y.state:"inactive")});return()=>{f(),g()}}},[a,i,h]),$.jsx("div",{"aria-orientation":v,children:e,className:t,"data-separator":i,"data-separator-state":l,ref:u,role:"separator",style:{flexBasis:"auto",...r,flexGrow:0,flexShrink:0},tabIndex:0})}exports.Group=We;exports.Panel=Ze;exports.Separator=et;exports.useDefaultLayout=Be;exports.useGroupCallbackRef=Ke;exports.useGroupRef=qe;exports.usePanelCallbackRef=Je;exports.usePanelRef=Qe;
2
2
  //# sourceMappingURL=react-resizable-panels.cjs.map