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