react-resizable-panels 4.5.0 → 4.5.1

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