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