@aiquants/resize-panels 1.8.1 → 1.9.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,2 @@
1
+ "use strict";const i=require("react"),K=require("react/jsx-runtime"),rt=require("tailwind-merge"),St=i.createContext(null),ht=()=>{const e=i.useContext(St);if(!e)throw new Error("usePanelGroup must be used within a PanelGroup");return e},xt=(e,t=0)=>{if(!Number.isFinite(e))return e;const s=10**t,d=e*s,r=Math.floor(d),a=d-r,n=Number.EPSILON*Math.max(1,Math.abs(d));return a<.5-n?r/s:a>.5+n?(r+1)/s:(r%2===0?r:r+1)/s},_t=12,Yt=8,Jt=6,Qt=48,er=80,tr=2,rr=32,ir=64,nr=8,sr=8,Nt=10,kt=.05,Ot=10,or=.05,ar=20,lr=.05,Ft=0,Ht=6,Be=(e,t)=>t<=0?0:xt(e/t*100,Ht),tt=(e,t)=>!e||t<=0?0:e/100*t,Gt=(e,t="percentage")=>{if(e!==void 0)return typeof e=="number"?{value:e,unit:t}:e},H=(e,t,s)=>e?typeof e=="number"?e/100*s:e.unit==="pixels"?e.value:e.value/100*s:t,me=(e,t,s)=>Math.min(Math.max(e,t),s),mt=e=>{if(!Number.isFinite(e)||e<=0)return Ft;const t=e*kt,s=Math.min(_t,Ot,t);return Math.max(Ft,s)},jt=(e,t,s,d={})=>{if(Math.abs(t)<=0)return t;const r=d.enforceAutoMinSize??!1,a=e.map((l,f)=>({panel:l,index:f})).filter(({panel:l})=>!l.collapsed&&(l.sizeUnit==="pixels"||l.originalPixelSize!==void 0));if(a.length===0)return t;const n=t>0,p=[...a].sort((l,f)=>{const c=l.panel.pixelAdjustPriority??l.index+1,g=f.panel.pixelAdjustPriority??f.index+1;return c===g?n?f.index-l.index:l.index-f.index:n?g-c:c-g});let z=t;const h=l=>{for(const{index:f}of p){if(Math.abs(z)<=0)break;const c=e[f];if(!c||c.collapsed)continue;const g=H(c.minSize,0,s),S=H(c.maxSize,s,s),P=r?H(c.autoMinSize,0,s):0,C=Math.max(g,P),F=c.preferredPixelSize!==void 0?me(c.preferredPixelSize,C,S):c.size,k=c.collapseFromStart||c.collapseFromEnd;if(z>0){if(Math.abs(c.size)<=0&&(c.percentageSize??0)<=0)continue;const U=Math.max(c.size,F),le=l?Math.min(S,U):S,ee=Math.max(0,le-c.size);if(ee<=0)continue;const ne=Math.min(ee,z);if(ne<=0)continue;const j=c.size+ne,L=Be(j,s),y=k?j:c.sizeBeforeCollapse,D=k?c.measuredPixelSizeBeforeCollapse??c.measuredPixelSize??j:c.measuredPixelSizeBeforeCollapse;e[f]={...c,size:j,percentageSize:L,sizeBeforeCollapse:y,measuredPixelSizeBeforeCollapse:D,measuredPixelSize:void 0,measuredPercentageSize:void 0},z-=ne}else{const N=l?F:C,U=Math.max(0,c.size-N);if(U<=0)continue;const le=Math.min(U,Math.abs(z));if(le<=0)continue;const ee=c.size-le,ne=Be(ee,s),j=k?ee:c.sizeBeforeCollapse,L=k?c.measuredPixelSizeBeforeCollapse??c.measuredPixelSize??ee:c.measuredPixelSizeBeforeCollapse;e[f]={...c,size:ee,percentageSize:ne,sizeBeforeCollapse:j,measuredPixelSizeBeforeCollapse:L,measuredPixelSize:void 0,measuredPercentageSize:void 0},z+=le}}};return h(!0),(n&&z>0||!n&&z<0)&&h(!1),z},ct=e=>{if(!e)return 0;const t=parseFloat(e);return Number.isFinite(t)?t:0},$e=(e,t)=>{const s=e.getBoundingClientRect(),d=typeof window<"u"?window.getComputedStyle(e):null,r=d?ct(d.borderLeftWidth)+ct(d.borderRightWidth):0,a=d?ct(d.borderTopWidth)+ct(d.borderBottomWidth):0;if(t==="horizontal"){const h=s.width>0?s.width:e.offsetWidth,l=s.width>0?Math.max(0,s.width-r):e.clientWidth,f=e.offsetWidth>0?e.offsetWidth:e.clientWidth+r;return{inner:l>0?l:Math.max(0,e.clientWidth),outer:h>0?h:Math.max(0,f)}}const n=s.height>0?s.height:e.offsetHeight,p=s.height>0?Math.max(0,s.height-a):e.clientHeight,z=e.offsetHeight>0?e.offsetHeight:e.clientHeight+a;return{inner:p>0?p:Math.max(0,e.clientHeight),outer:n>0?n:Math.max(0,z)}},$t=(e,t)=>{try{localStorage.setItem(`panel-layout-${e}`,JSON.stringify(t))}catch(s){console.warn("Failed to save panel layout:",s)}},Ut=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}};var Ve=(e=>(e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR",e[e.NONE=4]="NONE",e))(Ve||{});const Re=class Re{constructor(t=2,s="[resize-panels]",d=console){this.level=t,this.prefix=s,this.impl=d,Re.instances.add(this)}static setLevel(t){for(const s of Re.instances)s.setLevel(t)}setLevel(t){this.level=t}static setImplementation(t){for(const s of Re.instances)s.setImplementation(t)}setImplementation(t){this.impl=t}static setPrefix(t){for(const s of Re.instances)s.setPrefix(t)}setPrefix(t){this.prefix=t}enabledFor(t){return this.level<=t}formatMessage(t){return typeof t=="string"?[`${this.prefix} ${t}`]:[this.prefix,t]}static debug(t,...s){Re.instance.debug(t,...s)}debug(t,...s){this.level<=0&&this.impl.debug(...this.formatMessage(t),...s)}static info(t,...s){Re.instance.info(t,...s)}info(t,...s){this.level<=1&&this.impl.info(...this.formatMessage(t),...s)}static warn(t,...s){Re.instance.warn(t,...s)}warn(t,...s){this.level<=2&&this.impl.warn(...this.formatMessage(t),...s)}static error(t,...s){Re.instance.error(t,...s)}error(t,...s){this.level<=3&&this.impl.error(...this.formatMessage(t),...s)}};Re.instances=new Set,Re.instance=new Re(2,"[resize-panels]");let it=Re;const fe=new it(Ve.INFO,"[resize-panels]"),Oe=1e-9,Fe=e=>e.map(t=>({id:t.id,size:t.size,percentageSize:t.percentageSize,preferredPercentageSize:t.preferredPercentageSize,sizeBeforeCollapse:t.sizeBeforeCollapse,percentageSizeBeforeCollapse:t.percentageSizeBeforeCollapse,preferredPercentageSizeBeforeCollapse:t.preferredPercentageSizeBeforeCollapse,measuredPercentageSize:t.measuredPercentageSize,excludeFromAutoGrowth:t.excludeFromAutoGrowth??!1,collapsed:t.collapsed??!1,collapseFromStart:t.collapseFromStart,collapseFromEnd:t.collapseFromEnd,collapsedByDirection:t.collapsedByDirection??null})),ut=e=>e?Fe([e])[0]:null,We=e=>e?!!(e.collapseFromStart||e.collapseFromEnd):!1,dt=(e,t)=>{if(!Number.isFinite(t)||t<=0)return e;const s=e.map(z=>({...z})),d=[];for(let z=0;z<s.length;z+=1){const h=s[z];if(h.collapsed){s[z]={...h,size:0,percentageSize:0};continue}const l=Math.max(0,H(h.minSize,0,t)),f=Math.max(0,H(h.autoMinSize,0,t)),c=Math.max(l,f),g=Math.max(.001,c),S=H(h.maxSize,t,t),P=Math.max(c,S),C=h.sizeUnit==="pixels"||h.originalPixelSize!==void 0,F=Math.max(0,h.size);let k=c;if(C){const U=h.preferredPixelSize??h.size??h.originalPixelSize??c;k=me(U,c,P)}else{const U=h.preferredPercentageSize??h.percentageSize??Be(h.size,t),le=tt(U,t);k=me(le,c,P)}const N=!C&&(h.excludeFromAutoGrowth??!1)&&F<=g;d.push({index:z,isPixelPanel:C,minSize:c,maxSize:P,preferredSize:k,priority:h.pixelAdjustPriority??z+1,flexPriority:C?void 0:h.flexAdjustPriority,excludeFromGrowth:N})}if(d.length===0)return s;const r=new Map;let a=0;for(const z of d)r.set(z.index,z.minSize),a+=z.minSize;let n=t-a;const p=(z,h)=>{if(h<=0)return 0;const l=r.get(z.index)??z.minSize,f=Math.max(0,z.maxSize-l);if(f<=0)return 0;const c=Math.min(h,f);return r.set(z.index,l+c),c};if(n>0){const z=l=>{for(;n>1e-6;){let c=0;const g=[];for(const C of l){if(!C.isPixelPanel&&C.excludeFromGrowth)continue;const F=r.get(C.index)??C.minSize,k=Math.min(C.preferredSize,C.maxSize),N=Math.max(0,k-F);N>1e-6&&(c+=N,g.push({descriptor:C,capacity:N}))}if(g.length===0||c<=1e-6)break;let S=0;const P=n;for(const C of g){if(n<=1e-6)break;if(!C.descriptor.isPixelPanel&&C.descriptor.excludeFromGrowth)continue;const F=P*C.capacity/c,k=Math.min(C.capacity,F);if(k<=0)continue;const N=p(C.descriptor,k);N>0&&(n-=N,S+=N)}if(S<=1e-6)break}},h=d.filter(l=>l.isPixelPanel);h.sort((l,f)=>f.priority-l.priority);for(const l of h){if(n<=0)break;const f=r.get(l.index)??l.minSize,c=Math.min(l.preferredSize,l.maxSize),g=Math.max(0,c-f);if(g<=0)continue;const S=p(l,Math.min(g,n));S>0&&(n-=S)}if(n>0){const l=d.filter(f=>!f.isPixelPanel);if(l.length>0){const f=l.filter(c=>c.flexPriority!==void 0&&!c.excludeFromGrowth);if(f.length>0){f.sort((c,g)=>(g.flexPriority??0)-(c.flexPriority??0));for(const c of f){if(n<=0)break;if(c.excludeFromGrowth)continue;const g=r.get(c.index)??c.minSize,S=Math.min(c.preferredSize,c.maxSize),P=Math.max(0,S-g);if(P<=0)continue;const C=p(c,Math.min(P,n));C>0&&(n-=C)}}if(n>0){const c=f.length>0?l.filter(g=>g.flexPriority===void 0&&!g.excludeFromGrowth):l.filter(g=>!g.excludeFromGrowth);c.length>0&&z(c)}}}}if(n>0){let z=n;for(;;){let h=0;const l=[];for(const c of d){if(!c.isPixelPanel&&c.excludeFromGrowth)continue;const g=r.get(c.index)??c.minSize,S=c.isPixelPanel?Math.min(c.maxSize,c.preferredSize):c.maxSize,P=Math.max(0,S-g);P>0&&(l.push(c),h+=P)}if(h<=0)break;const f=n;for(const c of l){if(n<=0)break;if(!c.isPixelPanel&&c.excludeFromGrowth)continue;const g=r.get(c.index)??c.minSize,S=c.isPixelPanel?Math.min(c.maxSize,c.preferredSize):c.maxSize,P=Math.max(0,S-g);if(P<=0)continue;const C=f*P/h,F=p(c,Math.min(P,C));F>0&&(n-=F)}if(n<=1e-6||Math.abs(z-n)<=1e-6)break;z=n}n=Math.max(0,n)}for(const z of d){const h=r.get(z.index)??z.minSize,l=s[z.index],f=We(l),c=f?h:l.sizeBeforeCollapse,g=f?l.measuredPixelSizeBeforeCollapse??l.measuredPixelSize??h:l.measuredPixelSizeBeforeCollapse,S=t>0?Be(h,t):0;s[z.index]={...l,size:h,percentageSize:S,preferredPercentageSize:l.preferredPercentageSize,preferredPixelSize:z.isPixelPanel?l.preferredPixelSize??h:l.preferredPixelSize,sizeBeforeCollapse:c,measuredPixelSizeBeforeCollapse:g,measuredPixelSize:void 0,measuredPercentageSize:void 0}}return Ue(s)},Ue=e=>{let t=0;for(const r of e)r.collapsed||(t+=Math.max(r.size,0));if(t<=0){let r=!1;const a=e.map(n=>(n.percentageSize??0)!==0?(r=!0,{...n,percentageSize:0,measuredPercentageSize:n.measuredPercentageSize!==void 0?0:n.measuredPercentageSize}):!n.collapsed&&n.sizeBeforeCollapse!==n.size?(r=!0,{...n,sizeBeforeCollapse:n.size}):n);return r?a:e}let s=!1;const d=e.map(r=>{if(r.collapsed)return(r.percentageSize??0)!==0?(s=!0,{...r,percentageSize:0,measuredPercentageSize:r.measuredPercentageSize!==void 0?0:r.measuredPercentageSize}):r;const a=Be(r.size,t),n=r.measuredPercentageSize,h=(n!==void 0?Math.abs(n-a):1/0)<1e-4&&n!==void 0?n:a,l=xt(h,Ht),c=Math.abs((r.percentageSize??0)-l)>0||r.percentageSize===void 0,g=r.sizeBeforeCollapse===void 0||r.sizeBeforeCollapse!==r.size,S=We(r),P=S&&g,C=r.measuredPixelSize??r.size,F=S&&(r.measuredPixelSizeBeforeCollapse===void 0||r.measuredPixelSizeBeforeCollapse!==C);if(!(c||P||F))return r;s=!0;const k=P?r.size:r.sizeBeforeCollapse,N=F?C:r.measuredPixelSizeBeforeCollapse;return{...r,percentageSize:l,sizeBeforeCollapse:k,measuredPixelSizeBeforeCollapse:N,collapsedByDirection:r.collapsed?r.collapsedByDirection??null:null}});return s?d:e},ft=(e,t)=>{if(t<=0)return!1;const s=[];let d=0;for(let l=0;l<e.length;l+=1){const f=e[l];!f||f.collapsed||(s.push(l),d+=f.size)}if(s.length===0)return!1;let r=t-d;if(Math.abs(r)<=0)return!1;let a=!1;const n=l=>{const f=e[l],c=H(f.minSize,0,t),g=H(f.autoMinSize,0,t),S=Math.max(c,g),P=H(f.maxSize,t,t),C=f.sizeUnit==="percentage"&&f.originalPixelSize===void 0;return{index:l,minSize:S,maxSize:P,isFlexible:C}},p=(l,f)=>{if(!Number.isFinite(f)||Math.abs(f)<=0)return;const c=e[l];if(!c)return;const g=Math.max(0,c.size+f);if(Math.abs(g-c.size)<=0)return;const S=Be(g,t),P=We(c),C=P?g:c.sizeBeforeCollapse,F=P?c.measuredPixelSizeBeforeCollapse??c.measuredPixelSize??g:c.measuredPixelSizeBeforeCollapse;e[l]={...c,size:g,percentageSize:S,sizeBeforeCollapse:C,measuredPixelSizeBeforeCollapse:F,measuredPixelSize:void 0,measuredPercentageSize:void 0},r-=f,a=!0},z=l=>{for(const f of l){if(Math.abs(r)<=0)break;const c=e[f.index];if(!c||c.collapsed)continue;const g=c.size;if(r>0){const S=Math.max(0,f.maxSize-g);if(S<=0)continue;const P=Math.min(S,r);if(P<=0)continue;p(f.index,P)}else{const S=Math.max(0,g-f.minSize);if(S<=0)continue;const P=Math.min(S,Math.abs(r));if(P<=0)continue;p(f.index,-P)}}},h=s.map(l=>n(l)).filter(l=>l.isFlexible);if(h.length>0&&z(h),Math.abs(r)>0){const l=r;r=jt(e,r,t,{enforceAutoMinSize:!0}),Math.abs(r-l)>0&&(a=!0)}return a},At=(e,t,s)=>{if(!(e.sizeUnit==="pixels"||e.originalPixelSize!==void 0)||e.pixelAdjustPriority!==void 0)return e;const r=t.filter((n,p)=>p!==s&&(n.sizeUnit==="pixels"||n.originalPixelSize!==void 0)).map(n=>n.pixelAdjustPriority).filter(n=>n!==void 0),a=r.length>0?Math.max(...r)+1:1;return{...e,pixelAdjustPriority:a}},cr=(e,t)=>{switch(t.type){case"REGISTER_PANEL":{fe.debug("REGISTER_PANEL",t.panel);const s=e.findIndex(a=>a.id===t.panel.id);if(s>=0){const a=[...e],n=e[s],p={...n,minSize:t.panel.minSize,maxSize:t.panel.maxSize,collapseFromStart:t.panel.collapseFromStart,collapseFromEnd:t.panel.collapseFromEnd,collapsedByDirection:t.panel.collapsedByDirection!==void 0?t.panel.collapsedByDirection:n.collapsedByDirection,sizeUnit:t.panel.sizeUnit,originalPixelSize:t.panel.originalPixelSize,preferredPercentageSize:t.panel.preferredPercentageSize!==void 0?t.panel.preferredPercentageSize:n.preferredPercentageSize,preferredPercentageSizeBeforeCollapse:t.panel.preferredPercentageSizeBeforeCollapse!==void 0?t.panel.preferredPercentageSizeBeforeCollapse:n.preferredPercentageSizeBeforeCollapse,percentageSizeBeforeCollapse:t.panel.percentageSizeBeforeCollapse!==void 0?t.panel.percentageSizeBeforeCollapse:n.percentageSizeBeforeCollapse,pixelAdjustPriority:t.panel.pixelAdjustPriority!==void 0?t.panel.pixelAdjustPriority:n.pixelAdjustPriority,flexAdjustPriority:t.panel.flexAdjustPriority!==void 0?t.panel.flexAdjustPriority:n.flexAdjustPriority,autoMinSize:t.panel.autoMinSize!==void 0?t.panel.autoMinSize:n.autoMinSize,excludeFromAutoGrowth:t.panel.excludeFromAutoGrowth!==void 0?t.panel.excludeFromAutoGrowth:n.excludeFromAutoGrowth},z=At(p,e,s);if(fe.debug("register panel (update)",{panelId:z.id,incoming:ut(t.panel),previous:ut(n),next:ut(z)}),a[s]=z,!z.collapsed){const h=a.reduce((l,f)=>f.collapsed?l:l+f.size,0);if(h>0){const l=H(z.minSize,0,h),f=Math.max(l,H(z.maxSize,h,h));if(z.size<l-Oe||z.size>f+Oe)return dt(a,h)}}return a}const d={...t.panel},r=At(d,e);return fe.debug("register panel (insert)",{panelId:r.id,incoming:ut(r),previousLength:e.length}),[...e,r]}case"UNREGISTER_PANEL":{fe.debug("UNREGISTER_PANEL",t.id);const s=e.filter(r=>r.id!==t.id),d=Ue(s);return fe.enabledFor(Ve.DEBUG)&&fe.debug("unregister panel",{panelId:t.id,previous:Fe(e),filtered:Fe(s),next:Fe(d)}),d}case"RESIZE_PANELS":{fe.debug("RESIZE_PANELS",t.leftId,t.rightId,t.leftSize,t.rightSize);const s=e.findIndex(M=>M.id===t.leftId),d=e.findIndex(M=>M.id===t.rightId);if(s===-1||d===-1)return e;const r=[...e],a=r[s],n=r[d];if(a.collapsed||n.collapsed||t.leftSize===a.size&&t.rightSize===n.size)return e;const p=t.containerSize??e.reduce((M,re)=>M+re.size,0),z=H(a.minSize,0,p),h=H(a.maxSize,p,p),l=H(n.minSize,0,p),f=H(n.maxSize,p,p),c=a.size+n.size,g=e.reduce((M,re)=>re.collapsed?M:M+re.size,0),S=g-c,P=z+l,C=h+f,F=me(t.leftSize+t.rightSize,P,C);let k=p>0?p-S:F;Number.isFinite(k)||(k=F);const N=me(Math.max(F,k),P,C),U=M=>({min:Math.max(z,M-f),max:Math.min(h,M-l)}),le=M=>({min:Math.max(l,M-h),max:Math.min(f,M-z)}),ee=Math.abs(t.leftSize-a.size),ne=Math.abs(t.rightSize-n.size),j=ee>=ne;let L=a.size,y=n.size;if(j){const M=U(N);if(M.min>M.max+Oe)return e;const re=me(t.leftSize,M.min,M.max),ze=N-re;if(ze<l-Oe||ze>f+Oe)return e;L=re,y=me(ze,l,f)}else{const M=le(N);if(M.min>M.max+Oe)return e;const re=me(t.rightSize,M.min,M.max),ze=N-re;if(ze<z-Oe||ze>h+Oe)return e;y=re,L=me(ze,z,h)}const D=L+y;if(Math.abs(N-D)>Oe)return e;const W=g-a.size-n.size+D,G=p>0?p:W,T=G>0?Be(L,G):0,be=G>0?Be(y,G):0,A=a.sizeUnit==="pixels"||a.originalPixelSize!==void 0?L:a.preferredPixelSize,ce=n.sizeUnit==="pixels"||n.originalPixelSize!==void 0?y:n.preferredPixelSize,_e=H(a.autoMinSize,0,p),de=H(n.autoMinSize,0,p),Ie=Math.max(.001,_e),Se=Math.max(.001,de),Ce=a.sizeUnit==="percentage"&&a.originalPixelSize===void 0,se=n.sizeUnit==="percentage"&&n.originalPixelSize===void 0;let ye=a.excludeFromAutoGrowth,Ae=n.excludeFromAutoGrowth;Ce&&(L<=Ie?ye=!0:L>Ie&&(ye=!1)),se&&(y<=Se?Ae=!0:y>Se&&(Ae=!1));const Le=We(a),ke=We(n);return r[s]={...a,size:L,percentageSize:T,preferredPercentageSize:T>0?T:a.preferredPercentageSize,preferredPixelSize:A,sizeBeforeCollapse:Le?L:a.sizeBeforeCollapse,measuredPixelSize:void 0,measuredPercentageSize:void 0,excludeFromAutoGrowth:ye},r[d]={...n,size:y,percentageSize:be,preferredPercentageSize:be>0?be:n.preferredPercentageSize,preferredPixelSize:ce,sizeBeforeCollapse:ke?y:n.sizeBeforeCollapse,measuredPixelSize:void 0,measuredPercentageSize:void 0,excludeFromAutoGrowth:Ae},p>0&&ft(r,p)?Ue(r):r}case"SET_PANELS":{fe.debug("SET_PANELS",t.panels);const s=fe.enabledFor(Ve.DEBUG),d=t.panels.map(h=>{const l=h.sizeUnit==="pixels"||h.originalPixelSize!==void 0,f=h.preferredPercentageSize!==void 0?h.preferredPercentageSize:h.percentageSize,c=h.preferredPixelSize!==void 0?h.preferredPixelSize:l?h.size:h.preferredPixelSize;return{...h,preferredPercentageSize:f,preferredPixelSize:c}}),r=Fe(e),a=s?Fe(d):null,n=Ue(d),p=Fe(n);let z=r.length===p.length;if(z)for(let h=0;h<p.length;h+=1){const l=p[h],f=r[h];if(!f){z=!1;break}if(!(f.id===l.id&&f.size===l.size&&f.percentageSize===l.percentageSize&&f.preferredPercentageSize===l.preferredPercentageSize&&f.sizeBeforeCollapse===l.sizeBeforeCollapse&&f.percentageSizeBeforeCollapse===l.percentageSizeBeforeCollapse&&f.preferredPercentageSizeBeforeCollapse===l.preferredPercentageSizeBeforeCollapse&&f.measuredPercentageSize===l.measuredPercentageSize&&f.excludeFromAutoGrowth===l.excludeFromAutoGrowth&&f.collapsed===l.collapsed&&f.collapseFromStart===l.collapseFromStart&&f.collapseFromEnd===l.collapseFromEnd&&f.collapsedByDirection===l.collapsedByDirection)){z=!1;break}}return z?(s&&fe.debug("set panels skipped (no diff)",{previous:r,incoming:a,next:p,previousLength:r.length,incomingLength:a?.length??d.length}),e):(s&&fe.debug("set panels",{previous:r,incoming:a,next:p,previousLength:r.length,incomingLength:a?.length??d.length}),n)}case"CONTAINER_RESIZED":{fe.debug("CONTAINER_RESIZED",t.containerSize);const s=fe.enabledFor(Ve.DEBUG);if(t.containerSize<=0)return s&&fe.debug("container resized skipped (non-positive size)",{containerSize:t.containerSize,panels:Fe(e)}),e;s&&fe.debug("container resized (before)",{containerSize:t.containerSize,panels:Fe(e)});const d=dt(e,t.containerSize);if(s&&fe.debug("container resized (after recalc)",{containerSize:t.containerSize,panels:Fe(d)}),t.containerSize>0&&ft(d,t.containerSize)){const r=Ue(d);return s&&fe.debug("container resized (after reconcile)",{containerSize:t.containerSize,panels:Fe(r)}),r}return s&&fe.debug("container resized (final)",{containerSize:t.containerSize,panels:Fe(d)}),d}case"COLLAPSE_PANEL":{fe.debug("COLLAPSE_PANEL",t.id);const s=e.findIndex(c=>c.id===t.id);if(s===-1)return e;const d=e[s],r=t.from==="start"?d.collapseFromStart:d.collapseFromEnd;if(!(We(d)&&r)||d.collapsed)return e;const n=d.size,p=d.measuredPixelSize??n,z=d.percentageSize??d.preferredPercentageSize??0,h={...d,collapsed:!0,collapsedByDirection:t.from,sizeBeforeCollapse:n,percentageSizeBeforeCollapse:z,preferredPercentageSizeBeforeCollapse:d.preferredPercentageSize??z,preferredPixelSizeBeforeCollapse:d.preferredPixelSize??n,measuredPixelSizeBeforeCollapse:p,size:0,percentageSize:0,preferredPercentageSize:d.preferredPercentageSize,measuredPixelSize:d.measuredPixelSize!==void 0?0:d.measuredPixelSize,measuredPercentageSize:d.measuredPercentageSize!==void 0?0:d.measuredPercentageSize},l=[...e];l[s]=h;const f=dt(l,t.containerSize);return t.containerSize>0&&ft(f,t.containerSize)?Ue(f):f}case"EXPAND_PANEL":{fe.debug("EXPAND_PANEL",t.id,t.targetSize);const s=e.findIndex(N=>N.id===t.id);if(s===-1)return e;const d=t.containerSize,r=e[s],a=t.from==="start"?r.collapseFromStart:r.collapseFromEnd;if(!(We(r)&&a&&r.collapsed)||r.collapsedByDirection&&r.collapsedByDirection!==t.from)return e;const p=[t.targetSize,r.sizeBeforeCollapse,r.measuredPixelSizeBeforeCollapse,r.preferredPixelSizeBeforeCollapse,r.originalPixelSize].find(N=>N!==void 0)??0,z=H(r.minSize,0,d),h=H(r.maxSize,d,d),l=me(p,z,h),f=Be(l,d),c=r.measuredPixelSizeBeforeCollapse??l,g=Be(c,d),S=r.preferredPercentageSizeBeforeCollapse??r.percentageSizeBeforeCollapse??f,P=r.preferredPixelSizeBeforeCollapse??r.preferredPixelSize??l,C={...r,collapsed:!1,collapsedByDirection:null,size:l,percentageSize:f,preferredPercentageSize:S,preferredPixelSize:P,sizeBeforeCollapse:l,percentageSizeBeforeCollapse:void 0,preferredPercentageSizeBeforeCollapse:void 0,preferredPixelSizeBeforeCollapse:void 0,measuredPixelSize:l,measuredPixelSizeBeforeCollapse:c,measuredPercentageSize:g},F=[...e];F[s]=C;const k=dt(F,d);return d>0&&ft(k,d)?Ue(k):k}default:return e}},Qe=new it(Ve.INFO,"[resize-panels]"),Wt=({direction:e,style:t,onLayout:s,autoSaveId:d,showDebugInfo:r=!1})=>{const[a,n]=i.useReducer(cr,[]),[p,z]=i.useState({width:0,height:0}),[h,l]=i.useState(!1),[f,c]=i.useState(!1),[g,S]=i.useState(null),[P,C]=i.useState({}),[F,k]=i.useState({}),N=i.useRef(null),U=i.useRef(s),le=i.useRef(!1),ee=i.useRef(0),ne=i.useRef(p),j=i.useRef(p),L=i.useRef(h),y=i.useRef(g?.reason??null),D=i.useRef({}),W=i.useRef(null),G=i.useRef(null),T=i.useRef(null),be=i.useRef({width:0,height:0}),A=i.useRef({width:0,height:0}),ce=i.useRef({}),_e=i.useRef({}),de=i.useCallback(u=>u.map(m=>({...m})),[]);i.useEffect(()=>{j.current=p},[p]),i.useEffect(()=>{L.current=h},[h]),i.useEffect(()=>{y.current=g?.reason??null},[g?.reason]),i.useEffect(()=>{if(g)return;const u=e==="horizontal"?p.width:p.height;!Number.isFinite(u)||u<=4||a.length!==0&&(W.current=de(a))},[g,a,e,p.width,p.height,de]);const Ie=i.useRef(a);i.useEffect(()=>{Ie.current=a},[a]),i.useEffect(()=>{const u=G.current;if(g){G.current=g;return}if(u&&!g&&W.current){G.current=null;const m=new Set(Ie.current.map(v=>v.id)),E=de(W.current).filter(v=>m.has(v.id));E.length>0&&n({type:"SET_PANELS",panels:E});return}G.current=g},[g,de]),i.useLayoutEffect(()=>{if(!N.current)return;const u=new ResizeObserver(m=>{for(const E of m){const v=E.target,X=v?$e(v,"horizontal"):null,oe=v?$e(v,"vertical"):null,te=X?X.inner:0,_=oe?oe.inner:0,pe=E.contentRect.width,V=E.contentRect.height,R=te>0?te:pe,x=_>0?_:V;be.current={width:R,height:x};const O=A.current,Z=Math.abs(O.width-R)>=.5,J=Math.abs(O.height-x)>=.5;Z||J?(T.current&&(clearTimeout(T.current),T.current=null),!h&&R>0&&x>0&&l(!0),z({width:R,height:x}),A.current={width:R,height:x}):(T.current&&clearTimeout(T.current),T.current=setTimeout(()=>{const $=be.current;z($),A.current=$,T.current=null},150))}});return u.observe(N.current),()=>{u.disconnect(),T.current&&clearTimeout(T.current)}},[h]),i.useEffect(()=>()=>{for(const u of Object.values(ce.current))clearTimeout(u)},[]),i.useLayoutEffect(()=>{const u=ne.current,m=p,E=e==="horizontal"?Math.abs(u.width-m.width)>=.5:Math.abs(u.height-m.height)>=.5;if(f&&E){const v=e==="horizontal"?m.width:m.height;n({type:"CONTAINER_RESIZED",containerSize:v,direction:e})}ne.current=m},[p,f,e]);const Se=i.useCallback(()=>{Qe.debug("panels[0]?.id",a[0]?.id);const u=a.some(o=>{if(o.collapsed||o.sizeUnit!=="percentage")return!1;const Y=o.collapseFromStart||o.collapseFromEnd?o.sizeBeforeCollapse??o.measuredPixelSizeBeforeCollapse??o.originalPixelSize??o.measuredPixelSize??0:o.measuredPixelSize??o.originalPixelSize??o.size,Q=o.percentageSize!==void 0&&o.percentageSize>0;return o.size<=0&&(Y>0||Q)}),m=e==="horizontal"?p.width:p.height,E=m>0;if(g||!E||!(a.length>0&&(a.length!==ee.current||!f||u)))return;const oe=a.filter(o=>!o.collapsed&&(o.originalPixelSize!==void 0||o.sizeUnit==="pixels")).reduce((o,w)=>{const Y=w.preferredPixelSize??w.originalPixelSize??w.size;return o+Math.max(0,Y??0)},0),te=a.filter(o=>o.sizeUnit==="percentage"&&!o.collapsed),_=te.map(o=>o.id),pe=te.map(o=>{const w=o.preferredPercentageSize??o.percentageSize;return w!==void 0&&w>0?tt(w,m):o.size>0?o.size:0}),V=pe.reduce((o,w)=>o+w,0),R=m-oe,x=Math.max(0,R),O=x>0,Z=a.map(o=>{if(o.collapsed){const w=o.sizeBeforeCollapse??o.measuredPixelSizeBeforeCollapse??o.originalPixelSize??(o.sizeUnit==="pixels"?o.size:void 0),Y=o.sizeUnit==="percentage"&&o.percentageSize!==void 0?tt(o.percentageSize,m):void 0,Q=w??Y??0,ve=o.measuredPixelSizeBeforeCollapse??o.measuredPixelSize??Q;return{...o,size:0,percentageSize:0,preferredPercentageSize:o.preferredPercentageSize,sizeBeforeCollapse:Q,percentageSizeBeforeCollapse:o.percentageSizeBeforeCollapse??o.percentageSize??o.preferredPercentageSize??0,preferredPercentageSizeBeforeCollapse:o.preferredPercentageSizeBeforeCollapse??o.preferredPercentageSize??o.percentageSize??void 0,preferredPixelSizeBeforeCollapse:o.preferredPixelSizeBeforeCollapse??o.preferredPixelSize??Q,measuredPixelSizeBeforeCollapse:ve}}if(o.sizeUnit==="pixels"||o.originalPixelSize!==void 0){const w=o.size,Y=m>0?Be(w,m):0,Q={...o,size:w,percentageSize:Y,preferredPixelSize:o.preferredPixelSize??o.originalPixelSize??w,preferredPercentageSize:o.preferredPercentageSize!==void 0?o.preferredPercentageSize:Y>0?Y:void 0};if(o.collapseFromStart||o.collapseFromEnd){const ve=o.sizeBeforeCollapse??w,qe=o.measuredPixelSizeBeforeCollapse??o.measuredPixelSize??ve;Q.sizeBeforeCollapse=ve,Q.measuredPixelSizeBeforeCollapse=qe,Q.preferredPixelSizeBeforeCollapse=o.preferredPixelSizeBeforeCollapse??o.preferredPixelSize??ve}return Q}if(o.sizeUnit==="percentage"){const w=_.indexOf(o.id),Y=w!==-1?pe[w]:0,Q=H(o.minSize,0,m),ve=H(o.maxSize,m,m),qe=Math.max(Q,o.sizeBeforeCollapse??0,o.measuredPixelSizeBeforeCollapse??0,o.measuredPixelSize??0,o.originalPixelSize??0,o.size>0?o.size:0,o.percentageSize!==void 0?tt(o.percentageSize,m):0,1),nt=Y>0?Y:qe;let Ne;if(!O)Ne=Q;else if(w!==-1&&V>0){const I=nt/V,B=x*I;Ne=me(B,Q,ve)}else{const I=o.percentageSize!==void 0?tt(o.percentageSize,m):o.size,B=I>0?I:nt;Ne=me(B,Q,ve)}const Ke=m>0?Be(Ne,m):0,b={...o,size:Ne,percentageSize:Ke,preferredPercentageSize:o.preferredPercentageSize!==void 0?o.preferredPercentageSize:Ke>0?Ke:void 0};if(o.collapseFromStart||o.collapseFromEnd){const I=o.sizeBeforeCollapse??Ne,B=o.measuredPixelSizeBeforeCollapse??o.measuredPixelSize??I;b.sizeBeforeCollapse=I,b.measuredPixelSizeBeforeCollapse=B,b.preferredPixelSizeBeforeCollapse=o.preferredPixelSizeBeforeCollapse??o.preferredPixelSize??I}return b}return o}),J=[];for(let o=0;o<Z.length;o+=1){const w=Z[o];w.sizeUnit==="percentage"&&!w.collapsed&&J.push(o)}const $=J.reduce((o,w)=>o+Z[w].size,0),q=R-$;Math.abs(q)>0&&jt(Z,q,m,{enforceAutoMinSize:!0}),n({type:"SET_PANELS",panels:Z}),ee.current=a.length,c(!0)},[a,e,p.width,p.height,f,g]);i.useEffect(()=>{const u=e==="horizontal"?p.width:p.height,m=u>0,E=m&&a.length>0;if(m&&a.length===0){g&&S(null);return}const v=E?a.reduce((V,R)=>{if(R.collapsed)return V;const x=H(R.minSize,0,u);return V+Math.max(0,x)},0):null,X=E?a.reduce((V,R)=>{if(R.collapsed)return V;const x=H(R.maxSize,u,u);return V+Math.max(0,x)},0):null,oe=v??g?.totalMinimumSize??null,te=X??g?.totalMaximumSize??null;if(!m){g&&S(V=>!V||V.availableContainerSize===u?V:{reason:V.reason,totalMinimumSize:null,totalMaximumSize:null,availableContainerSize:u});return}const _=oe!==null&&oe-u>Number.EPSILON,pe=te!==null&&u-te>Number.EPSILON;if(_||pe){const R={reason:_?"minimum-exceeded":"maximum-insufficient",totalMinimumSize:oe,totalMaximumSize:te,availableContainerSize:u};S(x=>x&&x.reason===R.reason&&Math.abs((x.totalMinimumSize??0)-(R.totalMinimumSize??0))<=Number.EPSILON&&Math.abs((x.totalMaximumSize??0)-(R.totalMaximumSize??0))<=Number.EPSILON&&Math.abs(x.availableContainerSize-R.availableContainerSize)<=Number.EPSILON?x:R);return}if(g){const V=g.reason==="minimum-exceeded",R=g.reason==="maximum-insufficient";(!V||oe!==null)&&(!R||te!==null)&&!_&&!pe&&S($=>$&&null)}},[a,e,p.width,p.height,g]),i.useEffect(()=>{Se()},[Se]),i.useEffect(()=>{U.current=s},[s]);const Ce=i.useMemo(()=>a.map(u=>u.size),[a]),se=i.useRef(!1);i.useLayoutEffect(()=>{if(a.length===0){se.current=!1;return}!se.current&&(f||a.every(u=>u.collapsed||u.size>0))&&(se.current=!0),se.current&&U.current&&U.current(Ce)},[Ce,a,f]),i.useEffect(()=>{if(d&&Ce.length>0&&se.current){const u=setTimeout(()=>{$t(d,Ce)},200);return()=>clearTimeout(u)}},[d,Ce]),i.useEffect(()=>{if(!d||a.length===0||le.current)return;const u=e==="horizontal"?p.width:p.height;if(u<=0)return;const m=Ut(d);if(m&&m.length===a.length){const E=a.map((v,X)=>{const oe=H(v.minSize,0,u),te=H(v.maxSize,u,u),_=me(m[X],oe,te),pe=Be(_,u),V=v.sizeUnit==="pixels"||v.originalPixelSize!==void 0?_:v.preferredPixelSize;return{...v,size:_,percentageSize:pe,preferredPercentageSize:pe>0?pe:v.preferredPercentageSize,preferredPixelSize:V}});n({type:"SET_PANELS",panels:E}),le.current=!0}},[d,a,p.width,p.height,e]);const ye=i.useCallback(u=>{const m=j.current,E=D.current,v=JSON.stringify({id:u.id,size:u.size??null,percentageSize:u.percentageSize??null,preferredPercentageSize:u.preferredPercentageSize??null,preferredPixelSize:u.preferredPixelSize??null,sizeUnit:u.sizeUnit,originalPixelSize:u.originalPixelSize??null,minSize:u.minSize??null,maxSize:u.maxSize??null,collapseFromStart:u.collapseFromStart,collapseFromEnd:u.collapseFromEnd,collapsed:u.collapsed??!1,collapsedByDirection:u.collapsedByDirection??null,sizeBeforeCollapse:u.sizeBeforeCollapse??null,percentageSizeBeforeCollapse:u.percentageSizeBeforeCollapse??null,preferredPercentageSizeBeforeCollapse:u.preferredPercentageSizeBeforeCollapse??null,preferredPixelSizeBeforeCollapse:u.preferredPixelSizeBeforeCollapse??null,pixelAdjustPriority:u.pixelAdjustPriority??null,flexAdjustPriority:u.flexAdjustPriority??null,autoMinSize:u.autoMinSize??null});if(E[u.id]===v){Qe.debug("useResizablePanels.registerPanel skipped",{panelId:u.id,reason:"duplicate-registration"});return}E[u.id]=v,Qe.debug("useResizablePanels.registerPanel",{panelId:u.id,containerReady:L.current,violationReason:y.current,containerSize:{width:m.width,height:m.height}}),n({type:"REGISTER_PANEL",panel:u})},[]),Ae=i.useCallback(u=>{const m=j.current;Qe.debug("useResizablePanels.unregisterPanel",{panelId:u,containerReady:L.current,violationReason:y.current,containerSize:{width:m.width,height:m.height}}),n({type:"UNREGISTER_PANEL",id:u}),delete D.current[u],ce.current[u]&&(clearTimeout(ce.current[u]),delete ce.current[u]),delete _e.current[u],C(E=>{if(!(u in E))return E;const v={...E};return delete v[u],v})},[]),Le=i.useCallback((u,m,E,v)=>{const X=e==="horizontal"?p.width:p.height,oe=a.find($=>$.id===u),te=a.find($=>$.id===m);if(!(oe&&te)){n({type:"RESIZE_PANELS",leftId:u,rightId:m,leftSize:E,rightSize:v,containerSize:X});return}if(oe.collapsed||te.collapsed)return;const _=H(oe.minSize,0,X),pe=H(oe.maxSize,X,X),V=H(te.minSize,0,X),R=H(te.maxSize,X,X);let x=me(E,_,pe),O=me(v,V,R);const Z=x+O,J=E+v;if(Math.abs(Z-J)>1e-9){const $=J-Z;if($>0){const q=pe-x,o=R-O,w=q+o;if(w>0){const Y=Math.min($*(q/w),q),Q=Math.min($-Y,o);x+=Y,O+=Q}}else if($<0){const q=Math.abs($),o=x-_,w=O-V,Y=o+w;if(Y>0){const Q=Math.min(q*(o/Y),o),ve=Math.min(q-Q,w);x-=Q,O-=ve}}}x=me(x,_,pe),O=me(O,V,R),Math.abs(x+O-J)>1e-9&&Qe.error("Total size after constraints should be close to the original total size.",{constrainedLeftSize:x,constrainedRightSize:O,originalTotalSize:J}),n({type:"RESIZE_PANELS",leftId:u,rightId:m,leftSize:x,rightSize:O,containerSize:X})},[e,p.width,p.height,a]),ke=i.useCallback((u,m)=>{const E=e==="horizontal"?p.width:p.height;n({type:"COLLAPSE_PANEL",id:u,from:m,containerSize:E})},[e,p.width,p.height]),M=i.useCallback((u,m,E)=>{const v=e==="horizontal"?p.width:p.height;n({type:"EXPAND_PANEL",id:u,from:m,containerSize:v,targetSize:E})},[e,p.width,p.height]),re=i.useCallback(u=>a.find(m=>m.id===u),[a]),ze=i.useCallback((u,m)=>{if(m===null){ce.current[u]&&(clearTimeout(ce.current[u]),delete ce.current[u]),delete _e.current[u],C(E=>{if(!(u in E))return E;const v={...E};return delete v[u],v});return}C(E=>{const v=E[u],X=v&&Math.abs(v.pixelSize-m.pixelSize)<.1,oe=v&&Math.abs(v.percentageSize-m.percentageSize)<.01;return X&&oe?(ce.current[u]&&clearTimeout(ce.current[u]),_e.current[u]=m,ce.current[u]=setTimeout(()=>{const te=_e.current[u];te&&C(_=>({..._,[u]:te})),delete ce.current[u]},200),E):(ce.current[u]&&(clearTimeout(ce.current[u]),delete ce.current[u]),{...E,[u]:m})})},[]),ue=i.useCallback((u,m)=>{k(E=>{if(m===null){if(!(u in E))return E;const X={...E};return delete X[u],X}const v=E[u];return v&&Math.abs(v.thickness-m.thickness)<=.25&&v.visible===m.visible&&v.direction===m.direction&&v.startPanelId===m.startPanelId&&v.endPanelId===m.endPanelId?E:{...E,[u]:m}})},[]),Me=i.useMemo(()=>({direction:e,panels:a,containerSize:p,isContainerReady:h,showDebugInfo:r,registerPanel:ye,unregisterPanel:Ae,resizePanels:Le,collapsePanel:ke,expandPanel:M,getPanel:re,reportPanelMeasurement:ze,panelMeasurements:P,reportHandleMeasurement:ue,handleMeasurements:F,layoutConstraintViolation:g}),[e,a,p,h,r,ye,Ae,Le,ke,M,re,ze,P,ue,F,g]),De=i.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:N,contextValue:Me,groupStyle:De}},ur=e=>{const{getPanel:t,collapsePanel:s,expandPanel:d}=ht(),r=t(e),a=i.useCallback(z=>{s(e,z)},[s,e]),n=i.useCallback((z,h)=>{d(e,z,h)},[d,e]),p=i.useCallback((z,h)=>{r?.collapsed?n(z,h):a(z)},[r?.collapsed,a,n]);return i.useMemo(()=>({panel:r,isCollapsed:r?.collapsed??!1,canCollapseFromStart:r?.collapseFromStart??!1,canCollapseFromEnd:r?.collapseFromEnd??!1,collapse:a,expand:n,toggle:p}),[r,a,n,p])},dr=({panel:e,measuredPixelSize:t,measuredPercentageSize:s,containerAxisSize:d,containerLabel:r})=>{const a=e?.size,n=typeof a=="number"&&Number.isFinite(a)?`${a.toFixed(3)}px`:"-",p=e?.percentageSize!==void 0?`${e.percentageSize.toFixed(3)}%`:"-",z=Number.isFinite(t)?`${t.toFixed(3)}px`:"-",h=Number.isFinite(s)?`${s.toFixed(3)}%`:"-",l=Number.isFinite(d)?`${d.toFixed(3)}px`:"-",f=`${n} / ${p}`,c=`${z} / ${h}`,g=e?.sizeUnit==="pixels"?"Fixed":"Flexible",S=[g,`${r}: ${l}`,`size (state): ${f}`,`size (measured): ${c}`];return{stateValueDisplay:f,measuredValueDisplay:c,containerDisplay:l,headlineLabel:g,titleText:S.join(`
2
+ `)}},fr=i.memo(({panel:e,measuredPixelSize:t,measuredPercentageSize:s,containerAxisSize:d,direction:r})=>{const a=r==="horizontal"?"container width":"container height",{stateValueDisplay:n,measuredValueDisplay:p,containerDisplay:z,headlineLabel:h,titleText:l}=i.useMemo(()=>dr({panel:e,measuredPixelSize:t,measuredPercentageSize:s,containerAxisSize:d,containerLabel:a}),[e,t,s,d,a]),f={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"},c={display:"flex",flexDirection:"column",gap:"1px",minWidth:"0",width:"100%"},g={display:"flex",justifyContent:"flex-start",alignItems:"center",gap:"6px",fontSize:"10px",color:"#ccc",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",minWidth:"0",width:"100%"},S={display:"flex",justifyContent:"space-between",alignItems:"center",gap:"6px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",minWidth:"0",width:"100%"},P={marginLeft:"auto",fontVariantNumeric:"tabular-nums",whiteSpace:"nowrap"};return K.jsx("div",{style:f,title:l,children:K.jsxs("div",{style:c,children:[K.jsx("div",{style:g,children:K.jsx("span",{children:h})}),K.jsxs("div",{style:S,children:[K.jsx("span",{children:a}),K.jsx("span",{style:P,children:z})]}),K.jsxs("div",{style:S,children:[K.jsx("span",{children:"size (state)"}),K.jsx("span",{style:P,children:n})]}),K.jsxs("div",{style:S,children:[K.jsx("span",{children:"size (measured)"}),K.jsx("span",{style:P,children:p})]})]})})}),pt=new it(Ve.INFO,"[resize-panels]"),pr={both:{collapseFromStart:!0,collapseFromEnd:!0},start:{collapseFromStart:!0,collapseFromEnd:!1},end:{collapseFromStart:!1,collapseFromEnd:!0}},hr=e=>{if(!e)return{collapseFromStart:!1,collapseFromEnd:!1};const t=pr[e.from];if(!t)throw new Error("Invalid collapsible configuration: unsupported 'from' value");return t},Lt=({ref:e,setState:t,panelIdRef:s,label:d,timerRef:r})=>a=>{if(!Number.isFinite(a))return;const n=a<0?0:a,p=d==="pixel"?.1:.01;if(Math.abs(e.current-n)<p){r&&(r.current&&clearTimeout(r.current),r.current=setTimeout(()=>{e.current=n,t(n),r.current=null},200));return}r?.current&&(clearTimeout(r.current),r.current=null),e.current=n,pt.debug(`commit ${d}`,{panelId:s.current,[d]:n}),t(n)},zr=i.memo(({id:e,defaultSize:t={value:50,unit:"percentage"},minSize:s,maxSize:d,autoMinSize:r,className:a,style:n,children:p,order:z=0,collapsible:h,defaultCollapsed:l=!1,pixelAdjustPriority:f,flexAdjustPriority:c,contentOverflow:g="auto"})=>{const{direction:S,registerPanel:P,unregisterPanel:C,getPanel:F,showDebugInfo:k,isContainerReady:N,reportPanelMeasurement:U,containerSize:le}=ht(),ee=i.useRef(null),ne=i.useId(),j=i.useRef(e||`panel-${ne}`);i.useEffect(()=>{e&&e!==j.current&&pt.warn("Panel id prop change after mount is ignored.",{currentId:j.current,attemptedId:e})},[e]);const L=i.useMemo(()=>hr(h),[h]),y=L.collapseFromStart||L.collapseFromEnd,D=i.useMemo(()=>y?L.collapseFromStart?"start":L.collapseFromEnd?"end":null:null,[y,L.collapseFromStart,L.collapseFromEnd]),W=y&&l,G=i.useMemo(()=>Gt(t),[t]),T=G?.unit==="pixels",be=T?void 0:G?.value,A=F(j.current),ce=!!A?.collapsed,_e=(A?.size??0)<=0,de=ce||_e,Ie=i.useRef(A);Ie.current=A;const Se=i.useRef(de);Se.current=de;const[Ce,se]=i.useState(()=>T&&G?G.value:A?.size!==void 0?A.size:0),[ye,Ae]=i.useState(()=>!T&&G?G.value:A?.percentageSize!==void 0?A.percentageSize:0),Le=i.useRef(Ce),ke=i.useRef(ye),M=i.useRef(null),re=i.useRef(null);i.useEffect(()=>()=>{M.current&&clearTimeout(M.current),re.current&&clearTimeout(re.current)},[]);const ze=i.useMemo(()=>Lt({ref:Le,setState:se,panelIdRef:j,label:"pixel",timerRef:M}),[]),ue=i.useMemo(()=>Lt({ref:ke,setState:Ae,panelIdRef:j,label:"percentage",timerRef:re}),[]),Me=i.useCallback(()=>{M.current&&(clearTimeout(M.current),M.current=null),re.current&&(clearTimeout(re.current),re.current=null),Le.current!==0&&(Le.current=0,se(0)),ke.current!==0&&(ke.current=0,Ae(0))},[]);i.useEffect(()=>{if(!N)return;let R=0;if(T&&G){let w=G.value;s&&typeof s=="object"&&s.unit==="pixels"&&(w=Math.max(w,s.value)),d&&typeof d=="object"&&d.unit==="pixels"&&(w=Math.min(w,d.value)),R=w}const x=W,O=x?D:null;l&&!y&&pt.warn("Panel defaultCollapsed is ignored because collapsible configuration is not provided.");const Z=y&&x&&T?R:void 0,J=y?be:void 0,$=T?R:void 0,q={id:j.current,size:x?0:R,percentageSize:x?0:be,preferredPercentageSize:be,preferredPixelSize:$,sizeUnit:G?.unit||"percentage",originalPixelSize:T?R:void 0,minSize:s,maxSize:d,collapseFromStart:L.collapseFromStart,collapseFromEnd:L.collapseFromEnd,collapsedByDirection:O,collapsed:x,sizeBeforeCollapse:Z,percentageSizeBeforeCollapse:J,preferredPercentageSizeBeforeCollapse:y?be:void 0,preferredPixelSizeBeforeCollapse:y?$:void 0,pixelAdjustPriority:f,flexAdjustPriority:c,autoMinSize:r};P(q)},[r,L.collapseFromEnd,L.collapseFromStart,l,G,c,y,N,T,d,s,f,D,be,P,W]),i.useEffect(()=>()=>{C(j.current),U(j.current,null)},[C,U]);const De=A?.size??0,u=i.useCallback(()=>{const R=ee.current;if(!R)return;const x=Ie.current;if(!x)return;const O=R.parentElement;if(!O)return;const Z=R.getBoundingClientRect(),J=$e(O,"horizontal"),$=$e(O,"vertical"),q=S==="horizontal"?Z.width:Z.height,o=S==="horizontal"?J.inner:$.inner,w=mt(o);if(Se.current){Me();return}const Y=x.size??0,Q=Math.max(2,w*.5);if(Y>w&&q<Q){pt.debug("skip noisy measurement",{panelId:j.current,expectedPanelSize:Y,measured:q,noiseThreshold:Q});return}if(q>0){ze(q),o>0&&ue(q/o*100);return}x.size!==void 0&&ze(x.size),x.percentageSize!==void 0?ue(x.percentageSize):x.sizeUnit==="pixels"&&x.size!==void 0&&o>0&&ue(x.size/o*100)},[ue,ze,S,Me]),m=i.useRef(!1);i.useEffect(()=>{!m.current&&A&&(m.current=!0,u())},[A,u]),i.useEffect(()=>{const R=ee.current;if(!R)return;const x=new ResizeObserver(()=>{u()});x.observe(R),u();const O=[],Z=new MutationObserver(()=>{(()=>{if(!ee.current)return!1;const q=ee.current.getBoundingClientRect();return(S==="horizontal"?q.width:q.height)!==Le.current})()&&setTimeout(u,0)}),J=R.parentElement;return J&&Z.observe(J,{childList:!0,attributes:!0,attributeFilter:["style","class"]}),()=>{x.disconnect(),Z.disconnect();for(const $ of O)clearTimeout($)}},[S,u]);const E=A?.size,v=A?.percentageSize,X=A?.sizeUnit;i.useEffect(()=>{if(A){if(de){Me();return}if(E!==void 0&&ze(E),v!==void 0)ue(v);else if(X==="pixels"&&E!==void 0){const R=ee.current,x=R?.parentElement;if(R&&x){const{width:O,height:Z}=R.getBoundingClientRect(),J=x.clientWidth,$=x.clientHeight,q=S==="horizontal"?O:Z,o=S==="horizontal"?J:$;if(q>0&&o>0){const w=q/o*100;ue(w)}}}}},[ue,ze,A,v,E,X,S,de,Me]),i.useEffect(()=>{U(j.current,{pixelSize:Ce,percentageSize:ye})},[U,Ce,ye]);const oe=()=>de?"0px":A?.originalPixelSize!==void 0?`${De}px`:A?.percentageSize!==void 0?`${A.percentageSize}%`:`${De}px`,te=A?.sizeUnit==="percentage"&&!A?.collapsed?1:0,_={flexBasis:oe(),flexGrow:0,flexShrink:te,overflow:"hidden",position:"relative",boxSizing:"border-box",minHeight:"0px",minWidth:"0px",...n};S==="horizontal"?(_.height="100%",_.minWidth=0):(_.width="100%",_.minHeight=0),de&&(S==="horizontal"?(_.width="0px",_.minWidth="0px"):(_.height="0px",_.minHeight="0px"),_.flexGrow=0,_.flexShrink=0,_.pointerEvents="none",_.visibility="hidden",ce&&(_.display="none"));const pe=S==="horizontal"?le.width:le.height,V=i.useMemo(()=>({position:"absolute",inset:"0px",overflow:g,display:"flex",flexDirection:"column",width:"100%",height:"100%",minWidth:"0px",minHeight:"0px"}),[g]);return K.jsxs("div",{ref:ee,className:rt.twMerge("panel",a),style:_,"data-panel-id":j.current,"data-panel-size":De,"data-panel-size-unit":A?.sizeUnit||"percentage","data-panel-pixel-size":A?.sizeUnit==="pixels"?A?.originalPixelSize:null,"data-panel-order":z,"data-panel-collapsible":y,"data-panel-collapse-start":L.collapseFromStart,"data-panel-collapse-end":L.collapseFromEnd,"data-panel-collapsed":A?.collapsed,"aria-hidden":de,children:[K.jsx("div",{style:V,children:p}),k&&K.jsx(fr,{panel:A,measuredPixelSize:Ce,measuredPercentageSize:ye,containerAxisSize:pe,direction:S})]})}),gr=i.lazy(()=>Promise.resolve().then(()=>require("./GlobalDebugOverlay-sEQN6exo.cjs")).then(e=>({default:e.GlobalDebugOverlayGate})));let Dt=0;const mr=()=>(Dt+=1,`panel-group-${Dt}`),Sr=e=>{const t=e.reason==="minimum-exceeded",s=t?"Layout unavailable: minimum panel sizes exceed the container.":"Layout unavailable: panels cannot fill the container with their maximum sizes.",d=t?`Min required: ${Math.ceil(e.totalMinimumSize??0)}px | Available: ${Math.floor(e.availableContainerSize)}px`:`Max total: ${Math.floor(e.totalMaximumSize??0)}px | Needed: ${Math.floor(e.availableContainerSize)}px`;return{summary:s,detail:d}},xr=(e,t)=>{let s=!1;const d=e.map(r=>{const a=t[r.id];return!a||r.measuredPixelSize===a.pixelSize&&r.measuredPercentageSize===a.percentageSize?r:(s=!0,{...r,measuredPixelSize:a.pixelSize,measuredPercentageSize:a.percentageSize})});return s?d:e},Tt=(e,t,s)=>{const d=$e(e,"horizontal"),r=$e(e,"vertical"),a=e.getBoundingClientRect(),n=d.inner>0?d.inner:t??a.width,p=r.inner>0?r.inner:s??a.height;return{width:n,height:p}},Pr=e=>{const{id:t,className:s,style:d,children:r,direction:a}=e,{groupRef:n,contextValue:p,groupStyle:z}=Wt(e),[h,l]=i.useState({width:0,height:0}),f=p.layoutConstraintViolation,c=!!f,g=i.useMemo(()=>{if(!f)return null;const{summary:y,detail:D}=Sr(f);return K.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:[K.jsx("span",{children:y}),K.jsx("span",{className:"text-slate-500 text-xs dark:text-slate-400",children:D})]})},[f]),P=i.useRef(t??mr()).current,C=t??P,F=p.showDebugInfo&&p.panels.length>0,k=F?p.panels:[],N=F?p.panelMeasurements:{},U=i.useMemo(()=>{if(!F)return[];const y=Object.values(p.handleMeasurements);return y.length<=1?y:y.slice().sort((D,W)=>D.id.localeCompare(W.id))},[p.handleMeasurements,F]),le=p.containerSize,ee=h.width>0?h.width:le.width,ne=h.height>0?h.height:le.height;i.useLayoutEffect(()=>{if(!F){l({width:0,height:0});return}if(typeof window>"u"||typeof ResizeObserver>"u")return;const y=n.current;if(!y)return;const D=G=>{l(T=>T.width===G.width&&T.height===G.height?T:G)},W=new ResizeObserver(G=>{for(const T of G){if(T.target!==y)continue;const be=Tt(y,T.contentRect.width,T.contentRect.height);D(be)}});return W.observe(y),D(Tt(y)),()=>{W.disconnect()}},[n,F]);const j=i.useMemo(()=>xr(k,N),[k,N]);i.useEffect(()=>{if(!F)return;let y=!1,D=null;return Promise.resolve().then(()=>require("./debugOverlayStore-Dkl-fHoa.cjs")).then(W=>{y||(D=W,W.enableDebugOverlayGroup(P))}),()=>{y=!0,D&&(D.disableDebugOverlayGroup(P),D.removeDebugOverlayGroup(P))}},[F,P]),i.useEffect(()=>{if(!F)return;let y=!1;return Promise.resolve().then(()=>require("./debugOverlayStore-Dkl-fHoa.cjs")).then(D=>{y||D.updateDebugOverlayGroup(P,{displayName:C,direction:a,containerSize:{width:ee,height:ne},panels:j,handles:U})}),()=>{y=!0}},[F,P,C,a,ee,ne,j,U]);const L=i.useMemo(()=>{const y={...z,...d};return y.position||(y.position="relative"),y},[z,d]);return K.jsxs(St.Provider,{value:p,children:[K.jsxs("div",{ref:n,className:rt.twMerge("panel-group",a==="horizontal"?"flex-row":"flex-col",s),style:L,"data-panel-group-id":t,"data-panel-group-direction":a,children:[r,c&&g?K.jsx("div",{className:"pointer-events-auto",style:{position:"absolute",inset:0,zIndex:40,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",backgroundColor:"rgba(248, 250, 252, 0.82)",backdropFilter:"blur(2px)"},children:g}):null]}),F&&K.jsx(i.Suspense,{fallback:null,children:K.jsx(gr,{groupId:P})})]})},br={display:"none",pointerEvents:"none",visibility:"hidden"},Cr={display:"none"},et=(e,t)=>typeof e!="number"||!Number.isFinite(e)||e<=0?t:e,Mr=e=>{const t=Math.round(e);return t%2===0?t:t+1},yr=i.memo(e=>{const{id:t,disabled:s=!1,className:d,style:r,children:a,onDragging:n,thickness:p,indicator:z=!0,indicatorThickness:h,indicatorLength:l,indicatorBarThickness:f,indicatorBarLength:c,title:g}=e,{direction:S,resizePanels:P,getPanel:C,collapsePanel:F,expandPanel:k,panels:N,reportHandleMeasurement:U,containerSize:le,layoutConstraintViolation:ee}=ht(),[ne,j]=i.useState(!1),L=i.useRef(null),y=i.useRef(null),D=i.useRef(""),W=i.useRef(""),G=i.useRef(null),[T,be]=i.useState(!1),[A,ce]=i.useState({left:null,right:null}),_e=i.useId(),de=i.useRef(t??`resize-handle-${_e}`),Ie=i.useRef(null),Se=t??de.current,Ce=!!ee,se=s||Ce,ye=i.useCallback(()=>{const b=L.current;if(!b)return;const I=b.parentElement;if(!I)return;y.current=I,typeof window<"u"&&be(window.getComputedStyle(I).direction==="rtl");const B=Array.from(I.children),ie=B.indexOf(b);let ae=null,xe=null;for(let he=ie-1;he>=0;he-=1){const Pe=B[he];if(Pe.dataset.panelId){ae=Pe;break}}for(let he=ie+1;he<B.length;he+=1){const Pe=B[he];if(Pe.dataset.panelId){xe=Pe;break}}const ge=ae?.dataset.panelId||"",Ee=xe?.dataset.panelId||"";ge===D.current&&Ee===W.current||(D.current=ge,W.current=Ee,ce({left:ge||null,right:Ee||null}))},[]),Ae=i.useMemo(()=>N.map(b=>b.id).join("|"),[N]);i.useEffect(()=>{ye()},[ye,Ae]),i.useEffect(()=>{if(Se===de.current)return;const b=de.current;de.current=Se,Ie.current=null,b!==Se&&U(b,null)},[U,Se]),i.useEffect(()=>{const b=de.current;return()=>{U(b,null)}},[U]),i.useEffect(()=>()=>{G.current?.()},[]);const Le=i.useCallback(b=>{if(se||!y.current||G.current)return;b.preventDefault(),b.stopPropagation();const I=y.current,{inner:B}=$e(I,S),ie={x:b.clientX,y:b.clientY},ae=C(D.current),xe=C(W.current);if(!(ae&&xe))return;const ge=ae.size,Ee=xe.size;let he=0;const Pe=sr;j(!0),n?.(!0);const we=b.pointerId,He=b.currentTarget,Ze=S==="horizontal"&&typeof window<"u"&&window.getComputedStyle(I).direction==="rtl";He.setPointerCapture(we);const bt=Te=>{if(Te.pointerId!==we||!L.current)return;Te.preventDefault(),Te.stopPropagation();const vt=performance.now();if(vt-he<Pe)return;he=vt;const wt=S==="horizontal"?Te.clientX-ie.x:Te.clientY-ie.y,zt=Ze?-wt:wt;if(zt===0)return;const Xe=ge+zt,Ye=Ee-zt,Ge=C(D.current),je=C(W.current);if(Ge&&je&&D.current&&W.current){const ot=H(Ge.minSize,0,B),at=H(je.minSize,0,B),Rt=Math.min(B*kt,Ot),Bt=Math.min(B*or,ar),Vt=je.collapseFromStart,Zt=je.collapsedByDirection??"start";if(Vt&&!je.collapsed&&Ye<=Math.max(at*.3,Rt)){F(W.current,"start");return}const qt=Ge.collapseFromEnd,Kt=Ge.collapsedByDirection??"end";if(qt&&!Ge.collapsed&&Xe<=Math.max(ot*.3,Rt)){F(D.current,"end");return}if(je.collapsed&&Ye>Math.max(at*.3,Bt)){k(W.current,Zt,Ye);return}if(Ge.collapsed&&Xe>Math.max(ot*.3,Bt)){k(D.current,Kt,Xe);return}if(B>0){const It=Ge.size+je.size,lt=mt(B);let gt=!1;if(ot<=lt&&Xe<=lt&&ge!==0){const Je=Math.max(0,It-0);Je>=at&&(P(D.current,W.current,0,Je),gt=!0)}else if(at<=lt&&Ye<=lt&&Ee!==0){const Je=Math.max(0,It-0);Je>=ot&&(P(D.current,W.current,Je,0),gt=!0)}if(gt)return}if(Ge.collapsed||je.collapsed)return;P(D.current,W.current,Xe,Ye)}};let Ct=!0;const st=()=>{Ct&&(Ct=!1,G.current=null,j(!1),n?.(!1),document.removeEventListener("pointermove",bt),document.removeEventListener("pointerup",Mt),document.removeEventListener("pointercancel",yt),He.removeEventListener("lostpointercapture",Et),He.hasPointerCapture?.(we)&&He.releasePointerCapture(we))},Mt=Te=>{Te.pointerId===we&&st()},yt=Te=>{Te.pointerId===we&&st()},Et=Te=>{Te.pointerId===we&&st()};document.addEventListener("pointermove",bt),document.addEventListener("pointerup",Mt),document.addEventListener("pointercancel",yt),He.addEventListener("lostpointercapture",Et),G.current=st},[se,S,P,C,F,k,n]),ke=i.useCallback(b=>{if(se)return;const I=S==="horizontal",B=I?"ArrowLeft":"ArrowUp",ie=I?"ArrowRight":"ArrowDown";if(b.key!==B&&b.key!==ie)return;b.preventDefault(),b.stopPropagation();let ae=(b.key===ie?1:-1)*(b.shiftKey?Nt*5:Nt);I&&typeof window<"u"&&y.current!==null&&window.getComputedStyle(y.current).direction==="rtl"&&(ae=-ae);const ge=C(D.current),Ee=C(W.current);!(ge&&Ee)||ge.collapsed||Ee.collapsed||P(D.current,W.current,ge.size+ae,Ee.size-ae)},[se,S,C,P]),M=S==="horizontal",re=M?"cursor-col-resize":"cursor-row-resize",ze=i.useMemo(()=>rt.twMerge("group absolute z-20 flex select-none items-center justify-center border-none bg-transparent transition-colors duration-150 overflow-visible",re,M?"h-full":"w-full",!se&&"hover:bg-gray-200/70 dark:hover:bg-gray-700/70",!se&&"active:bg-blue-300/60 dark:active:bg-blue-700/60",ne&&"bg-blue-200/80 dark:bg-blue-800/60",se&&"cursor-not-allowed opacity-50","focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-opacity-50",d),[re,M,se,ne,d]),ue=i.useMemo(()=>{const b=I=>{if(!I)return-1;for(let B=0;B<N.length;B+=1)if(N[B].id===I)return B;return-1};return{left:b(A.left),right:b(A.right)}},[A.left,A.right,N]),Me=M?le.width:le.height,De=i.useMemo(()=>{const b=(I,B)=>{if(I>B)return 0;let ie=0;for(let ae=I;ae<=B;ae+=1){const xe=N[ae];if(!xe)continue;const ge=xe.size??0,Ee=Math.max(0,ge);ie+=xe.collapsed?0:Ee}return ie};return ue.left>=0?b(0,ue.left):ue.right>0?b(0,ue.right-1):0},[ue.left,ue.right,N]),u=i.useMemo(()=>!Number.isFinite(De)||De<0?0:Me>0&&De>Me?Me:De,[De,Me]),m=typeof z=="object"&&z!==null?z:void 0,E=z===!1||m?.visible===!1,v=et(p,Yt),X=M?Qt:er,oe=M?rr:ir,te=et(h??m?.thickness,Jt),_=et(l??m?.length,X),pe=et(f??m?.barThickness,tr),V=et(c??m?.barLength,oe),R=Math.max(1,v),x=Math.min(R,Math.max(1,te)),O=Math.max(1,_),Z=Math.min(x,Math.max(1,pe)),J=Math.min(O,Math.max(1,V)),$=i.useMemo(()=>({"--rp-handle-thickness":`${R}px`,"--rp-indicator-thickness":`${x}px`,"--rp-indicator-length":`${O}px`,"--rp-indicator-bar-thickness":`${Z}px`,"--rp-indicator-bar-length":`${J}px`}),[R,x,O,Z,J]),q=i.useMemo(()=>{const b=M&&T&&Me>0?Me-u:u,I=xt(b-R/2,0),B={position:"absolute",zIndex:20,touchAction:"none",...$};return M?(B.top=0,B.left=`${I}px`,B.width=`${R}px`,B.height="100%"):(B.left=0,B.top=`${I}px`,B.height=`${R}px`,B.width="100%"),B},[u,M,T,Me,R,$]),o=i.useMemo(()=>{const b=mt(Me),I=Pe=>{if(Pe<0||Pe>=N.length)return!1;const we=N[Pe];return we?we.collapsed?!0:we.size<=b:!1},B=(Pe,we)=>{if(!I(Pe))return 0;let He=0;for(let Ze=Pe;Ze>=0&&Ze<N.length&&I(Ze);Ze+=we)He+=1;return He},ie=ue.left,ae=ue.right,xe=ie>=0?B(ie,-1):0,ge=ae>=0?B(ae,1):0;return{groupSize:xe+ge+1,overlapIndex:xe}},[ue.left,ue.right,N,Me]),w=i.useMemo(()=>{if(Ce)return!0;if(o.groupSize<=1)return!1;const b=o.groupSize-1;return o.overlapIndex>0&&o.overlapIndex<b},[o,Ce]),Y=i.useMemo(()=>{if(o.groupSize<=1||w)return 0;const b=o.groupSize>1?2:1;if(b===1)return 0;const I=Mr(Math.max(nr,x+4)),B=o.overlapIndex===0?0:b-1,ie=(b-1)/2,ae=(B-ie)*I;return M&&T?-ae:ae},[o,w,x,M,T]),Q=i.useMemo(()=>{if(w||E)return Cr;const b=M?x:O,I=M?O:x,B={width:`${b}px`,height:`${I}px`,flexShrink:0};return Y!==0&&(B.transform=M?`translateX(${Y}px)`:`translateY(${Y}px)`),B},[w,E,M,x,O,Y]),ve=i.useMemo(()=>{const b=M?Z:J,I=M?J:Z;return{width:`${b}px`,height:`${I}px`,flexShrink:0}},[M,Z,J]),qe=i.useMemo(()=>rt.twMerge("pointer-events-none 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)]",ne&&"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?.className),[ne,m?.className]),nt=i.useMemo(()=>rt.twMerge("pointer-events-none 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)]",ne&&"bg-blue-500 dark:bg-blue-300",!se&&"group-hover:bg-slate-700 dark:group-hover:bg-slate-100",m?.barClassName),[ne,se,m?.barClassName]),Ne=i.useCallback(()=>{const b=L.current;if(!b)return;let I=0;if(!w){const ae=S==="horizontal"?b.offsetWidth:b.offsetHeight;let xe=0,ge=0;if(typeof window<"u"){const he=window.getComputedStyle(b);S==="horizontal"?(xe=Number.parseFloat(he.marginLeft||"0"),ge=Number.parseFloat(he.marginRight||"0")):(xe=Number.parseFloat(he.marginTop||"0"),ge=Number.parseFloat(he.marginBottom||"0"))}I=[ae,xe,ge].reduce((he,Pe)=>Number.isFinite(Pe)?he+Pe:he,0)}(!Number.isFinite(I)||I<0)&&(I=0);const B={id:Se,thickness:I,direction:S,visible:!w&&I>lr,startPanelId:A.left,endPanelId:A.right},ie=Ie.current;ie&&Math.abs(ie.thickness-B.thickness)<=.25&&ie.visible===B.visible&&ie.direction===B.direction&&ie.startPanelId===B.startPanelId&&ie.endPanelId===B.endPanelId||(Ie.current=B,U(Se,B))},[S,A.left,A.right,U,Se,w]);i.useEffect(()=>{Ne()},[Ne]),i.useEffect(()=>{const b=L.current;if(!b)return;if(typeof ResizeObserver>"u"){Ne();return}const I=new ResizeObserver(()=>{Ne()});return I.observe(b),()=>{I.disconnect()}},[Ne]);const Ke=i.useMemo(()=>{const b=r?{...q,...r}:q;return w?{...b,...br}:b},[q,w,r]);return K.jsx("button",{type:"button",ref:L,className:ze,style:Ke,onPointerDown:Le,onKeyDown:ke,disabled:se,"aria-hidden":w||void 0,"aria-label":`Resize ${M?"columns":"rows"} - Drag or use arrow keys to resize, drag to the edge to collapse/expand panels`,"data-resize-handle-id":Se,title:g??`Resize ${M?"columns":"rows"} - Drag or use arrow keys to resize, drag to the edge to collapse/expand panels`,children:a||!E&&K.jsx("div",{className:qe,style:Q,"data-resize-handle-indicator":"","aria-hidden":"true",children:K.jsx("span",{className:nt,style:ve,"data-resize-handle-indicator-bar":"","aria-hidden":"true"})})})}),Pt=e=>typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(e):e.replace(/["\\]/g,"\\$&"),Er=e=>typeof document>"u"?null:document.querySelector(`[data-panel-id="${Pt(e)}"]`),vr=e=>typeof document>"u"?null:document.querySelector(`[data-panel-group-id="${Pt(e)}"]`),wr=e=>typeof document>"u"?null:document.querySelector(`[data-resize-handle-id="${Pt(e)}"]`);exports.PANEL_SNAP_THRESHOLD=_t;exports.Panel=zr;exports.PanelGroup=Pr;exports.PanelGroupContext=St;exports.PanelResizeHandle=yr;exports.clamp=me;exports.getConstraintInPixels=H;exports.getContainerSize=$e;exports.getPanelElement=Er;exports.getPanelGroupElement=vr;exports.getResizeHandleElement=wr;exports.loadLayout=Ut;exports.normalizeSizeConfig=Gt;exports.saveLayout=$t;exports.usePanelControls=ur;exports.usePanelGroup=ht;exports.useResizablePanels=Wt;
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-xTV-c0PN.cjs");exports.Panel=e.Panel;exports.PanelGroup=e.PanelGroup;exports.PanelGroupContext=e.PanelGroupContext;exports.PanelResizeHandle=e.PanelResizeHandle;exports.clamp=e.clamp;exports.getConstraintInPixels=e.getConstraintInPixels;exports.getContainerSize=e.getContainerSize;exports.getPanelElement=e.getPanelElement;exports.getPanelGroupElement=e.getPanelGroupElement;exports.getResizeHandleElement=e.getResizeHandleElement;exports.loadLayout=e.loadLayout;exports.normalizeSizeConfig=e.normalizeSizeConfig;exports.saveLayout=e.saveLayout;exports.usePanelControls=e.usePanelControls;exports.usePanelGroup=e.usePanelGroup;exports.useResizablePanels=e.useResizablePanels;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-DssZUxGw.cjs");exports.Panel=e.Panel;exports.PanelGroup=e.PanelGroup;exports.PanelGroupContext=e.PanelGroupContext;exports.PanelResizeHandle=e.PanelResizeHandle;exports.clamp=e.clamp;exports.getConstraintInPixels=e.getConstraintInPixels;exports.getContainerSize=e.getContainerSize;exports.getPanelElement=e.getPanelElement;exports.getPanelGroupElement=e.getPanelGroupElement;exports.getResizeHandleElement=e.getResizeHandleElement;exports.loadLayout=e.loadLayout;exports.normalizeSizeConfig=e.normalizeSizeConfig;exports.saveLayout=e.saveLayout;exports.usePanelControls=e.usePanelControls;exports.usePanelGroup=e.usePanelGroup;exports.useResizablePanels=e.useResizablePanels;
package/dist/index.d.ts CHANGED
@@ -9,7 +9,7 @@ export { usePanelControls, useResizablePanels } from './hooks';
9
9
  export { Panel } from './Panel';
10
10
  export { PanelGroup } from './PanelGroup';
11
11
  export { PanelResizeHandle } from './PanelResizeHandle';
12
- export type { CollapsibleConfig, CollapsibleDirection, ContainerAxisMeasurement, ContainerSize, FlexibleSize, PanelCollapseDirection, PanelDirection, PanelGroupContextValue, PanelGroupProps, PanelLayoutData, PanelProps, PanelResizeHandleProps, SizeConfig, SizeUnit, } from './types';
12
+ export type { CollapsibleConfig, CollapsibleDirection, ContainerAxisMeasurement, ContainerSize, FlexibleSize, LayoutConstraintViolation, LayoutConstraintViolationReason, PanelCollapseDirection, PanelDirection, PanelGroupContextValue, PanelGroupProps, PanelLayoutData, PanelMeasurement, PanelProps, PanelResizeHandleIndicatorConfig, PanelResizeHandleProps, ResizeHandleLayoutData, SizeConfig, SizeUnit, } from './types';
13
13
  export { clamp, getConstraintInPixels, getContainerSize, loadLayout, normalizeSizeConfig, saveLayout, } from './utils';
14
14
  /**
15
15
  * Locate a panel element in the DOM by its data attribute.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,YAAY,EACR,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,aAAa,EACb,YAAY,EACZ,sBAAsB,EACtB,cAAc,EACd,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,UAAU,EACV,sBAAsB,EACtB,UAAU,EACV,QAAQ,GACX,MAAM,SAAS,CAAA;AAEhB,OAAO,EACH,KAAK,EACL,qBAAqB,EACrB,gBAAgB,EAChB,UAAU,EACV,mBAAmB,EACnB,UAAU,GACb,MAAM,SAAS,CAAA;AAEhB;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,IAAI,MAAM,KAAG,WAAW,GAAG,IAE1D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAI,IAAI,MAAM,KAAG,WAAW,GAAG,IAE/D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAAI,IAAI,MAAM,KAAG,WAAW,GAAG,IAEjE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,YAAY,EACR,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,aAAa,EACb,YAAY,EACZ,yBAAyB,EACzB,+BAA+B,EAC/B,sBAAsB,EACtB,cAAc,EACd,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,gCAAgC,EAChC,sBAAsB,EACtB,sBAAsB,EACtB,UAAU,EACV,QAAQ,GACX,MAAM,SAAS,CAAA;AAEhB,OAAO,EACH,KAAK,EACL,qBAAqB,EACrB,gBAAgB,EAChB,UAAU,EACV,mBAAmB,EACnB,UAAU,GACb,MAAM,SAAS,CAAA;AAUhB;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,IAAI,MAAM,KAAG,WAAW,GAAG,IAK1D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAI,IAAI,MAAM,KAAG,WAAW,GAAG,IAK/D,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAAI,IAAI,MAAM,KAAG,WAAW,GAAG,IAKjE,CAAA"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { a as s, b as n, c as l, d as t, e as o, g as i, f as r, h as u, i as P, j as g, l as m, n as p, s as z, u as C, k as d, m as G } from "./index-BzgId8aQ.js";
1
+ import { a as s, b as n, c as l, d as t, e as o, g as i, f as r, h as u, i as P, j as g, l as m, n as p, s as z, u as C, k as d, m as G } from "./index-B6YGX2DH.js";
2
2
  export {
3
3
  s as Panel,
4
4
  n as PanelGroup,
@@ -1,3 +1,3 @@
1
1
  /*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
2
2
  /*! @aiquants/resize-panels standalone CSS — 非 Tailwind ホスト専用。ホストの Tailwind ビルドと混在させないこと */
3
- @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-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-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-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-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-gray-200:oklch(92.8% .006 264.531);--color-gray-700:oklch(37.3% .034 259.733);--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);--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;-webkit-text-decoration: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{.pointer-events-auto{pointer-events:auto}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.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}}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-8{height:calc(var(--spacing) * 8)}.h-12{height:calc(var(--spacing) * 12)}.h-\[2px\]{height:2px}.h-\[6px\]{height:6px}.h-full{height:100%}.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%}.flex-1{flex: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}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.overflow-visible{overflow:visible}.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-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-slate-300{border-color:var(--color-slate-300)}.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-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)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-\[2px\]{padding-inline:2px}.py-8{padding-block:calc(var(--spacing) * 8)}.py-\[2px\]{padding-block:2px}.text-center{text-align:center}.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-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.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)}.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-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)}}.dark\:border-slate-600:where(.dark,.dark *){border-color:var(--color-slate-600)}.dark\:bg-blue-300:where(.dark,.dark *){background-color:var(--color-blue-300)}.dark\:bg-blue-800\/60:where(.dark,.dark *){background-color:#193cb899}@supports (color:color-mix(in lab, red, red)){.dark\:bg-blue-800\/60:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-blue-800) 60%, transparent)}}.dark\:bg-blue-900\/70:where(.dark,.dark *){background-color:#1c398eb3}@supports (color:color-mix(in lab, red, red)){.dark\:bg-blue-900\/70:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-blue-900) 70%, transparent)}}.dark\:bg-slate-200:where(.dark,.dark *){background-color:var(--color-slate-200)}.dark\:bg-slate-800\/50:where(.dark,.dark *){background-color:#1d293d80}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-800\/50:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-slate-800) 50%, transparent)}}.dark\:bg-slate-800\/95:where(.dark,.dark *){background-color:#1d293df2}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-800\/95:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-slate-800) 95%, transparent)}}.dark\:text-slate-200:where(.dark,.dark *){color:var(--color-slate-200)}.dark\:text-slate-400:where(.dark,.dark *){color:var(--color-slate-400)}.dark\:shadow-\[0_0_0_1px_rgba\(15\,23\,42\,0\.55\)\]:where(.dark,.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\)\]:where(.dark,.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\)\]:where(.dark,.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:where(.dark,.dark *){--tw-ring-color:var(--color-blue-400)}.dark\:ring-slate-500\/60:where(.dark,.dark *){--tw-ring-color:#62748e99}@supports (color:color-mix(in lab, red, red)){.dark\:ring-slate-500\/60:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab, var(--color-slate-500) 60%, transparent)}}@media (hover:hover){.dark\:group-hover\:bg-slate-100:where(.dark,.dark *):is(:where(.group):hover *){background-color:var(--color-slate-100)}.dark\:hover\:bg-gray-700\/70:where(.dark,.dark *):hover{background-color:#364153b3}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-gray-700\/70:where(.dark,.dark *):hover{background-color:color-mix(in oklab, var(--color-gray-700) 70%, transparent)}}}.dark\:active\:bg-blue-700\/60:where(.dark,.dark *):active{background-color:#1447e699}@supports (color:color-mix(in lab, red, red)){.dark\:active\:bg-blue-700\/60:where(.dark,.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-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}
3
+ @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-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-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-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-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-gray-200:oklch(92.8% .006 264.531);--color-gray-700:oklch(37.3% .034 259.733);--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);--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;-webkit-text-decoration: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{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.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}}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-full{height:100%}.w-full{width:100%}.flex-1{flex: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}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.overflow-visible{overflow:visible}.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-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-slate-300{border-color:var(--color-slate-300)}.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-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)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.text-center{text-align:center}.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-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.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)}.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-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)}}.dark\:border-slate-600:where(.dark,.dark *){border-color:var(--color-slate-600)}.dark\:bg-blue-300:where(.dark,.dark *){background-color:var(--color-blue-300)}.dark\:bg-blue-800\/60:where(.dark,.dark *){background-color:#193cb899}@supports (color:color-mix(in lab, red, red)){.dark\:bg-blue-800\/60:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-blue-800) 60%, transparent)}}.dark\:bg-blue-900\/70:where(.dark,.dark *){background-color:#1c398eb3}@supports (color:color-mix(in lab, red, red)){.dark\:bg-blue-900\/70:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-blue-900) 70%, transparent)}}.dark\:bg-slate-200:where(.dark,.dark *){background-color:var(--color-slate-200)}.dark\:bg-slate-800\/50:where(.dark,.dark *){background-color:#1d293d80}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-800\/50:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-slate-800) 50%, transparent)}}.dark\:bg-slate-800\/95:where(.dark,.dark *){background-color:#1d293df2}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-800\/95:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-slate-800) 95%, transparent)}}.dark\:text-slate-200:where(.dark,.dark *){color:var(--color-slate-200)}.dark\:text-slate-400:where(.dark,.dark *){color:var(--color-slate-400)}.dark\:shadow-\[0_0_0_1px_rgba\(15\,23\,42\,0\.55\)\]:where(.dark,.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\)\]:where(.dark,.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\)\]:where(.dark,.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:where(.dark,.dark *){--tw-ring-color:var(--color-blue-400)}.dark\:ring-slate-500\/60:where(.dark,.dark *){--tw-ring-color:#62748e99}@supports (color:color-mix(in lab, red, red)){.dark\:ring-slate-500\/60:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab, var(--color-slate-500) 60%, transparent)}}@media (hover:hover){.dark\:group-hover\:bg-slate-100:where(.dark,.dark *):is(:where(.group):hover *){background-color:var(--color-slate-100)}.dark\:hover\:bg-gray-700\/70:where(.dark,.dark *):hover{background-color:#364153b3}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-gray-700\/70:where(.dark,.dark *):hover{background-color:color-mix(in oklab, var(--color-gray-700) 70%, transparent)}}}.dark\:active\:bg-blue-700\/60:where(.dark,.dark *):active{background-color:#1447e699}@supports (color:color-mix(in lab, red, red)){.dark\:active\:bg-blue-700\/60:where(.dark,.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-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}
package/dist/types.d.ts CHANGED
@@ -9,6 +9,36 @@ export declare const PANEL_SNAP_THRESHOLD = 12;
9
9
  * リサイズハンドルのインタラクティブ領域のデフォルト厚み (px)。
10
10
  */
11
11
  export declare const PANEL_HANDLE_THICKNESS = 8;
12
+ /**
13
+ * Default thickness in pixels for the visual indicator wrapper.
14
+ * 視覚インジケーター外枠のデフォルト厚み (px)。
15
+ */
16
+ export declare const PANEL_INDICATOR_THICKNESS = 6;
17
+ /**
18
+ * Default length in pixels for the visual indicator wrapper in horizontal layout.
19
+ * 水平レイアウトにおける視覚インジケーター外枠のデフォルト長さ (px)。
20
+ */
21
+ export declare const PANEL_INDICATOR_LENGTH_HORIZONTAL = 48;
22
+ /**
23
+ * Default length in pixels for the visual indicator wrapper in vertical layout.
24
+ * 垂直レイアウトにおける視覚インジケーター外枠のデフォルト長さ (px)。
25
+ */
26
+ export declare const PANEL_INDICATOR_LENGTH_VERTICAL = 80;
27
+ /**
28
+ * Default thickness in pixels for the inner bar inside the visual indicator.
29
+ * 視覚インジケーター内部バーのデフォルト厚み (px)。
30
+ */
31
+ export declare const PANEL_INDICATOR_BAR_THICKNESS = 2;
32
+ /**
33
+ * Default length in pixels for the inner bar inside the visual indicator in horizontal layout.
34
+ * 水平レイアウトにおける視覚インジケーター内部バーのデフォルト長さ (px)。
35
+ */
36
+ export declare const PANEL_INDICATOR_BAR_LENGTH_HORIZONTAL = 32;
37
+ /**
38
+ * Default length in pixels for the inner bar inside the visual indicator in vertical layout.
39
+ * 垂直レイアウトにおける視覚インジケーター内部バーのデフォルト長さ (px)。
40
+ */
41
+ export declare const PANEL_INDICATOR_BAR_LENGTH_VERTICAL = 64;
12
42
  /**
13
43
  * Spacing in pixels between visual indicator dots in the handle.
14
44
  * ハンドル内の視覚インジケーター点同士のピクセル間隔。
@@ -121,10 +151,14 @@ export type ContainerAxisMeasurement = {
121
151
  outer: number;
122
152
  };
123
153
  /**
124
- * Snapshot describing when panel constraints conflict with the container size.
125
- * パネル制約とコンテナサイズが矛盾する際のスナップショット。
154
+ * Reason code for layout constraint violations.
155
+ * レイアウト制約違反の理由コード。
126
156
  */
127
157
  export type LayoutConstraintViolationReason = "minimum-exceeded" | "maximum-insufficient";
158
+ /**
159
+ * Snapshot describing when panel constraints conflict with the container size.
160
+ * パネル制約とコンテナサイズが矛盾した際のスナップショット。
161
+ */
128
162
  export type LayoutConstraintViolation = {
129
163
  reason: LayoutConstraintViolationReason;
130
164
  totalMinimumSize: number | null;
@@ -222,6 +256,54 @@ export interface PanelGroupContextValue {
222
256
  handleMeasurements: Record<string, ResizeHandleLayoutData>;
223
257
  layoutConstraintViolation: LayoutConstraintViolation | null;
224
258
  }
259
+ /**
260
+ * Visual indicator configuration options for PanelResizeHandle.
261
+ * PanelResizeHandle の視覚インジケーターに関する設定オプション。
262
+ */
263
+ export interface PanelResizeHandleIndicatorConfig {
264
+ /**
265
+ * Primary axis thickness of the indicator pill in pixels.
266
+ * (Horizontal: width, Vertical: height)
267
+ * インジケーター外枠の主軸方向の厚み (px)。(水平: 幅, 垂直: 高さ)
268
+ * @default 6
269
+ */
270
+ thickness?: number;
271
+ /**
272
+ * Cross axis length of the indicator pill in pixels.
273
+ * (Horizontal: height, Vertical: width)
274
+ * インジケーター外枠の交差軸方向の長さ (px)。(水平: 高さ, 垂直: 幅)
275
+ * @default horizontal ? 48 : 80
276
+ */
277
+ length?: number;
278
+ /**
279
+ * Primary axis thickness of the inner bar in pixels.
280
+ * インジケーター内部バーの主軸方向の厚み (px)。
281
+ * @default 2
282
+ */
283
+ barThickness?: number;
284
+ /**
285
+ * Cross axis length of the inner bar in pixels.
286
+ * インジケーター内部バーの交差軸方向の長さ (px)。
287
+ * @default horizontal ? 32 : 64
288
+ */
289
+ barLength?: number;
290
+ /**
291
+ * Whether the indicator is visible.
292
+ * インジケーターを表示するかどうかの指定。
293
+ * @default true
294
+ */
295
+ visible?: boolean;
296
+ /**
297
+ * Additional CSS class name for the indicator wrapper.
298
+ * インジケーター外枠に付与する追加 CSS クラス名。
299
+ */
300
+ className?: string;
301
+ /**
302
+ * Additional CSS class name for the inner bar.
303
+ * インジケーター内部バーに付与する追加 CSS クラス名。
304
+ */
305
+ barClassName?: string;
306
+ }
225
307
  /**
226
308
  * Props for the PanelResizeHandle component
227
309
  * PanelResizeHandle コンポーネントのプロパティ
@@ -233,7 +315,49 @@ export interface PanelResizeHandleProps {
233
315
  className?: string;
234
316
  style?: React.CSSProperties;
235
317
  children?: ReactNode;
318
+ /**
319
+ * Primary axis thickness of the handle's interactive area in pixels.
320
+ * (Horizontal: width, Vertical: height)
321
+ * リサイズハンドルの操作領域 (ヒットエリア) の厚み (px)。(水平: 幅, 垂直: 高さ)
322
+ * @default PANEL_HANDLE_THICKNESS (8)
323
+ */
324
+ thickness?: number;
325
+ /**
326
+ * Configuration for the visual indicator, or boolean to toggle visibility.
327
+ * 視覚インジケーターの設定オブジェクト、または表示/非表示の真偽値。
328
+ * @default true
329
+ */
330
+ indicator?: boolean | PanelResizeHandleIndicatorConfig;
331
+ /**
332
+ * Shorthand for indicator wrapper thickness in pixels.
333
+ * インジケーター外枠厚み (px) のショートハンド。
334
+ */
335
+ indicatorThickness?: number;
336
+ /**
337
+ * Shorthand for indicator wrapper length in pixels.
338
+ * インジケーター外枠長さ (px) のショートハンド。
339
+ */
340
+ indicatorLength?: number;
341
+ /**
342
+ * Shorthand for indicator inner bar thickness in pixels.
343
+ * インジケーター内部バー厚み (px) のショートハンド。
344
+ */
345
+ indicatorBarThickness?: number;
346
+ /**
347
+ * Shorthand for indicator inner bar length in pixels.
348
+ * インジケーター内部バー長さ (px) のショートハンド。
349
+ */
350
+ indicatorBarLength?: number;
351
+ /**
352
+ * Custom tooltip text for the handle element.
353
+ * ハンドル要素のカスタムツールチップテキスト。
354
+ */
355
+ title?: string;
236
356
  }
357
+ /**
358
+ * Observed pixel and percentage measurements for a registered panel.
359
+ * 登録済みパネルの実測ピクセル寸法およびパーセンテージ寸法。
360
+ */
237
361
  export interface PanelMeasurement {
238
362
  pixelSize: number;
239
363
  percentageSize: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aiquants/resize-panels",
3
- "version": "1.8.1",
3
+ "version": "1.9.0",
4
4
  "description": "Reusable resizable panel components and utilities for React",
5
5
  "sideEffects": [
6
6
  "**/*.css"
@@ -69,12 +69,12 @@
69
69
  "access": "public"
70
70
  },
71
71
  "scripts": {
72
- "build": "vite build && pnpm build:css",
72
+ "build": "pnpm run clean && vite build && pnpm run build:css",
73
73
  "build:css": "tailwindcss -i src/styles/components.entry.css -o dist/styles/resize-panels.css --minify && tailwindcss -i src/styles/standalone.entry.css -o dist/styles/resize-panels.standalone.css --minify",
74
74
  "dev": "vite build --watch",
75
75
  "watch": "vite build --watch",
76
76
  "typecheck": "tsc --noEmit",
77
- "test": "vitest",
77
+ "test": "vitest run",
78
78
  "license-check": "pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\"",
79
79
  "license-check:json": "pnpm dlx license-checker --production --onlyAllow \"MIT;Apache-2.0;BSD-2-Clause;BSD-3-Clause;ISC;Unlicense\" --json",
80
80
  "clean": "rimraf dist",