@aiquants/resize-panels 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,23 @@
1
+ (function(ae,m){typeof exports=="object"&&typeof module<"u"?m(exports,require("react"),require("react-dom")):typeof define=="function"&&define.amd?define(["exports","react","react-dom"],m):(ae=typeof globalThis<"u"?globalThis:ae||self,m(ae.AiquantsResizePanels={},ae.React,ae.ReactDOM))})(this,(function(ae,m,Wt){"use strict";const Ve=m.createContext(null),Be=()=>{const e=m.useContext(Ve);if(!e)throw new Error("usePanelGroup must be used within a PanelGroup");return e},rt=(e,t=0)=>{if(!Number.isFinite(e))return e;const n=10**t,o=e*n,i=Math.floor(o),s=o-i,a=Number.EPSILON*Math.max(1,Math.abs(o));return s<.5-a?i/n:s>.5+a?(i+1)/n:(i%2===0?i:i+1)/n},it=12,ot=8,Ut=8,Vt=8,st=.05,at=10,Yt=.05,Xt=20,Jt=.05,Ye=0,lt=0,ct=6,fe=(e,t)=>t<=0?0:rt(e/t*100,ct),Ie=(e,t)=>!e||t<=0?0:e/100*t,Ee=(e,t="percentage")=>{if(e!==void 0)return typeof e=="number"?{value:e,unit:t}:e},dt=(e,t)=>e?e.unit==="percentage"?e.value/100*t:e.value:0,oe=(e,t,n)=>e?typeof e=="number"?e/100*n:e.unit==="pixels"?e.value:e.value/100*n:t,pe=(e,t,n)=>Math.min(Math.max(e,t),n),Xe=e=>{if(!Number.isFinite(e)||e<=0)return lt;const t=e*st,n=Math.min(it,at,t);return Math.max(lt,n)},Je=(e,t,n)=>{if(Math.abs(t)<=0)return t;const o=e.map((l,c)=>({panel:l,index:c})).filter(({panel:l})=>!l.collapsed&&(l.sizeUnit==="pixels"||l.originalPixelSize!==void 0));if(o.length===0)return t;const i=[...o].sort((l,c)=>{const P=l.panel.pixelAdjustPriority??l.index+1,z=c.panel.pixelAdjustPriority??c.index+1;return P===z?l.index-c.index:P-z});let s=t;return(()=>{for(const{index:l}of i){if(Math.abs(s)<=0)break;const c=e[l];if(!c||c.collapsed)continue;const P=Ee(c.minSize,"pixels"),z=Ee(c.maxSize,"pixels"),d=P?dt(P,n):0,u=z?dt(z,n):n;if(s>0){if(Math.abs(c.size)<=0&&(c.percentageSize??0)<=0)continue;const C=Math.max(0,u-c.size);if(C<=0)continue;const k=Math.min(C,s);if(k<=0)continue;const w=c.size+k,p=fe(w,n),g=c.collapsible?w:c.sizeBeforeCollapse,_=c.collapsible?c.measuredPixelSizeBeforeCollapse??c.measuredPixelSize??w:c.measuredPixelSizeBeforeCollapse;e[l]={...c,size:w,percentageSize:p,originalPixelSize:c.originalPixelSize!==void 0?c.originalPixelSize:w,sizeBeforeCollapse:g,measuredPixelSizeBeforeCollapse:_},s-=k}else{const x=Math.max(0,c.size-d);if(x<=0)continue;const C=Math.min(x,Math.abs(s));if(C<=0)continue;const k=c.size-C,w=fe(k,n),p=c.collapsible?k:c.sizeBeforeCollapse,g=c.collapsible?c.measuredPixelSizeBeforeCollapse??c.measuredPixelSize??k:c.measuredPixelSizeBeforeCollapse;e[l]={...c,size:k,percentageSize:w,originalPixelSize:c.originalPixelSize!==void 0?c.originalPixelSize:k,sizeBeforeCollapse:p,measuredPixelSizeBeforeCollapse:g},s+=C}}})(),s},Le=e=>{if(!e)return 0;const t=parseFloat(e);return Number.isFinite(t)?t:0},be=(e,t)=>{const n=e.getBoundingClientRect(),o=typeof window<"u"?window.getComputedStyle(e):null,i=o?Le(o.borderLeftWidth)+Le(o.borderRightWidth):0,s=o?Le(o.borderTopWidth)+Le(o.borderBottomWidth):0;if(t==="horizontal"){const P=n.width>0?n.width:e.offsetWidth,z=n.width>0?Math.max(0,n.width-i):e.clientWidth,d=e.offsetWidth>0?e.offsetWidth:e.clientWidth+i;return{inner:z>0?z:Math.max(0,e.clientWidth),outer:P>0?P:Math.max(0,d)}}const a=n.height>0?n.height:e.offsetHeight,l=n.height>0?Math.max(0,n.height-s):e.clientHeight,c=e.offsetHeight>0?e.offsetHeight:e.clientHeight+s;return{inner:l>0?l:Math.max(0,e.clientHeight),outer:a>0?a:Math.max(0,c)}};let ut=0,ft=0;const pt=()=>typeof window>"u"?(ut+=1,`panel-server-${ut}`):`panel-${Date.now()}-${Math.random().toString(36).substr(2,5)}`,Zt=()=>typeof window>"u"?(ft+=1,`resize-handle-server-${ft}`):`resize-handle-${Date.now()}-${Math.random().toString(36).substr(2,5)}`,mt=(e,t)=>{try{localStorage.setItem(`panel-layout-${e}`,JSON.stringify(t))}catch(n){console.warn("Failed to save panel layout:",n)}},gt=e=>{try{const t=localStorage.getItem(`panel-layout-${e}`);return t?JSON.parse(t):null}catch(t){return console.warn("Failed to load panel layout:",t),null}},Ze=(e,t)=>{const n=e.map(u=>{if(u.collapsed)return{...u,size:0,percentageSize:0};if(u.sizeUnit==="pixels"||u.originalPixelSize!==void 0){const x=oe(u.minSize,0,t),C=oe(u.maxSize,t,t),k=pe(u.size,x,C);let w=k,p=Math.abs(k-u.size)>Ye,g=u.size;if(u.originalPixelSize!==void 0&&Math.abs(u.size-u.originalPixelSize)<=Ye&&(g=u.originalPixelSize),g!==void 0){const _=pe(g,x,C);_>w+Ye&&(w=_,p=!0)}if(p){const _=fe(w,t),H=u.collapsible?w:u.sizeBeforeCollapse,X=u.collapsible?u.measuredPixelSizeBeforeCollapse??u.measuredPixelSize??w:u.measuredPixelSizeBeforeCollapse;return{...u,size:w,percentageSize:_,sizeBeforeCollapse:H,measuredPixelSizeBeforeCollapse:X}}}if(u.sizeUnit==="percentage"&&(!u.percentageSize||u.percentageSize<=0)&&u.size>0){const x=fe(u.size,t);return{...u,percentageSize:x}}return u}),o=n.reduce((u,x)=>x.collapsed?u:x.sizeUnit==="pixels"||x.originalPixelSize!==void 0?u+x.size:u,0),i=()=>{const u=n.map((p,g)=>({panel:p,index:g})).filter(({panel:p})=>!p.collapsed&&(p.sizeUnit==="pixels"||p.originalPixelSize!==void 0));if(u.length===0)return n;const x=u.reduce((p,{panel:g})=>p+g.size,0),C=t-x;if(Math.abs(C)<=.1)return n;const k=[...u].sort((p,g)=>{const _=p.panel.pixelAdjustPriority??p.index+1,H=g.panel.pixelAdjustPriority??g.index+1;return _===H?p.index-g.index:_-H});let w=C;for(const{panel:p,index:g}of k){if(Math.abs(w)<=.1)break;const _=oe(p.minSize,0,t),H=oe(p.maxSize,t,t),X=p.size;if(w>0){const A=Math.max(0,H-X);if(A<=0)continue;const te=Math.min(A,w),R=X+te,U=fe(R,t),V=p.collapsible?R:p.sizeBeforeCollapse,K=p.collapsible?p.measuredPixelSizeBeforeCollapse??p.measuredPixelSize??R:p.measuredPixelSizeBeforeCollapse;n[g]={...p,size:R,percentageSize:U,sizeBeforeCollapse:V,measuredPixelSizeBeforeCollapse:K},w-=te}else{const A=Math.max(0,X-_);if(A<=0)continue;const te=Math.min(A,Math.abs(w)),R=X-te,U=fe(R,t),V=p.collapsible?R:p.sizeBeforeCollapse,K=p.collapsible?p.measuredPixelSizeBeforeCollapse??p.measuredPixelSize??R:p.measuredPixelSizeBeforeCollapse;n[g]={...p,size:R,percentageSize:U,sizeBeforeCollapse:V,measuredPixelSizeBeforeCollapse:K},w+=te}}return n},s=n.reduce((u,x,C)=>(!x.collapsed&&x.sizeUnit==="percentage"&&x.originalPixelSize===void 0&&u.push(C),u),[]);if(s.length===0)return i();const a=Math.max(0,t-o),l=s.map(u=>{const x=n[u];return x.percentageSize!==void 0&&x.percentageSize>0?Ie(x.percentageSize,t):x.size>0?x.size:0}),c=l.reduce((u,x)=>x>0?u+x:u,0);if(c<=0)return i();const P=[...n];let z=0;s.forEach((u,x)=>{const C=P[u],k=l[x];let w;if(k>0){const A=k/c;w=a*A}else w=C.size;const p=oe(C.minSize,0,t),g=oe(C.maxSize,t,t);w=pe(w,p,g),z+=w;const _=fe(w,t),H=C.collapsible?w:C.sizeBeforeCollapse,X=C.collapsible?C.measuredPixelSizeBeforeCollapse??C.measuredPixelSize??w:C.measuredPixelSizeBeforeCollapse;P[u]={...C,size:w,percentageSize:_,sizeBeforeCollapse:H,measuredPixelSizeBeforeCollapse:X}});const d=a-z;return Math.abs(d)>.1&&Je(P,d,t),we(P)},we=e=>{let t=0;for(const i of e)i.collapsed||(t+=Math.max(i.size,0));if(t<=0){let i=!1;const s=e.map(a=>(a.percentageSize??0)!==0?(i=!0,{...a,percentageSize:0,measuredPercentageSize:a.measuredPercentageSize!==void 0?0:a.measuredPercentageSize}):!a.collapsed&&a.sizeBeforeCollapse!==a.size?(i=!0,{...a,sizeBeforeCollapse:a.size}):a);return i?s:e}let n=!1;const o=e.map(i=>{if(i.collapsed)return(i.percentageSize??0)!==0?(n=!0,{...i,percentageSize:0,measuredPercentageSize:i.measuredPercentageSize!==void 0?0:i.measuredPercentageSize}):i;const s=fe(i.size,t),a=i.measuredPercentageSize,P=(a!==void 0?Math.abs(a-s):1/0)<1e-4&&a!==void 0?a:s,z=rt(P,ct),u=Math.abs((i.percentageSize??0)-z)>0||i.percentageSize===void 0,x=i.sizeBeforeCollapse===void 0||i.sizeBeforeCollapse!==i.size,C=i.collapsible&&x,k=i.measuredPixelSize??i.size,w=i.collapsible&&(i.measuredPixelSizeBeforeCollapse===void 0||i.measuredPixelSizeBeforeCollapse!==k);if(!(u||C||w))return i;n=!0;const p=C?i.size:i.sizeBeforeCollapse,g=w?k:i.measuredPixelSizeBeforeCollapse;return{...i,percentageSize:z,sizeBeforeCollapse:p,measuredPixelSizeBeforeCollapse:g}});return n?o:e},De=(e,t)=>{if(t<=0)return!1;const n=[];let o=0;for(let z=0;z<e.length;z+=1){const d=e[z];!d||d.collapsed||(n.push(z),o+=d.size)}if(n.length===0)return!1;let i=t-o;if(Math.abs(i)<=0)return!1;let s=!1;const a=z=>{const d=e[z],u=oe(d.minSize,0,t),x=oe(d.maxSize,t,t),C=d.sizeUnit==="percentage"&&d.originalPixelSize===void 0;return{index:z,minSize:u,maxSize:x,isFlexible:C}},l=(z,d)=>{if(!Number.isFinite(d)||Math.abs(d)<=0)return;const u=e[z];if(!u)return;const x=Math.max(0,u.size+d);if(Math.abs(x-u.size)<=0)return;const C=fe(x,t),k=u.collapsible?x:u.sizeBeforeCollapse,w=u.collapsible?u.measuredPixelSizeBeforeCollapse??u.measuredPixelSize??x:u.measuredPixelSizeBeforeCollapse;e[z]={...u,size:x,percentageSize:C,sizeBeforeCollapse:k,measuredPixelSizeBeforeCollapse:w,measuredPixelSize:void 0,measuredPercentageSize:void 0},i-=d,s=!0},c=z=>{for(const d of z){if(Math.abs(i)<=0)break;const u=e[d.index];if(!u||u.collapsed)continue;const x=u.size;if(i>0){const C=Math.max(0,d.maxSize-x);if(C<=0)continue;const k=Math.min(C,i);if(k<=0)continue;l(d.index,k)}else{const C=Math.max(0,x-d.minSize);if(C<=0)continue;const k=Math.min(C,Math.abs(i));if(k<=0)continue;l(d.index,-k)}}},P=n.map(z=>a(z)).filter(z=>z.isFlexible);if(P.length>0&&c(P),Math.abs(i)>0){const z=i;i=Je(e,i,t),Math.abs(i-z)>0&&(s=!0)}return s},ht=(e,t,n)=>{if(!(e.sizeUnit==="pixels"||e.originalPixelSize!==void 0)||e.pixelAdjustPriority!==void 0)return e;const i=t.filter((a,l)=>l!==n&&(a.sizeUnit==="pixels"||a.originalPixelSize!==void 0)).map(a=>a.pixelAdjustPriority).filter(a=>a!==void 0),s=i.length>0?Math.max(...i)+1:1;return{...e,pixelAdjustPriority:s}},Qt=(e,t)=>{switch(t.type){case"REGISTER_PANEL":{console.log("REGISTER_PANEL",t.panel);const n=e.findIndex(s=>s.id===t.panel.id);if(n>=0){const s=[...e],a=e[n],l={...a,minSize:t.panel.minSize,maxSize:t.panel.maxSize,collapsible:t.panel.collapsible,sizeUnit:t.panel.sizeUnit,originalPixelSize:t.panel.originalPixelSize,pixelAdjustPriority:t.panel.pixelAdjustPriority!==void 0?t.panel.pixelAdjustPriority:a.pixelAdjustPriority},c=ht(l,e,n);return s[n]=c,s}const o={...t.panel},i=ht(o,e);return[...e,i]}case"UNREGISTER_PANEL":{console.log("UNREGISTER_PANEL",t.id);const n=e.filter(o=>o.id!==t.id);return we(n)}case"RESIZE_PANELS":{console.log("RESIZE_PANELS",t.leftId,t.rightId,t.leftSize,t.rightSize);const n=e.findIndex(N=>N.id===t.leftId),o=e.findIndex(N=>N.id===t.rightId);if(n===-1||o===-1)return e;const i=[...e],s=i[n],a=i[o];if(s.collapsed||a.collapsed||t.leftSize===s.size&&t.rightSize===a.size)return e;const l=t.containerSize??e.reduce((N,G)=>N+G.size,0),c=oe(s.minSize,0,l),P=oe(s.maxSize,l,l),z=oe(a.minSize,0,l),d=oe(a.maxSize,l,l),u=s.size+a.size,x=e.reduce((N,G)=>G.collapsed?N:N+G.size,0),C=x-u,k=c+z,w=P+d,p=pe(t.leftSize+t.rightSize,k,w);let g=l>0?l-C:p;Number.isFinite(g)||(g=p);const _=pe(Math.max(p,g),k,w),H=N=>({min:Math.max(c,N-d),max:Math.min(P,N-z)}),X=N=>({min:Math.max(z,N-P),max:Math.min(d,N-c)}),A=Math.abs(t.leftSize-s.size),te=Math.abs(t.rightSize-a.size),R=A>=te;let U=s.size,V=a.size;if(R){const N=H(_);if(N.min>N.max)return e;const G=pe(t.leftSize,N.min,N.max),E=_-G;if(E<z||E>d)return e;U=G,V=E}else{const N=X(_);if(N.min>N.max)return e;const G=pe(t.rightSize,N.min,N.max),E=_-G;if(E<c||E>P)return e;V=G,U=E}const K=U+V;if(_!==K)return e;const ne=x-s.size-a.size+K,J=l>0?l:ne,q=J>0?fe(U,J):0,W=J>0?fe(V,J):0;return i[n]={...s,size:U,percentageSize:q,sizeBeforeCollapse:s.collapsible?U:s.sizeBeforeCollapse,measuredPixelSize:void 0,measuredPercentageSize:void 0},i[o]={...a,size:V,percentageSize:W,sizeBeforeCollapse:a.collapsible?V:a.sizeBeforeCollapse,measuredPixelSize:void 0,measuredPercentageSize:void 0},l>0&&De(i,l)?we(i):i}case"SET_PANELS":return console.log("SET_PANELS",t.panels),we(t.panels);case"CONTAINER_RESIZED":{console.log("CONTAINER_RESIZED",t.containerSize);const n=Ze(e,t.containerSize);return t.containerSize>0&&De(n,t.containerSize)?we(n):n}case"COLLAPSE_PANEL":{console.log("COLLAPSE_PANEL",t.id);const n=e.findIndex(P=>P.id===t.id);if(n===-1)return e;const o=e[n];if(!o.collapsible||o.collapsed)return e;const i=o.size,s=o.measuredPixelSize??i,a={...o,collapsed:!0,sizeBeforeCollapse:i,measuredPixelSizeBeforeCollapse:s,size:0,percentageSize:0,measuredPixelSize:o.measuredPixelSize!==void 0?0:o.measuredPixelSize,measuredPercentageSize:o.measuredPercentageSize!==void 0?0:o.measuredPercentageSize},l=[...e];l[n]=a;const c=Ze(l,t.containerSize);return t.containerSize>0&&De(c,t.containerSize)?we(c):c}case"EXPAND_PANEL":{console.log("EXPAND_PANEL",t.id,t.targetSize);const n=e.findIndex(w=>w.id===t.id);if(n===-1)return e;const o=t.containerSize,i=e[n];if(!(i.collapsible&&i.collapsed))return e;const a=[t.targetSize,i.sizeBeforeCollapse,i.measuredPixelSizeBeforeCollapse,i.originalPixelSize].find(w=>w!==void 0)??0,l=oe(i.minSize,0,o),c=oe(i.maxSize,o,o),P=pe(a,l,c),z=fe(P,o),d=i.measuredPixelSizeBeforeCollapse??P,u=fe(d,o),x={...i,collapsed:!1,size:P,percentageSize:z,sizeBeforeCollapse:P,measuredPixelSize:P,measuredPixelSizeBeforeCollapse:d,measuredPercentageSize:u},C=[...e];C[n]=x;const k=Ze(C,o);return o>0&&De(k,o)?we(k):k}default:return e}},xt=({direction:e,style:t,onLayout:n,autoSaveId:o,showDebugInfo:i=!1})=>{const[s,a]=m.useReducer(Qt,[]),[l,c]=m.useState({width:0,height:0}),[P,z]=m.useState(!1),[d,u]=m.useState(!1),[x,C]=m.useState(null),[k,w]=m.useState({}),[p,g]=m.useState({}),_=m.useRef(null),H=m.useRef(n),X=m.useRef(!1),A=m.useRef(0),te=m.useRef(l);m.useLayoutEffect(()=>{if(!_.current)return;const I=new ResizeObserver(r=>{for(const S of r){const M=S.target,T=M?be(M,"horizontal"):null,Y=M?be(M,"vertical"):null,y=T?T.inner:0,b=Y?Y.inner:0,h=S.contentRect.width,v=S.contentRect.height,L=y>0?y:h,B=b>0?b:v;c(F=>(!P&&L>0&&B>0&&z(!0),F.width===L&&F.height===B?F:{width:L,height:B}))}});return I.observe(_.current),()=>I.disconnect()},[P]),m.useLayoutEffect(()=>{const I=te.current,r=l,S=e==="horizontal"?Math.abs(I.width-r.width)>0:Math.abs(I.height-r.height)>0;if(d&&S){const M=e==="horizontal"?r.width:r.height;a({type:"CONTAINER_RESIZED",containerSize:M,direction:e})}te.current=r},[l,d,e]);const R=m.useCallback(()=>{console.log("panels[0]?.id",s[0]?.id);const I=s.some(f=>{if(f.collapsed||f.sizeUnit!=="percentage")return!1;const Z=f.collapsible?f.sizeBeforeCollapse??f.measuredPixelSizeBeforeCollapse??f.originalPixelSize??f.measuredPixelSize??0:f.measuredPixelSize??f.originalPixelSize??f.size,ce=f.percentageSize!==void 0&&f.percentageSize>0;return f.size<=0&&(Z>0||ce)}),r=e==="horizontal"?l.width:l.height,S=r>0;if(x||!S||!(s.length>0&&(s.length!==A.current||!d||I)))return;const Y=s.filter(f=>!f.collapsed&&(f.originalPixelSize!==void 0||f.sizeUnit==="pixels")).reduce((f,Z)=>Z.originalPixelSize!==void 0?f+Z.originalPixelSize:f+Z.size,0),y=s.filter(f=>f.sizeUnit==="percentage"&&!f.collapsed),b=y.map(f=>f.id),h=y.map(f=>f.percentageSize!==void 0&&f.percentageSize>0?Ie(f.percentageSize,r):f.size>0?f.size:0),v=h.reduce((f,Z)=>f+Z,0),L=r-Y,B=Math.max(0,L),F=B>0,re=s.map(f=>{if(f.collapsed){const Z=f.sizeBeforeCollapse??f.measuredPixelSizeBeforeCollapse??f.originalPixelSize??(f.sizeUnit==="pixels"?f.size:void 0),ce=f.sizeUnit==="percentage"&&f.percentageSize!==void 0?Ie(f.percentageSize,r):void 0,se=Z??ce??0,ue=f.measuredPixelSizeBeforeCollapse??f.measuredPixelSize??se;return{...f,size:0,percentageSize:0,sizeBeforeCollapse:se,measuredPixelSizeBeforeCollapse:ue}}if(f.sizeUnit==="pixels"||f.originalPixelSize!==void 0){const Z=f.size,ce=r>0?fe(Z,r):0,se={...f,size:Z,percentageSize:ce};if(f.collapsible){const ue=f.sizeBeforeCollapse??Z,he=f.measuredPixelSizeBeforeCollapse??f.measuredPixelSize??ue;se.sizeBeforeCollapse=ue,se.measuredPixelSizeBeforeCollapse=he}return se}if(f.sizeUnit==="percentage"){const Z=b.indexOf(f.id),ce=Z!==-1?h[Z]:0,se=oe(f.minSize,0,r),ue=oe(f.maxSize,r,r),he=Math.max(se,f.sizeBeforeCollapse??0,f.measuredPixelSizeBeforeCollapse??0,f.measuredPixelSize??0,f.originalPixelSize??0,f.size>0?f.size:0,f.percentageSize!==void 0?Ie(f.percentageSize,r):0,1),ge=ce>0?ce:he;let me;if(!F)me=se;else if(Z!==-1&&v>0){const Se=ge/v,ve=B*Se;me=pe(ve,se,ue)}else{const Se=f.percentageSize!==void 0?Ie(f.percentageSize,r):f.size,ve=Se>0?Se:ge;me=pe(ve,se,ue)}const xe=r>0?fe(me,r):0,ke={...f,size:me,percentageSize:xe};if(f.collapsible){const Se=f.sizeBeforeCollapse??me,ve=f.measuredPixelSizeBeforeCollapse??f.measuredPixelSize??Se;ke.sizeBeforeCollapse=Se,ke.measuredPixelSizeBeforeCollapse=ve}return ke}return f}),ee=[];for(let f=0;f<re.length;f+=1){const Z=re[f];Z.sizeUnit==="percentage"&&!Z.collapsed&&ee.push(f)}const $=ee.reduce((f,Z)=>f+re[Z].size,0),le=L-$;Math.abs(le)>0&&Je(re,le,r),a({type:"SET_PANELS",panels:re}),A.current=s.length,u(!0)},[s,e,l.width,l.height,d,x]);m.useEffect(()=>{const I=e==="horizontal"?l.width:l.height,r=I>0,S=r&&s.length>0,M=S?s.reduce((v,L)=>{if(L.collapsed)return v;const B=oe(L.minSize,0,I);return v+Math.max(0,B)},0):null,T=S?s.reduce((v,L)=>{if(L.collapsed)return v;const B=oe(L.maxSize,I,I);return v+Math.max(0,B)},0):null,Y=M??x?.totalMinimumSize??null,y=T??x?.totalMaximumSize??null;if(!r){x&&C(v=>!v||v.availableContainerSize===I?v:{reason:v.reason,totalMinimumSize:null,totalMaximumSize:null,availableContainerSize:I});return}const b=Y!==null&&Y-I>Number.EPSILON,h=y!==null&&I-y>Number.EPSILON;if(b||h){const L={reason:b?"minimum-exceeded":"maximum-insufficient",totalMinimumSize:Y,totalMaximumSize:y,availableContainerSize:I};C(B=>B&&B.reason===L.reason&&Math.abs((B.totalMinimumSize??0)-(L.totalMinimumSize??0))<=Number.EPSILON&&Math.abs((B.totalMaximumSize??0)-(L.totalMaximumSize??0))<=Number.EPSILON&&Math.abs(B.availableContainerSize-L.availableContainerSize)<=Number.EPSILON?B:L);return}if(x){const v=x.reason==="minimum-exceeded",L=x.reason==="maximum-insufficient";(!v||Y!==null)&&(!L||y!==null)&&!b&&!h&&C($=>$&&null)}},[s,e,l.width,l.height,x]),m.useEffect(()=>{R()},[R]),m.useEffect(()=>{H.current=n},[n]);const U=m.useMemo(()=>s.map(I=>I.size),[s]);m.useLayoutEffect(()=>{U.length>0&&H.current&&H.current(U)},[U]),m.useEffect(()=>{if(o&&U.length>0){const I=setTimeout(()=>{mt(o,U)},200);return()=>clearTimeout(I)}},[o,U]),m.useEffect(()=>{if(!o||s.length===0||X.current)return;const I=e==="horizontal"?l.width:l.height;if(I<=0)return;const r=gt(o);if(r&&r.length===s.length){const S=s.map((M,T)=>{const Y=oe(M.minSize,0,I),y=oe(M.maxSize,I,I),b=pe(r[T],Y,y),h=fe(b,I);return{...M,size:b,percentageSize:h}});a({type:"SET_PANELS",panels:S}),X.current=!0}},[o,s,l.width,l.height,e]);const V=m.useCallback(I=>{a({type:"REGISTER_PANEL",panel:I})},[]),K=m.useCallback(I=>{a({type:"UNREGISTER_PANEL",id:I}),w(r=>{if(!(I in r))return r;const S={...r};return delete S[I],S})},[]),ne=m.useCallback((I,r,S,M)=>{const T=e==="horizontal"?l.width:l.height,Y=s.find($=>$.id===I),y=s.find($=>$.id===r);if(!(Y&&y)){a({type:"RESIZE_PANELS",leftId:I,rightId:r,leftSize:S,rightSize:M,containerSize:T});return}if(Y.collapsed||y.collapsed)return;const b=oe(Y.minSize,0,T),h=oe(Y.maxSize,T,T),v=oe(y.minSize,0,T),L=oe(y.maxSize,T,T);let B=pe(S,b,h),F=pe(M,v,L);const re=B+F,ee=S+M;if(re!==ee){const $=ee-re;if($>0){const le=h-B,f=L-F,Z=le+f;if(Z>0){const ce=Math.min($*(le/Z),le),se=Math.min($-ce,f);B+=ce,F+=se}}else if($<0){const le=Math.abs($),f=B-b,Z=F-v,ce=f+Z;if(ce>0){const se=Math.min(le*(f/ce),f),ue=Math.min(le-se,Z);B-=se,F-=ue}}}B=pe(B,b,h),F=pe(F,v,L),console.assert(B+F===ee,"Total size after constraints should be close to the original total size.",{constrainedLeftSize:B,constrainedRightSize:F,originalTotalSize:ee}),a({type:"RESIZE_PANELS",leftId:I,rightId:r,leftSize:B,rightSize:F,containerSize:T})},[e,l.width,l.height,s]),J=m.useCallback(I=>{const r=e==="horizontal"?l.width:l.height;a({type:"COLLAPSE_PANEL",id:I,containerSize:r})},[e,l.width,l.height]),q=m.useCallback((I,r)=>{const S=e==="horizontal"?l.width:l.height;a({type:"EXPAND_PANEL",id:I,containerSize:S,targetSize:r})},[e,l.width,l.height]),W=m.useCallback(I=>s.find(r=>r.id===I),[s]),N=m.useCallback((I,r)=>{w(S=>{if(r===null){if(!(I in S))return S;const T={...S};return delete T[I],T}const M=S[I];return M&&M.pixelSize===r.pixelSize&&M.percentageSize===r.percentageSize?S:{...S,[I]:r}})},[]),G=m.useCallback((I,r)=>{g(S=>{if(r===null){if(!(I in S))return S;const T={...S};return delete T[I],T}const M=S[I];return M&&Math.abs(M.thickness-r.thickness)<=.25&&M.visible===r.visible&&M.direction===r.direction&&M.startPanelId===r.startPanelId&&M.endPanelId===r.endPanelId?S:{...S,[I]:r}})},[]),E=m.useMemo(()=>({direction:e,panels:s,containerSize:l,isContainerReady:P,showDebugInfo:i,registerPanel:V,unregisterPanel:K,resizePanels:ne,collapsePanel:J,expandPanel:q,getPanel:W,reportPanelMeasurement:N,panelMeasurements:k,reportHandleMeasurement:G,handleMeasurements:p,layoutConstraintViolation:x}),[e,s,l,P,i,V,K,ne,J,q,W,N,k,G,p,x]),ie=m.useMemo(()=>({display:"flex",flexDirection:e==="horizontal"?"row":"column",alignItems:"stretch",width:"100%",height:"100%",minWidth:"0px",minHeight:"0px",position:"relative",overflow:"hidden",...t}),[e,t]);return{groupRef:_,contextValue:E,groupStyle:ie}},Kt=e=>{const{getPanel:t,collapsePanel:n,expandPanel:o}=Be(),i=t(e),s=m.useCallback(()=>{n(e)},[n,e]),a=m.useCallback(c=>{o(e,c)},[o,e]),l=m.useCallback(()=>{i?.collapsed?a():s()},[i?.collapsed,s,a]);return m.useMemo(()=>({panel:i,isCollapsed:i?.collapsed??!1,collapse:s,expand:a,toggle:l}),[i,s,a,l])};var Ge={exports:{}},Ae={};/**
2
+ * @license React
3
+ * react-jsx-runtime.production.js
4
+ *
5
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */var bt;function qt(){if(bt)return Ae;bt=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(o,i,s){var a=null;if(s!==void 0&&(a=""+s),i.key!==void 0&&(a=""+i.key),"key"in i){s={};for(var l in i)l!=="key"&&(s[l]=i[l])}else s=i;return i=s.ref,{$$typeof:e,type:o,key:a,ref:i!==void 0?i:null,props:s}}return Ae.Fragment=t,Ae.jsx=n,Ae.jsxs=n,Ae}var Ne={};/**
10
+ * @license React
11
+ * react-jsx-runtime.development.js
12
+ *
13
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
14
+ *
15
+ * This source code is licensed under the MIT license found in the
16
+ * LICENSE file in the root directory of this source tree.
17
+ */var zt;function $t(){return zt||(zt=1,process.env.NODE_ENV!=="production"&&(function(){function e(r){if(r==null)return null;if(typeof r=="function")return r.$$typeof===K?null:r.displayName||r.name||null;if(typeof r=="string")return r;switch(r){case w:return"Fragment";case g:return"Profiler";case p:return"StrictMode";case A:return"Suspense";case te:return"SuspenseList";case V:return"Activity"}if(typeof r=="object")switch(typeof r.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),r.$$typeof){case k:return"Portal";case H:return r.displayName||"Context";case _:return(r._context.displayName||"Context")+".Consumer";case X:var S=r.render;return r=r.displayName,r||(r=S.displayName||S.name||"",r=r!==""?"ForwardRef("+r+")":"ForwardRef"),r;case R:return S=r.displayName||null,S!==null?S:e(r.type)||"Memo";case U:S=r._payload,r=r._init;try{return e(r(S))}catch{}}return null}function t(r){return""+r}function n(r){try{t(r);var S=!1}catch{S=!0}if(S){S=console;var M=S.error,T=typeof Symbol=="function"&&Symbol.toStringTag&&r[Symbol.toStringTag]||r.constructor.name||"Object";return M.call(S,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",T),t(r)}}function o(r){if(r===w)return"<>";if(typeof r=="object"&&r!==null&&r.$$typeof===U)return"<...>";try{var S=e(r);return S?"<"+S+">":"<...>"}catch{return"<...>"}}function i(){var r=ne.A;return r===null?null:r.getOwner()}function s(){return Error("react-stack-top-frame")}function a(r){if(J.call(r,"key")){var S=Object.getOwnPropertyDescriptor(r,"key").get;if(S&&S.isReactWarning)return!1}return r.key!==void 0}function l(r,S){function M(){N||(N=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",S))}M.isReactWarning=!0,Object.defineProperty(r,"key",{get:M,configurable:!0})}function c(){var r=e(this.type);return G[r]||(G[r]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),r=this.props.ref,r!==void 0?r:null}function P(r,S,M,T,Y,y){var b=M.ref;return r={$$typeof:C,type:r,key:S,props:M,_owner:T},(b!==void 0?b:null)!==null?Object.defineProperty(r,"ref",{enumerable:!1,get:c}):Object.defineProperty(r,"ref",{enumerable:!1,value:null}),r._store={},Object.defineProperty(r._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(r,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(r,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:Y}),Object.defineProperty(r,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:y}),Object.freeze&&(Object.freeze(r.props),Object.freeze(r)),r}function z(r,S,M,T,Y,y){var b=S.children;if(b!==void 0)if(T)if(q(b)){for(T=0;T<b.length;T++)d(b[T]);Object.freeze&&Object.freeze(b)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else d(b);if(J.call(S,"key")){b=e(r);var h=Object.keys(S).filter(function(L){return L!=="key"});T=0<h.length?"{key: someKey, "+h.join(": ..., ")+": ...}":"{key: someKey}",I[b+T]||(h=0<h.length?"{"+h.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
18
+ let props = %s;
19
+ <%s {...props} />
20
+ React keys must be passed directly to JSX without using spread:
21
+ let props = %s;
22
+ <%s key={someKey} {...props} />`,T,b,h,b),I[b+T]=!0)}if(b=null,M!==void 0&&(n(M),b=""+M),a(S)&&(n(S.key),b=""+S.key),"key"in S){M={};for(var v in S)v!=="key"&&(M[v]=S[v])}else M=S;return b&&l(M,typeof r=="function"?r.displayName||r.name||"Unknown":r),P(r,b,M,i(),Y,y)}function d(r){u(r)?r._store&&(r._store.validated=1):typeof r=="object"&&r!==null&&r.$$typeof===U&&(r._payload.status==="fulfilled"?u(r._payload.value)&&r._payload.value._store&&(r._payload.value._store.validated=1):r._store&&(r._store.validated=1))}function u(r){return typeof r=="object"&&r!==null&&r.$$typeof===C}var x=m,C=Symbol.for("react.transitional.element"),k=Symbol.for("react.portal"),w=Symbol.for("react.fragment"),p=Symbol.for("react.strict_mode"),g=Symbol.for("react.profiler"),_=Symbol.for("react.consumer"),H=Symbol.for("react.context"),X=Symbol.for("react.forward_ref"),A=Symbol.for("react.suspense"),te=Symbol.for("react.suspense_list"),R=Symbol.for("react.memo"),U=Symbol.for("react.lazy"),V=Symbol.for("react.activity"),K=Symbol.for("react.client.reference"),ne=x.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,J=Object.prototype.hasOwnProperty,q=Array.isArray,W=console.createTask?console.createTask:function(){return null};x={react_stack_bottom_frame:function(r){return r()}};var N,G={},E=x.react_stack_bottom_frame.bind(x,s)(),ie=W(o(s)),I={};Ne.Fragment=w,Ne.jsx=function(r,S,M){var T=1e4>ne.recentlyCreatedOwnerStacks++;return z(r,S,M,!1,T?Error("react-stack-top-frame"):E,T?W(o(r)):ie)},Ne.jsxs=function(r,S,M){var T=1e4>ne.recentlyCreatedOwnerStacks++;return z(r,S,M,!0,T?Error("react-stack-top-frame"):E,T?W(o(r)):ie)}})()),Ne}var St;function en(){return St||(St=1,process.env.NODE_ENV==="production"?Ge.exports=qt():Ge.exports=$t()),Ge.exports}var D=en();const Qe="-",tn=e=>{const t=rn(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:o}=e;return{getClassGroupId:a=>{const l=a.split(Qe);return l[0]===""&&l.length!==1&&l.shift(),Pt(l,t)||nn(a)},getConflictingClassGroupIds:(a,l)=>{const c=n[a]||[];return l&&o[a]?[...c,...o[a]]:c}}},Pt=(e,t)=>{if(e.length===0)return t.classGroupId;const n=e[0],o=t.nextPart.get(n),i=o?Pt(e.slice(1),o):void 0;if(i)return i;if(t.validators.length===0)return;const s=e.join(Qe);return t.validators.find(({validator:a})=>a(s))?.classGroupId},yt=/^\[(.+)\]$/,nn=e=>{if(yt.test(e)){const t=yt.exec(e)[1],n=t?.substring(0,t.indexOf(":"));if(n)return"arbitrary.."+n}},rn=e=>{const{theme:t,classGroups:n}=e,o={nextPart:new Map,validators:[]};for(const i in n)Ke(n[i],o,i,t);return o},Ke=(e,t,n,o)=>{e.forEach(i=>{if(typeof i=="string"){const s=i===""?t:vt(t,i);s.classGroupId=n;return}if(typeof i=="function"){if(on(i)){Ke(i(o),t,n,o);return}t.validators.push({validator:i,classGroupId:n});return}Object.entries(i).forEach(([s,a])=>{Ke(a,vt(t,s),n,o)})})},vt=(e,t)=>{let n=e;return t.split(Qe).forEach(o=>{n.nextPart.has(o)||n.nextPart.set(o,{nextPart:new Map,validators:[]}),n=n.nextPart.get(o)}),n},on=e=>e.isThemeGetter,sn=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=new Map,o=new Map;const i=(s,a)=>{n.set(s,a),t++,t>e&&(t=0,o=n,n=new Map)};return{get(s){let a=n.get(s);if(a!==void 0)return a;if((a=o.get(s))!==void 0)return i(s,a),a},set(s,a){n.has(s)?n.set(s,a):i(s,a)}}},qe="!",$e=":",an=$e.length,ln=e=>{const{prefix:t,experimentalParseClassName:n}=e;let o=i=>{const s=[];let a=0,l=0,c=0,P;for(let C=0;C<i.length;C++){let k=i[C];if(a===0&&l===0){if(k===$e){s.push(i.slice(c,C)),c=C+an;continue}if(k==="/"){P=C;continue}}k==="["?a++:k==="]"?a--:k==="("?l++:k===")"&&l--}const z=s.length===0?i:i.substring(c),d=cn(z),u=d!==z,x=P&&P>c?P-c:void 0;return{modifiers:s,hasImportantModifier:u,baseClassName:d,maybePostfixModifierPosition:x}};if(t){const i=t+$e,s=o;o=a=>a.startsWith(i)?s(a.substring(i.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:a,maybePostfixModifierPosition:void 0}}if(n){const i=o;o=s=>n({className:s,parseClassName:i})}return o},cn=e=>e.endsWith(qe)?e.substring(0,e.length-1):e.startsWith(qe)?e.substring(1):e,dn=e=>{const t=Object.fromEntries(e.orderSensitiveModifiers.map(o=>[o,!0]));return o=>{if(o.length<=1)return o;const i=[];let s=[];return o.forEach(a=>{a[0]==="["||t[a]?(i.push(...s.sort(),a),s=[]):s.push(a)}),i.push(...s.sort()),i}},un=e=>({cache:sn(e.cacheSize),parseClassName:ln(e),sortModifiers:dn(e),...tn(e)}),fn=/\s+/,pn=(e,t)=>{const{parseClassName:n,getClassGroupId:o,getConflictingClassGroupIds:i,sortModifiers:s}=t,a=[],l=e.trim().split(fn);let c="";for(let P=l.length-1;P>=0;P-=1){const z=l[P],{isExternal:d,modifiers:u,hasImportantModifier:x,baseClassName:C,maybePostfixModifierPosition:k}=n(z);if(d){c=z+(c.length>0?" "+c:c);continue}let w=!!k,p=o(w?C.substring(0,k):C);if(!p){if(!w){c=z+(c.length>0?" "+c:c);continue}if(p=o(C),!p){c=z+(c.length>0?" "+c:c);continue}w=!1}const g=s(u).join(":"),_=x?g+qe:g,H=_+p;if(a.includes(H))continue;a.push(H);const X=i(p,w);for(let A=0;A<X.length;++A){const te=X[A];a.push(_+te)}c=z+(c.length>0?" "+c:c)}return c};function mn(){let e=0,t,n,o="";for(;e<arguments.length;)(t=arguments[e++])&&(n=wt(t))&&(o&&(o+=" "),o+=n);return o}const wt=e=>{if(typeof e=="string")return e;let t,n="";for(let o=0;o<e.length;o++)e[o]&&(t=wt(e[o]))&&(n&&(n+=" "),n+=t);return n};function gn(e,...t){let n,o,i,s=a;function a(c){const P=t.reduce((z,d)=>d(z),e());return n=un(P),o=n.cache.get,i=n.cache.set,s=l,l(c)}function l(c){const P=o(c);if(P)return P;const z=pn(c,n);return i(c,z),z}return function(){return s(mn.apply(null,arguments))}}const de=e=>{const t=n=>n[e]||[];return t.isThemeGetter=!0,t},Ct=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,kt=/^\((?:(\w[\w-]*):)?(.+)\)$/i,hn=/^\d+\/\d+$/,xn=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,bn=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,zn=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Sn=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Pn=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Me=e=>hn.test(e),Q=e=>!!e&&!Number.isNaN(Number(e)),ye=e=>!!e&&Number.isInteger(Number(e)),et=e=>e.endsWith("%")&&Q(e.slice(0,-1)),Pe=e=>xn.test(e),yn=()=>!0,vn=e=>bn.test(e)&&!zn.test(e),Et=()=>!1,wn=e=>Sn.test(e),Cn=e=>Pn.test(e),kn=e=>!O(e)&&!j(e),En=e=>Re(e,At,Et),O=e=>Ct.test(e),Ce=e=>Re(e,Nt,vn),tt=e=>Re(e,An,Q),Mt=e=>Re(e,_t,Et),Mn=e=>Re(e,It,Cn),Fe=e=>Re(e,Tt,wn),j=e=>kt.test(e),Te=e=>_e(e,Nt),Rn=e=>_e(e,Nn),Rt=e=>_e(e,_t),_n=e=>_e(e,At),In=e=>_e(e,It),He=e=>_e(e,Tt,!0),Re=(e,t,n)=>{const o=Ct.exec(e);return o?o[1]?t(o[1]):n(o[2]):!1},_e=(e,t,n=!1)=>{const o=kt.exec(e);return o?o[1]?t(o[1]):n:!1},_t=e=>e==="position"||e==="percentage",It=e=>e==="image"||e==="url",At=e=>e==="length"||e==="size"||e==="bg-size",Nt=e=>e==="length",An=e=>e==="number",Nn=e=>e==="family-name",Tt=e=>e==="shadow",Oe=gn(()=>{const e=de("color"),t=de("font"),n=de("text"),o=de("font-weight"),i=de("tracking"),s=de("leading"),a=de("breakpoint"),l=de("container"),c=de("spacing"),P=de("radius"),z=de("shadow"),d=de("inset-shadow"),u=de("text-shadow"),x=de("drop-shadow"),C=de("blur"),k=de("perspective"),w=de("aspect"),p=de("ease"),g=de("animate"),_=()=>["auto","avoid","all","avoid-page","page","left","right","column"],H=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],X=()=>[...H(),j,O],A=()=>["auto","hidden","clip","visible","scroll"],te=()=>["auto","contain","none"],R=()=>[j,O,c],U=()=>[Me,"full","auto",...R()],V=()=>[ye,"none","subgrid",j,O],K=()=>["auto",{span:["full",ye,j,O]},ye,j,O],ne=()=>[ye,"auto",j,O],J=()=>["auto","min","max","fr",j,O],q=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],W=()=>["start","end","center","stretch","center-safe","end-safe"],N=()=>["auto",...R()],G=()=>[Me,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...R()],E=()=>[e,j,O],ie=()=>[...H(),Rt,Mt,{position:[j,O]}],I=()=>["no-repeat",{repeat:["","x","y","space","round"]}],r=()=>["auto","cover","contain",_n,En,{size:[j,O]}],S=()=>[et,Te,Ce],M=()=>["","none","full",P,j,O],T=()=>["",Q,Te,Ce],Y=()=>["solid","dashed","dotted","double"],y=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],b=()=>[Q,et,Rt,Mt],h=()=>["","none",C,j,O],v=()=>["none",Q,j,O],L=()=>["none",Q,j,O],B=()=>[Q,j,O],F=()=>[Me,"full",...R()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Pe],breakpoint:[Pe],color:[yn],container:[Pe],"drop-shadow":[Pe],ease:["in","out","in-out"],font:[kn],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Pe],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Pe],shadow:[Pe],spacing:["px",Q],text:[Pe],"text-shadow":[Pe],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Me,O,j,w]}],container:["container"],columns:[{columns:[Q,O,j,l]}],"break-after":[{"break-after":_()}],"break-before":[{"break-before":_()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:X()}],overflow:[{overflow:A()}],"overflow-x":[{"overflow-x":A()}],"overflow-y":[{"overflow-y":A()}],overscroll:[{overscroll:te()}],"overscroll-x":[{"overscroll-x":te()}],"overscroll-y":[{"overscroll-y":te()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:U()}],"inset-x":[{"inset-x":U()}],"inset-y":[{"inset-y":U()}],start:[{start:U()}],end:[{end:U()}],top:[{top:U()}],right:[{right:U()}],bottom:[{bottom:U()}],left:[{left:U()}],visibility:["visible","invisible","collapse"],z:[{z:[ye,"auto",j,O]}],basis:[{basis:[Me,"full","auto",l,...R()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Q,Me,"auto","initial","none",O]}],grow:[{grow:["",Q,j,O]}],shrink:[{shrink:["",Q,j,O]}],order:[{order:[ye,"first","last","none",j,O]}],"grid-cols":[{"grid-cols":V()}],"col-start-end":[{col:K()}],"col-start":[{"col-start":ne()}],"col-end":[{"col-end":ne()}],"grid-rows":[{"grid-rows":V()}],"row-start-end":[{row:K()}],"row-start":[{"row-start":ne()}],"row-end":[{"row-end":ne()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":J()}],"auto-rows":[{"auto-rows":J()}],gap:[{gap:R()}],"gap-x":[{"gap-x":R()}],"gap-y":[{"gap-y":R()}],"justify-content":[{justify:[...q(),"normal"]}],"justify-items":[{"justify-items":[...W(),"normal"]}],"justify-self":[{"justify-self":["auto",...W()]}],"align-content":[{content:["normal",...q()]}],"align-items":[{items:[...W(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...W(),{baseline:["","last"]}]}],"place-content":[{"place-content":q()}],"place-items":[{"place-items":[...W(),"baseline"]}],"place-self":[{"place-self":["auto",...W()]}],p:[{p:R()}],px:[{px:R()}],py:[{py:R()}],ps:[{ps:R()}],pe:[{pe:R()}],pt:[{pt:R()}],pr:[{pr:R()}],pb:[{pb:R()}],pl:[{pl:R()}],m:[{m:N()}],mx:[{mx:N()}],my:[{my:N()}],ms:[{ms:N()}],me:[{me:N()}],mt:[{mt:N()}],mr:[{mr:N()}],mb:[{mb:N()}],ml:[{ml:N()}],"space-x":[{"space-x":R()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":R()}],"space-y-reverse":["space-y-reverse"],size:[{size:G()}],w:[{w:[l,"screen",...G()]}],"min-w":[{"min-w":[l,"screen","none",...G()]}],"max-w":[{"max-w":[l,"screen","none","prose",{screen:[a]},...G()]}],h:[{h:["screen","lh",...G()]}],"min-h":[{"min-h":["screen","lh","none",...G()]}],"max-h":[{"max-h":["screen","lh",...G()]}],"font-size":[{text:["base",n,Te,Ce]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,j,tt]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",et,O]}],"font-family":[{font:[Rn,O,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[i,j,O]}],"line-clamp":[{"line-clamp":[Q,"none",j,tt]}],leading:[{leading:[s,...R()]}],"list-image":[{"list-image":["none",j,O]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",j,O]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:E()}],"text-color":[{text:E()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...Y(),"wavy"]}],"text-decoration-thickness":[{decoration:[Q,"from-font","auto",j,Ce]}],"text-decoration-color":[{decoration:E()}],"underline-offset":[{"underline-offset":[Q,"auto",j,O]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:R()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",j,O]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",j,O]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ie()}],"bg-repeat":[{bg:I()}],"bg-size":[{bg:r()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},ye,j,O],radial:["",j,O],conic:[ye,j,O]},In,Mn]}],"bg-color":[{bg:E()}],"gradient-from-pos":[{from:S()}],"gradient-via-pos":[{via:S()}],"gradient-to-pos":[{to:S()}],"gradient-from":[{from:E()}],"gradient-via":[{via:E()}],"gradient-to":[{to:E()}],rounded:[{rounded:M()}],"rounded-s":[{"rounded-s":M()}],"rounded-e":[{"rounded-e":M()}],"rounded-t":[{"rounded-t":M()}],"rounded-r":[{"rounded-r":M()}],"rounded-b":[{"rounded-b":M()}],"rounded-l":[{"rounded-l":M()}],"rounded-ss":[{"rounded-ss":M()}],"rounded-se":[{"rounded-se":M()}],"rounded-ee":[{"rounded-ee":M()}],"rounded-es":[{"rounded-es":M()}],"rounded-tl":[{"rounded-tl":M()}],"rounded-tr":[{"rounded-tr":M()}],"rounded-br":[{"rounded-br":M()}],"rounded-bl":[{"rounded-bl":M()}],"border-w":[{border:T()}],"border-w-x":[{"border-x":T()}],"border-w-y":[{"border-y":T()}],"border-w-s":[{"border-s":T()}],"border-w-e":[{"border-e":T()}],"border-w-t":[{"border-t":T()}],"border-w-r":[{"border-r":T()}],"border-w-b":[{"border-b":T()}],"border-w-l":[{"border-l":T()}],"divide-x":[{"divide-x":T()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":T()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...Y(),"hidden","none"]}],"divide-style":[{divide:[...Y(),"hidden","none"]}],"border-color":[{border:E()}],"border-color-x":[{"border-x":E()}],"border-color-y":[{"border-y":E()}],"border-color-s":[{"border-s":E()}],"border-color-e":[{"border-e":E()}],"border-color-t":[{"border-t":E()}],"border-color-r":[{"border-r":E()}],"border-color-b":[{"border-b":E()}],"border-color-l":[{"border-l":E()}],"divide-color":[{divide:E()}],"outline-style":[{outline:[...Y(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Q,j,O]}],"outline-w":[{outline:["",Q,Te,Ce]}],"outline-color":[{outline:E()}],shadow:[{shadow:["","none",z,He,Fe]}],"shadow-color":[{shadow:E()}],"inset-shadow":[{"inset-shadow":["none",d,He,Fe]}],"inset-shadow-color":[{"inset-shadow":E()}],"ring-w":[{ring:T()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:E()}],"ring-offset-w":[{"ring-offset":[Q,Ce]}],"ring-offset-color":[{"ring-offset":E()}],"inset-ring-w":[{"inset-ring":T()}],"inset-ring-color":[{"inset-ring":E()}],"text-shadow":[{"text-shadow":["none",u,He,Fe]}],"text-shadow-color":[{"text-shadow":E()}],opacity:[{opacity:[Q,j,O]}],"mix-blend":[{"mix-blend":[...y(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":y()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[Q]}],"mask-image-linear-from-pos":[{"mask-linear-from":b()}],"mask-image-linear-to-pos":[{"mask-linear-to":b()}],"mask-image-linear-from-color":[{"mask-linear-from":E()}],"mask-image-linear-to-color":[{"mask-linear-to":E()}],"mask-image-t-from-pos":[{"mask-t-from":b()}],"mask-image-t-to-pos":[{"mask-t-to":b()}],"mask-image-t-from-color":[{"mask-t-from":E()}],"mask-image-t-to-color":[{"mask-t-to":E()}],"mask-image-r-from-pos":[{"mask-r-from":b()}],"mask-image-r-to-pos":[{"mask-r-to":b()}],"mask-image-r-from-color":[{"mask-r-from":E()}],"mask-image-r-to-color":[{"mask-r-to":E()}],"mask-image-b-from-pos":[{"mask-b-from":b()}],"mask-image-b-to-pos":[{"mask-b-to":b()}],"mask-image-b-from-color":[{"mask-b-from":E()}],"mask-image-b-to-color":[{"mask-b-to":E()}],"mask-image-l-from-pos":[{"mask-l-from":b()}],"mask-image-l-to-pos":[{"mask-l-to":b()}],"mask-image-l-from-color":[{"mask-l-from":E()}],"mask-image-l-to-color":[{"mask-l-to":E()}],"mask-image-x-from-pos":[{"mask-x-from":b()}],"mask-image-x-to-pos":[{"mask-x-to":b()}],"mask-image-x-from-color":[{"mask-x-from":E()}],"mask-image-x-to-color":[{"mask-x-to":E()}],"mask-image-y-from-pos":[{"mask-y-from":b()}],"mask-image-y-to-pos":[{"mask-y-to":b()}],"mask-image-y-from-color":[{"mask-y-from":E()}],"mask-image-y-to-color":[{"mask-y-to":E()}],"mask-image-radial":[{"mask-radial":[j,O]}],"mask-image-radial-from-pos":[{"mask-radial-from":b()}],"mask-image-radial-to-pos":[{"mask-radial-to":b()}],"mask-image-radial-from-color":[{"mask-radial-from":E()}],"mask-image-radial-to-color":[{"mask-radial-to":E()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":H()}],"mask-image-conic-pos":[{"mask-conic":[Q]}],"mask-image-conic-from-pos":[{"mask-conic-from":b()}],"mask-image-conic-to-pos":[{"mask-conic-to":b()}],"mask-image-conic-from-color":[{"mask-conic-from":E()}],"mask-image-conic-to-color":[{"mask-conic-to":E()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ie()}],"mask-repeat":[{mask:I()}],"mask-size":[{mask:r()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",j,O]}],filter:[{filter:["","none",j,O]}],blur:[{blur:h()}],brightness:[{brightness:[Q,j,O]}],contrast:[{contrast:[Q,j,O]}],"drop-shadow":[{"drop-shadow":["","none",x,He,Fe]}],"drop-shadow-color":[{"drop-shadow":E()}],grayscale:[{grayscale:["",Q,j,O]}],"hue-rotate":[{"hue-rotate":[Q,j,O]}],invert:[{invert:["",Q,j,O]}],saturate:[{saturate:[Q,j,O]}],sepia:[{sepia:["",Q,j,O]}],"backdrop-filter":[{"backdrop-filter":["","none",j,O]}],"backdrop-blur":[{"backdrop-blur":h()}],"backdrop-brightness":[{"backdrop-brightness":[Q,j,O]}],"backdrop-contrast":[{"backdrop-contrast":[Q,j,O]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Q,j,O]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Q,j,O]}],"backdrop-invert":[{"backdrop-invert":["",Q,j,O]}],"backdrop-opacity":[{"backdrop-opacity":[Q,j,O]}],"backdrop-saturate":[{"backdrop-saturate":[Q,j,O]}],"backdrop-sepia":[{"backdrop-sepia":["",Q,j,O]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":R()}],"border-spacing-x":[{"border-spacing-x":R()}],"border-spacing-y":[{"border-spacing-y":R()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",j,O]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Q,"initial",j,O]}],ease:[{ease:["linear","initial",p,j,O]}],delay:[{delay:[Q,j,O]}],animate:[{animate:["none",g,j,O]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[k,j,O]}],"perspective-origin":[{"perspective-origin":X()}],rotate:[{rotate:v()}],"rotate-x":[{"rotate-x":v()}],"rotate-y":[{"rotate-y":v()}],"rotate-z":[{"rotate-z":v()}],scale:[{scale:L()}],"scale-x":[{"scale-x":L()}],"scale-y":[{"scale-y":L()}],"scale-z":[{"scale-z":L()}],"scale-3d":["scale-3d"],skew:[{skew:B()}],"skew-x":[{"skew-x":B()}],"skew-y":[{"skew-y":B()}],transform:[{transform:[j,O,"","none","gpu","cpu"]}],"transform-origin":[{origin:X()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:F()}],"translate-x":[{"translate-x":F()}],"translate-y":[{"translate-y":F()}],"translate-z":[{"translate-z":F()}],"translate-none":["translate-none"],accent:[{accent:E()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:E()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",j,O]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":R()}],"scroll-mx":[{"scroll-mx":R()}],"scroll-my":[{"scroll-my":R()}],"scroll-ms":[{"scroll-ms":R()}],"scroll-me":[{"scroll-me":R()}],"scroll-mt":[{"scroll-mt":R()}],"scroll-mr":[{"scroll-mr":R()}],"scroll-mb":[{"scroll-mb":R()}],"scroll-ml":[{"scroll-ml":R()}],"scroll-p":[{"scroll-p":R()}],"scroll-px":[{"scroll-px":R()}],"scroll-py":[{"scroll-py":R()}],"scroll-ps":[{"scroll-ps":R()}],"scroll-pe":[{"scroll-pe":R()}],"scroll-pt":[{"scroll-pt":R()}],"scroll-pr":[{"scroll-pr":R()}],"scroll-pb":[{"scroll-pb":R()}],"scroll-pl":[{"scroll-pl":R()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",j,O]}],fill:[{fill:["none",...E()]}],"stroke-w":[{stroke:[Q,Te,Ce,tt]}],stroke:[{stroke:["none",...E()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}}),Tn=({panel:e,isLastFlexiblePanel:t,measuredPixelSize:n,measuredPercentageSize:o,containerAxisSize:i,containerLabel:s})=>{const a=e?.size,l=typeof a=="number"&&Number.isFinite(a)?`${a.toFixed(3)}px`:"-",c=e?.percentageSize!==void 0?`${e.percentageSize.toFixed(3)}%`:"-",P=Number.isFinite(n)?`${n.toFixed(3)}px`:"-",z=Number.isFinite(o)?`${o.toFixed(3)}%`:"-",d=Number.isFinite(i)?`${i.toFixed(3)}px`:"-",u=`${l} / ${c}`,x=`${P} / ${z}`,C=`${e?.sizeUnit==="pixels"?"Fixed":"Flexible"}${t?" (Grow)":""}`,k=[C,`${s}: ${d}`,`size (state): ${u}`,`size (measured): ${x}`];return{stateValueDisplay:u,measuredValueDisplay:x,containerDisplay:d,headlineLabel:C,titleText:k.join(`
23
+ `)}},On=m.memo(({panel:e,isLastFlexiblePanel:t,measuredPixelSize:n,measuredPercentageSize:o,containerAxisSize:i,direction:s})=>{const a=s==="horizontal"?"container width":"container height",{stateValueDisplay:l,measuredValueDisplay:c,containerDisplay:P,headlineLabel:z,titleText:d}=m.useMemo(()=>Tn({panel:e,isLastFlexiblePanel:t,measuredPixelSize:n,measuredPercentageSize:o,containerAxisSize:i,containerLabel:a}),[e,t,n,o,i,a]),u={position:"absolute",top:"2px",right:"4px",backgroundColor:"rgba(30, 41, 59, 0.6)",color:"#fff",padding:"4px 8px",borderRadius:"6px",fontSize:"11px",fontFamily:"monospace",pointerEvents:"auto",zIndex:10,boxShadow:"0 2px 4px rgba(0,0,0,0.3)",border:"1px solid rgba(255,255,255,0.1)",maxWidth:"calc(100% - 12px)",minWidth:"60px",width:"fit-content",overflow:"hidden"},x={display:"flex",flexDirection:"column",gap:"1px",minWidth:"0",width:"100%"},C={display:"flex",justifyContent:"flex-start",alignItems:"center",gap:"6px",fontSize:"10px",color:"#ccc",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",minWidth:"0",width:"100%"},k={display:"flex",justifyContent:"space-between",alignItems:"center",gap:"6px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",minWidth:"0",width:"100%"},w={marginLeft:"auto",fontVariantNumeric:"tabular-nums",whiteSpace:"nowrap"};return D.jsx("div",{style:u,title:d,children:D.jsxs("div",{style:x,children:[D.jsx("div",{style:C,children:D.jsx("span",{children:z})}),D.jsxs("div",{style:k,children:[D.jsx("span",{children:a}),D.jsx("span",{style:w,children:P})]}),D.jsxs("div",{style:k,children:[D.jsx("span",{children:"size (state)"}),D.jsx("span",{style:w,children:l})]}),D.jsxs("div",{style:k,children:[D.jsx("span",{children:"size (measured)"}),D.jsx("span",{style:w,children:c})]})]})})}),jn=m.memo(({id:e,defaultSize:t={value:50,unit:"percentage"},minSize:n,maxSize:o,className:i,style:s,children:a,order:l=0,collapsible:c=!1,defaultCollapsed:P=!1,pixelAdjustPriority:z})=>{const{direction:d,registerPanel:u,unregisterPanel:x,getPanel:C,showDebugInfo:k,panels:w,isContainerReady:p,reportPanelMeasurement:g,containerSize:_}=Be(),H=m.useRef(null),X=m.useRef(e||pt()),A=C(X.current),te=!!A?.collapsed,R=(A?.size??0)<=0,U=te||R,[V,K]=m.useState(()=>{const h=Ee(t);return h?.unit==="pixels"?h.value:A?.size!==void 0?A.size:0}),[ne,J]=m.useState(()=>{const h=Ee(t);return h?.unit==="percentage"?h.value:A?.percentageSize!==void 0?A.percentageSize:0}),q=m.useRef(ne);q.current=ne;const W=m.useRef(V);W.current=V;const N=m.useCallback(h=>{if(!Number.isFinite(h))return;const v=h<0?0:h;W.current!==v&&(W.current=v,console.debug("[resize-panels] commit pixel",{panelId:X.current,pixel:v}),K(v))},[]),G=m.useCallback(h=>{if(!Number.isFinite(h))return;const v=h<0?0:h;q.current!==v&&(q.current=v,console.debug("[resize-panels] commit percentage",{panelId:X.current,percentage:v}),J(v))},[]);m.useEffect(()=>{e||console.warn("Panel component should have an explicit 'id' prop to avoid hydration issues. Auto-generated ID may cause SSR/client mismatch.")},[e]),m.useEffect(()=>{if(!p)return;const h=Ee(t),v=h?.unit==="pixels";let L=0;if(v){let f=h.value;n&&typeof n=="object"&&n.unit==="pixels"&&(f=Math.max(f,n.value)),o&&typeof o=="object"&&o.unit==="pixels"&&(f=Math.min(f,o.value)),L=f}const B=v?void 0:h?.value,F=P,re=c&&F&&v?L:void 0,ee=c?B:void 0,$={id:X.current,size:F?0:L,percentageSize:F?0:B,sizeUnit:h?.unit||"percentage",originalPixelSize:v?L:void 0,minSize:n,maxSize:o,collapsible:c,collapsed:F,sizeBeforeCollapse:re,percentageSizeBeforeCollapse:ee,pixelAdjustPriority:z};return u($),()=>{x(X.current),g(X.current,null)}},[t,n,o,u,x,c,P,z,g,p]);const E=A?.size??0;m.useEffect(()=>{const h=H.current;if(!h)return;const v=()=>{if(!A)return;const ee=h.parentElement;if(!ee)return;const{width:$,height:le}=h.getBoundingClientRect(),{inner:f}=be(ee,"horizontal"),{inner:Z}=be(ee,"vertical"),ce=d==="horizontal"?$:le,se=d==="horizontal"?f:Z,ue=Xe(se);if(U){W.current!==0&&(W.current=0,K(0)),q.current!==0&&(q.current=0,J(0));return}const he=A?.size??0,ge=Math.max(2,ue*.5);if(!U&&he>ue&&ce<ge){console.debug("[resize-panels] skip noisy measurement",{panelId:X.current,expectedPanelSize:he,measured:ce,noiseThreshold:ge});return}if(ce>0){if(N(ce),se>0){const xe=ce/se*100;G(xe)}}else if(A?.size!==void 0&&N(A.size),A?.percentageSize!==void 0){const xe=A.percentageSize;G(xe)}else if(A?.sizeUnit==="pixels"&&A?.size!==void 0&&se>0){const xe=A.size/se*100;G(xe)}},L=new ResizeObserver(()=>{v()});L.observe(h),v();const B=[],F=new MutationObserver(()=>{(()=>{if(!H.current)return!1;const $=H.current.getBoundingClientRect();return(d==="horizontal"?$.width:$.height)!==W.current})()&&setTimeout(v,0)}),re=h.parentElement;return re&&F.observe(re,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["style","class"]}),()=>{L.disconnect(),F.disconnect();for(const ee of B)clearTimeout(ee)}},[d,A,U,N,G]);const ie=A?.size,I=A?.percentageSize,r=A?.sizeUnit;m.useEffect(()=>{if(A){if(U){W.current!==0&&(W.current=0,K(0)),q.current!==0&&(q.current=0,J(0));return}if(ie!==void 0&&N(ie),I!==void 0)G(I);else if(r==="pixels"&&ie!==void 0){const h=H.current,v=h?.parentElement;if(h&&v){const{width:L,height:B}=h.getBoundingClientRect(),F=v.clientWidth,re=v.clientHeight,ee=d==="horizontal"?L:B,$=d==="horizontal"?F:re;if(ee>0&&$>0){const le=ee/$*100;G(le)}}}}},[ie,I,r,d,U,N,G,A]),m.useEffect(()=>{g(X.current,{pixelSize:V,percentageSize:ne})},[g,V,ne]);const S=()=>U?"0px":A?.originalPixelSize!==void 0?`${E}px`:A?.percentageSize!==void 0?`${A.percentageSize}%`:`${E}px`,M=(()=>{if(!w||w.length===0)return!1;const h=w.filter(B=>B.sizeUnit==="percentage");if(h.length===0||h[h.length-1]?.id!==X.current)return!1;const L=A?.percentageSize;return!(L!==void 0&&h.filter(F=>Math.abs((F.percentageSize||0)-L)<.01).length>1)})(),T=A?.sizeUnit==="percentage"&&!A?.collapsed?1:0,Y={flexBasis:S(),flexGrow:M?1:0,flexShrink:T,overflow:"hidden",position:"relative",boxSizing:"border-box",minHeight:"0px",minWidth:"0px",...s};d==="horizontal"?(Y.height="100%",Y.minWidth=0):(Y.width="100%",Y.minHeight=0),U&&(d==="horizontal"?(Y.width="0px",Y.minWidth="0px"):(Y.height="0px",Y.minHeight="0px"),Y.flexGrow=0,Y.flexShrink=0,Y.pointerEvents="none",Y.visibility="hidden",te&&(Y.display="none"));const y=d==="horizontal"?_.width:_.height,b=m.useMemo(()=>({position:"absolute",inset:"0px",overflow:"auto",display:"flex",flexDirection:"column",width:"100%",height:"100%",minWidth:"0px",minHeight:"0px"}),[]);return D.jsxs("div",{ref:H,className:Oe("panel",i),style:Y,"data-panel-id":X.current,"data-panel-size":E,"data-panel-size-unit":A?.sizeUnit||"percentage","data-panel-pixel-size":A?.sizeUnit==="pixels"?A?.originalPixelSize:null,"data-panel-order":l,"data-panel-collapsible":c,"data-panel-collapsed":A?.collapsed,"aria-hidden":U,children:[D.jsx("div",{style:b,children:a}),k&&D.jsx(On,{panel:A,isLastFlexiblePanel:M,measuredPixelSize:V,measuredPercentageSize:ne,containerAxisSize:y,direction:d})]})}),Bn=e=>JSON.stringify(e.map(t=>({id:t.id,size:t.size,percentageSize:t.percentageSize??null,sizeUnit:t.sizeUnit,originalPixelSize:t.originalPixelSize??null,minSize:t.minSize??null,maxSize:t.maxSize??null,collapsible:t.collapsible??!1,collapsed:t.collapsed??!1,sizeBeforeCollapse:t.sizeBeforeCollapse??null,measuredPixelSizeBeforeCollapse:t.measuredPixelSizeBeforeCollapse??null,pixelAdjustPriority:t.pixelAdjustPriority??null,measuredPixelSize:t.measuredPixelSize??null,measuredPercentageSize:t.measuredPercentageSize??null}))),Ln=e=>JSON.stringify(e.map(t=>({id:t.id,thickness:t.thickness,visible:t.visible,direction:t.direction,startPanelId:t.startPanelId??null,endPanelId:t.endPanelId??null}))),ze=(()=>{const e=new Set,t=new Map,n=new Set;let o=null,i=0,s=!0,a=[],l={ownerId:null,groups:a};const c=()=>{for(const p of e)p()},P=()=>{s=!0,c()},z=()=>{const p=o;if(p&&n.has(p))return!1;o=null;const g=n.values().next();return g.done||(o=g.value),p!==o};return{subscribe:p=>(e.add(p),()=>{e.delete(p)}),getSnapshot:()=>(z()&&(s=!0),s&&(a=Array.from(t.values()).sort((g,_)=>g.index-_.index).map(({serializedPanels:g,serializedHandles:_,...H})=>H),l={ownerId:o,groups:a},s=!1),l),getOwnerId:()=>(z()&&(s=!0),o),enableGroup:p=>{const g=n.size;n.add(p),n.size!==g&&z()&&P()},disableGroup:p=>{n.delete(p)&&z()&&P()},updateGroup:(p,g)=>{const _=t.get(p),H=_?.index??i++,X=Bn(g.panels),A=Ln(g.handles),te=_?.displayName!==g.displayName,R=_?.direction!==g.direction,U=_?_.containerSize.width!==g.containerSize.width||_.containerSize.height!==g.containerSize.height:!0;let V=_?.serializedPanels!==X;if(!V&&_)if(_.panels.length!==g.panels.length)V=!0;else for(let W=0;W<g.panels.length;W+=1){const N=_.panels[W],G=g.panels[W];if(!(N&&G)){V=!0;break}if(N.id!==G.id||N.size!==G.size||N.percentageSize!==G.percentageSize||N.collapsed!==G.collapsed||N.measuredPixelSize!==G.measuredPixelSize||N.measuredPercentageSize!==G.measuredPercentageSize){V=!0;break}}let K=_?.serializedHandles!==A;if(!K&&_)if(_.handles.length!==g.handles.length)K=!0;else for(let W=0;W<g.handles.length;W+=1){const N=_.handles[W],G=g.handles[W];if(!(N&&G)){K=!0;break}if(N.id!==G.id||N.thickness!==G.thickness||N.visible!==G.visible||N.direction!==G.direction||N.startPanelId!==G.startPanelId||N.endPanelId!==G.endPanelId){K=!0;break}}if(!_&&g.panels.length===0&&g.handles.length===0||_&&!te&&!R&&!U&&!V&&!K)return;const ne=g.panels.map(W=>({...W})),J=g.handles.map(W=>({...W})),q={...g.containerSize};t.set(p,{groupId:p,displayName:g.displayName,direction:g.direction,containerSize:q,panels:ne,handles:J,index:H,serializedPanels:X,serializedHandles:A}),P()},removeGroup:p=>{const g=t.delete(p),_=n.delete(p),H=z();(g||_||H)&&P()}}})(),Dn=()=>m.useSyncExternalStore(ze.subscribe,ze.getOwnerId,ze.getOwnerId),Gn=()=>m.useSyncExternalStore(ze.subscribe,ze.getSnapshot,ze.getSnapshot),Fn=e=>{ze.enableGroup(e)},Ot=e=>{ze.disableGroup(e)},Hn=(e,t)=>{ze.updateGroup(e,t)},jt=e=>{ze.removeGroup(e)};let Bt=0;const Wn=()=>(Bt+=1,`panel-group-${Bt}`),Lt=(e,t)=>typeof e!="number"||!Number.isFinite(e)?"—":`${(e<0?0:e).toFixed(8)}${t}`,We=e=>Lt(e,"px"),Dt=e=>Lt(e,"%"),Un=e=>{const{id:t,className:n,style:o,children:i,direction:s}=e,{groupRef:a,contextValue:l,groupStyle:c}=xt(e),[P,z]=m.useState({width:0,height:0}),d=l.layoutConstraintViolation,u=!!d,x=u&&d?D.jsxs("div",{className:"flex w-full flex-1 flex-col items-center justify-center gap-2 rounded-lg border border-slate-300 border-dashed bg-slate-100/70 px-6 py-8 text-center text-slate-600 text-sm dark:border-slate-600 dark:bg-slate-800/50 dark:text-slate-200","data-panel-group-placeholder":"constraint-violation",children:[D.jsx("span",{children:d.reason==="minimum-exceeded"?"Layout unavailable: minimum panel sizes exceed the container.":"Layout unavailable: panels cannot fill the container with their maximum sizes."}),D.jsx("span",{className:"text-slate-500 text-xs dark:text-slate-400",children:d.reason==="minimum-exceeded"?`Min required: ${Math.ceil(d.totalMinimumSize??0)}px | Available: ${Math.floor(d.availableContainerSize)}px`:`Max total: ${Math.floor(d.totalMaximumSize??0)}px | Needed: ${Math.floor(d.availableContainerSize)}px`})]}):null,k=m.useRef(t??Wn()).current,w=t??k,p=l.showDebugInfo&&l.panels.length>0,g=p?l.panels:[],_=p?l.panelMeasurements:{},H=m.useMemo(()=>{if(!p)return[];const K=Object.values(l.handleMeasurements);return K.length<=1?K:K.slice().sort((ne,J)=>ne.id.localeCompare(J.id))},[l.handleMeasurements,p]),X=l.containerSize,A=P.width>0?P.width:X.width,te=P.height>0?P.height:X.height,R=Dn(),U=p&&R===k;m.useLayoutEffect(()=>{if(!p){z({width:0,height:0});return}if(typeof window>"u"||typeof ResizeObserver>"u")return;const K=a.current;if(!K)return;const ne=new ResizeObserver(E=>{for(const ie of E){if(ie.target!==K)continue;const I=ie.target,r=I?be(I,"horizontal"):null,S=I?be(I,"vertical"):null,M=r?r.inner:0,T=S?S.inner:0,Y=ie.contentRect.width,y=ie.contentRect.height,b=M>0?M:Y,h=T>0?T:y;z(v=>v.width===b&&v.height===h?v:{width:b,height:h})}});ne.observe(K);const{inner:J}=be(K,"horizontal"),{inner:q}=be(K,"vertical"),W=K.getBoundingClientRect(),N=J>0?J:W.width,G=q>0?q:W.height;return z({width:N,height:G}),()=>{ne.disconnect()}},[a,p]);const V=m.useMemo(()=>{if(g.length===0)return g;let K=!1;const ne=g.map(J=>{const q=_[J.id];return!q||J.measuredPixelSize===q.pixelSize&&J.measuredPercentageSize===q.percentageSize?J:(K=!0,{...J,measuredPixelSize:q.pixelSize,measuredPercentageSize:q.percentageSize})});return K?ne:g},[g,_]);return m.useEffect(()=>{if(!p){Ot(k),jt(k);return}return Fn(k),()=>{Ot(k),jt(k)}},[p,k]),m.useEffect(()=>{p&&Hn(k,{displayName:w,direction:s,containerSize:{width:A,height:te},panels:V,handles:H})},[p,k,w,s,A,te,V,H]),D.jsxs(Ve.Provider,{value:l,children:[D.jsx("div",{ref:a,className:Oe("panel-group",s==="horizontal"?"flex-row":"flex-col",n),style:{...c,...o},"data-panel-group-id":t,"data-panel-group-direction":s,children:u?x:i}),U&&D.jsx(Vn,{})]})},Vn=()=>{const t=Gn().groups,[n,o]=m.useState(!0);if(t.length===0||typeof document>"u")return null;const i=t.reduce((c,P)=>c+P.panels.length,0),s=t.reduce((c,P)=>c+(P.handles?.length??0),0),a=()=>{o(c=>!c)},l=D.jsxs("div",{style:{position:"fixed",left:"50%",bottom:"20px",transform:"translate(-50%, 0)",zIndex:100,maxWidth:"min(90vw, 1120px)",width:"100%",padding:n?"10px 18px":"14px 18px",borderRadius:"14px",backgroundColor:"rgba(15, 23, 42, 0.72)",color:"#e2e8f0",fontFamily:"monospace",fontSize:"11px",lineHeight:1.6,boxShadow:"0 22px 45px rgba(15,23,42,0.45)",border:"1px solid rgba(148, 163, 184, 0.22)",backdropFilter:"blur(10px)",WebkitBackdropFilter:"blur(10px)",pointerEvents:"auto",overflow:"auto",maxHeight:n?"52px":"min(65vh, 520px)",transition:"max-height 0.24s ease, padding 0.24s ease"},children:[D.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",flexWrap:"wrap",gap:"12px",marginBottom:n?0:"12px"},children:[D.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"4px"},children:[D.jsx("span",{style:{fontWeight:700,fontSize:"12px",letterSpacing:"0.03em"},children:"Panel Overview"}),D.jsxs("span",{style:{color:"#cbd5f5"},children:["groups: ",t.length," / panels: ",i," / resizers: ",s]})]}),D.jsx("button",{type:"button",onClick:()=>a(),style:{padding:"6px 10px",borderRadius:"9999px",border:"1px solid rgba(148, 163, 184, 0.35)",backgroundColor:n?"rgba(59, 130, 246, 0.2)":"rgba(71, 85, 105, 0.45)",color:"#e2e8f0",fontWeight:600,fontSize:"10px",letterSpacing:"0.03em",textTransform:"uppercase",cursor:"pointer",transition:"background-color 0.18s ease, 0.18s ease border-color"},title:n?"Panel Overview を開く":"Panel Overview を閉じる",children:n?"開く":"閉じる"})]}),!n&&D.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"12px",maxHeight:"45vh",overflowY:"auto",paddingRight:"6px"},children:t.map((c,P)=>{const z=c.direction==="horizontal"?c.containerSize.width:c.containerSize.height;return D.jsxs("div",{style:{padding:"10px 12px",borderRadius:"10px",backgroundColor:"rgba(30, 41, 59, 0.55)",border:"1px solid rgba(148, 163, 184, 0.18)",display:"flex",flexDirection:"column",gap:"10px"},children:[D.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",flexWrap:"wrap",gap:"10px",color:"#dbeafe"},children:[D.jsxs("span",{style:{fontWeight:600,fontSize:"11px",letterSpacing:"0.02em",textTransform:"uppercase"},children:["group ",P+1,": ",c.displayName]}),D.jsxs("span",{children:["direction: ",c.direction," / container: ",We(c.containerSize.width)," × ",We(c.containerSize.height)]})]}),D.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(220px, 1fr))",gap:"10px"},children:c.panels.map((d,u)=>{const x=d.measuredPixelSize??d.size,C=d.size,k=We(C),w=d.percentageSize??(z>0?d.size/z*100:void 0),p=d.measuredPercentageSize!==void 0?d.measuredPercentageSize:z>0?x/z*100:void 0,g=d.collapsed||x<=it,_=d.collapsed?"collapsed":g?"hidden":"visible",H=Dt(w),X=Dt(p),A=We(x);return D.jsxs("div",{style:{padding:"8px 10px",borderRadius:"8px",backgroundColor:"rgba(15, 23, 42, 0.55)",border:"1px solid rgba(148, 163, 184, 0.16)",display:"flex",flexDirection:"column",gap:"4px"},children:[D.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:"6px"},children:[D.jsx("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},children:d.id}),D.jsx("span",{style:{padding:"2px 6px",borderRadius:"9999px",fontSize:"10px",textTransform:"uppercase",backgroundColor:d.collapsed?"rgba(251, 113, 133, 0.25)":g?"rgba(250, 204, 21, 0.25)":"rgba(74, 222, 128, 0.25)",color:d.collapsed?"#fecdd3":g?"#fef08a":"#bbf7d0"},children:_})]}),D.jsxs("div",{style:{display:"grid",gridTemplateColumns:"auto 1fr",gap:"2px 10px",color:"#e2e8f0"},children:[D.jsx("span",{children:"size (state):"}),D.jsx("span",{children:k}),D.jsx("span",{children:"size (measured):"}),D.jsx("span",{children:A}),D.jsx("span",{children:"percentage (state):"}),D.jsx("span",{children:H}),D.jsx("span",{children:"percentage (measured):"}),D.jsx("span",{children:X}),D.jsx("span",{children:"unit:"}),D.jsx("span",{children:d.sizeUnit}),D.jsx("span",{children:"min:"}),D.jsx("span",{children:d.minSize!==void 0?JSON.stringify(d.minSize):"—"}),D.jsx("span",{children:"max:"}),D.jsx("span",{children:d.maxSize!==void 0?JSON.stringify(d.maxSize):"—"}),D.jsx("span",{children:"priority:"}),D.jsx("span",{children:d.pixelAdjustPriority??"—"})]})]},d.id||u)})})]},c.groupId)})})]});return Wt.createPortal(l,document.body)},Yn=m.memo(({id:e,disabled:t=!1,className:n,style:o,children:i,onDragging:s})=>{const{direction:a,resizePanels:l,getPanel:c,collapsePanel:P,expandPanel:z,panels:d,reportHandleMeasurement:u,containerSize:x}=Be(),[C,k]=m.useState(!1),w=m.useRef(null),p=m.useRef(null),g=m.useRef(""),_=m.useRef(""),[H,X]=m.useState({left:null,right:null}),A=m.useRef(e??Zt()),te=m.useRef(null),R=e??A.current;m.useEffect(()=>{if(w.current){const y=w.current.parentElement;if(y){p.current=y;const b=Array.from(y.children),h=w.current,v=b.indexOf(h);if(v>0&&v<b.length-1){let L=null,B=null;for(let F=v-1;F>=0;F-=1){const re=b[F];if(re.dataset.panelId){L=re;break}}for(let F=v+1;F<b.length;F+=1){const re=b[F];if(re.dataset.panelId){B=re;break}}g.current=L?.dataset.panelId||"",_.current=B?.dataset.panelId||"",X({left:g.current||null,right:_.current||null})}}}},[]),m.useEffect(()=>{if(R===A.current)return;const y=A.current;A.current=R,te.current=null,y!==R&&u(y,null)},[u,R]),m.useEffect(()=>{const y=A.current;return()=>{u(y,null)}},[u]);const U=m.useCallback(y=>{if(t||!p.current)return;y.preventDefault(),y.stopPropagation();const b=p.current,{inner:h}=be(b,a),v={x:y.clientX,y:y.clientY},L=c(g.current),B=c(_.current);if(!(L&&B))return;const F=L.size,re=B.size;let ee=0;const $=Vt;k(!0),s?.(!0),y.currentTarget.setPointerCapture(y.pointerId);const le=Z=>{if(!w.current)return;Z.preventDefault(),Z.stopPropagation();const ce=performance.now();if(ce-ee<$)return;ee=ce;const se=a==="horizontal"?Z.clientX-v.x:Z.clientY-v.y;if(se===0)return;const ue=F+se,he=re-se,ge=c(g.current),me=c(_.current);if(ge&&me&&g.current&&_.current){const xe=oe(ge.minSize,0,h),ke=oe(me.minSize,0,h),Se=xe,ve=ke,Gt=Math.min(h*st,at),Ft=Math.min(h*Yt,Xt);if(me.collapsible&&!me.collapsed&&he<=Math.max(ke*.3,Gt)){P(_.current);return}if(ge.collapsible&&!ge.collapsed&&ue<=Math.max(xe*.3,Gt)){P(g.current);return}if(me.collapsed&&he>Math.max(ke*.3,Ft)){z(_.current,he);return}if(ge.collapsed&&ue>Math.max(xe*.3,Ft)){z(g.current,ue);return}if(h>0){const Ht=ge.size+me.size,Ue=Xe(h);let nt=!1;if(Se<=Ue&&ue<=Ue&&F!==0){const je=Math.max(0,Ht-0);je>=ve&&(l(g.current,_.current,0,je),nt=!0)}else if(ve<=Ue&&he<=Ue&&re!==0){const je=Math.max(0,Ht-0);je>=Se&&(l(g.current,_.current,je,0),nt=!0)}if(nt)return}if(ge.collapsed||me.collapsed)return;l(g.current,_.current,ue,he)}},f=()=>{k(!1),s?.(!1),document.removeEventListener("pointermove",le),document.removeEventListener("pointerup",f)};document.addEventListener("pointermove",le),document.addEventListener("pointerup",f)},[t,a,l,c,P,z,s]),V=a==="horizontal",ne=Oe("group absolute z-20 flex select-none items-center justify-center border-none bg-transparent transition-colors duration-150 overflow-visible",V?"cursor-col-resize":"cursor-row-resize",V?"h-full":"w-full",!t&&"hover:bg-gray-200/70 dark:hover:bg-gray-700/70",!t&&"active:bg-blue-300/60 dark:active:bg-blue-700/60",C&&"bg-blue-200/80 dark:bg-blue-800/60",t&&"cursor-not-allowed opacity-50","focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-opacity-50",n),J=m.useMemo(()=>{const y=b=>{if(!b)return-1;for(let h=0;h<d.length;h+=1)if(d[h].id===b)return h;return-1};return{left:y(H.left),right:y(H.right)}},[H.left,H.right,d]),q=V?x.width:x.height,W=m.useMemo(()=>{const y=(b,h)=>{if(b>h)return 0;let v=0;for(let L=b;L<=h;L+=1){const B=d[L];if(!B)continue;const F=B.size??0,re=Math.max(0,F);v+=B.collapsed?0:re}return v};return J.left>=0?y(0,J.left):J.right>0?y(0,J.right-1):0},[J.left,J.right,d]),N=m.useMemo(()=>!Number.isFinite(W)||W<0?0:q>0&&W>q?q:W,[W,q]),G=m.useMemo(()=>{const y={position:"absolute",zIndex:20,touchAction:"none"};return V?(y.top=0,y.left=`${N}px`,y.transform="translateX(-50%)",y.width=`${ot}px`,y.height="100%"):(y.left=0,y.top=`${N}px`,y.transform="translateY(-50%)",y.height=`${ot}px`,y.width="100%"),y},[N,V]),E=m.useMemo(()=>{const y=Xe(q),b=$=>{if($<0||$>=d.length)return!1;const le=d[$];return le?le.collapsed?!0:le.size<=y:!1},h=($,le)=>{if(!b($))return 0;let f=0;for(let Z=$;Z>=0&&Z<d.length&&b(Z);Z+=le)f+=1;return f},v=J.left,L=J.right,B=v>=0?h(v,-1):0,F=L>=0?h(L,1):0;return{groupSize:B+F+1,overlapIndex:B}},[J.left,J.right,d,q]),ie=m.useMemo(()=>{if(E.groupSize<=1)return!1;const y=E.groupSize-1;return E.overlapIndex>0&&E.overlapIndex<y},[E]),I=m.useMemo(()=>{if(E.groupSize<=1||ie)return 0;const y=E.groupSize>1?2:1;if(y===1)return 0;const b=E.overlapIndex===0?0:y-1,h=(y-1)/2;return(b-h)*Ut},[E,ie]),r=m.useMemo(()=>{if(ie)return{display:"none"};if(I!==0)return V?{transform:`translateX(${I}px)`}:{transform:`translateY(${I}px)`}},[I,V,ie]),S=Oe("flex items-center justify-center rounded-full bg-white text-slate-700 ring-1 ring-inset ring-white/80 backdrop-blur-sm transition-colors duration-150 shadow-[0_0_0_1px_rgba(255,255,255,0.85),0_1px_3px_rgba(15,23,42,0.18)]","dark:bg-slate-800/95 dark:text-slate-200 dark:ring-slate-500/60 dark:shadow-[0_0_0_1px_rgba(148,163,184,0.45),0_1px_3px_rgba(2,6,23,0.55)]",V?"h-12 w-[6px] px-[2px]":"h-[6px] w-20 py-[2px]",C&&"bg-blue-200/80 ring-blue-300 shadow-[0_0_0_1px_rgba(191,219,254,0.65),0_1px_4px_rgba(59,130,246,0.45)] dark:bg-blue-900/70 dark:ring-blue-400 dark:shadow-[0_0_0_1px_rgba(147,197,253,0.5),0_1px_4px_rgba(59,130,246,0.55)]"),M=Oe("rounded-full bg-slate-600 transition-colors duration-150 shadow-[0_0_0_1px_rgba(255,255,255,0.9)] dark:bg-slate-200 dark:shadow-[0_0_0_1px_rgba(15,23,42,0.55)]",V?"h-8 w-[2px]":"h-[2px] w-16",C&&"bg-blue-500 dark:bg-blue-300",!t&&"group-hover:bg-slate-700 dark:group-hover:bg-slate-100"),T=m.useCallback(()=>{const y=w.current;if(!y)return;let b=0;if(!ie){const L=a==="horizontal"?y.offsetWidth:y.offsetHeight;let B=0,F=0;if(typeof window<"u"){const ee=window.getComputedStyle(y);a==="horizontal"?(B=Number.parseFloat(ee.marginLeft||"0"),F=Number.parseFloat(ee.marginRight||"0")):(B=Number.parseFloat(ee.marginTop||"0"),F=Number.parseFloat(ee.marginBottom||"0"))}b=[L,B,F].reduce((ee,$)=>Number.isFinite($)?ee+$:ee,0)}(!Number.isFinite(b)||b<0)&&(b=0);const h={id:R,thickness:b,direction:a,visible:!ie&&b>Jt,startPanelId:H.left,endPanelId:H.right},v=te.current;v&&Math.abs(v.thickness-h.thickness)<=.25&&v.visible===h.visible&&v.direction===h.direction&&v.startPanelId===h.startPanelId&&v.endPanelId===h.endPanelId||(te.current=h,u(R,h))},[a,H.left,H.right,u,R,ie]);m.useEffect(()=>{T()},[T]),m.useEffect(()=>{const y=w.current;if(!y)return;if(typeof ResizeObserver>"u"){T();return}const b=new ResizeObserver(()=>{T()});return b.observe(y),()=>{b.disconnect()}},[T]);const Y=m.useMemo(()=>{const y=o?{...G,...o}:G;return ie?{...y,display:"none",pointerEvents:"none",visibility:"hidden"}:y},[G,ie,o]);return D.jsx("button",{type:"button",ref:w,className:ne,style:Y,onPointerDown:U,disabled:t,"aria-hidden":ie||void 0,"aria-label":`Resize ${V?"columns":"rows"} - Drag to collapse/expand panels`,"data-resize-handle-id":R,title:`ドラッグして${V?"列":"行"}をリサイズ、端まで移動して折りたたみ/展開`,children:i||D.jsx("div",{className:S,style:r,children:D.jsx("span",{className:M})})})}),Xn=e=>document.querySelector(`[data-panel-id="${e}"]`),Jn=e=>document.querySelector(`[data-panel-group-id="${e}"]`),Zn=e=>document.querySelector(`[data-resize-handle-id="${e}"]`);ae.Panel=jn,ae.PanelGroup=Un,ae.PanelGroupContext=Ve,ae.PanelResizeHandle=Yn,ae.clamp=pe,ae.generatePanelId=pt,ae.getConstraintInPixels=oe,ae.getContainerSize=be,ae.getPanelElement=Xn,ae.getPanelGroupElement=Jn,ae.getResizeHandleElement=Zn,ae.loadLayout=gt,ae.normalizeSizeConfig=Ee,ae.saveLayout=mt,ae.usePanelControls=Kt,ae.usePanelGroup=Be,ae.useResizablePanels=xt,Object.defineProperty(ae,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1,38 @@
1
+ import { PanelLayoutData } from './types';
2
+
3
+ export type PanelAction = {
4
+ type: "REGISTER_PANEL";
5
+ panel: PanelLayoutData;
6
+ } | {
7
+ type: "UNREGISTER_PANEL";
8
+ id: string;
9
+ } | {
10
+ type: "RESIZE_PANELS";
11
+ leftId: string;
12
+ rightId: string;
13
+ leftSize: number;
14
+ rightSize: number;
15
+ containerSize?: number;
16
+ } | {
17
+ type: "SET_PANELS";
18
+ panels: PanelLayoutData[];
19
+ } | {
20
+ type: "CONTAINER_RESIZED";
21
+ containerSize: number;
22
+ direction: "horizontal" | "vertical";
23
+ } | {
24
+ type: "COLLAPSE_PANEL";
25
+ id: string;
26
+ containerSize: number;
27
+ } | {
28
+ type: "EXPAND_PANEL";
29
+ id: string;
30
+ containerSize: number;
31
+ targetSize?: number;
32
+ };
33
+ /**
34
+ * Handle panel registration and size updates for the panel group.
35
+ * パネルグループ内の登録・サイズ更新を処理するリデューサー。
36
+ */
37
+ export declare const panelReducer: (state: PanelLayoutData[], action: PanelAction) => PanelLayoutData[];
38
+ //# sourceMappingURL=reducer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../src/reducer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAkC,KAAK,eAAe,EAAE,MAAM,SAAS,CAAA;AAwkB9E,MAAM,MAAM,WAAW,GACjB;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,eAAe,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GACvH;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,eAAe,EAAE,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,YAAY,GAAG,UAAU,CAAA;CAAE,GAC1F;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC7D;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAiCtF;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,eAAe,EAAE,EAAE,QAAQ,WAAW,KAAG,eAAe,EAmT3F,CAAA"}
@@ -0,0 +1 @@
1
+ /*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-orange-100:oklch(95.4% .038 75.164);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-700:oklch(45.7% .24 277.023);--color-indigo-800:oklch(39.8% .195 277.366);--color-purple-50:oklch(97.7% .014 308.299);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--font-weight-semibold:600;--leading-relaxed:1.625;--radius-lg:.5rem;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.z-20{z-index:20}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-3\/4{height:75%}.h-8{height:calc(var(--spacing)*8)}.h-12{height:calc(var(--spacing)*12)}.h-96{height:calc(var(--spacing)*96)}.h-\[2px\]{height:2px}.h-\[6px\]{height:6px}.h-full{height:100%}.h-screen{height:100vh}.min-h-0{min-height:calc(var(--spacing)*0)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-\[2px\]{width:2px}.w-\[6px\]{width:6px}.w-full{width:100%}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.flex-grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-col-resize{cursor:col-resize}.cursor-not-allowed{cursor:not-allowed}.cursor-row-resize{cursor:row-resize}.resize{resize:both}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-hidden{overflow-x:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-400{border-color:var(--color-blue-400)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-green-200{border-color:var(--color-green-200)}.border-indigo-500{border-color:var(--color-indigo-500)}.border-red-200{border-color:var(--color-red-200)}.border-slate-300{border-color:var(--color-slate-300)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-200\/80{background-color:#bedbffcc}@supports (color:color-mix(in lab,red,red)){.bg-blue-200\/80{background-color:color-mix(in oklab,var(--color-blue-200)80%,transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-indigo-50{background-color:var(--color-indigo-50)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-purple-50{background-color:var(--color-purple-50)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-100\/70{background-color:#f1f5f9b3}@supports (color:color-mix(in lab,red,red)){.bg-slate-100\/70{background-color:color-mix(in oklab,var(--color-slate-100)70%,transparent)}}.bg-slate-600{background-color:var(--color-slate-600)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/70{background-color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.bg-white\/70{background-color:color-mix(in oklab,var(--color-white)70%,transparent)}}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-100{background-color:var(--color-yellow-100)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-\[2px\]{padding-inline:2px}.py-1{padding-block:calc(var(--spacing)*1)}.py-8{padding-block:calc(var(--spacing)*8)}.py-\[2px\]{padding-block:2px}.text-center{text-align:center}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-indigo-700{color:var(--color-indigo-700)}.text-indigo-800{color:var(--color-indigo-800)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-900{color:var(--color-slate-900)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.opacity-50{opacity:.5}.shadow-\[0_0_0_1px_rgba\(191\,219\,254\,0\.65\)\,0_1px_4px_rgba\(59\,130\,246\,0\.45\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#bfdbfea6),0 1px 4px var(--tw-shadow-color,#3b82f673);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_1px_rgba\(255\,255\,255\,0\.9\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#ffffffe6);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_0_1px_rgba\(255\,255\,255\,0\.85\)\,0_1px_3px_rgba\(15\,23\,42\,0\.18\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#ffffffd9),0 1px 3px var(--tw-shadow-color,#0f172a2e);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-blue-300{--tw-ring-color:var(--color-blue-300)}.ring-white\/80{--tw-ring-color:#fffc}@supports (color:color-mix(in lab,red,red)){.ring-white\/80{--tw-ring-color:color-mix(in oklab,var(--color-white)80%,transparent)}}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.select-none{-webkit-user-select:none;user-select:none}.ring-inset{--tw-ring-inset:inset}@media(hover:hover){.group-hover\:bg-slate-700:is(:where(.group):hover *){background-color:var(--color-slate-700)}.hover\:bg-blue-50:hover{background-color:var(--color-blue-50)}.hover\:bg-blue-600:hover{background-color:var(--color-blue-600)}.hover\:bg-emerald-600:hover{background-color:var(--color-emerald-600)}.hover\:bg-gray-200\/70:hover{background-color:#e5e7ebb3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-gray-200\/70:hover{background-color:color-mix(in oklab,var(--color-gray-200)70%,transparent)}}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:bg-blue-300\/60:active{background-color:#90c5ff99}@supports (color:color-mix(in lab,red,red)){.active\:bg-blue-300\/60:active{background-color:color-mix(in oklab,var(--color-blue-300)60%,transparent)}}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-blue-300:disabled{background-color:var(--color-blue-300)}.disabled\:bg-emerald-300:disabled{background-color:var(--color-emerald-300)}@media(min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.dark\:border-slate-600:is(.dark *){border-color:var(--color-slate-600)}.dark\:bg-blue-300:is(.dark *){background-color:var(--color-blue-300)}.dark\:bg-blue-800\/60:is(.dark *){background-color:#193cb899}@supports (color:color-mix(in lab,red,red)){.dark\:bg-blue-800\/60:is(.dark *){background-color:color-mix(in oklab,var(--color-blue-800)60%,transparent)}}.dark\:bg-blue-900\/70:is(.dark *){background-color:#1c398eb3}@supports (color:color-mix(in lab,red,red)){.dark\:bg-blue-900\/70:is(.dark *){background-color:color-mix(in oklab,var(--color-blue-900)70%,transparent)}}.dark\:bg-slate-200:is(.dark *){background-color:var(--color-slate-200)}.dark\:bg-slate-800\/50:is(.dark *){background-color:#1d293d80}@supports (color:color-mix(in lab,red,red)){.dark\:bg-slate-800\/50:is(.dark *){background-color:color-mix(in oklab,var(--color-slate-800)50%,transparent)}}.dark\:bg-slate-800\/95:is(.dark *){background-color:#1d293df2}@supports (color:color-mix(in lab,red,red)){.dark\:bg-slate-800\/95:is(.dark *){background-color:color-mix(in oklab,var(--color-slate-800)95%,transparent)}}.dark\:text-slate-200:is(.dark *){color:var(--color-slate-200)}.dark\:text-slate-400:is(.dark *){color:var(--color-slate-400)}.dark\:shadow-\[0_0_0_1px_rgba\(15\,23\,42\,0\.55\)\]:is(.dark *){--tw-shadow:0 0 0 1px var(--tw-shadow-color,#0f172a8c);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark\:shadow-\[0_0_0_1px_rgba\(147\,197\,253\,0\.5\)\,0_1px_4px_rgba\(59\,130\,246\,0\.55\)\]:is(.dark *){--tw-shadow:0 0 0 1px var(--tw-shadow-color,#93c5fd80),0 1px 4px var(--tw-shadow-color,#3b82f68c);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark\:shadow-\[0_0_0_1px_rgba\(148\,163\,184\,0\.45\)\,0_1px_3px_rgba\(2\,6\,23\,0\.55\)\]:is(.dark *){--tw-shadow:0 0 0 1px var(--tw-shadow-color,#94a3b873),0 1px 3px var(--tw-shadow-color,#0206178c);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.dark\:ring-blue-400:is(.dark *){--tw-ring-color:var(--color-blue-400)}.dark\:ring-slate-500\/60:is(.dark *){--tw-ring-color:#62748e99}@supports (color:color-mix(in lab,red,red)){.dark\:ring-slate-500\/60:is(.dark *){--tw-ring-color:color-mix(in oklab,var(--color-slate-500)60%,transparent)}}@media(hover:hover){.dark\:group-hover\:bg-slate-100:is(.dark *):is(:where(.group):hover *){background-color:var(--color-slate-100)}.dark\:hover\:bg-gray-700\/70:is(.dark *):hover{background-color:#364153b3}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-gray-700\/70:is(.dark *):hover{background-color:color-mix(in oklab,var(--color-gray-700)70%,transparent)}}}.dark\:active\:bg-blue-700\/60:is(.dark *):active{background-color:#1447e699}@supports (color:color-mix(in lab,red,red)){.dark\:active\:bg-blue-700\/60:is(.dark *):active{background-color:color-mix(in oklab,var(--color-blue-700)60%,transparent)}}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Round a number to specified digits using banker's rounding (round half to even).
3
+ * 指定した桁で銀行丸め (最近接偶数への丸め) を行う関数。
4
+ *
5
+ * @param value - 丸め対象の数値
6
+ * @param digits - 丸める桁数 (0: 整数, 1: 小数第1位, -1: 十の位)
7
+ * @returns 丸められた数値
8
+ */
9
+ export declare const roundHalfToEven: (value: number, digits?: number) => number;
10
+ //# sourceMappingURL=roundHalfToEven.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roundHalfToEven.d.ts","sourceRoot":"","sources":["../src/roundHalfToEven.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,EAAE,SAAQ,MAAU,KAAG,MA+BnE,CAAA"}
@@ -0,0 +1,215 @@
1
+ import { ReactNode } from 'react';
2
+
3
+ /**
4
+ * Pixel threshold used to decide when panels snap closed or open.
5
+ * パネルのスナップ判定に利用するピクセル閾値。
6
+ */
7
+ export declare const PANEL_SNAP_THRESHOLD = 12;
8
+ /**
9
+ * Default thickness in pixels for the resize handle interactive area.
10
+ * リサイズハンドルのインタラクティブ領域のデフォルト厚み (px)。
11
+ */
12
+ export declare const PANEL_HANDLE_THICKNESS = 8;
13
+ /**
14
+ * Spacing in pixels between visual indicator dots in the handle.
15
+ * ハンドル内の視覚インジケーター点同士のピクセル間隔。
16
+ */
17
+ export declare const PANEL_VISIBLE_INDICATOR_SPACING = 8;
18
+ /**
19
+ * Pointer move throttling interval in milliseconds during dragging.
20
+ * ドラッグ中のポインタ移動を間引くミリ秒単位の間隔。
21
+ */
22
+ export declare const PANEL_HANDLE_DRAG_THROTTLE_MS = 8;
23
+ /**
24
+ * Ratio of container size used when determining collapse thresholds.
25
+ * 折りたたみ閾値を決定する際に使用するコンテナサイズ比率。
26
+ */
27
+ export declare const PANEL_COLLAPSE_THRESHOLD_RATIO = 0.05;
28
+ /**
29
+ * Maximum pixel value considered when collapsing panels.
30
+ * パネルを折りたたむ際に考慮するピクセル上限値。
31
+ */
32
+ export declare const PANEL_COLLAPSE_THRESHOLD_MAX = 10;
33
+ /**
34
+ * Ratio of container size required to expand a collapsed panel.
35
+ * 折りたたまれたパネルを展開するために必要なコンテナサイズ比率。
36
+ */
37
+ export declare const PANEL_EXPAND_THRESHOLD_RATIO = 0.05;
38
+ /**
39
+ * Maximum pixel threshold used when expanding panels.
40
+ * パネルを展開する際に用いるピクセル閾値の上限。
41
+ */
42
+ export declare const PANEL_EXPAND_THRESHOLD_MAX = 20;
43
+ /**
44
+ * Minimum thickness required for a handle to be treated as visible.
45
+ * ハンドルが可視と判断されるために必要な最小厚み。
46
+ */
47
+ export declare const PANEL_HANDLE_VISIBILITY_THRESHOLD = 0.05;
48
+ /**
49
+ * Retry intervals in milliseconds when awaiting layout stabilization.
50
+ * レイアウトの安定化を待機するときに使用するミリ秒単位の再試行間隔。
51
+ */
52
+ export declare const PANEL_RESIZE_RETRY_INTERVALS: readonly [10, 50, 100, 200, 300, 500, 800];
53
+ /**
54
+ * Tolerance used to decide whether pixel-based panel adjustments are significant.
55
+ * ピクセル基準パネルの補正を有効とみなすための誤差許容値。
56
+ */
57
+ export declare const PANEL_PIXEL_MUTATION_TOLERANCE = 0;
58
+ /**
59
+ * Minimum pixel threshold used when clamping snap calculations.
60
+ * スナップ計算を補正する際に用いる最小ピクセル閾値。
61
+ */
62
+ export declare const PANEL_MIN_SNAP_THRESHOLD = 0;
63
+ /**
64
+ * Layout direction of panels
65
+ * パネルのレイアウト方向
66
+ */
67
+ export type PanelDirection = "horizontal" | "vertical";
68
+ /**
69
+ * Size unit types for panels
70
+ * パネルのサイズ単位タイプ
71
+ */
72
+ export type SizeUnit = "percentage" | "pixels";
73
+ /**
74
+ * Size configuration with value and unit
75
+ * 値と単位を持つサイズ設定
76
+ */
77
+ export type SizeConfig = {
78
+ value: number;
79
+ unit: SizeUnit;
80
+ };
81
+ /**
82
+ * Flexible size that can be defined in pixels or as a percentage
83
+ * ピクセルまたはパーセンテージで定義できる柔軟なサイズ
84
+ */
85
+ export type FlexibleSize = SizeConfig | number;
86
+ /**
87
+ * Container size dimensions
88
+ * コンテナサイズの寸法
89
+ */
90
+ export type ContainerSize = {
91
+ width: number;
92
+ height: number;
93
+ };
94
+ /**
95
+ * Axis-aligned container measurement including inner (borderless) and outer dimensions.
96
+ * 枠線控除後と控除前の両方の寸法を含む軸方向コンテナ計測値。
97
+ */
98
+ export type ContainerAxisMeasurement = {
99
+ inner: number;
100
+ outer: number;
101
+ };
102
+ /**
103
+ * Snapshot describing when panel constraints conflict with the container size.
104
+ * パネル制約とコンテナサイズが矛盾する際のスナップショット。
105
+ */
106
+ export type LayoutConstraintViolationReason = "minimum-exceeded" | "maximum-insufficient";
107
+ export type LayoutConstraintViolation = {
108
+ reason: LayoutConstraintViolationReason;
109
+ totalMinimumSize: number | null;
110
+ totalMaximumSize: number | null;
111
+ availableContainerSize: number;
112
+ };
113
+ /**
114
+ * Layout data for a single panel
115
+ * 単一パネルのレイアウトデータ
116
+ */
117
+ export interface PanelLayoutData {
118
+ id: string;
119
+ size: number;
120
+ percentageSize?: number;
121
+ sizeUnit: SizeUnit;
122
+ originalPixelSize?: number;
123
+ minSize?: FlexibleSize;
124
+ maxSize?: FlexibleSize;
125
+ collapsible?: boolean;
126
+ collapsed?: boolean;
127
+ sizeBeforeCollapse?: number;
128
+ pixelAdjustPriority?: number;
129
+ measuredPixelSize?: number;
130
+ measuredPercentageSize?: number;
131
+ measuredPixelSizeBeforeCollapse?: number;
132
+ }
133
+ /**
134
+ * Props for the Panel component
135
+ * Panel コンポーネントのプロパティ
136
+ */
137
+ export interface PanelProps {
138
+ id?: string;
139
+ defaultSize?: FlexibleSize;
140
+ minSize?: FlexibleSize;
141
+ maxSize?: FlexibleSize;
142
+ className?: string;
143
+ style?: React.CSSProperties;
144
+ children?: ReactNode;
145
+ order?: number;
146
+ collapsible?: boolean;
147
+ defaultCollapsed?: boolean;
148
+ pixelAdjustPriority?: number;
149
+ }
150
+ /**
151
+ * Props for the PanelGroup component
152
+ * PanelGroup コンポーネントのプロパティ
153
+ */
154
+ export interface PanelGroupProps {
155
+ id?: string;
156
+ direction: PanelDirection;
157
+ storageKey?: string;
158
+ className?: string;
159
+ style?: React.CSSProperties;
160
+ children?: ReactNode;
161
+ showDebugInfo?: boolean;
162
+ onLayout?: (panelSizes: number[]) => void;
163
+ autoSaveId?: string;
164
+ }
165
+ /**
166
+ * Value provided by the PanelGroupContext
167
+ * PanelGroupContext によって提供される値
168
+ */
169
+ export interface PanelGroupContextValue {
170
+ direction: PanelDirection;
171
+ registerPanel: (panel: PanelLayoutData) => void;
172
+ unregisterPanel: (id: string) => void;
173
+ getPanel: (id: string) => PanelLayoutData | undefined;
174
+ panels: PanelLayoutData[];
175
+ isContainerReady: boolean;
176
+ showDebugInfo: boolean;
177
+ resizePanels: (leftId: string, rightId: string, leftSize: number, rightSize: number) => void;
178
+ collapsePanel: (id: string) => void;
179
+ expandPanel: (id: string, targetSize?: number) => void;
180
+ containerSize: ContainerSize;
181
+ reportPanelMeasurement: (id: string, measurement: PanelMeasurement | null) => void;
182
+ panelMeasurements: Record<string, PanelMeasurement>;
183
+ reportHandleMeasurement: (id: string, measurement: ResizeHandleLayoutData | null) => void;
184
+ handleMeasurements: Record<string, ResizeHandleLayoutData>;
185
+ layoutConstraintViolation: LayoutConstraintViolation | null;
186
+ }
187
+ /**
188
+ * Props for the PanelResizeHandle component
189
+ * PanelResizeHandle コンポーネントのプロパティ
190
+ */
191
+ export interface PanelResizeHandleProps {
192
+ id?: string;
193
+ disabled?: boolean;
194
+ onDragging?: (isDragging: boolean) => void;
195
+ className?: string;
196
+ style?: React.CSSProperties;
197
+ children?: ReactNode;
198
+ }
199
+ export interface PanelMeasurement {
200
+ pixelSize: number;
201
+ percentageSize: number;
202
+ }
203
+ /**
204
+ * Layout data for a resize handle (divider) within a panel group.
205
+ * パネルグループ内のリサイズハンドル(ディバイダー)に関するレイアウトデータ。
206
+ */
207
+ export interface ResizeHandleLayoutData {
208
+ id: string;
209
+ thickness: number;
210
+ direction: PanelDirection;
211
+ visible: boolean;
212
+ startPanelId?: string | null;
213
+ endPanelId?: string | null;
214
+ }
215
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC;;;GAGG;AACH,eAAO,MAAM,oBAAoB,KAAK,CAAA;AAEtC;;;GAGG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAA;AAEvC;;;GAGG;AACH,eAAO,MAAM,+BAA+B,IAAI,CAAA;AAEhD;;;GAGG;AACH,eAAO,MAAM,6BAA6B,IAAI,CAAA;AAE9C;;;GAGG;AACH,eAAO,MAAM,8BAA8B,OAAO,CAAA;AAElD;;;GAGG;AACH,eAAO,MAAM,4BAA4B,KAAK,CAAA;AAE9C;;;GAGG;AACH,eAAO,MAAM,4BAA4B,OAAO,CAAA;AAEhD;;;GAGG;AACH,eAAO,MAAM,0BAA0B,KAAK,CAAA;AAE5C;;;GAGG;AACH,eAAO,MAAM,iCAAiC,OAAO,CAAA;AAErD;;;GAGG;AACH,eAAO,MAAM,4BAA4B,4CAA6C,CAAA;AAEtF;;;GAGG;AACH,eAAO,MAAM,8BAA8B,IAAO,CAAA;AAElD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,IAAO,CAAA;AAE5C;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,UAAU,CAAA;AAEtD;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,QAAQ,CAAA;AAE9C;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,QAAQ,CAAA;CACjB,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,MAAM,CAAA;AAE9C;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACjB,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACnC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CAChB,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,+BAA+B,GAAG,kBAAkB,GAAG,sBAAsB,CAAA;AAEzF,MAAM,MAAM,yBAAyB,GAAG;IACpC,MAAM,EAAE,+BAA+B,CAAA;IACvC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,sBAAsB,EAAE,MAAM,CAAA;CACjC,CAAA;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC5B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,EAAE,QAAQ,CAAA;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,+BAA+B,CAAC,EAAE,MAAM,CAAA;CAC3C;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACvB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,WAAW,CAAC,EAAE,YAAY,CAAA;IAC1B,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,cAAc,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IACzC,UAAU,CAAC,EAAE,MAAM,CAAA;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACnC,SAAS,EAAE,cAAc,CAAA;IACzB,aAAa,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAA;IAC/C,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACrC,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,eAAe,GAAG,SAAS,CAAA;IACrD,MAAM,EAAE,eAAe,EAAE,CAAA;IACzB,gBAAgB,EAAE,OAAO,CAAA;IACzB,aAAa,EAAE,OAAO,CAAA;IACtB,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5F,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACtD,aAAa,EAAE,aAAa,CAAA;IAC5B,sBAAsB,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,GAAG,IAAI,KAAK,IAAI,CAAA;IAClF,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IACnD,uBAAuB,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,sBAAsB,GAAG,IAAI,KAAK,IAAI,CAAA;IACzF,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAA;IAC1D,yBAAyB,EAAE,yBAAyB,GAAG,IAAI,CAAA;CAC9D;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACnC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAA;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B,QAAQ,CAAC,EAAE,SAAS,CAAA;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACnC,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,cAAc,CAAA;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC7B"}