@aiquants/resize-panels 1.1.0 → 1.3.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.
- package/README.md +0 -1
- package/dist/Panel.d.ts.map +1 -1
- package/dist/PanelGroup.d.ts.map +1 -1
- package/dist/PanelResizeHandle.d.ts.map +1 -1
- package/dist/hooks.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +1745 -1746
- package/dist/index.umd.js +3 -3
- package/dist/reducer.d.ts.map +1 -1
- package/dist/resize-panels.css +1 -1
- package/dist/styles/resize-panels.css +2 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils.d.ts +0 -10
- package/dist/utils.d.ts.map +1 -1
- package/package.json +11 -8
package/dist/index.umd.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
(function(ue,x){typeof exports=="object"&&typeof module<"u"?x(exports,require("react"),require("react-dom")):typeof define=="function"&&define.amd?define(["exports","react","react-dom"],x):(ue=typeof globalThis<"u"?globalThis:ue||self,x(ue.AiquantsResizePanels={},ue.React,ue.ReactDOM))})(this,(function(ue,x,Kt){"use strict";const tt=x.createContext(null),Ye=()=>{const e=x.useContext(tt);if(!e)throw new Error("usePanelGroup must be used within a PanelGroup");return e},ut=(e,t=0)=>{if(!Number.isFinite(e))return e;const o=10**t,i=e*o,r=Math.floor(i),s=i-r,n=Number.EPSILON*Math.max(1,Math.abs(i));return s<.5-n?r/o:s>.5+n?(r+1)/o:(r%2===0?r:r+1)/o},ft=12,pt=8,qt=8,$t=8,mt=.05,gt=10,er=.05,tr=20,rr=.05,ht=0,xt=6,be=(e,t)=>t<=0?0:ut(e/t*100,xt),De=(e,t)=>!e||t<=0?0:e/100*t,Je=(e,t="percentage")=>{if(e!==void 0)return typeof e=="number"?{value:e,unit:t}:e},zt=(e,t)=>e?e.unit==="percentage"?e.value/100*t:e.value:0,se=(e,t,o)=>e?typeof e=="number"?e/100*o:e.unit==="pixels"?e.value:e.value/100*o:t,Se=(e,t,o)=>Math.min(Math.max(e,t),o),rt=e=>{if(!Number.isFinite(e)||e<=0)return ht;const t=e*mt,o=Math.min(ft,gt,t);return Math.max(ht,o)},St=(e,t,o,i={})=>{if(Math.abs(t)<=0)return t;const r=i.enforceAutoMinSize??!1,s=e.map((l,c)=>({panel:l,index:c})).filter(({panel:l})=>!l.collapsed&&(l.sizeUnit==="pixels"||l.originalPixelSize!==void 0));if(s.length===0)return t;const n=t>0,u=[...s].sort((l,c)=>{const d=l.panel.pixelAdjustPriority??l.index+1,S=c.panel.pixelAdjustPriority??c.index+1;return d===S?n?c.index-l.index:l.index-c.index:n?S-d:d-S});let a=t;const g=l=>{for(const{index:c}of u){if(Math.abs(a)<=0)break;const d=e[c];if(!d||d.collapsed)continue;const S=Je(d.minSize,"pixels"),P=Je(d.maxSize,"pixels"),y=S?zt(S,o):0,M=P?zt(P,o):o,v=r?se(d.autoMinSize,0,o):0,E=Math.max(y,v),C=d.preferredPixelSize!==void 0?Se(d.preferredPixelSize,E,M):d.size,D=d.collapseFromStart||d.collapseFromEnd;if(a>0){if(Math.abs(d.size)<=0&&(d.percentageSize??0)<=0)continue;const ee=Math.max(d.size,C),K=l?Math.min(M,ee):M,w=Math.max(0,K-d.size);if(w<=0)continue;const L=Math.min(w,a);if(L<=0)continue;const X=d.size+L,ne=be(X,o),W=D?X:d.sizeBeforeCollapse,V=D?d.measuredPixelSizeBeforeCollapse??d.measuredPixelSize??X:d.measuredPixelSizeBeforeCollapse;e[c]={...d,size:X,percentageSize:ne,sizeBeforeCollapse:W,measuredPixelSizeBeforeCollapse:V,measuredPixelSize:void 0,measuredPercentageSize:void 0},a-=L}else{const q=l?C:E,ee=Math.max(0,d.size-q);if(ee<=0)continue;const K=Math.min(ee,Math.abs(a));if(K<=0)continue;const w=d.size-K,L=be(w,o),X=D?w:d.sizeBeforeCollapse,ne=D?d.measuredPixelSizeBeforeCollapse??d.measuredPixelSize??w:d.measuredPixelSizeBeforeCollapse;e[c]={...d,size:w,percentageSize:L,sizeBeforeCollapse:X,measuredPixelSizeBeforeCollapse:ne,measuredPixelSize:void 0,measuredPercentageSize:void 0},a+=K}}};return g(!0),(n&&a>0||!n&&a<0)&&g(!1),a},Xe=e=>{if(!e)return 0;const t=parseFloat(e);return Number.isFinite(t)?t:0},ke=(e,t)=>{const o=e.getBoundingClientRect(),i=typeof window<"u"?window.getComputedStyle(e):null,r=i?Xe(i.borderLeftWidth)+Xe(i.borderRightWidth):0,s=i?Xe(i.borderTopWidth)+Xe(i.borderBottomWidth):0;if(t==="horizontal"){const g=o.width>0?o.width:e.offsetWidth,l=o.width>0?Math.max(0,o.width-r):e.clientWidth,c=e.offsetWidth>0?e.offsetWidth:e.clientWidth+r;return{inner:l>0?l:Math.max(0,e.clientWidth),outer:g>0?g:Math.max(0,c)}}const n=o.height>0?o.height:e.offsetHeight,u=o.height>0?Math.max(0,o.height-s):e.clientHeight,a=e.offsetHeight>0?e.offsetHeight:e.clientHeight+s;return{inner:u>0?u:Math.max(0,e.clientHeight),outer:n>0?n:Math.max(0,a)}};let bt=0,Pt=0;const yt=()=>typeof window>"u"?(bt+=1,`panel-server-${bt}`):`panel-${Date.now()}-${Math.random().toString(36).substr(2,5)}`,nr=()=>typeof window>"u"?(Pt+=1,`resize-handle-server-${Pt}`):`resize-handle-${Date.now()}-${Math.random().toString(36).substr(2,5)}`,vt=(e,t)=>{try{localStorage.setItem(`panel-layout-${e}`,JSON.stringify(t))}catch(o){console.warn("Failed to save panel layout:",o)}},wt=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}},Pe=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})),Ze=e=>e?Pe([e])[0]:null,Ae=e=>e?!!(e.collapseFromStart||e.collapseFromEnd):!1,nt=(e,t)=>{if(!Number.isFinite(t)||t<=0)return e;const o=e.map(a=>({...a})),i=[];for(let a=0;a<o.length;a+=1){const g=o[a];if(g.collapsed){o[a]={...g,size:0,percentageSize:0};continue}const l=Math.max(0,se(g.minSize,0,t)),c=Math.max(0,se(g.autoMinSize,0,t)),d=Math.max(l,c),S=Math.max(.001,d),P=se(g.maxSize,t,t),y=Math.max(d,P),M=g.sizeUnit==="pixels"||g.originalPixelSize!==void 0,v=Math.max(0,g.size);let E=d;if(M){const D=g.preferredPixelSize??g.size??g.originalPixelSize??d;E=Se(D,d,y)}else{const D=g.preferredPercentageSize??g.percentageSize??be(g.size,t),q=De(D,t);E=Se(q,d,y)}const C=!M&&(g.excludeFromAutoGrowth??!1)&&v<=S;i.push({index:a,isPixelPanel:M,minSize:d,maxSize:y,preferredSize:E,priority:g.pixelAdjustPriority??a+1,flexPriority:M?void 0:g.flexAdjustPriority,excludeFromGrowth:C})}if(i.length===0)return o;const r=new Map;let s=0;for(const a of i)r.set(a.index,a.minSize),s+=a.minSize;let n=t-s;const u=(a,g)=>{if(g<=0)return 0;const l=r.get(a.index)??a.minSize,c=Math.max(0,a.maxSize-l);if(c<=0)return 0;const d=Math.min(g,c);return r.set(a.index,l+d),d};if(n>0){const a=l=>{for(;n>1e-6;){let d=0;const S=[];for(const M of l){if(!M.isPixelPanel&&M.excludeFromGrowth)continue;const v=r.get(M.index)??M.minSize,E=Math.min(M.preferredSize,M.maxSize),C=Math.max(0,E-v);C>1e-6&&(d+=C,S.push({descriptor:M,capacity:C}))}if(S.length===0||d<=1e-6)break;let P=0;const y=n;for(const M of S){if(n<=1e-6)break;if(!M.descriptor.isPixelPanel&&M.descriptor.excludeFromGrowth)continue;const v=y*M.capacity/d,E=Math.min(M.capacity,v);if(E<=0)continue;const C=u(M.descriptor,E);C>0&&(n-=C,P+=C)}if(P<=1e-6)break}},g=i.filter(l=>l.isPixelPanel);g.sort((l,c)=>c.priority-l.priority);for(const l of g){if(n<=0)break;const c=r.get(l.index)??l.minSize,d=Math.min(l.preferredSize,l.maxSize),S=Math.max(0,d-c);if(S<=0)continue;const P=u(l,Math.min(S,n));P>0&&(n-=P)}if(n>0){const l=i.filter(c=>!c.isPixelPanel);if(l.length>0){const c=l.filter(d=>d.flexPriority!==void 0&&!d.excludeFromGrowth);if(c.length>0){c.sort((d,S)=>(S.flexPriority??0)-(d.flexPriority??0));for(const d of c){if(n<=0)break;if(d.excludeFromGrowth)continue;const S=r.get(d.index)??d.minSize,P=Math.min(d.preferredSize,d.maxSize),y=Math.max(0,P-S);if(y<=0)continue;const M=u(d,Math.min(y,n));M>0&&(n-=M)}}if(n>0){const d=c.length>0?l.filter(S=>S.flexPriority===void 0&&!S.excludeFromGrowth):l.filter(S=>!S.excludeFromGrowth);d.length>0&&a(d)}}}}if(n>0){let a=n;for(;;){let g=0;const l=[];for(const d of i){if(!d.isPixelPanel&&d.excludeFromGrowth)continue;const S=r.get(d.index)??d.minSize,P=d.isPixelPanel?Math.min(d.maxSize,d.preferredSize):d.maxSize,y=Math.max(0,P-S);y>0&&(l.push(d),g+=y)}if(g<=0)break;const c=n;for(const d of l){if(n<=0)break;if(!d.isPixelPanel&&d.excludeFromGrowth)continue;const S=r.get(d.index)??d.minSize,P=d.isPixelPanel?Math.min(d.maxSize,d.preferredSize):d.maxSize,y=Math.max(0,P-S);if(y<=0)continue;const M=c*y/g,v=u(d,Math.min(y,M));v>0&&(n-=v)}if(n<=1e-6||Math.abs(a-n)<=1e-6)break;a=n}n=Math.max(0,n)}if(n<0){let a=n;const g=i.filter(l=>l.isPixelPanel);for(g.sort((l,c)=>l.priority-c.priority);!(n>=0);){let l=!1;for(const c of g){if(n>=0)break;const d=r.get(c.index)??c.minSize,S=Se(c.preferredSize,c.minSize,c.maxSize),P=Math.max(0,d-S);if(P>0&&n<0){const M=Math.min(P,Math.abs(n));r.set(c.index,d-M),n+=M,l=!0;continue}const y=Math.max(0,d-c.minSize);if(y>0&&n<0){const M=Math.min(y,Math.abs(n));r.set(c.index,d-M),n+=M,l=!0}}if(!l||Math.abs(a-n)<=1e-6)break;a=n}}for(const a of i){const g=r.get(a.index)??a.minSize,l=o[a.index],c=Ae(l),d=c?g:l.sizeBeforeCollapse,S=c?l.measuredPixelSizeBeforeCollapse??l.measuredPixelSize??g:l.measuredPixelSizeBeforeCollapse,P=t>0?be(g,t):0;o[a.index]={...l,size:g,percentageSize:P,preferredPercentageSize:l.preferredPercentageSize,preferredPixelSize:a.isPixelPanel?l.preferredPixelSize??g:l.preferredPixelSize,sizeBeforeCollapse:d,measuredPixelSizeBeforeCollapse:S,measuredPixelSize:void 0,measuredPercentageSize:void 0}}return _e(o)},_e=e=>{let t=0;for(const r of e)r.collapsed||(t+=Math.max(r.size,0));if(t<=0){let r=!1;const s=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?s:e}let o=!1;const i=e.map(r=>{if(r.collapsed)return(r.percentageSize??0)!==0?(o=!0,{...r,percentageSize:0,measuredPercentageSize:r.measuredPercentageSize!==void 0?0:r.measuredPercentageSize}):r;const s=be(r.size,t),n=r.measuredPercentageSize,g=(n!==void 0?Math.abs(n-s):1/0)<1e-4&&n!==void 0?n:s,l=ut(g,xt),d=Math.abs((r.percentageSize??0)-l)>0||r.percentageSize===void 0,S=r.sizeBeforeCollapse===void 0||r.sizeBeforeCollapse!==r.size,P=Ae(r),y=P&&S,M=r.measuredPixelSize??r.size,v=P&&(r.measuredPixelSizeBeforeCollapse===void 0||r.measuredPixelSizeBeforeCollapse!==M);if(!(d||y||v))return r;o=!0;const E=y?r.size:r.sizeBeforeCollapse,C=v?M:r.measuredPixelSizeBeforeCollapse;return{...r,percentageSize:l,sizeBeforeCollapse:E,measuredPixelSizeBeforeCollapse:C,collapsedByDirection:r.collapsed?r.collapsedByDirection??null:null}});return o?i:e},Qe=(e,t)=>{if(t<=0)return!1;const o=[];let i=0;for(let l=0;l<e.length;l+=1){const c=e[l];!c||c.collapsed||(o.push(l),i+=c.size)}if(o.length===0)return!1;let r=t-i;if(Math.abs(r)<=0)return!1;let s=!1;const n=l=>{const c=e[l],d=se(c.minSize,0,t),S=se(c.autoMinSize,0,t),P=Math.max(d,S),y=se(c.maxSize,t,t),M=c.sizeUnit==="percentage"&&c.originalPixelSize===void 0;return{index:l,minSize:P,maxSize:y,isFlexible:M}},u=(l,c)=>{if(!Number.isFinite(c)||Math.abs(c)<=0)return;const d=e[l];if(!d)return;const S=Math.max(0,d.size+c);if(Math.abs(S-d.size)<=0)return;const P=be(S,t),y=Ae(d),M=y?S:d.sizeBeforeCollapse,v=y?d.measuredPixelSizeBeforeCollapse??d.measuredPixelSize??S:d.measuredPixelSizeBeforeCollapse;e[l]={...d,size:S,percentageSize:P,sizeBeforeCollapse:M,measuredPixelSizeBeforeCollapse:v,measuredPixelSize:void 0,measuredPercentageSize:void 0},r-=c,s=!0},a=l=>{for(const c of l){if(Math.abs(r)<=0)break;const d=e[c.index];if(!d||d.collapsed)continue;const S=d.size;if(r>0){const P=Math.max(0,c.maxSize-S);if(P<=0)continue;const y=Math.min(P,r);if(y<=0)continue;u(c.index,y)}else{const P=Math.max(0,S-c.minSize);if(P<=0)continue;const y=Math.min(P,Math.abs(r));if(y<=0)continue;u(c.index,-y)}}},g=o.map(l=>n(l)).filter(l=>l.isFlexible);if(g.length>0&&a(g),Math.abs(r)>0){const l=r;r=St(e,r,t,{enforceAutoMinSize:!0}),Math.abs(r-l)>0&&(s=!0)}return s},Ct=(e,t,o)=>{if(!(e.sizeUnit==="pixels"||e.originalPixelSize!==void 0)||e.pixelAdjustPriority!==void 0)return e;const r=t.filter((n,u)=>u!==o&&(n.sizeUnit==="pixels"||n.originalPixelSize!==void 0)).map(n=>n.pixelAdjustPriority).filter(n=>n!==void 0),s=r.length>0?Math.max(...r)+1:1;return{...e,pixelAdjustPriority:s}},or=(e,t)=>{switch(t.type){case"REGISTER_PANEL":{console.log("REGISTER_PANEL",t.panel);const o=e.findIndex(s=>s.id===t.panel.id);if(o>=0){const s=[...e],n=e[o],u={...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,autoMinSize:t.panel.autoMinSize!==void 0?t.panel.autoMinSize:n.autoMinSize,excludeFromAutoGrowth:t.panel.excludeFromAutoGrowth!==void 0?t.panel.excludeFromAutoGrowth:n.excludeFromAutoGrowth},a=Ct(u,e,o);return console.log("[resize-panels] register panel (update)",{panelId:a.id,incoming:Ze(t.panel),previous:Ze(n),next:Ze(a)}),s[o]=a,s}const i={...t.panel},r=Ct(i,e);return console.log("[resize-panels] register panel (insert)",{panelId:r.id,incoming:Ze(r),previousLength:e.length}),[...e,r]}case"UNREGISTER_PANEL":{console.log("UNREGISTER_PANEL",t.id);const o=e.filter(r=>r.id!==t.id),i=_e(o);return console.log("[resize-panels] unregister panel",{panelId:t.id,previous:Pe(e),filtered:Pe(o),next:Pe(i)}),i}case"RESIZE_PANELS":{console.log("RESIZE_PANELS",t.leftId,t.rightId,t.leftSize,t.rightSize);const o=e.findIndex(z=>z.id===t.leftId),i=e.findIndex(z=>z.id===t.rightId);if(o===-1||i===-1)return e;const r=[...e],s=r[o],n=r[i];if(s.collapsed||n.collapsed||t.leftSize===s.size&&t.rightSize===n.size)return e;const u=t.containerSize??e.reduce((z,h)=>z+h.size,0),a=se(s.minSize,0,u),g=se(s.maxSize,u,u),l=se(n.minSize,0,u),c=se(n.maxSize,u,u),d=s.size+n.size,S=e.reduce((z,h)=>h.collapsed?z:z+h.size,0),P=S-d,y=a+l,M=g+c,v=Se(t.leftSize+t.rightSize,y,M);let E=u>0?u-P:v;Number.isFinite(E)||(E=v);const C=Se(Math.max(v,E),y,M),D=z=>({min:Math.max(a,z-c),max:Math.min(g,z-l)}),q=z=>({min:Math.max(l,z-g),max:Math.min(c,z-a)}),ee=Math.abs(t.leftSize-s.size),K=Math.abs(t.rightSize-n.size),w=ee>=K;let L=s.size,X=n.size;if(w){const z=D(C);if(z.min>z.max)return e;const h=Se(t.leftSize,z.min,z.max),b=C-h;if(b<l||b>c)return e;L=h,X=b}else{const z=q(C);if(z.min>z.max)return e;const h=Se(t.rightSize,z.min,z.max),b=C-h;if(b<a||b>g)return e;X=h,L=b}const ne=L+X;if(C!==ne)return e;const W=S-s.size-n.size+ne,V=u>0?u:W,ae=V>0?be(L,V):0,k=V>0?be(X,V):0,T=s.sizeUnit==="pixels"||s.originalPixelSize!==void 0?L:s.preferredPixelSize,J=n.sizeUnit==="pixels"||n.originalPixelSize!==void 0?X:n.preferredPixelSize,R=se(s.autoMinSize,0,u),me=se(n.autoMinSize,0,u),ze=Math.max(.001,R),p=Math.max(.001,me),B=s.sizeUnit==="percentage"&&s.originalPixelSize===void 0,O=n.sizeUnit==="percentage"&&n.originalPixelSize===void 0;let H=s.excludeFromAutoGrowth,fe=n.excludeFromAutoGrowth;B&&(L<=ze?H=!0:L>ze&&(H=!1)),O&&(X<=p?fe=!0:X>p&&(fe=!1));const ge=Ae(s),f=Ae(n);return r[o]={...s,size:L,percentageSize:ae,preferredPercentageSize:ae>0?ae:s.preferredPercentageSize,preferredPixelSize:T,sizeBeforeCollapse:ge?L:s.sizeBeforeCollapse,measuredPixelSize:void 0,measuredPercentageSize:void 0,excludeFromAutoGrowth:H},r[i]={...n,size:X,percentageSize:k,preferredPercentageSize:k>0?k:n.preferredPercentageSize,preferredPixelSize:J,sizeBeforeCollapse:f?X:n.sizeBeforeCollapse,measuredPixelSize:void 0,measuredPercentageSize:void 0,excludeFromAutoGrowth:fe},u>0&&Qe(r,u)?_e(r):r}case"SET_PANELS":{console.log("SET_PANELS",t.panels);const o=t.panels.map(a=>{const g=a.sizeUnit==="pixels"||a.originalPixelSize!==void 0,l=a.preferredPercentageSize!==void 0?a.preferredPercentageSize:a.percentageSize,c=a.preferredPixelSize!==void 0?a.preferredPixelSize:g?a.size:a.preferredPixelSize;return{...a,preferredPercentageSize:l,preferredPixelSize:c}}),i=Pe(e),r=Pe(o),s=_e(o),n=Pe(s);let u=i.length===n.length;if(u)for(let a=0;a<n.length;a+=1){const g=n[a],l=i[a];if(!l){u=!1;break}if(!(l.id===g.id&&l.size===g.size&&l.percentageSize===g.percentageSize&&l.sizeBeforeCollapse===g.sizeBeforeCollapse&&l.measuredPercentageSize===g.measuredPercentageSize&&l.collapsed===g.collapsed)){u=!1;break}}return u?(console.log("[resize-panels] set panels skipped (no diff)",{previous:i,incoming:r,next:n,previousLength:i.length,incomingLength:r.length}),e):(console.log("[resize-panels] set panels",{previous:i,incoming:r,next:n,previousLength:i.length,incomingLength:r.length}),s)}case"CONTAINER_RESIZED":{if(console.log("CONTAINER_RESIZED",t.containerSize),t.containerSize<=0)return console.log("[resize-panels] container resized skipped (non-positive size)",{containerSize:t.containerSize,panels:Pe(e)}),e;console.log("[resize-panels] container resized (before)",{containerSize:t.containerSize,panels:Pe(e)});const o=nt(e,t.containerSize);if(console.log("[resize-panels] container resized (after recalc)",{containerSize:t.containerSize,panels:Pe(o)}),t.containerSize>0&&Qe(o,t.containerSize)){const i=_e(o);return console.log("[resize-panels] container resized (after reconcile)",{containerSize:t.containerSize,panels:Pe(i)}),i}return console.log("[resize-panels] container resized (final)",{containerSize:t.containerSize,panels:Pe(o)}),o}case"COLLAPSE_PANEL":{console.log("COLLAPSE_PANEL",t.id);const o=e.findIndex(d=>d.id===t.id);if(o===-1)return e;const i=e[o],r=t.from==="start"?i.collapseFromStart:i.collapseFromEnd;if(!(Ae(i)&&r)||i.collapsed)return e;const n=i.size,u=i.measuredPixelSize??n,a=i.percentageSize??i.preferredPercentageSize??0,g={...i,collapsed:!0,collapsedByDirection:t.from,sizeBeforeCollapse:n,percentageSizeBeforeCollapse:a,preferredPercentageSizeBeforeCollapse:i.preferredPercentageSize??a,preferredPixelSizeBeforeCollapse:i.preferredPixelSize??n,measuredPixelSizeBeforeCollapse:u,size:0,percentageSize:0,preferredPercentageSize:i.preferredPercentageSize,measuredPixelSize:i.measuredPixelSize!==void 0?0:i.measuredPixelSize,measuredPercentageSize:i.measuredPercentageSize!==void 0?0:i.measuredPercentageSize},l=[...e];l[o]=g;const c=nt(l,t.containerSize);return t.containerSize>0&&Qe(c,t.containerSize)?_e(c):c}case"EXPAND_PANEL":{console.log("EXPAND_PANEL",t.id,t.targetSize);const o=e.findIndex(C=>C.id===t.id);if(o===-1)return e;const i=t.containerSize,r=e[o],s=t.from==="start"?r.collapseFromStart:r.collapseFromEnd;if(!(Ae(r)&&s)||!r.collapsed||r.collapsedByDirection&&r.collapsedByDirection!==t.from)return e;const u=[t.targetSize,r.sizeBeforeCollapse,r.measuredPixelSizeBeforeCollapse,r.preferredPixelSizeBeforeCollapse,r.originalPixelSize].find(C=>C!==void 0)??0,a=se(r.minSize,0,i),g=se(r.maxSize,i,i),l=Se(u,a,g),c=be(l,i),d=r.measuredPixelSizeBeforeCollapse??l,S=be(d,i),P=r.preferredPercentageSizeBeforeCollapse??r.percentageSizeBeforeCollapse??c,y=r.preferredPixelSizeBeforeCollapse??r.preferredPixelSize??l,M={...r,collapsed:!1,collapsedByDirection:null,size:l,percentageSize:c,preferredPercentageSize:P,preferredPixelSize:y,sizeBeforeCollapse:l,percentageSizeBeforeCollapse:void 0,preferredPercentageSizeBeforeCollapse:void 0,preferredPixelSizeBeforeCollapse:void 0,measuredPixelSize:l,measuredPixelSizeBeforeCollapse:d,measuredPercentageSize:S},v=[...e];v[o]=M;const E=nt(v,i);return i>0&&Qe(E,i)?_e(E):E}default:return e}},Et=({direction:e,style:t,onLayout:o,autoSaveId:i,showDebugInfo:r=!1})=>{const[s,n]=x.useReducer(or,[]),[u,a]=x.useState({width:0,height:0}),[g,l]=x.useState(!1),[c,d]=x.useState(!1),[S,P]=x.useState(null),[y,M]=x.useState({}),[v,E]=x.useState({}),C=x.useRef(null),D=x.useRef(o),q=x.useRef(!1),ee=x.useRef(0),K=x.useRef(u),w=x.useRef(u),L=x.useRef(g),X=x.useRef(S?.reason??null),ne=x.useRef({}),W=x.useRef(null),V=x.useRef(null),ae=x.useCallback(f=>f.map(z=>({...z})),[]);x.useEffect(()=>{w.current=u},[u]),x.useEffect(()=>{L.current=g},[g]),x.useEffect(()=>{X.current=S?.reason??null},[S?.reason]),x.useEffect(()=>{if(S)return;const f=e==="horizontal"?u.width:u.height;!Number.isFinite(f)||f<=4||s.length!==0&&(W.current=ae(s))},[S,s,e,u.width,u.height,ae]),x.useEffect(()=>{const f=V.current;if(S){V.current=S;return}if(f&&!S&&W.current){V.current=null;const z=ae(W.current);n({type:"SET_PANELS",panels:z});return}V.current=S},[S,ae]),x.useLayoutEffect(()=>{if(!C.current)return;const f=new ResizeObserver(z=>{for(const h of z){const b=h.target,N=b?ke(b,"horizontal"):null,Y=b?ke(b,"vertical"):null,re=N?N.inner:0,U=Y?Y.inner:0,$=h.contentRect.width,Z=h.contentRect.height,j=re>0?re:$,F=U>0?U:Z;a(oe=>(!g&&j>0&&F>0&&l(!0),oe.width===j&&oe.height===F?oe:{width:j,height:F}))}});return f.observe(C.current),()=>f.disconnect()},[g]),x.useLayoutEffect(()=>{const f=K.current,z=u,h=e==="horizontal"?Math.abs(f.width-z.width)>0:Math.abs(f.height-z.height)>0;if(c&&h){const b=e==="horizontal"?z.width:z.height;n({type:"CONTAINER_RESIZED",containerSize:b,direction:e})}K.current=z},[u,c,e]);const k=x.useCallback(()=>{console.log("panels[0]?.id",s[0]?.id);const f=s.some(m=>{if(m.collapsed||m.sizeUnit!=="percentage")return!1;const ie=m.collapseFromStart||m.collapseFromEnd?m.sizeBeforeCollapse??m.measuredPixelSizeBeforeCollapse??m.originalPixelSize??m.measuredPixelSize??0:m.measuredPixelSize??m.originalPixelSize??m.size,te=m.percentageSize!==void 0&&m.percentageSize>0;return m.size<=0&&(ie>0||te)}),z=e==="horizontal"?u.width:u.height,h=z>0;if(S||!h||!(s.length>0&&(s.length!==ee.current||!c||f)))return;const Y=s.filter(m=>!m.collapsed&&(m.originalPixelSize!==void 0||m.sizeUnit==="pixels")).reduce((m,G)=>{const ie=G.preferredPixelSize??G.originalPixelSize??G.size;return m+Math.max(0,ie??0)},0),re=s.filter(m=>m.sizeUnit==="percentage"&&!m.collapsed),U=re.map(m=>m.id),$=re.map(m=>{const G=m.preferredPercentageSize??m.percentageSize;return G!==void 0&&G>0?De(G,z):m.size>0?m.size:0}),Z=$.reduce((m,G)=>m+G,0),j=z-Y,F=Math.max(0,j),oe=F>0,pe=s.map(m=>{if(m.collapsed){const G=m.sizeBeforeCollapse??m.measuredPixelSizeBeforeCollapse??m.originalPixelSize??(m.sizeUnit==="pixels"?m.size:void 0),ie=m.sizeUnit==="percentage"&&m.percentageSize!==void 0?De(m.percentageSize,z):void 0,te=G??ie??0,he=m.measuredPixelSizeBeforeCollapse??m.measuredPixelSize??te;return{...m,size:0,percentageSize:0,preferredPercentageSize:m.preferredPercentageSize,sizeBeforeCollapse:te,percentageSizeBeforeCollapse:m.percentageSizeBeforeCollapse??m.percentageSize??m.preferredPercentageSize??0,preferredPercentageSizeBeforeCollapse:m.preferredPercentageSizeBeforeCollapse??m.preferredPercentageSize??m.percentageSize??void 0,preferredPixelSizeBeforeCollapse:m.preferredPixelSizeBeforeCollapse??m.preferredPixelSize??te,measuredPixelSizeBeforeCollapse:he}}if(m.sizeUnit==="pixels"||m.originalPixelSize!==void 0){const G=m.size,ie=z>0?be(G,z):0,te={...m,size:G,percentageSize:ie,preferredPixelSize:m.preferredPixelSize??m.originalPixelSize??G,preferredPercentageSize:m.preferredPercentageSize!==void 0?m.preferredPercentageSize:ie>0?ie:void 0};if(m.collapseFromStart||m.collapseFromEnd){const he=m.sizeBeforeCollapse??G,we=m.measuredPixelSizeBeforeCollapse??m.measuredPixelSize??he;te.sizeBeforeCollapse=he,te.measuredPixelSizeBeforeCollapse=we,te.preferredPixelSizeBeforeCollapse=m.preferredPixelSizeBeforeCollapse??m.preferredPixelSize??he}return te}if(m.sizeUnit==="percentage"){const G=U.indexOf(m.id),ie=G!==-1?$[G]:0,te=se(m.minSize,0,z),he=se(m.maxSize,z,z),we=Math.max(te,m.sizeBeforeCollapse??0,m.measuredPixelSizeBeforeCollapse??0,m.measuredPixelSize??0,m.originalPixelSize??0,m.size>0?m.size:0,m.percentageSize!==void 0?De(m.percentageSize,z):0,1),Re=ie>0?ie:we;let ye;if(!oe)ye=te;else if(G!==-1&&Z>0){const Ce=Re/Z,Ne=F*Ce;ye=Se(Ne,te,he)}else{const Ce=m.percentageSize!==void 0?De(m.percentageSize,z):m.size,Ne=Ce>0?Ce:Re;ye=Se(Ne,te,he)}const Be=z>0?be(ye,z):0,Te={...m,size:ye,percentageSize:Be,preferredPercentageSize:m.preferredPercentageSize!==void 0?m.preferredPercentageSize:Be>0?Be:void 0};if(m.collapseFromStart||m.collapseFromEnd){const Ce=m.sizeBeforeCollapse??ye,Ne=m.measuredPixelSizeBeforeCollapse??m.measuredPixelSize??Ce;Te.sizeBeforeCollapse=Ce,Te.measuredPixelSizeBeforeCollapse=Ne,Te.preferredPixelSizeBeforeCollapse=m.preferredPixelSizeBeforeCollapse??m.preferredPixelSize??Ce}return Te}return m}),le=[];for(let m=0;m<pe.length;m+=1){const G=pe[m];G.sizeUnit==="percentage"&&!G.collapsed&&le.push(m)}const ce=le.reduce((m,G)=>m+pe[G].size,0),de=j-ce;Math.abs(de)>0&&St(pe,de,z,{enforceAutoMinSize:!0}),n({type:"SET_PANELS",panels:pe}),ee.current=s.length,d(!0)},[s,e,u.width,u.height,c,S]);x.useEffect(()=>{const f=e==="horizontal"?u.width:u.height,z=f>0,h=z&&s.length>0,b=h?s.reduce((Z,j)=>{if(j.collapsed)return Z;const F=se(j.minSize,0,f);return Z+Math.max(0,F)},0):null,N=h?s.reduce((Z,j)=>{if(j.collapsed)return Z;const F=se(j.maxSize,f,f);return Z+Math.max(0,F)},0):null,Y=b??S?.totalMinimumSize??null,re=N??S?.totalMaximumSize??null;if(!z){S&&P(Z=>!Z||Z.availableContainerSize===f?Z:{reason:Z.reason,totalMinimumSize:null,totalMaximumSize:null,availableContainerSize:f});return}const U=Y!==null&&Y-f>Number.EPSILON,$=re!==null&&f-re>Number.EPSILON;if(U||$){const j={reason:U?"minimum-exceeded":"maximum-insufficient",totalMinimumSize:Y,totalMaximumSize:re,availableContainerSize:f};P(F=>F&&F.reason===j.reason&&Math.abs((F.totalMinimumSize??0)-(j.totalMinimumSize??0))<=Number.EPSILON&&Math.abs((F.totalMaximumSize??0)-(j.totalMaximumSize??0))<=Number.EPSILON&&Math.abs(F.availableContainerSize-j.availableContainerSize)<=Number.EPSILON?F:j);return}if(S){const Z=S.reason==="minimum-exceeded",j=S.reason==="maximum-insufficient";(!Z||Y!==null)&&(!j||re!==null)&&!U&&!$&&P(ce=>ce&&null)}},[s,e,u.width,u.height,S]),x.useEffect(()=>{k()},[k]),x.useEffect(()=>{D.current=o},[o]);const T=x.useMemo(()=>s.map(f=>f.size),[s]);x.useLayoutEffect(()=>{T.length>0&&D.current&&D.current(T)},[T]),x.useEffect(()=>{if(i&&T.length>0){const f=setTimeout(()=>{vt(i,T)},200);return()=>clearTimeout(f)}},[i,T]),x.useEffect(()=>{if(!i||s.length===0||q.current)return;const f=e==="horizontal"?u.width:u.height;if(f<=0)return;const z=wt(i);if(z&&z.length===s.length){const h=s.map((b,N)=>{const Y=se(b.minSize,0,f),re=se(b.maxSize,f,f),U=Se(z[N],Y,re),$=be(U,f),Z=b.sizeUnit==="pixels"||b.originalPixelSize!==void 0?U:b.preferredPixelSize;return{...b,size:U,percentageSize:$,preferredPercentageSize:$>0?$:b.preferredPercentageSize,preferredPixelSize:Z}});n({type:"SET_PANELS",panels:h}),q.current=!0}},[i,s,u.width,u.height,e]);const J=x.useCallback(f=>{const z=w.current,h=ne.current,b=JSON.stringify({id:f.id,size:f.size??null,percentageSize:f.percentageSize??null,preferredPercentageSize:f.preferredPercentageSize??null,preferredPixelSize:f.preferredPixelSize??null,sizeUnit:f.sizeUnit,originalPixelSize:f.originalPixelSize??null,minSize:f.minSize??null,maxSize:f.maxSize??null,collapseFromStart:f.collapseFromStart,collapseFromEnd:f.collapseFromEnd,collapsed:f.collapsed??!1,collapsedByDirection:f.collapsedByDirection??null,sizeBeforeCollapse:f.sizeBeforeCollapse??null,percentageSizeBeforeCollapse:f.percentageSizeBeforeCollapse??null,preferredPercentageSizeBeforeCollapse:f.preferredPercentageSizeBeforeCollapse??null,preferredPixelSizeBeforeCollapse:f.preferredPixelSizeBeforeCollapse??null,pixelAdjustPriority:f.pixelAdjustPriority??null});if(h[f.id]===b){console.log("[resize-panels] useResizablePanels.registerPanel skipped",{panelId:f.id,reason:"duplicate-registration"});return}h[f.id]=b,console.log("[resize-panels] useResizablePanels.registerPanel",{panelId:f.id,containerReady:L.current,violationReason:X.current,containerSize:{width:z.width,height:z.height}}),n({type:"REGISTER_PANEL",panel:f})},[]),R=x.useCallback(f=>{const z=w.current;console.log("[resize-panels] useResizablePanels.unregisterPanel",{panelId:f,containerReady:L.current,violationReason:X.current,containerSize:{width:z.width,height:z.height}}),n({type:"UNREGISTER_PANEL",id:f}),delete ne.current[f],M(h=>{if(!(f in h))return h;const b={...h};return delete b[f],b})},[]),me=x.useCallback((f,z,h,b)=>{const N=e==="horizontal"?u.width:u.height,Y=s.find(ce=>ce.id===f),re=s.find(ce=>ce.id===z);if(!(Y&&re)){n({type:"RESIZE_PANELS",leftId:f,rightId:z,leftSize:h,rightSize:b,containerSize:N});return}if(Y.collapsed||re.collapsed)return;const U=se(Y.minSize,0,N),$=se(Y.maxSize,N,N),Z=se(re.minSize,0,N),j=se(re.maxSize,N,N);let F=Se(h,U,$),oe=Se(b,Z,j);const pe=F+oe,le=h+b;if(pe!==le){const ce=le-pe;if(ce>0){const de=$-F,m=j-oe,G=de+m;if(G>0){const ie=Math.min(ce*(de/G),de),te=Math.min(ce-ie,m);F+=ie,oe+=te}}else if(ce<0){const de=Math.abs(ce),m=F-U,G=oe-Z,ie=m+G;if(ie>0){const te=Math.min(de*(m/ie),m),he=Math.min(de-te,G);F-=te,oe-=he}}}F=Se(F,U,$),oe=Se(oe,Z,j),console.assert(F+oe===le,"Total size after constraints should be close to the original total size.",{constrainedLeftSize:F,constrainedRightSize:oe,originalTotalSize:le}),n({type:"RESIZE_PANELS",leftId:f,rightId:z,leftSize:F,rightSize:oe,containerSize:N})},[e,u.width,u.height,s]),ze=x.useCallback((f,z)=>{const h=e==="horizontal"?u.width:u.height;n({type:"COLLAPSE_PANEL",id:f,from:z,containerSize:h})},[e,u.width,u.height]),p=x.useCallback((f,z,h)=>{const b=e==="horizontal"?u.width:u.height;n({type:"EXPAND_PANEL",id:f,from:z,containerSize:b,targetSize:h})},[e,u.width,u.height]),B=x.useCallback(f=>s.find(z=>z.id===f),[s]),O=x.useCallback((f,z)=>{M(h=>{if(z===null){if(!(f in h))return h;const N={...h};return delete N[f],N}const b=h[f];return b&&b.pixelSize===z.pixelSize&&b.percentageSize===z.percentageSize?h:{...h,[f]:z}})},[]),H=x.useCallback((f,z)=>{E(h=>{if(z===null){if(!(f in h))return h;const N={...h};return delete N[f],N}const b=h[f];return b&&Math.abs(b.thickness-z.thickness)<=.25&&b.visible===z.visible&&b.direction===z.direction&&b.startPanelId===z.startPanelId&&b.endPanelId===z.endPanelId?h:{...h,[f]:z}})},[]),fe=x.useMemo(()=>({direction:e,panels:s,containerSize:u,isContainerReady:g,showDebugInfo:r,registerPanel:J,unregisterPanel:R,resizePanels:me,collapsePanel:ze,expandPanel:p,getPanel:B,reportPanelMeasurement:O,panelMeasurements:y,reportHandleMeasurement:H,handleMeasurements:v,layoutConstraintViolation:S}),[e,s,u,g,r,J,R,me,ze,p,B,O,y,H,v,S]),ge=x.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:C,contextValue:fe,groupStyle:ge}},ir=e=>{const{getPanel:t,collapsePanel:o,expandPanel:i}=Ye(),r=t(e),s=x.useCallback(a=>{o(e,a)},[o,e]),n=x.useCallback((a,g)=>{i(e,a,g)},[i,e]),u=x.useCallback((a,g)=>{r?.collapsed?n(a,g):s(a)},[r?.collapsed,s,n]);return x.useMemo(()=>({panel:r,isCollapsed:r?.collapsed??!1,canCollapseFromStart:r?.collapseFromStart??!1,canCollapseFromEnd:r?.collapseFromEnd??!1,collapse:s,expand:n,toggle:u}),[r,s,n,u])};var Ke={exports:{}},Ge={};var kt;function sr(){if(kt)return Ge;kt=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function o(i,r,s){var n=null;if(s!==void 0&&(n=""+s),r.key!==void 0&&(n=""+r.key),"key"in r){s={};for(var u in r)u!=="key"&&(s[u]=r[u])}else s=r;return r=s.ref,{$$typeof:e,type:i,key:n,ref:r!==void 0?r:null,props:s}}return Ge.Fragment=t,Ge.jsx=o,Ge.jsxs=o,Ge}var He={};var Mt;function ar(){return Mt||(Mt=1,process.env.NODE_ENV!=="production"&&(function(){function e(p){if(p==null)return null;if(typeof p=="function")return p.$$typeof===ne?null:p.displayName||p.name||null;if(typeof p=="string")return p;switch(p){case M:return"Fragment";case E:return"Profiler";case v:return"StrictMode";case ee:return"Suspense";case K:return"SuspenseList";case X:return"Activity"}if(typeof p=="object")switch(typeof p.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),p.$$typeof){case y:return"Portal";case D:return p.displayName||"Context";case C:return(p._context.displayName||"Context")+".Consumer";case q:var B=p.render;return p=p.displayName,p||(p=B.displayName||B.name||"",p=p!==""?"ForwardRef("+p+")":"ForwardRef"),p;case w:return B=p.displayName||null,B!==null?B:e(p.type)||"Memo";case L:B=p._payload,p=p._init;try{return e(p(B))}catch{}}return null}function t(p){return""+p}function o(p){try{t(p);var B=!1}catch{B=!0}if(B){B=console;var O=B.error,H=typeof Symbol=="function"&&Symbol.toStringTag&&p[Symbol.toStringTag]||p.constructor.name||"Object";return O.call(B,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",H),t(p)}}function i(p){if(p===M)return"<>";if(typeof p=="object"&&p!==null&&p.$$typeof===L)return"<...>";try{var B=e(p);return B?"<"+B+">":"<...>"}catch{return"<...>"}}function r(){var p=W.A;return p===null?null:p.getOwner()}function s(){return Error("react-stack-top-frame")}function n(p){if(V.call(p,"key")){var B=Object.getOwnPropertyDescriptor(p,"key").get;if(B&&B.isReactWarning)return!1}return p.key!==void 0}function u(p,B){function O(){T||(T=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",B))}O.isReactWarning=!0,Object.defineProperty(p,"key",{get:O,configurable:!0})}function a(){var p=e(this.type);return J[p]||(J[p]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),p=this.props.ref,p!==void 0?p:null}function g(p,B,O,H,fe,ge){var f=O.ref;return p={$$typeof:P,type:p,key:B,props:O,_owner:H},(f!==void 0?f:null)!==null?Object.defineProperty(p,"ref",{enumerable:!1,get:a}):Object.defineProperty(p,"ref",{enumerable:!1,value:null}),p._store={},Object.defineProperty(p._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(p,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(p,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:fe}),Object.defineProperty(p,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:ge}),Object.freeze&&(Object.freeze(p.props),Object.freeze(p)),p}function l(p,B,O,H,fe,ge){var f=B.children;if(f!==void 0)if(H)if(ae(f)){for(H=0;H<f.length;H++)c(f[H]);Object.freeze&&Object.freeze(f)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else c(f);if(V.call(B,"key")){f=e(p);var z=Object.keys(B).filter(function(b){return b!=="key"});H=0<z.length?"{key: someKey, "+z.join(": ..., ")+": ...}":"{key: someKey}",ze[f+H]||(z=0<z.length?"{"+z.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
1
|
+
(function(fe,h){typeof exports=="object"&&typeof module<"u"?h(exports,require("react"),require("react-dom")):typeof define=="function"&&define.amd?define(["exports","react","react-dom"],h):(fe=typeof globalThis<"u"?globalThis:fe||self,h(fe.AiquantsResizePanels={},fe.React,fe.ReactDOM))})(this,(function(fe,h,Qt){"use strict";const rt=h.createContext(null),Ye=()=>{const e=h.useContext(rt);if(!e)throw new Error("usePanelGroup must be used within a PanelGroup");return e},dt=(e,t=0)=>{if(!Number.isFinite(e))return e;const o=10**t,i=e*o,n=Math.floor(i),s=i-n,r=Number.EPSILON*Math.max(1,Math.abs(i));return s<.5-r?n/o:s>.5+r?(n+1)/o:(n%2===0?n:n+1)/o},ut=12,ft=8,Kt=8,qt=8,pt=.05,mt=10,$t=.05,er=20,tr=.05,gt=0,ht=6,be=(e,t)=>t<=0?0:dt(e/t*100,ht),De=(e,t)=>!e||t<=0?0:e/100*t,Xe=(e,t="percentage")=>{if(e!==void 0)return typeof e=="number"?{value:e,unit:t}:e},xt=(e,t)=>e?e.unit==="percentage"?e.value/100*t:e.value:0,ae=(e,t,o)=>e?typeof e=="number"?e/100*o:e.unit==="pixels"?e.value:e.value/100*o:t,Se=(e,t,o)=>Math.min(Math.max(e,t),o),nt=e=>{if(!Number.isFinite(e)||e<=0)return gt;const t=e*pt,o=Math.min(ut,mt,t);return Math.max(gt,o)},zt=(e,t,o,i={})=>{if(Math.abs(t)<=0)return t;const n=i.enforceAutoMinSize??!1,s=e.map((l,u)=>({panel:l,index:u})).filter(({panel:l})=>!l.collapsed&&(l.sizeUnit==="pixels"||l.originalPixelSize!==void 0));if(s.length===0)return t;const r=t>0,d=[...s].sort((l,u)=>{const c=l.panel.pixelAdjustPriority??l.index+1,S=u.panel.pixelAdjustPriority??u.index+1;return c===S?r?u.index-l.index:l.index-u.index:r?S-c:c-S});let a=t;const p=l=>{for(const{index:u}of d){if(Math.abs(a)<=0)break;const c=e[u];if(!c||c.collapsed)continue;const S=Xe(c.minSize,"pixels"),C=Xe(c.maxSize,"pixels"),b=S?xt(S,o):0,v=C?xt(C,o):o,P=n?ae(c.autoMinSize,0,o):0,k=Math.max(b,P),E=c.preferredPixelSize!==void 0?Se(c.preferredPixelSize,k,v):c.size,D=c.collapseFromStart||c.collapseFromEnd;if(a>0){if(Math.abs(c.size)<=0&&(c.percentageSize??0)<=0)continue;const te=Math.max(c.size,E),le=l?Math.min(v,te):v,w=Math.max(0,le-c.size);if(w<=0)continue;const L=Math.min(w,a);if(L<=0)continue;const F=c.size+L,se=be(F,o),Y=D?F:c.sizeBeforeCollapse,q=D?c.measuredPixelSizeBeforeCollapse??c.measuredPixelSize??F:c.measuredPixelSizeBeforeCollapse;e[u]={...c,size:F,percentageSize:se,sizeBeforeCollapse:Y,measuredPixelSizeBeforeCollapse:q,measuredPixelSize:void 0,measuredPercentageSize:void 0},a-=L}else{const ee=l?E:k,te=Math.max(0,c.size-ee);if(te<=0)continue;const le=Math.min(te,Math.abs(a));if(le<=0)continue;const w=c.size-le,L=be(w,o),F=D?w:c.sizeBeforeCollapse,se=D?c.measuredPixelSizeBeforeCollapse??c.measuredPixelSize??w:c.measuredPixelSizeBeforeCollapse;e[u]={...c,size:w,percentageSize:L,sizeBeforeCollapse:F,measuredPixelSizeBeforeCollapse:se,measuredPixelSize:void 0,measuredPercentageSize:void 0},a+=le}}};return p(!0),(r&&a>0||!r&&a<0)&&p(!1),a},Je=e=>{if(!e)return 0;const t=parseFloat(e);return Number.isFinite(t)?t:0},Re=(e,t)=>{const o=e.getBoundingClientRect(),i=typeof window<"u"?window.getComputedStyle(e):null,n=i?Je(i.borderLeftWidth)+Je(i.borderRightWidth):0,s=i?Je(i.borderTopWidth)+Je(i.borderBottomWidth):0;if(t==="horizontal"){const p=o.width>0?o.width:e.offsetWidth,l=o.width>0?Math.max(0,o.width-n):e.clientWidth,u=e.offsetWidth>0?e.offsetWidth:e.clientWidth+n;return{inner:l>0?l:Math.max(0,e.clientWidth),outer:p>0?p:Math.max(0,u)}}const r=o.height>0?o.height:e.offsetHeight,d=o.height>0?Math.max(0,o.height-s):e.clientHeight,a=e.offsetHeight>0?e.offsetHeight:e.clientHeight+s;return{inner:d>0?d:Math.max(0,e.clientHeight),outer:r>0?r:Math.max(0,a)}},St=(e,t)=>{try{localStorage.setItem(`panel-layout-${e}`,JSON.stringify(t))}catch(o){console.warn("Failed to save panel layout:",o)}},bt=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}},ye=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})),Ze=e=>e?ye([e])[0]:null,Ie=e=>e?!!(e.collapseFromStart||e.collapseFromEnd):!1,ot=(e,t)=>{if(!Number.isFinite(t)||t<=0)return e;const o=e.map(a=>({...a})),i=[];for(let a=0;a<o.length;a+=1){const p=o[a];if(p.collapsed){o[a]={...p,size:0,percentageSize:0};continue}const l=Math.max(0,ae(p.minSize,0,t)),u=Math.max(0,ae(p.autoMinSize,0,t)),c=Math.max(l,u),S=Math.max(.001,c),C=ae(p.maxSize,t,t),b=Math.max(c,C),v=p.sizeUnit==="pixels"||p.originalPixelSize!==void 0,P=Math.max(0,p.size);let k=c;if(v){const D=p.preferredPixelSize??p.size??p.originalPixelSize??c;k=Se(D,c,b)}else{const D=p.preferredPercentageSize??p.percentageSize??be(p.size,t),ee=De(D,t);k=Se(ee,c,b)}const E=!v&&(p.excludeFromAutoGrowth??!1)&&P<=S;i.push({index:a,isPixelPanel:v,minSize:c,maxSize:b,preferredSize:k,priority:p.pixelAdjustPriority??a+1,flexPriority:v?void 0:p.flexAdjustPriority,excludeFromGrowth:E})}if(i.length===0)return o;const n=new Map;let s=0;for(const a of i)n.set(a.index,a.minSize),s+=a.minSize;let r=t-s;const d=(a,p)=>{if(p<=0)return 0;const l=n.get(a.index)??a.minSize,u=Math.max(0,a.maxSize-l);if(u<=0)return 0;const c=Math.min(p,u);return n.set(a.index,l+c),c};if(r>0){const a=l=>{for(;r>1e-6;){let c=0;const S=[];for(const v of l){if(!v.isPixelPanel&&v.excludeFromGrowth)continue;const P=n.get(v.index)??v.minSize,k=Math.min(v.preferredSize,v.maxSize),E=Math.max(0,k-P);E>1e-6&&(c+=E,S.push({descriptor:v,capacity:E}))}if(S.length===0||c<=1e-6)break;let C=0;const b=r;for(const v of S){if(r<=1e-6)break;if(!v.descriptor.isPixelPanel&&v.descriptor.excludeFromGrowth)continue;const P=b*v.capacity/c,k=Math.min(v.capacity,P);if(k<=0)continue;const E=d(v.descriptor,k);E>0&&(r-=E,C+=E)}if(C<=1e-6)break}},p=i.filter(l=>l.isPixelPanel);p.sort((l,u)=>u.priority-l.priority);for(const l of p){if(r<=0)break;const u=n.get(l.index)??l.minSize,c=Math.min(l.preferredSize,l.maxSize),S=Math.max(0,c-u);if(S<=0)continue;const C=d(l,Math.min(S,r));C>0&&(r-=C)}if(r>0){const l=i.filter(u=>!u.isPixelPanel);if(l.length>0){const u=l.filter(c=>c.flexPriority!==void 0&&!c.excludeFromGrowth);if(u.length>0){u.sort((c,S)=>(S.flexPriority??0)-(c.flexPriority??0));for(const c of u){if(r<=0)break;if(c.excludeFromGrowth)continue;const S=n.get(c.index)??c.minSize,C=Math.min(c.preferredSize,c.maxSize),b=Math.max(0,C-S);if(b<=0)continue;const v=d(c,Math.min(b,r));v>0&&(r-=v)}}if(r>0){const c=u.length>0?l.filter(S=>S.flexPriority===void 0&&!S.excludeFromGrowth):l.filter(S=>!S.excludeFromGrowth);c.length>0&&a(c)}}}}if(r>0){let a=r;for(;;){let p=0;const l=[];for(const c of i){if(!c.isPixelPanel&&c.excludeFromGrowth)continue;const S=n.get(c.index)??c.minSize,C=c.isPixelPanel?Math.min(c.maxSize,c.preferredSize):c.maxSize,b=Math.max(0,C-S);b>0&&(l.push(c),p+=b)}if(p<=0)break;const u=r;for(const c of l){if(r<=0)break;if(!c.isPixelPanel&&c.excludeFromGrowth)continue;const S=n.get(c.index)??c.minSize,C=c.isPixelPanel?Math.min(c.maxSize,c.preferredSize):c.maxSize,b=Math.max(0,C-S);if(b<=0)continue;const v=u*b/p,P=d(c,Math.min(b,v));P>0&&(r-=P)}if(r<=1e-6||Math.abs(a-r)<=1e-6)break;a=r}r=Math.max(0,r)}if(r<0){let a=r;const p=i.filter(l=>l.isPixelPanel);for(p.sort((l,u)=>l.priority-u.priority);!(r>=0);){let l=!1;for(const u of p){if(r>=0)break;const c=n.get(u.index)??u.minSize,S=Se(u.preferredSize,u.minSize,u.maxSize),C=Math.max(0,c-S);if(C>0&&r<0){const v=Math.min(C,Math.abs(r));n.set(u.index,c-v),r+=v,l=!0;continue}const b=Math.max(0,c-u.minSize);if(b>0&&r<0){const v=Math.min(b,Math.abs(r));n.set(u.index,c-v),r+=v,l=!0}}if(!l||Math.abs(a-r)<=1e-6)break;a=r}}for(const a of i){const p=n.get(a.index)??a.minSize,l=o[a.index],u=Ie(l),c=u?p:l.sizeBeforeCollapse,S=u?l.measuredPixelSizeBeforeCollapse??l.measuredPixelSize??p:l.measuredPixelSizeBeforeCollapse,C=t>0?be(p,t):0;o[a.index]={...l,size:p,percentageSize:C,preferredPercentageSize:l.preferredPercentageSize,preferredPixelSize:a.isPixelPanel?l.preferredPixelSize??p:l.preferredPixelSize,sizeBeforeCollapse:c,measuredPixelSizeBeforeCollapse:S,measuredPixelSize:void 0,measuredPercentageSize:void 0}}return Be(o)},Be=e=>{let t=0;for(const n of e)n.collapsed||(t+=Math.max(n.size,0));if(t<=0){let n=!1;const s=e.map(r=>(r.percentageSize??0)!==0?(n=!0,{...r,percentageSize:0,measuredPercentageSize:r.measuredPercentageSize!==void 0?0:r.measuredPercentageSize}):!r.collapsed&&r.sizeBeforeCollapse!==r.size?(n=!0,{...r,sizeBeforeCollapse:r.size}):r);return n?s:e}let o=!1;const i=e.map(n=>{if(n.collapsed)return(n.percentageSize??0)!==0?(o=!0,{...n,percentageSize:0,measuredPercentageSize:n.measuredPercentageSize!==void 0?0:n.measuredPercentageSize}):n;const s=be(n.size,t),r=n.measuredPercentageSize,p=(r!==void 0?Math.abs(r-s):1/0)<1e-4&&r!==void 0?r:s,l=dt(p,ht),c=Math.abs((n.percentageSize??0)-l)>0||n.percentageSize===void 0,S=n.sizeBeforeCollapse===void 0||n.sizeBeforeCollapse!==n.size,C=Ie(n),b=C&&S,v=n.measuredPixelSize??n.size,P=C&&(n.measuredPixelSizeBeforeCollapse===void 0||n.measuredPixelSizeBeforeCollapse!==v);if(!(c||b||P))return n;o=!0;const k=b?n.size:n.sizeBeforeCollapse,E=P?v:n.measuredPixelSizeBeforeCollapse;return{...n,percentageSize:l,sizeBeforeCollapse:k,measuredPixelSizeBeforeCollapse:E,collapsedByDirection:n.collapsed?n.collapsedByDirection??null:null}});return o?i:e},Qe=(e,t)=>{if(t<=0)return!1;const o=[];let i=0;for(let l=0;l<e.length;l+=1){const u=e[l];!u||u.collapsed||(o.push(l),i+=u.size)}if(o.length===0)return!1;let n=t-i;if(Math.abs(n)<=0)return!1;let s=!1;const r=l=>{const u=e[l],c=ae(u.minSize,0,t),S=ae(u.autoMinSize,0,t),C=Math.max(c,S),b=ae(u.maxSize,t,t),v=u.sizeUnit==="percentage"&&u.originalPixelSize===void 0;return{index:l,minSize:C,maxSize:b,isFlexible:v}},d=(l,u)=>{if(!Number.isFinite(u)||Math.abs(u)<=0)return;const c=e[l];if(!c)return;const S=Math.max(0,c.size+u);if(Math.abs(S-c.size)<=0)return;const C=be(S,t),b=Ie(c),v=b?S:c.sizeBeforeCollapse,P=b?c.measuredPixelSizeBeforeCollapse??c.measuredPixelSize??S:c.measuredPixelSizeBeforeCollapse;e[l]={...c,size:S,percentageSize:C,sizeBeforeCollapse:v,measuredPixelSizeBeforeCollapse:P,measuredPixelSize:void 0,measuredPercentageSize:void 0},n-=u,s=!0},a=l=>{for(const u of l){if(Math.abs(n)<=0)break;const c=e[u.index];if(!c||c.collapsed)continue;const S=c.size;if(n>0){const C=Math.max(0,u.maxSize-S);if(C<=0)continue;const b=Math.min(C,n);if(b<=0)continue;d(u.index,b)}else{const C=Math.max(0,S-u.minSize);if(C<=0)continue;const b=Math.min(C,Math.abs(n));if(b<=0)continue;d(u.index,-b)}}},p=o.map(l=>r(l)).filter(l=>l.isFlexible);if(p.length>0&&a(p),Math.abs(n)>0){const l=n;n=zt(e,n,t,{enforceAutoMinSize:!0}),Math.abs(n-l)>0&&(s=!0)}return s},Pt=(e,t,o)=>{if(!(e.sizeUnit==="pixels"||e.originalPixelSize!==void 0)||e.pixelAdjustPriority!==void 0)return e;const n=t.filter((r,d)=>d!==o&&(r.sizeUnit==="pixels"||r.originalPixelSize!==void 0)).map(r=>r.pixelAdjustPriority).filter(r=>r!==void 0),s=n.length>0?Math.max(...n)+1:1;return{...e,pixelAdjustPriority:s}},rr=(e,t)=>{switch(t.type){case"REGISTER_PANEL":{console.log("REGISTER_PANEL",t.panel);const o=e.findIndex(s=>s.id===t.panel.id);if(o>=0){const s=[...e],r=e[o],d={...r,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:r.collapsedByDirection,sizeUnit:t.panel.sizeUnit,originalPixelSize:t.panel.originalPixelSize,preferredPercentageSize:t.panel.preferredPercentageSize!==void 0?t.panel.preferredPercentageSize:r.preferredPercentageSize,preferredPercentageSizeBeforeCollapse:t.panel.preferredPercentageSizeBeforeCollapse!==void 0?t.panel.preferredPercentageSizeBeforeCollapse:r.preferredPercentageSizeBeforeCollapse,percentageSizeBeforeCollapse:t.panel.percentageSizeBeforeCollapse!==void 0?t.panel.percentageSizeBeforeCollapse:r.percentageSizeBeforeCollapse,pixelAdjustPriority:t.panel.pixelAdjustPriority!==void 0?t.panel.pixelAdjustPriority:r.pixelAdjustPriority,autoMinSize:t.panel.autoMinSize!==void 0?t.panel.autoMinSize:r.autoMinSize,excludeFromAutoGrowth:t.panel.excludeFromAutoGrowth!==void 0?t.panel.excludeFromAutoGrowth:r.excludeFromAutoGrowth},a=Pt(d,e,o);return console.log("[resize-panels] register panel (update)",{panelId:a.id,incoming:Ze(t.panel),previous:Ze(r),next:Ze(a)}),s[o]=a,s}const i={...t.panel},n=Pt(i,e);return console.log("[resize-panels] register panel (insert)",{panelId:n.id,incoming:Ze(n),previousLength:e.length}),[...e,n]}case"UNREGISTER_PANEL":{console.log("UNREGISTER_PANEL",t.id);const o=e.filter(n=>n.id!==t.id),i=Be(o);return console.log("[resize-panels] unregister panel",{panelId:t.id,previous:ye(e),filtered:ye(o),next:ye(i)}),i}case"RESIZE_PANELS":{console.log("RESIZE_PANELS",t.leftId,t.rightId,t.leftSize,t.rightSize);const o=e.findIndex(z=>z.id===t.leftId),i=e.findIndex(z=>z.id===t.rightId);if(o===-1||i===-1)return e;const n=[...e],s=n[o],r=n[i];if(s.collapsed||r.collapsed||t.leftSize===s.size&&t.rightSize===r.size)return e;const d=t.containerSize??e.reduce((z,M)=>z+M.size,0),a=ae(s.minSize,0,d),p=ae(s.maxSize,d,d),l=ae(r.minSize,0,d),u=ae(r.maxSize,d,d),c=s.size+r.size,S=e.reduce((z,M)=>M.collapsed?z:z+M.size,0),C=S-c,b=a+l,v=p+u,P=Se(t.leftSize+t.rightSize,b,v);let k=d>0?d-C:P;Number.isFinite(k)||(k=P);const E=Se(Math.max(P,k),b,v),D=z=>({min:Math.max(a,z-u),max:Math.min(p,z-l)}),ee=z=>({min:Math.max(l,z-p),max:Math.min(u,z-a)}),te=Math.abs(t.leftSize-s.size),le=Math.abs(t.rightSize-r.size),w=te>=le;let L=s.size,F=r.size;if(w){const z=D(E);if(z.min>z.max)return e;const M=Se(t.leftSize,z.min,z.max),x=E-M;if(x<l||x>u)return e;L=M,F=x}else{const z=ee(E);if(z.min>z.max)return e;const M=Se(t.rightSize,z.min,z.max),x=E-M;if(x<a||x>p)return e;F=M,L=x}const se=L+F;if(E!==se)return e;const Y=S-s.size-r.size+se,q=d>0?d:Y,Z=q>0?be(L,q):0,X=q>0?be(F,q):0,y=s.sizeUnit==="pixels"||s.originalPixelSize!==void 0?L:s.preferredPixelSize,W=r.sizeUnit==="pixels"||r.originalPixelSize!==void 0?F:r.preferredPixelSize,_=ae(s.autoMinSize,0,d),ue=ae(r.autoMinSize,0,d),me=Math.max(.001,_),g=Math.max(.001,ue),B=s.sizeUnit==="percentage"&&s.originalPixelSize===void 0,O=r.sizeUnit==="percentage"&&r.originalPixelSize===void 0;let G=s.excludeFromAutoGrowth,pe=r.excludeFromAutoGrowth;B&&(L<=me?G=!0:L>me&&(G=!1)),O&&(F<=g?pe=!0:F>g&&(pe=!1));const ze=Ie(s),f=Ie(r);return n[o]={...s,size:L,percentageSize:Z,preferredPercentageSize:Z>0?Z:s.preferredPercentageSize,preferredPixelSize:y,sizeBeforeCollapse:ze?L:s.sizeBeforeCollapse,measuredPixelSize:void 0,measuredPercentageSize:void 0,excludeFromAutoGrowth:G},n[i]={...r,size:F,percentageSize:X,preferredPercentageSize:X>0?X:r.preferredPercentageSize,preferredPixelSize:W,sizeBeforeCollapse:f?F:r.sizeBeforeCollapse,measuredPixelSize:void 0,measuredPercentageSize:void 0,excludeFromAutoGrowth:pe},d>0&&Qe(n,d)?Be(n):n}case"SET_PANELS":{console.log("SET_PANELS",t.panels);const o=t.panels.map(a=>{const p=a.sizeUnit==="pixels"||a.originalPixelSize!==void 0,l=a.preferredPercentageSize!==void 0?a.preferredPercentageSize:a.percentageSize,u=a.preferredPixelSize!==void 0?a.preferredPixelSize:p?a.size:a.preferredPixelSize;return{...a,preferredPercentageSize:l,preferredPixelSize:u}}),i=ye(e),n=ye(o),s=Be(o),r=ye(s);let d=i.length===r.length;if(d)for(let a=0;a<r.length;a+=1){const p=r[a],l=i[a];if(!l){d=!1;break}if(!(l.id===p.id&&l.size===p.size&&l.percentageSize===p.percentageSize&&l.sizeBeforeCollapse===p.sizeBeforeCollapse&&l.measuredPercentageSize===p.measuredPercentageSize&&l.collapsed===p.collapsed)){d=!1;break}}return d?(console.log("[resize-panels] set panels skipped (no diff)",{previous:i,incoming:n,next:r,previousLength:i.length,incomingLength:n.length}),e):(console.log("[resize-panels] set panels",{previous:i,incoming:n,next:r,previousLength:i.length,incomingLength:n.length}),s)}case"CONTAINER_RESIZED":{if(console.log("CONTAINER_RESIZED",t.containerSize),t.containerSize<=0)return console.log("[resize-panels] container resized skipped (non-positive size)",{containerSize:t.containerSize,panels:ye(e)}),e;console.log("[resize-panels] container resized (before)",{containerSize:t.containerSize,panels:ye(e)});const o=ot(e,t.containerSize);if(console.log("[resize-panels] container resized (after recalc)",{containerSize:t.containerSize,panels:ye(o)}),t.containerSize>0&&Qe(o,t.containerSize)){const i=Be(o);return console.log("[resize-panels] container resized (after reconcile)",{containerSize:t.containerSize,panels:ye(i)}),i}return console.log("[resize-panels] container resized (final)",{containerSize:t.containerSize,panels:ye(o)}),o}case"COLLAPSE_PANEL":{console.log("COLLAPSE_PANEL",t.id);const o=e.findIndex(c=>c.id===t.id);if(o===-1)return e;const i=e[o],n=t.from==="start"?i.collapseFromStart:i.collapseFromEnd;if(!(Ie(i)&&n)||i.collapsed)return e;const r=i.size,d=i.measuredPixelSize??r,a=i.percentageSize??i.preferredPercentageSize??0,p={...i,collapsed:!0,collapsedByDirection:t.from,sizeBeforeCollapse:r,percentageSizeBeforeCollapse:a,preferredPercentageSizeBeforeCollapse:i.preferredPercentageSize??a,preferredPixelSizeBeforeCollapse:i.preferredPixelSize??r,measuredPixelSizeBeforeCollapse:d,size:0,percentageSize:0,preferredPercentageSize:i.preferredPercentageSize,measuredPixelSize:i.measuredPixelSize!==void 0?0:i.measuredPixelSize,measuredPercentageSize:i.measuredPercentageSize!==void 0?0:i.measuredPercentageSize},l=[...e];l[o]=p;const u=ot(l,t.containerSize);return t.containerSize>0&&Qe(u,t.containerSize)?Be(u):u}case"EXPAND_PANEL":{console.log("EXPAND_PANEL",t.id,t.targetSize);const o=e.findIndex(E=>E.id===t.id);if(o===-1)return e;const i=t.containerSize,n=e[o],s=t.from==="start"?n.collapseFromStart:n.collapseFromEnd;if(!(Ie(n)&&s)||!n.collapsed||n.collapsedByDirection&&n.collapsedByDirection!==t.from)return e;const d=[t.targetSize,n.sizeBeforeCollapse,n.measuredPixelSizeBeforeCollapse,n.preferredPixelSizeBeforeCollapse,n.originalPixelSize].find(E=>E!==void 0)??0,a=ae(n.minSize,0,i),p=ae(n.maxSize,i,i),l=Se(d,a,p),u=be(l,i),c=n.measuredPixelSizeBeforeCollapse??l,S=be(c,i),C=n.preferredPercentageSizeBeforeCollapse??n.percentageSizeBeforeCollapse??u,b=n.preferredPixelSizeBeforeCollapse??n.preferredPixelSize??l,v={...n,collapsed:!1,collapsedByDirection:null,size:l,percentageSize:u,preferredPercentageSize:C,preferredPixelSize:b,sizeBeforeCollapse:l,percentageSizeBeforeCollapse:void 0,preferredPercentageSizeBeforeCollapse:void 0,preferredPixelSizeBeforeCollapse:void 0,measuredPixelSize:l,measuredPixelSizeBeforeCollapse:c,measuredPercentageSize:S},P=[...e];P[o]=v;const k=ot(P,i);return i>0&&Qe(k,i)?Be(k):k}default:return e}},yt=({direction:e,style:t,onLayout:o,autoSaveId:i,showDebugInfo:n=!1})=>{const[s,r]=h.useReducer(rr,[]),[d,a]=h.useState({width:0,height:0}),[p,l]=h.useState(!1),[u,c]=h.useState(!1),[S,C]=h.useState(null),[b,v]=h.useState({}),[P,k]=h.useState({}),E=h.useRef(null),D=h.useRef(o),ee=h.useRef(!1),te=h.useRef(0),le=h.useRef(d),w=h.useRef(d),L=h.useRef(p),F=h.useRef(S?.reason??null),se=h.useRef({}),Y=h.useRef(null),q=h.useRef(null),Z=h.useCallback(f=>f.map(z=>({...z})),[]);h.useEffect(()=>{w.current=d},[d]),h.useEffect(()=>{L.current=p},[p]),h.useEffect(()=>{F.current=S?.reason??null},[S?.reason]),h.useEffect(()=>{if(S)return;const f=e==="horizontal"?d.width:d.height;!Number.isFinite(f)||f<=4||s.length!==0&&(Y.current=Z(s))},[S,s,e,d.width,d.height,Z]),h.useEffect(()=>{const f=q.current;if(S){q.current=S;return}if(f&&!S&&Y.current){q.current=null;const z=Z(Y.current);r({type:"SET_PANELS",panels:z});return}q.current=S},[S,Z]),h.useLayoutEffect(()=>{if(!E.current)return;const f=new ResizeObserver(z=>{for(const M of z){const x=M.target,T=x?Re(x,"horizontal"):null,j=x?Re(x,"vertical"):null,Q=T?T.inner:0,ne=j?j.inner:0,U=M.contentRect.width,V=M.contentRect.height,$=Q>0?Q:U,N=ne>0?ne:V;a(J=>(!p&&$>0&&N>0&&l(!0),J.width===$&&J.height===N?J:{width:$,height:N}))}});return f.observe(E.current),()=>f.disconnect()},[p]),h.useLayoutEffect(()=>{const f=le.current,z=d,M=e==="horizontal"?Math.abs(f.width-z.width)>0:Math.abs(f.height-z.height)>0;if(u&&M){const x=e==="horizontal"?z.width:z.height;r({type:"CONTAINER_RESIZED",containerSize:x,direction:e})}le.current=z},[d,u,e]);const X=h.useCallback(()=>{console.log("panels[0]?.id",s[0]?.id);const f=s.some(m=>{if(m.collapsed||m.sizeUnit!=="percentage")return!1;const re=m.collapseFromStart||m.collapseFromEnd?m.sizeBeforeCollapse??m.measuredPixelSizeBeforeCollapse??m.originalPixelSize??m.measuredPixelSize??0:m.measuredPixelSize??m.originalPixelSize??m.size,ie=m.percentageSize!==void 0&&m.percentageSize>0;return m.size<=0&&(re>0||ie)}),z=e==="horizontal"?d.width:d.height,M=z>0;if(S||!M||!(s.length>0&&(s.length!==te.current||!u||f)))return;const j=s.filter(m=>!m.collapsed&&(m.originalPixelSize!==void 0||m.sizeUnit==="pixels")).reduce((m,H)=>{const re=H.preferredPixelSize??H.originalPixelSize??H.size;return m+Math.max(0,re??0)},0),Q=s.filter(m=>m.sizeUnit==="percentage"&&!m.collapsed),ne=Q.map(m=>m.id),U=Q.map(m=>{const H=m.preferredPercentageSize??m.percentageSize;return H!==void 0&&H>0?De(H,z):m.size>0?m.size:0}),V=U.reduce((m,H)=>m+H,0),$=z-j,N=Math.max(0,$),J=N>0,ce=s.map(m=>{if(m.collapsed){const H=m.sizeBeforeCollapse??m.measuredPixelSizeBeforeCollapse??m.originalPixelSize??(m.sizeUnit==="pixels"?m.size:void 0),re=m.sizeUnit==="percentage"&&m.percentageSize!==void 0?De(m.percentageSize,z):void 0,ie=H??re??0,de=m.measuredPixelSizeBeforeCollapse??m.measuredPixelSize??ie;return{...m,size:0,percentageSize:0,preferredPercentageSize:m.preferredPercentageSize,sizeBeforeCollapse:ie,percentageSizeBeforeCollapse:m.percentageSizeBeforeCollapse??m.percentageSize??m.preferredPercentageSize??0,preferredPercentageSizeBeforeCollapse:m.preferredPercentageSizeBeforeCollapse??m.preferredPercentageSize??m.percentageSize??void 0,preferredPixelSizeBeforeCollapse:m.preferredPixelSizeBeforeCollapse??m.preferredPixelSize??ie,measuredPixelSizeBeforeCollapse:de}}if(m.sizeUnit==="pixels"||m.originalPixelSize!==void 0){const H=m.size,re=z>0?be(H,z):0,ie={...m,size:H,percentageSize:re,preferredPixelSize:m.preferredPixelSize??m.originalPixelSize??H,preferredPercentageSize:m.preferredPercentageSize!==void 0?m.preferredPercentageSize:re>0?re:void 0};if(m.collapseFromStart||m.collapseFromEnd){const de=m.sizeBeforeCollapse??H,Pe=m.measuredPixelSizeBeforeCollapse??m.measuredPixelSize??de;ie.sizeBeforeCollapse=de,ie.measuredPixelSizeBeforeCollapse=Pe,ie.preferredPixelSizeBeforeCollapse=m.preferredPixelSizeBeforeCollapse??m.preferredPixelSize??de}return ie}if(m.sizeUnit==="percentage"){const H=ne.indexOf(m.id),re=H!==-1?U[H]:0,ie=ae(m.minSize,0,z),de=ae(m.maxSize,z,z),Pe=Math.max(ie,m.sizeBeforeCollapse??0,m.measuredPixelSizeBeforeCollapse??0,m.measuredPixelSize??0,m.originalPixelSize??0,m.size>0?m.size:0,m.percentageSize!==void 0?De(m.percentageSize,z):0,1),ke=re>0?re:Pe;let ve;if(!J)ve=ie;else if(H!==-1&&V>0){const we=ke/V,Ne=N*we;ve=Se(Ne,ie,de)}else{const we=m.percentageSize!==void 0?De(m.percentageSize,z):m.size,Ne=we>0?we:ke;ve=Se(Ne,ie,de)}const Me=z>0?be(ve,z):0,_e={...m,size:ve,percentageSize:Me,preferredPercentageSize:m.preferredPercentageSize!==void 0?m.preferredPercentageSize:Me>0?Me:void 0};if(m.collapseFromStart||m.collapseFromEnd){const we=m.sizeBeforeCollapse??ve,Ne=m.measuredPixelSizeBeforeCollapse??m.measuredPixelSize??we;_e.sizeBeforeCollapse=we,_e.measuredPixelSizeBeforeCollapse=Ne,_e.preferredPixelSizeBeforeCollapse=m.preferredPixelSizeBeforeCollapse??m.preferredPixelSize??we}return _e}return m}),ge=[];for(let m=0;m<ce.length;m+=1){const H=ce[m];H.sizeUnit==="percentage"&&!H.collapsed&&ge.push(m)}const oe=ge.reduce((m,H)=>m+ce[H].size,0),he=$-oe;Math.abs(he)>0&&zt(ce,he,z,{enforceAutoMinSize:!0}),r({type:"SET_PANELS",panels:ce}),te.current=s.length,c(!0)},[s,e,d.width,d.height,u,S]);h.useEffect(()=>{const f=e==="horizontal"?d.width:d.height,z=f>0,M=z&&s.length>0,x=M?s.reduce((V,$)=>{if($.collapsed)return V;const N=ae($.minSize,0,f);return V+Math.max(0,N)},0):null,T=M?s.reduce((V,$)=>{if($.collapsed)return V;const N=ae($.maxSize,f,f);return V+Math.max(0,N)},0):null,j=x??S?.totalMinimumSize??null,Q=T??S?.totalMaximumSize??null;if(!z){S&&C(V=>!V||V.availableContainerSize===f?V:{reason:V.reason,totalMinimumSize:null,totalMaximumSize:null,availableContainerSize:f});return}const ne=j!==null&&j-f>Number.EPSILON,U=Q!==null&&f-Q>Number.EPSILON;if(ne||U){const $={reason:ne?"minimum-exceeded":"maximum-insufficient",totalMinimumSize:j,totalMaximumSize:Q,availableContainerSize:f};C(N=>N&&N.reason===$.reason&&Math.abs((N.totalMinimumSize??0)-($.totalMinimumSize??0))<=Number.EPSILON&&Math.abs((N.totalMaximumSize??0)-($.totalMaximumSize??0))<=Number.EPSILON&&Math.abs(N.availableContainerSize-$.availableContainerSize)<=Number.EPSILON?N:$);return}if(S){const V=S.reason==="minimum-exceeded",$=S.reason==="maximum-insufficient";(!V||j!==null)&&(!$||Q!==null)&&!ne&&!U&&C(oe=>oe&&null)}},[s,e,d.width,d.height,S]),h.useEffect(()=>{X()},[X]),h.useEffect(()=>{D.current=o},[o]);const y=h.useMemo(()=>s.map(f=>f.size),[s]);h.useLayoutEffect(()=>{y.length>0&&D.current&&D.current(y)},[y]),h.useEffect(()=>{if(i&&y.length>0){const f=setTimeout(()=>{St(i,y)},200);return()=>clearTimeout(f)}},[i,y]),h.useEffect(()=>{if(!i||s.length===0||ee.current)return;const f=e==="horizontal"?d.width:d.height;if(f<=0)return;const z=bt(i);if(z&&z.length===s.length){const M=s.map((x,T)=>{const j=ae(x.minSize,0,f),Q=ae(x.maxSize,f,f),ne=Se(z[T],j,Q),U=be(ne,f),V=x.sizeUnit==="pixels"||x.originalPixelSize!==void 0?ne:x.preferredPixelSize;return{...x,size:ne,percentageSize:U,preferredPercentageSize:U>0?U:x.preferredPercentageSize,preferredPixelSize:V}});r({type:"SET_PANELS",panels:M}),ee.current=!0}},[i,s,d.width,d.height,e]);const W=h.useCallback(f=>{const z=w.current,M=se.current,x=JSON.stringify({id:f.id,size:f.size??null,percentageSize:f.percentageSize??null,preferredPercentageSize:f.preferredPercentageSize??null,preferredPixelSize:f.preferredPixelSize??null,sizeUnit:f.sizeUnit,originalPixelSize:f.originalPixelSize??null,minSize:f.minSize??null,maxSize:f.maxSize??null,collapseFromStart:f.collapseFromStart,collapseFromEnd:f.collapseFromEnd,collapsed:f.collapsed??!1,collapsedByDirection:f.collapsedByDirection??null,sizeBeforeCollapse:f.sizeBeforeCollapse??null,percentageSizeBeforeCollapse:f.percentageSizeBeforeCollapse??null,preferredPercentageSizeBeforeCollapse:f.preferredPercentageSizeBeforeCollapse??null,preferredPixelSizeBeforeCollapse:f.preferredPixelSizeBeforeCollapse??null,pixelAdjustPriority:f.pixelAdjustPriority??null});if(M[f.id]===x){console.log("[resize-panels] useResizablePanels.registerPanel skipped",{panelId:f.id,reason:"duplicate-registration"});return}M[f.id]=x,console.log("[resize-panels] useResizablePanels.registerPanel",{panelId:f.id,containerReady:L.current,violationReason:F.current,containerSize:{width:z.width,height:z.height}}),r({type:"REGISTER_PANEL",panel:f})},[]),_=h.useCallback(f=>{const z=w.current;console.log("[resize-panels] useResizablePanels.unregisterPanel",{panelId:f,containerReady:L.current,violationReason:F.current,containerSize:{width:z.width,height:z.height}}),r({type:"UNREGISTER_PANEL",id:f}),delete se.current[f],v(M=>{if(!(f in M))return M;const x={...M};return delete x[f],x})},[]),ue=h.useCallback((f,z,M,x)=>{const T=e==="horizontal"?d.width:d.height,j=s.find(oe=>oe.id===f),Q=s.find(oe=>oe.id===z);if(!(j&&Q)){r({type:"RESIZE_PANELS",leftId:f,rightId:z,leftSize:M,rightSize:x,containerSize:T});return}if(j.collapsed||Q.collapsed)return;const ne=ae(j.minSize,0,T),U=ae(j.maxSize,T,T),V=ae(Q.minSize,0,T),$=ae(Q.maxSize,T,T);let N=Se(M,ne,U),J=Se(x,V,$);const ce=N+J,ge=M+x;if(ce!==ge){const oe=ge-ce;if(oe>0){const he=U-N,m=$-J,H=he+m;if(H>0){const re=Math.min(oe*(he/H),he),ie=Math.min(oe-re,m);N+=re,J+=ie}}else if(oe<0){const he=Math.abs(oe),m=N-ne,H=J-V,re=m+H;if(re>0){const ie=Math.min(he*(m/re),m),de=Math.min(he-ie,H);N-=ie,J-=de}}}N=Se(N,ne,U),J=Se(J,V,$),console.assert(N+J===ge,"Total size after constraints should be close to the original total size.",{constrainedLeftSize:N,constrainedRightSize:J,originalTotalSize:ge}),r({type:"RESIZE_PANELS",leftId:f,rightId:z,leftSize:N,rightSize:J,containerSize:T})},[e,d.width,d.height,s]),me=h.useCallback((f,z)=>{const M=e==="horizontal"?d.width:d.height;r({type:"COLLAPSE_PANEL",id:f,from:z,containerSize:M})},[e,d.width,d.height]),g=h.useCallback((f,z,M)=>{const x=e==="horizontal"?d.width:d.height;r({type:"EXPAND_PANEL",id:f,from:z,containerSize:x,targetSize:M})},[e,d.width,d.height]),B=h.useCallback(f=>s.find(z=>z.id===f),[s]),O=h.useCallback((f,z)=>{v(M=>{if(z===null){if(!(f in M))return M;const T={...M};return delete T[f],T}const x=M[f];return x&&x.pixelSize===z.pixelSize&&x.percentageSize===z.percentageSize?M:{...M,[f]:z}})},[]),G=h.useCallback((f,z)=>{k(M=>{if(z===null){if(!(f in M))return M;const T={...M};return delete T[f],T}const x=M[f];return x&&Math.abs(x.thickness-z.thickness)<=.25&&x.visible===z.visible&&x.direction===z.direction&&x.startPanelId===z.startPanelId&&x.endPanelId===z.endPanelId?M:{...M,[f]:z}})},[]),pe=h.useMemo(()=>({direction:e,panels:s,containerSize:d,isContainerReady:p,showDebugInfo:n,registerPanel:W,unregisterPanel:_,resizePanels:ue,collapsePanel:me,expandPanel:g,getPanel:B,reportPanelMeasurement:O,panelMeasurements:b,reportHandleMeasurement:G,handleMeasurements:P,layoutConstraintViolation:S}),[e,s,d,p,n,W,_,ue,me,g,B,O,b,G,P,S]),ze=h.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:E,contextValue:pe,groupStyle:ze}},nr=e=>{const{getPanel:t,collapsePanel:o,expandPanel:i}=Ye(),n=t(e),s=h.useCallback(a=>{o(e,a)},[o,e]),r=h.useCallback((a,p)=>{i(e,a,p)},[i,e]),d=h.useCallback((a,p)=>{n?.collapsed?r(a,p):s(a)},[n?.collapsed,s,r]);return h.useMemo(()=>({panel:n,isCollapsed:n?.collapsed??!1,canCollapseFromStart:n?.collapseFromStart??!1,canCollapseFromEnd:n?.collapseFromEnd??!1,collapse:s,expand:r,toggle:d}),[n,s,r,d])};var Ke={exports:{}},Ge={};var vt;function or(){if(vt)return Ge;vt=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function o(i,n,s){var r=null;if(s!==void 0&&(r=""+s),n.key!==void 0&&(r=""+n.key),"key"in n){s={};for(var d in n)d!=="key"&&(s[d]=n[d])}else s=n;return n=s.ref,{$$typeof:e,type:i,key:r,ref:n!==void 0?n:null,props:s}}return Ge.Fragment=t,Ge.jsx=o,Ge.jsxs=o,Ge}var He={};var wt;function ir(){return wt||(wt=1,process.env.NODE_ENV!=="production"&&(function(){function e(g){if(g==null)return null;if(typeof g=="function")return g.$$typeof===se?null:g.displayName||g.name||null;if(typeof g=="string")return g;switch(g){case v:return"Fragment";case k:return"Profiler";case P:return"StrictMode";case te:return"Suspense";case le:return"SuspenseList";case F:return"Activity"}if(typeof g=="object")switch(typeof g.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),g.$$typeof){case b:return"Portal";case D:return g.displayName||"Context";case E:return(g._context.displayName||"Context")+".Consumer";case ee:var B=g.render;return g=g.displayName,g||(g=B.displayName||B.name||"",g=g!==""?"ForwardRef("+g+")":"ForwardRef"),g;case w:return B=g.displayName||null,B!==null?B:e(g.type)||"Memo";case L:B=g._payload,g=g._init;try{return e(g(B))}catch{}}return null}function t(g){return""+g}function o(g){try{t(g);var B=!1}catch{B=!0}if(B){B=console;var O=B.error,G=typeof Symbol=="function"&&Symbol.toStringTag&&g[Symbol.toStringTag]||g.constructor.name||"Object";return O.call(B,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",G),t(g)}}function i(g){if(g===v)return"<>";if(typeof g=="object"&&g!==null&&g.$$typeof===L)return"<...>";try{var B=e(g);return B?"<"+B+">":"<...>"}catch{return"<...>"}}function n(){var g=Y.A;return g===null?null:g.getOwner()}function s(){return Error("react-stack-top-frame")}function r(g){if(q.call(g,"key")){var B=Object.getOwnPropertyDescriptor(g,"key").get;if(B&&B.isReactWarning)return!1}return g.key!==void 0}function d(g,B){function O(){y||(y=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",B))}O.isReactWarning=!0,Object.defineProperty(g,"key",{get:O,configurable:!0})}function a(){var g=e(this.type);return W[g]||(W[g]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),g=this.props.ref,g!==void 0?g:null}function p(g,B,O,G,pe,ze){var f=O.ref;return g={$$typeof:C,type:g,key:B,props:O,_owner:G},(f!==void 0?f:null)!==null?Object.defineProperty(g,"ref",{enumerable:!1,get:a}):Object.defineProperty(g,"ref",{enumerable:!1,value:null}),g._store={},Object.defineProperty(g._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(g,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(g,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:pe}),Object.defineProperty(g,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:ze}),Object.freeze&&(Object.freeze(g.props),Object.freeze(g)),g}function l(g,B,O,G,pe,ze){var f=B.children;if(f!==void 0)if(G)if(Z(f)){for(G=0;G<f.length;G++)u(f[G]);Object.freeze&&Object.freeze(f)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else u(f);if(q.call(B,"key")){f=e(g);var z=Object.keys(B).filter(function(x){return x!=="key"});G=0<z.length?"{key: someKey, "+z.join(": ..., ")+": ...}":"{key: someKey}",me[f+G]||(z=0<z.length?"{"+z.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
2
2
|
let props = %s;
|
|
3
3
|
<%s {...props} />
|
|
4
4
|
React keys must be passed directly to JSX without using spread:
|
|
5
5
|
let props = %s;
|
|
6
|
-
<%s key={someKey} {...props} />`,H,f,z,f),ze[f+H]=!0)}if(f=null,O!==void 0&&(o(O),f=""+O),n(B)&&(o(B.key),f=""+B.key),"key"in B){O={};for(var h in B)h!=="key"&&(O[h]=B[h])}else O=B;return f&&u(O,typeof p=="function"?p.displayName||p.name||"Unknown":p),g(p,f,O,r(),fe,ge)}function c(p){d(p)?p._store&&(p._store.validated=1):typeof p=="object"&&p!==null&&p.$$typeof===L&&(p._payload.status==="fulfilled"?d(p._payload.value)&&p._payload.value._store&&(p._payload.value._store.validated=1):p._store&&(p._store.validated=1))}function d(p){return typeof p=="object"&&p!==null&&p.$$typeof===P}var S=x,P=Symbol.for("react.transitional.element"),y=Symbol.for("react.portal"),M=Symbol.for("react.fragment"),v=Symbol.for("react.strict_mode"),E=Symbol.for("react.profiler"),C=Symbol.for("react.consumer"),D=Symbol.for("react.context"),q=Symbol.for("react.forward_ref"),ee=Symbol.for("react.suspense"),K=Symbol.for("react.suspense_list"),w=Symbol.for("react.memo"),L=Symbol.for("react.lazy"),X=Symbol.for("react.activity"),ne=Symbol.for("react.client.reference"),W=S.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,V=Object.prototype.hasOwnProperty,ae=Array.isArray,k=console.createTask?console.createTask:function(){return null};S={react_stack_bottom_frame:function(p){return p()}};var T,J={},R=S.react_stack_bottom_frame.bind(S,s)(),me=k(i(s)),ze={};He.Fragment=M,He.jsx=function(p,B,O){var H=1e4>W.recentlyCreatedOwnerStacks++;return l(p,B,O,!1,H?Error("react-stack-top-frame"):R,H?k(i(p)):me)},He.jsxs=function(p,B,O){var H=1e4>W.recentlyCreatedOwnerStacks++;return l(p,B,O,!0,H?Error("react-stack-top-frame"):R,H?k(i(p)):me)}})()),He}var Rt;function lr(){return Rt||(Rt=1,process.env.NODE_ENV==="production"?Ke.exports=sr():Ke.exports=ar()),Ke.exports}var I=lr();const ot="-",cr=e=>{const t=ur(e),{conflictingClassGroups:o,conflictingClassGroupModifiers:i}=e;return{getClassGroupId:n=>{const u=n.split(ot);return u[0]===""&&u.length!==1&&u.shift(),At(u,t)||dr(n)},getConflictingClassGroupIds:(n,u)=>{const a=o[n]||[];return u&&i[n]?[...a,...i[n]]:a}}},At=(e,t)=>{if(e.length===0)return t.classGroupId;const o=e[0],i=t.nextPart.get(o),r=i?At(e.slice(1),i):void 0;if(r)return r;if(t.validators.length===0)return;const s=e.join(ot);return t.validators.find(({validator:n})=>n(s))?.classGroupId},_t=/^\[(.+)\]$/,dr=e=>{if(_t.test(e)){const t=_t.exec(e)[1],o=t?.substring(0,t.indexOf(":"));if(o)return"arbitrary.."+o}},ur=e=>{const{theme:t,classGroups:o}=e,i={nextPart:new Map,validators:[]};for(const r in o)it(o[r],i,r,t);return i},it=(e,t,o,i)=>{e.forEach(r=>{if(typeof r=="string"){const s=r===""?t:It(t,r);s.classGroupId=o;return}if(typeof r=="function"){if(fr(r)){it(r(i),t,o,i);return}t.validators.push({validator:r,classGroupId:o});return}Object.entries(r).forEach(([s,n])=>{it(n,It(t,s),o,i)})})},It=(e,t)=>{let o=e;return t.split(ot).forEach(i=>{o.nextPart.has(i)||o.nextPart.set(i,{nextPart:new Map,validators:[]}),o=o.nextPart.get(i)}),o},fr=e=>e.isThemeGetter,pr=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,o=new Map,i=new Map;const r=(s,n)=>{o.set(s,n),t++,t>e&&(t=0,i=o,o=new Map)};return{get(s){let n=o.get(s);if(n!==void 0)return n;if((n=i.get(s))!==void 0)return r(s,n),n},set(s,n){o.has(s)?o.set(s,n):r(s,n)}}},st="!",at=":",mr=at.length,gr=e=>{const{prefix:t,experimentalParseClassName:o}=e;let i=r=>{const s=[];let n=0,u=0,a=0,g;for(let P=0;P<r.length;P++){let y=r[P];if(n===0&&u===0){if(y===at){s.push(r.slice(a,P)),a=P+mr;continue}if(y==="/"){g=P;continue}}y==="["?n++:y==="]"?n--:y==="("?u++:y===")"&&u--}const l=s.length===0?r:r.substring(a),c=hr(l),d=c!==l,S=g&&g>a?g-a:void 0;return{modifiers:s,hasImportantModifier:d,baseClassName:c,maybePostfixModifierPosition:S}};if(t){const r=t+at,s=i;i=n=>n.startsWith(r)?s(n.substring(r.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:n,maybePostfixModifierPosition:void 0}}if(o){const r=i;i=s=>o({className:s,parseClassName:r})}return i},hr=e=>e.endsWith(st)?e.substring(0,e.length-1):e.startsWith(st)?e.substring(1):e,xr=e=>{const t=Object.fromEntries(e.orderSensitiveModifiers.map(i=>[i,!0]));return i=>{if(i.length<=1)return i;const r=[];let s=[];return i.forEach(n=>{n[0]==="["||t[n]?(r.push(...s.sort(),n),s=[]):s.push(n)}),r.push(...s.sort()),r}},zr=e=>({cache:pr(e.cacheSize),parseClassName:gr(e),sortModifiers:xr(e),...cr(e)}),Sr=/\s+/,br=(e,t)=>{const{parseClassName:o,getClassGroupId:i,getConflictingClassGroupIds:r,sortModifiers:s}=t,n=[],u=e.trim().split(Sr);let a="";for(let g=u.length-1;g>=0;g-=1){const l=u[g],{isExternal:c,modifiers:d,hasImportantModifier:S,baseClassName:P,maybePostfixModifierPosition:y}=o(l);if(c){a=l+(a.length>0?" "+a:a);continue}let M=!!y,v=i(M?P.substring(0,y):P);if(!v){if(!M){a=l+(a.length>0?" "+a:a);continue}if(v=i(P),!v){a=l+(a.length>0?" "+a:a);continue}M=!1}const E=s(d).join(":"),C=S?E+st:E,D=C+v;if(n.includes(D))continue;n.push(D);const q=r(v,M);for(let ee=0;ee<q.length;++ee){const K=q[ee];n.push(C+K)}a=l+(a.length>0?" "+a:a)}return a};function Pr(){let e=0,t,o,i="";for(;e<arguments.length;)(t=arguments[e++])&&(o=Bt(t))&&(i&&(i+=" "),i+=o);return i}const Bt=e=>{if(typeof e=="string")return e;let t,o="";for(let i=0;i<e.length;i++)e[i]&&(t=Bt(e[i]))&&(o&&(o+=" "),o+=t);return o};function yr(e,...t){let o,i,r,s=n;function n(a){const g=t.reduce((l,c)=>c(l),e());return o=zr(g),i=o.cache.get,r=o.cache.set,s=u,u(a)}function u(a){const g=i(a);if(g)return g;const l=br(a,o);return r(a,l),l}return function(){return s(Pr.apply(null,arguments))}}const xe=e=>{const t=o=>o[e]||[];return t.isThemeGetter=!0,t},Tt=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Nt=/^\((?:(\w[\w-]*):)?(.+)\)$/i,vr=/^\d+\/\d+$/,wr=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Cr=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Er=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,kr=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Mr=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Le=e=>vr.test(e),Q=e=>!!e&&!Number.isNaN(Number(e)),Me=e=>!!e&&Number.isInteger(Number(e)),lt=e=>e.endsWith("%")&&Q(e.slice(0,-1)),Ee=e=>wr.test(e),Rr=()=>!0,Ar=e=>Cr.test(e)&&!Er.test(e),Lt=()=>!1,_r=e=>kr.test(e),Ir=e=>Mr.test(e),Br=e=>!A(e)&&!_(e),Tr=e=>Fe(e,Gt,Lt),A=e=>Tt.test(e),Ie=e=>Fe(e,Ht,Ar),ct=e=>Fe(e,jr,Q),Ft=e=>Fe(e,jt,Lt),Nr=e=>Fe(e,Dt,Ir),qe=e=>Fe(e,Ut,_r),_=e=>Nt.test(e),Ue=e=>Oe(e,Ht),Lr=e=>Oe(e,Dr),Ot=e=>Oe(e,jt),Fr=e=>Oe(e,Gt),Or=e=>Oe(e,Dt),$e=e=>Oe(e,Ut,!0),Fe=(e,t,o)=>{const i=Tt.exec(e);return i?i[1]?t(i[1]):o(i[2]):!1},Oe=(e,t,o=!1)=>{const i=Nt.exec(e);return i?i[1]?t(i[1]):o:!1},jt=e=>e==="position"||e==="percentage",Dt=e=>e==="image"||e==="url",Gt=e=>e==="length"||e==="size"||e==="bg-size",Ht=e=>e==="length",jr=e=>e==="number",Dr=e=>e==="family-name",Ut=e=>e==="shadow",We=yr(()=>{const e=xe("color"),t=xe("font"),o=xe("text"),i=xe("font-weight"),r=xe("tracking"),s=xe("leading"),n=xe("breakpoint"),u=xe("container"),a=xe("spacing"),g=xe("radius"),l=xe("shadow"),c=xe("inset-shadow"),d=xe("text-shadow"),S=xe("drop-shadow"),P=xe("blur"),y=xe("perspective"),M=xe("aspect"),v=xe("ease"),E=xe("animate"),C=()=>["auto","avoid","all","avoid-page","page","left","right","column"],D=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],q=()=>[...D(),_,A],ee=()=>["auto","hidden","clip","visible","scroll"],K=()=>["auto","contain","none"],w=()=>[_,A,a],L=()=>[Le,"full","auto",...w()],X=()=>[Me,"none","subgrid",_,A],ne=()=>["auto",{span:["full",Me,_,A]},Me,_,A],W=()=>[Me,"auto",_,A],V=()=>["auto","min","max","fr",_,A],ae=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],k=()=>["start","end","center","stretch","center-safe","end-safe"],T=()=>["auto",...w()],J=()=>[Le,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...w()],R=()=>[e,_,A],me=()=>[...D(),Ot,Ft,{position:[_,A]}],ze=()=>["no-repeat",{repeat:["","x","y","space","round"]}],p=()=>["auto","cover","contain",Fr,Tr,{size:[_,A]}],B=()=>[lt,Ue,Ie],O=()=>["","none","full",g,_,A],H=()=>["",Q,Ue,Ie],fe=()=>["solid","dashed","dotted","double"],ge=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],f=()=>[Q,lt,Ot,Ft],z=()=>["","none",P,_,A],h=()=>["none",Q,_,A],b=()=>["none",Q,_,A],N=()=>[Q,_,A],Y=()=>[Le,"full",...w()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Ee],breakpoint:[Ee],color:[Rr],container:[Ee],"drop-shadow":[Ee],ease:["in","out","in-out"],font:[Br],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Ee],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Ee],shadow:[Ee],spacing:["px",Q],text:[Ee],"text-shadow":[Ee],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Le,A,_,M]}],container:["container"],columns:[{columns:[Q,A,_,u]}],"break-after":[{"break-after":C()}],"break-before":[{"break-before":C()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:q()}],overflow:[{overflow:ee()}],"overflow-x":[{"overflow-x":ee()}],"overflow-y":[{"overflow-y":ee()}],overscroll:[{overscroll:K()}],"overscroll-x":[{"overscroll-x":K()}],"overscroll-y":[{"overscroll-y":K()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:L()}],"inset-x":[{"inset-x":L()}],"inset-y":[{"inset-y":L()}],start:[{start:L()}],end:[{end:L()}],top:[{top:L()}],right:[{right:L()}],bottom:[{bottom:L()}],left:[{left:L()}],visibility:["visible","invisible","collapse"],z:[{z:[Me,"auto",_,A]}],basis:[{basis:[Le,"full","auto",u,...w()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Q,Le,"auto","initial","none",A]}],grow:[{grow:["",Q,_,A]}],shrink:[{shrink:["",Q,_,A]}],order:[{order:[Me,"first","last","none",_,A]}],"grid-cols":[{"grid-cols":X()}],"col-start-end":[{col:ne()}],"col-start":[{"col-start":W()}],"col-end":[{"col-end":W()}],"grid-rows":[{"grid-rows":X()}],"row-start-end":[{row:ne()}],"row-start":[{"row-start":W()}],"row-end":[{"row-end":W()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":V()}],"auto-rows":[{"auto-rows":V()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...ae(),"normal"]}],"justify-items":[{"justify-items":[...k(),"normal"]}],"justify-self":[{"justify-self":["auto",...k()]}],"align-content":[{content:["normal",...ae()]}],"align-items":[{items:[...k(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...k(),{baseline:["","last"]}]}],"place-content":[{"place-content":ae()}],"place-items":[{"place-items":[...k(),"baseline"]}],"place-self":[{"place-self":["auto",...k()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:T()}],mx:[{mx:T()}],my:[{my:T()}],ms:[{ms:T()}],me:[{me:T()}],mt:[{mt:T()}],mr:[{mr:T()}],mb:[{mb:T()}],ml:[{ml:T()}],"space-x":[{"space-x":w()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":w()}],"space-y-reverse":["space-y-reverse"],size:[{size:J()}],w:[{w:[u,"screen",...J()]}],"min-w":[{"min-w":[u,"screen","none",...J()]}],"max-w":[{"max-w":[u,"screen","none","prose",{screen:[n]},...J()]}],h:[{h:["screen","lh",...J()]}],"min-h":[{"min-h":["screen","lh","none",...J()]}],"max-h":[{"max-h":["screen","lh",...J()]}],"font-size":[{text:["base",o,Ue,Ie]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[i,_,ct]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",lt,A]}],"font-family":[{font:[Lr,A,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[r,_,A]}],"line-clamp":[{"line-clamp":[Q,"none",_,ct]}],leading:[{leading:[s,...w()]}],"list-image":[{"list-image":["none",_,A]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",_,A]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:R()}],"text-color":[{text:R()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...fe(),"wavy"]}],"text-decoration-thickness":[{decoration:[Q,"from-font","auto",_,Ie]}],"text-decoration-color":[{decoration:R()}],"underline-offset":[{"underline-offset":[Q,"auto",_,A]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:w()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",_,A]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",_,A]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:me()}],"bg-repeat":[{bg:ze()}],"bg-size":[{bg:p()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Me,_,A],radial:["",_,A],conic:[Me,_,A]},Or,Nr]}],"bg-color":[{bg:R()}],"gradient-from-pos":[{from:B()}],"gradient-via-pos":[{via:B()}],"gradient-to-pos":[{to:B()}],"gradient-from":[{from:R()}],"gradient-via":[{via:R()}],"gradient-to":[{to:R()}],rounded:[{rounded:O()}],"rounded-s":[{"rounded-s":O()}],"rounded-e":[{"rounded-e":O()}],"rounded-t":[{"rounded-t":O()}],"rounded-r":[{"rounded-r":O()}],"rounded-b":[{"rounded-b":O()}],"rounded-l":[{"rounded-l":O()}],"rounded-ss":[{"rounded-ss":O()}],"rounded-se":[{"rounded-se":O()}],"rounded-ee":[{"rounded-ee":O()}],"rounded-es":[{"rounded-es":O()}],"rounded-tl":[{"rounded-tl":O()}],"rounded-tr":[{"rounded-tr":O()}],"rounded-br":[{"rounded-br":O()}],"rounded-bl":[{"rounded-bl":O()}],"border-w":[{border:H()}],"border-w-x":[{"border-x":H()}],"border-w-y":[{"border-y":H()}],"border-w-s":[{"border-s":H()}],"border-w-e":[{"border-e":H()}],"border-w-t":[{"border-t":H()}],"border-w-r":[{"border-r":H()}],"border-w-b":[{"border-b":H()}],"border-w-l":[{"border-l":H()}],"divide-x":[{"divide-x":H()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":H()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...fe(),"hidden","none"]}],"divide-style":[{divide:[...fe(),"hidden","none"]}],"border-color":[{border:R()}],"border-color-x":[{"border-x":R()}],"border-color-y":[{"border-y":R()}],"border-color-s":[{"border-s":R()}],"border-color-e":[{"border-e":R()}],"border-color-t":[{"border-t":R()}],"border-color-r":[{"border-r":R()}],"border-color-b":[{"border-b":R()}],"border-color-l":[{"border-l":R()}],"divide-color":[{divide:R()}],"outline-style":[{outline:[...fe(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Q,_,A]}],"outline-w":[{outline:["",Q,Ue,Ie]}],"outline-color":[{outline:R()}],shadow:[{shadow:["","none",l,$e,qe]}],"shadow-color":[{shadow:R()}],"inset-shadow":[{"inset-shadow":["none",c,$e,qe]}],"inset-shadow-color":[{"inset-shadow":R()}],"ring-w":[{ring:H()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:R()}],"ring-offset-w":[{"ring-offset":[Q,Ie]}],"ring-offset-color":[{"ring-offset":R()}],"inset-ring-w":[{"inset-ring":H()}],"inset-ring-color":[{"inset-ring":R()}],"text-shadow":[{"text-shadow":["none",d,$e,qe]}],"text-shadow-color":[{"text-shadow":R()}],opacity:[{opacity:[Q,_,A]}],"mix-blend":[{"mix-blend":[...ge(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ge()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[Q]}],"mask-image-linear-from-pos":[{"mask-linear-from":f()}],"mask-image-linear-to-pos":[{"mask-linear-to":f()}],"mask-image-linear-from-color":[{"mask-linear-from":R()}],"mask-image-linear-to-color":[{"mask-linear-to":R()}],"mask-image-t-from-pos":[{"mask-t-from":f()}],"mask-image-t-to-pos":[{"mask-t-to":f()}],"mask-image-t-from-color":[{"mask-t-from":R()}],"mask-image-t-to-color":[{"mask-t-to":R()}],"mask-image-r-from-pos":[{"mask-r-from":f()}],"mask-image-r-to-pos":[{"mask-r-to":f()}],"mask-image-r-from-color":[{"mask-r-from":R()}],"mask-image-r-to-color":[{"mask-r-to":R()}],"mask-image-b-from-pos":[{"mask-b-from":f()}],"mask-image-b-to-pos":[{"mask-b-to":f()}],"mask-image-b-from-color":[{"mask-b-from":R()}],"mask-image-b-to-color":[{"mask-b-to":R()}],"mask-image-l-from-pos":[{"mask-l-from":f()}],"mask-image-l-to-pos":[{"mask-l-to":f()}],"mask-image-l-from-color":[{"mask-l-from":R()}],"mask-image-l-to-color":[{"mask-l-to":R()}],"mask-image-x-from-pos":[{"mask-x-from":f()}],"mask-image-x-to-pos":[{"mask-x-to":f()}],"mask-image-x-from-color":[{"mask-x-from":R()}],"mask-image-x-to-color":[{"mask-x-to":R()}],"mask-image-y-from-pos":[{"mask-y-from":f()}],"mask-image-y-to-pos":[{"mask-y-to":f()}],"mask-image-y-from-color":[{"mask-y-from":R()}],"mask-image-y-to-color":[{"mask-y-to":R()}],"mask-image-radial":[{"mask-radial":[_,A]}],"mask-image-radial-from-pos":[{"mask-radial-from":f()}],"mask-image-radial-to-pos":[{"mask-radial-to":f()}],"mask-image-radial-from-color":[{"mask-radial-from":R()}],"mask-image-radial-to-color":[{"mask-radial-to":R()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":D()}],"mask-image-conic-pos":[{"mask-conic":[Q]}],"mask-image-conic-from-pos":[{"mask-conic-from":f()}],"mask-image-conic-to-pos":[{"mask-conic-to":f()}],"mask-image-conic-from-color":[{"mask-conic-from":R()}],"mask-image-conic-to-color":[{"mask-conic-to":R()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:me()}],"mask-repeat":[{mask:ze()}],"mask-size":[{mask:p()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",_,A]}],filter:[{filter:["","none",_,A]}],blur:[{blur:z()}],brightness:[{brightness:[Q,_,A]}],contrast:[{contrast:[Q,_,A]}],"drop-shadow":[{"drop-shadow":["","none",S,$e,qe]}],"drop-shadow-color":[{"drop-shadow":R()}],grayscale:[{grayscale:["",Q,_,A]}],"hue-rotate":[{"hue-rotate":[Q,_,A]}],invert:[{invert:["",Q,_,A]}],saturate:[{saturate:[Q,_,A]}],sepia:[{sepia:["",Q,_,A]}],"backdrop-filter":[{"backdrop-filter":["","none",_,A]}],"backdrop-blur":[{"backdrop-blur":z()}],"backdrop-brightness":[{"backdrop-brightness":[Q,_,A]}],"backdrop-contrast":[{"backdrop-contrast":[Q,_,A]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Q,_,A]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Q,_,A]}],"backdrop-invert":[{"backdrop-invert":["",Q,_,A]}],"backdrop-opacity":[{"backdrop-opacity":[Q,_,A]}],"backdrop-saturate":[{"backdrop-saturate":[Q,_,A]}],"backdrop-sepia":[{"backdrop-sepia":["",Q,_,A]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",_,A]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Q,"initial",_,A]}],ease:[{ease:["linear","initial",v,_,A]}],delay:[{delay:[Q,_,A]}],animate:[{animate:["none",E,_,A]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[y,_,A]}],"perspective-origin":[{"perspective-origin":q()}],rotate:[{rotate:h()}],"rotate-x":[{"rotate-x":h()}],"rotate-y":[{"rotate-y":h()}],"rotate-z":[{"rotate-z":h()}],scale:[{scale:b()}],"scale-x":[{"scale-x":b()}],"scale-y":[{"scale-y":b()}],"scale-z":[{"scale-z":b()}],"scale-3d":["scale-3d"],skew:[{skew:N()}],"skew-x":[{"skew-x":N()}],"skew-y":[{"skew-y":N()}],transform:[{transform:[_,A,"","none","gpu","cpu"]}],"transform-origin":[{origin:q()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Y()}],"translate-x":[{"translate-x":Y()}],"translate-y":[{"translate-y":Y()}],"translate-z":[{"translate-z":Y()}],"translate-none":["translate-none"],accent:[{accent:R()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:R()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",_,A]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",_,A]}],fill:[{fill:["none",...R()]}],"stroke-w":[{stroke:[Q,Ue,Ie,ct]}],stroke:[{stroke:["none",...R()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}}),Gr=({panel:e,measuredPixelSize:t,measuredPercentageSize:o,containerAxisSize:i,containerLabel:r})=>{const s=e?.size,n=typeof s=="number"&&Number.isFinite(s)?`${s.toFixed(3)}px`:"-",u=e?.percentageSize!==void 0?`${e.percentageSize.toFixed(3)}%`:"-",a=Number.isFinite(t)?`${t.toFixed(3)}px`:"-",g=Number.isFinite(o)?`${o.toFixed(3)}%`:"-",l=Number.isFinite(i)?`${i.toFixed(3)}px`:"-",c=`${n} / ${u}`,d=`${a} / ${g}`,S=e?.sizeUnit==="pixels"?"Fixed":"Flexible",P=[S,`${r}: ${l}`,`size (state): ${c}`,`size (measured): ${d}`];return{stateValueDisplay:c,measuredValueDisplay:d,containerDisplay:l,headlineLabel:S,titleText:P.join(`
|
|
7
|
-
`)}},Hr=x.memo(({panel:e,measuredPixelSize:t,measuredPercentageSize:o,containerAxisSize:i,direction:r})=>{const s=r==="horizontal"?"container width":"container height",{stateValueDisplay:n,measuredValueDisplay:u,containerDisplay:a,headlineLabel:g,titleText:l}=x.useMemo(()=>Gr({panel:e,measuredPixelSize:t,measuredPercentageSize:o,containerAxisSize:i,containerLabel:s}),[e,t,o,i,s]),c={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"},d={display:"flex",flexDirection:"column",gap:"1px",minWidth:"0",width:"100%"},S={display:"flex",justifyContent:"flex-start",alignItems:"center",gap:"6px",fontSize:"10px",color:"#ccc",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",minWidth:"0",width:"100%"},P={display:"flex",justifyContent:"space-between",alignItems:"center",gap:"6px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",minWidth:"0",width:"100%"},y={marginLeft:"auto",fontVariantNumeric:"tabular-nums",whiteSpace:"nowrap"};return I.jsx("div",{style:c,title:l,children:I.jsxs("div",{style:d,children:[I.jsx("div",{style:S,children:I.jsx("span",{children:g})}),I.jsxs("div",{style:P,children:[I.jsx("span",{children:s}),I.jsx("span",{style:y,children:a})]}),I.jsxs("div",{style:P,children:[I.jsx("span",{children:"size (state)"}),I.jsx("span",{style:y,children:n})]}),I.jsxs("div",{style:P,children:[I.jsx("span",{children:"size (measured)"}),I.jsx("span",{style:y,children:u})]})]})})}),Ur={both:{collapseFromStart:!0,collapseFromEnd:!0},start:{collapseFromStart:!0,collapseFromEnd:!1},end:{collapseFromStart:!1,collapseFromEnd:!0}},Wr=e=>{if(!e)return{collapseFromStart:!1,collapseFromEnd:!1};const t=Ur[e.from];if(!t)throw new Error("Invalid collapsible configuration: unsupported 'from' value");return t},Wt=({ref:e,setState:t,panelIdRef:o,label:i})=>r=>{if(!Number.isFinite(r))return;const s=r<0?0:r;e.current!==s&&(e.current=s,console.debug(`[resize-panels] commit ${i}`,{panelId:o.current,[i]:s}),t(s))},Vr=x.memo(({id:e,defaultSize:t={value:50,unit:"percentage"},minSize:o,maxSize:i,autoMinSize:r,className:s,style:n,children:u,order:a=0,collapsible:g,defaultCollapsed:l=!1,pixelAdjustPriority:c,flexAdjustPriority:d,contentOverflow:S="auto"})=>{const{direction:P,registerPanel:y,unregisterPanel:M,getPanel:v,showDebugInfo:E,isContainerReady:C,reportPanelMeasurement:D,containerSize:q}=Ye(),ee=x.useRef(null),K=x.useRef(e||yt()),w=x.useMemo(()=>Wr(g),[g]),L=w.collapseFromStart||w.collapseFromEnd,X=x.useMemo(()=>L?w.collapseFromStart?"start":w.collapseFromEnd?"end":null:null,[L,w.collapseFromStart,w.collapseFromEnd]),ne=L&&l,W=x.useMemo(()=>Je(t),[t]),V=W?.unit==="pixels",ae=V?void 0:W?.value,k=v(K.current),T=!!k?.collapsed,J=(k?.size??0)<=0,R=T||J,[me,ze]=x.useState(()=>V&&W?W.value:k?.size!==void 0?k.size:0),[p,B]=x.useState(()=>!V&&W?W.value:k?.percentageSize!==void 0?k.percentageSize:0),O=x.useRef(p);O.current=p;const H=x.useRef(me);H.current=me;const fe=x.useMemo(()=>Wt({ref:H,setState:ze,panelIdRef:K,label:"pixel"}),[]),ge=x.useMemo(()=>Wt({ref:O,setState:B,panelIdRef:K,label:"percentage"}),[]),f=x.useCallback(()=>{H.current!==0&&(H.current=0,ze(0)),O.current!==0&&(O.current=0,B(0))},[]);x.useEffect(()=>{e||console.warn("Panel component should have an explicit 'id' prop to avoid hydration issues. Auto-generated ID may cause SSR/client mismatch.")},[e]),x.useEffect(()=>{if(!C)return;let j=0;if(V&&W){let G=W.value;o&&typeof o=="object"&&o.unit==="pixels"&&(G=Math.max(G,o.value)),i&&typeof i=="object"&&i.unit==="pixels"&&(G=Math.min(G,i.value)),j=G}const F=ne,oe=F?X:null;l&&!L&&console.warn("Panel defaultCollapsed is ignored because collapsible configuration is not provided.");const pe=L&&F&&V?j:void 0,le=L?ae:void 0,ce=V?j:void 0,de={id:K.current,size:F?0:j,percentageSize:F?0:ae,preferredPercentageSize:ae,preferredPixelSize:ce,sizeUnit:W?.unit||"percentage",originalPixelSize:V?j:void 0,minSize:o,maxSize:i,collapseFromStart:w.collapseFromStart,collapseFromEnd:w.collapseFromEnd,collapsedByDirection:oe,collapsed:F,sizeBeforeCollapse:pe,percentageSizeBeforeCollapse:le,preferredPercentageSizeBeforeCollapse:L?ae:void 0,preferredPixelSizeBeforeCollapse:L?ce:void 0,pixelAdjustPriority:c,flexAdjustPriority:d,autoMinSize:r};return y(de),()=>{M(K.current),D(K.current,null)}},[r,w.collapseFromEnd,w.collapseFromStart,l,W,d,L,C,V,i,o,c,X,ae,y,D,ne,M]);const z=k?.size??0;x.useEffect(()=>{const j=ee.current;if(!j)return;const F=()=>{if(!k)return;const de=j.parentElement;if(!de)return;const m=j.getBoundingClientRect(),G=ke(de,"horizontal"),ie=ke(de,"vertical"),te=P==="horizontal"?m.width:m.height,he=P==="horizontal"?G.inner:ie.inner,we=rt(he);if(R){f();return}const Re=k.size??0,ye=Math.max(2,we*.5);if(Re>we&&te<ye){console.debug("[resize-panels] skip noisy measurement",{panelId:K.current,expectedPanelSize:Re,measured:te,noiseThreshold:ye});return}if(te>0){fe(te),he>0&&ge(te/he*100);return}k.size!==void 0&&fe(k.size),k.percentageSize!==void 0?ge(k.percentageSize):k.sizeUnit==="pixels"&&k.size!==void 0&&he>0&&ge(k.size/he*100)},oe=new ResizeObserver(()=>{F()});oe.observe(j),F();const pe=[],le=new MutationObserver(()=>{(()=>{if(!ee.current)return!1;const m=ee.current.getBoundingClientRect();return(P==="horizontal"?m.width:m.height)!==H.current})()&&setTimeout(F,0)}),ce=j.parentElement;return ce&&le.observe(ce,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["style","class"]}),()=>{oe.disconnect(),le.disconnect();for(const de of pe)clearTimeout(de)}},[ge,fe,k,P,R,f]);const h=k?.size,b=k?.percentageSize,N=k?.sizeUnit;x.useEffect(()=>{if(k){if(R){f();return}if(h!==void 0&&fe(h),b!==void 0)ge(b);else if(N==="pixels"&&h!==void 0){const j=ee.current,F=j?.parentElement;if(j&&F){const{width:oe,height:pe}=j.getBoundingClientRect(),le=F.clientWidth,ce=F.clientHeight,de=P==="horizontal"?oe:pe,m=P==="horizontal"?le:ce;if(de>0&&m>0){const G=de/m*100;ge(G)}}}}},[ge,fe,k,b,h,N,P,R,f]),x.useEffect(()=>{D(K.current,{pixelSize:me,percentageSize:p})},[D,me,p]);const Y=()=>R?"0px":k?.originalPixelSize!==void 0?`${z}px`:k?.percentageSize!==void 0?`${k.percentageSize}%`:`${z}px`,re=k?.sizeUnit==="percentage"&&!k?.collapsed?1:0,U={flexBasis:Y(),flexGrow:0,flexShrink:re,overflow:"hidden",position:"relative",boxSizing:"border-box",minHeight:"0px",minWidth:"0px",...n};P==="horizontal"?(U.height="100%",U.minWidth=0):(U.width="100%",U.minHeight=0),R&&(P==="horizontal"?(U.width="0px",U.minWidth="0px"):(U.height="0px",U.minHeight="0px"),U.flexGrow=0,U.flexShrink=0,U.pointerEvents="none",U.visibility="hidden",T&&(U.display="none"));const $=P==="horizontal"?q.width:q.height,Z=x.useMemo(()=>({position:"absolute",inset:"0px",overflow:S,display:"flex",flexDirection:"column",width:"100%",height:"100%",minWidth:"0px",minHeight:"0px"}),[S]);return I.jsxs("div",{ref:ee,className:We("panel",s),style:U,"data-panel-id":K.current,"data-panel-size":z,"data-panel-size-unit":k?.sizeUnit||"percentage","data-panel-pixel-size":k?.sizeUnit==="pixels"?k?.originalPixelSize:null,"data-panel-order":a,"data-panel-collapsible":L,"data-panel-collapse-start":w.collapseFromStart,"data-panel-collapse-end":w.collapseFromEnd,"data-panel-collapsed":k?.collapsed,"aria-hidden":R,children:[I.jsx("div",{style:Z,children:u}),E&&I.jsx(Hr,{panel:k,measuredPixelSize:me,measuredPercentageSize:p,containerAxisSize:$,direction:P})]})}),Yr=e=>JSON.stringify(e.map(t=>({id:t.id,size:t.size,percentageSize:t.percentageSize??null,preferredPercentageSize:t.preferredPercentageSize??null,preferredPixelSize:t.preferredPixelSize??null,sizeUnit:t.sizeUnit,originalPixelSize:t.originalPixelSize??null,minSize:t.minSize??null,maxSize:t.maxSize??null,autoMinSize:t.autoMinSize??null,collapseFromStart:t.collapseFromStart,collapseFromEnd:t.collapseFromEnd,collapsedByDirection:t.collapsedByDirection??null,collapsed:t.collapsed??!1,sizeBeforeCollapse:t.sizeBeforeCollapse??null,preferredPercentageSizeBeforeCollapse:t.preferredPercentageSizeBeforeCollapse??null,preferredPixelSizeBeforeCollapse:t.preferredPixelSizeBeforeCollapse??null,measuredPixelSizeBeforeCollapse:t.measuredPixelSizeBeforeCollapse??null,pixelAdjustPriority:t.pixelAdjustPriority??null,flexAdjustPriority:t.flexAdjustPriority??null,measuredPixelSize:t.measuredPixelSize??null,measuredPercentageSize:t.measuredPercentageSize??null}))),Jr=e=>JSON.stringify(e.map(t=>({id:t.id,thickness:t.thickness,visible:t.visible,direction:t.direction,startPanelId:t.startPanelId??null,endPanelId:t.endPanelId??null}))),ve=(()=>{const e=new Set,t=new Map,o=new Set;let i=null,r=0,s=!0,n=[],u={ownerId:null,groups:n};const a=()=>{for(const v of e)v()},g=()=>{s=!0,a()},l=()=>{const v=i;if(v&&o.has(v))return!1;i=null;const E=o.values().next();return E.done||(i=E.value),v!==i};return{subscribe:v=>(e.add(v),()=>{e.delete(v)}),getSnapshot:()=>(l()&&(s=!0),s&&(n=Array.from(t.values()).sort((E,C)=>E.index-C.index).map(({serializedPanels:E,serializedHandles:C,...D})=>D),u={ownerId:i,groups:n},s=!1),u),getOwnerId:()=>(l()&&(s=!0),i),enableGroup:v=>{const E=o.size;o.add(v),o.size!==E&&l()&&g()},disableGroup:v=>{o.delete(v)&&l()&&g()},updateGroup:(v,E)=>{const C=t.get(v),D=C?.index??r++,q=Yr(E.panels),ee=Jr(E.handles),K=C?.displayName!==E.displayName,w=C?.direction!==E.direction,L=C?C.containerSize.width!==E.containerSize.width||C.containerSize.height!==E.containerSize.height:!0;let X=C?.serializedPanels!==q;if(!X&&C)if(C.panels.length!==E.panels.length)X=!0;else for(let k=0;k<E.panels.length;k+=1){const T=C.panels[k],J=E.panels[k];if(!(T&&J)){X=!0;break}if(T.id!==J.id||T.size!==J.size||T.percentageSize!==J.percentageSize||T.collapsed!==J.collapsed||T.measuredPixelSize!==J.measuredPixelSize||T.measuredPercentageSize!==J.measuredPercentageSize){X=!0;break}}let ne=C?.serializedHandles!==ee;if(!ne&&C)if(C.handles.length!==E.handles.length)ne=!0;else for(let k=0;k<E.handles.length;k+=1){const T=C.handles[k],J=E.handles[k];if(!(T&&J)){ne=!0;break}if(T.id!==J.id||T.thickness!==J.thickness||T.visible!==J.visible||T.direction!==J.direction||T.startPanelId!==J.startPanelId||T.endPanelId!==J.endPanelId){ne=!0;break}}if(!C&&E.panels.length===0&&E.handles.length===0||C&&!K&&!w&&!L&&!X&&!ne)return;const W=E.panels.map(k=>({...k})),V=E.handles.map(k=>({...k})),ae={...E.containerSize};t.set(v,{groupId:v,displayName:E.displayName,direction:E.direction,containerSize:ae,panels:W,handles:V,index:D,serializedPanels:q,serializedHandles:ee}),g()},removeGroup:v=>{const E=t.delete(v),C=o.delete(v),D=l();(E||C||D)&&g()}}})(),Xr=()=>x.useSyncExternalStore(ve.subscribe,ve.getOwnerId,ve.getOwnerId),Zr=()=>x.useSyncExternalStore(ve.subscribe,ve.getSnapshot,ve.getSnapshot),Qr=e=>{ve.enableGroup(e)},Vt=e=>{ve.disableGroup(e)},Kr=(e,t)=>{ve.updateGroup(e,t)},Yt=e=>{ve.removeGroup(e)};let Jt=0;const qr=()=>(Jt+=1,`panel-group-${Jt}`),je=(e,t)=>typeof e!="number"||!Number.isFinite(e)?"—":`${(e<0?0:e).toFixed(8)}${t}`,$r={position:"fixed",left:"50%",bottom:"20px",transform:"translate(-50%, 0)",zIndex:100,maxWidth:"min(90vw, 1120px)",width:"100%",borderRadius:"14px",backgroundColor:"rgba(15, 23, 42, 0.72)",color:"#e2e8f0",fontFamily:"monospace",fontSize:"11px",lineHeight:1.6,boxShadow:"0 22px 45px rgba(15,23,42,0.45)",border:"1px solid rgba(148, 163, 184, 0.22)",backdropFilter:"blur(10px)",WebkitBackdropFilter:"blur(10px)",pointerEvents:"auto",overflow:"auto"},en={display:"flex",justifyContent:"space-between",alignItems:"center",flexWrap:"wrap",gap:"12px"},tn={display:"flex",flexDirection:"column",gap:"4px"},rn={padding:"6px 10px",borderRadius:"9999px",border:"1px solid rgba(148, 163, 184, 0.35)",color:"#e2e8f0",fontWeight:600,fontSize:"10px",letterSpacing:"0.03em",textTransform:"uppercase",cursor:"pointer",transition:"background-color 0.18s ease, border-color 0.18s ease"},nn={padding:"10px 12px",borderRadius:"10px",backgroundColor:"rgba(30, 41, 59, 0.55)",border:"1px solid rgba(148, 163, 184, 0.18)",display:"flex",flexDirection:"column",gap:"10px"},on={padding:"8px 10px",borderRadius:"8px",backgroundColor:"rgba(15, 23, 42, 0.55)",border:"1px solid rgba(148, 163, 184, 0.16)",display:"flex",flexDirection:"column",gap:"4px"},Xt={display:"flex",justifyContent:"space-between",alignItems:"center",gap:"6px"},sn={display:"grid",gridTemplateColumns:"auto 1fr",gap:"2px 10px",color:"#e2e8f0"},an={padding:"2px 6px",borderRadius:"9999px",fontSize:"10px",textTransform:"uppercase"},ln=e=>{const t=e.reason==="minimum-exceeded",o=t?"Layout unavailable: minimum panel sizes exceed the container.":"Layout unavailable: panels cannot fill the container with their maximum sizes.",i=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:o,detail:i}},cn=(e,t)=>{let o=!1;const i=e.map(r=>{const s=t[r.id];return!s||r.measuredPixelSize===s.pixelSize&&r.measuredPercentageSize===s.percentageSize?r:(o=!0,{...r,measuredPixelSize:s.pixelSize,measuredPercentageSize:s.percentageSize})});return o?i:e},Zt=(e,t,o)=>{const i=ke(e,"horizontal"),r=ke(e,"vertical"),s=e.getBoundingClientRect(),n=i.inner>0?i.inner:t??s.width,u=r.inner>0?r.inner:o??s.height;return{width:n,height:u}},dn=e=>{const{id:t,className:o,style:i,children:r,direction:s}=e,{groupRef:n,contextValue:u,groupStyle:a}=Et(e),[g,l]=x.useState({width:0,height:0}),c=u.layoutConstraintViolation,d=!!c,S=x.useMemo(()=>{if(!c)return null;const{summary:W,detail:V}=ln(c);return I.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:[I.jsx("span",{children:W}),I.jsx("span",{className:"text-slate-500 text-xs dark:text-slate-400",children:V})]})},[c]),y=x.useRef(t??qr()).current,M=t??y,v=u.showDebugInfo&&u.panels.length>0,E=v?u.panels:[],C=v?u.panelMeasurements:{},D=x.useMemo(()=>{if(!v)return[];const W=Object.values(u.handleMeasurements);return W.length<=1?W:W.slice().sort((V,ae)=>V.id.localeCompare(ae.id))},[u.handleMeasurements,v]),q=u.containerSize,ee=g.width>0?g.width:q.width,K=g.height>0?g.height:q.height,w=Xr(),L=v&&w===y;x.useLayoutEffect(()=>{if(!v){l({width:0,height:0});return}if(typeof window>"u"||typeof ResizeObserver>"u")return;const W=n.current;if(!W)return;const V=k=>{l(T=>T.width===k.width&&T.height===k.height?T:k)},ae=new ResizeObserver(k=>{for(const T of k){if(T.target!==W)continue;const J=Zt(W,T.contentRect.width,T.contentRect.height);V(J)}});return ae.observe(W),V(Zt(W)),()=>{ae.disconnect()}},[n,v]);const X=x.useMemo(()=>cn(E,C),[E,C]);x.useEffect(()=>{if(!v){Vt(y),Yt(y);return}return Qr(y),()=>{Vt(y),Yt(y)}},[v,y]),x.useEffect(()=>{v&&Kr(y,{displayName:M,direction:s,containerSize:{width:ee,height:K},panels:X,handles:D})},[v,y,M,s,ee,K,X,D]);const ne=x.useMemo(()=>{const W={...a,...i};return W.position||(W.position="relative"),W},[a,i]);return I.jsxs(tt.Provider,{value:u,children:[I.jsxs("div",{ref:n,className:We("panel-group",s==="horizontal"?"flex-row":"flex-col",o),style:ne,"data-panel-group-id":t,"data-panel-group-direction":s,children:[r,d&&S?I.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:S}):null]}),L&&I.jsx(un,{})]})},un=()=>{const t=Zr().groups,[o,i]=x.useState(!0);if(t.length===0||typeof document>"u")return null;const r=t.reduce((a,g)=>a+g.panels.length,0),s=t.reduce((a,g)=>a+(g.handles?.length??0),0),n=()=>i(a=>!a),u=I.jsxs("div",{style:{...$r,padding:o?"10px 18px":"14px 18px",maxHeight:o?"52px":"min(65vh, 520px)",transition:"max-height 0.24s ease, padding 0.24s ease"},children:[I.jsxs("div",{style:{...en,marginBottom:o?0:"12px"},children:[I.jsxs("div",{style:tn,children:[I.jsx("span",{style:{fontWeight:700,fontSize:"12px",letterSpacing:"0.03em"},children:"Panel Overview"}),I.jsxs("span",{style:{color:"#cbd5f5"},children:["groups: ",t.length," / panels: ",r," / resizers: ",s]})]}),I.jsx("button",{type:"button",onClick:n,style:{...rn,backgroundColor:o?"rgba(59, 130, 246, 0.2)":"rgba(71, 85, 105, 0.45)"},title:o?"Panel Overview を開く":"Panel Overview を閉じる",children:o?"開く":"閉じる"})]}),!o&&I.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"12px",maxHeight:"45vh",overflowY:"auto",paddingRight:"6px"},children:t.map((a,g)=>{const l=a.direction==="horizontal"?a.containerSize.width:a.containerSize.height;return I.jsxs("div",{style:nn,children:[I.jsxs("div",{style:{...Xt,flexWrap:"wrap",gap:"10px",color:"#dbeafe"},children:[I.jsxs("span",{style:{fontWeight:600,fontSize:"11px",letterSpacing:"0.02em",textTransform:"uppercase"},children:["group ",g+1,": ",a.displayName]}),I.jsxs("span",{children:["direction: ",a.direction," / container: ",je(a.containerSize.width,"px")," × ",je(a.containerSize.height,"px")]})]}),I.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(220px, 1fr))",gap:"10px"},children:a.panels.map((c,d)=>{const S=c.measuredPixelSize??c.size,P=c.size,y=je(P,"px"),M=c.percentageSize??(l>0?c.size/l*100:void 0),v=c.measuredPercentageSize!==void 0?c.measuredPercentageSize:l>0?S/l*100:void 0,E=c.collapsed||S<=ft,C=c.collapsed?"collapsed":E?"hidden":"visible",D=je(M,"%"),q=je(v,"%"),ee=je(S,"px");return I.jsxs("div",{style:on,children:[I.jsxs("div",{style:Xt,children:[I.jsx("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},children:c.id}),I.jsx("span",{style:{...an,backgroundColor:c.collapsed?"rgba(251, 113, 133, 0.25)":E?"rgba(250, 204, 21, 0.25)":"rgba(74, 222, 128, 0.25)",color:c.collapsed?"#fecdd3":E?"#fef08a":"#bbf7d0"},children:C})]}),I.jsxs("div",{style:sn,children:[I.jsx("span",{children:"size (state):"}),I.jsx("span",{children:y}),I.jsx("span",{children:"size (measured):"}),I.jsx("span",{children:ee}),I.jsx("span",{children:"percentage (state):"}),I.jsx("span",{children:D}),I.jsx("span",{children:"percentage (measured):"}),I.jsx("span",{children:q}),I.jsx("span",{children:"unit:"}),I.jsx("span",{children:c.sizeUnit}),I.jsx("span",{children:"min:"}),I.jsx("span",{children:c.minSize!==void 0?JSON.stringify(c.minSize):"—"}),I.jsx("span",{children:"auto min:"}),I.jsx("span",{children:c.autoMinSize!==void 0?JSON.stringify(c.autoMinSize):"—"}),I.jsx("span",{children:"max:"}),I.jsx("span",{children:c.maxSize!==void 0?JSON.stringify(c.maxSize):"—"}),I.jsx("span",{children:"priority:"}),I.jsx("span",{children:c.pixelAdjustPriority??"—"}),I.jsx("span",{children:"flex priority:"}),I.jsx("span",{children:c.flexAdjustPriority??"—"})]})]},c.id||d)})})]},a.groupId)})})]});return Kt.createPortal(u,document.body)},fn=x.memo(({id:e,disabled:t=!1,className:o,style:i,children:r,onDragging:s})=>{const{direction:n,resizePanels:u,getPanel:a,collapsePanel:g,expandPanel:l,panels:c,reportHandleMeasurement:d,containerSize:S,layoutConstraintViolation:P}=Ye(),[y,M]=x.useState(!1),v=x.useRef(null),E=x.useRef(null),C=x.useRef(""),D=x.useRef(""),[q,ee]=x.useState({left:null,right:null}),K=x.useRef(e??nr()),w=x.useRef(null),L=e??K.current,X=!!P,ne=t||X;x.useEffect(()=>{if(v.current){const h=v.current.parentElement;if(h){E.current=h;const b=Array.from(h.children),N=v.current,Y=b.indexOf(N);if(Y>0&&Y<b.length-1){let re=null,U=null;for(let $=Y-1;$>=0;$-=1){const Z=b[$];if(Z.dataset.panelId){re=Z;break}}for(let $=Y+1;$<b.length;$+=1){const Z=b[$];if(Z.dataset.panelId){U=Z;break}}C.current=re?.dataset.panelId||"",D.current=U?.dataset.panelId||"",ee({left:C.current||null,right:D.current||null})}}}},[]),x.useEffect(()=>{if(L===K.current)return;const h=K.current;K.current=L,w.current=null,h!==L&&d(h,null)},[d,L]),x.useEffect(()=>{const h=K.current;return()=>{d(h,null)}},[d]);const W=x.useCallback(h=>{if(ne||!E.current)return;h.preventDefault(),h.stopPropagation();const b=E.current,{inner:N}=ke(b,n),Y={x:h.clientX,y:h.clientY},re=a(C.current),U=a(D.current);if(!(re&&U))return;const $=re.size,Z=U.size;let j=0;const F=$t;M(!0),s?.(!0),h.currentTarget.setPointerCapture(h.pointerId);const oe=le=>{if(!v.current)return;le.preventDefault(),le.stopPropagation();const ce=performance.now();if(ce-j<F)return;j=ce;const de=n==="horizontal"?le.clientX-Y.x:le.clientY-Y.y;if(de===0)return;const m=$+de,G=Z-de,ie=a(C.current),te=a(D.current);if(ie&&te&&C.current&&D.current){const he=se(ie.minSize,0,N),we=se(te.minSize,0,N),Re=he,ye=we,Be=Math.min(N*mt,gt),Te=Math.min(N*er,tr),Ce=te.collapseFromStart,Ne=te.collapsedByDirection??"start";if(Ce&&!te.collapsed&&G<=Math.max(we*.3,Be)){g(D.current,"start");return}const hn=ie.collapseFromEnd,xn=ie.collapsedByDirection??"end";if(hn&&!ie.collapsed&&m<=Math.max(he*.3,Be)){g(C.current,"end");return}if(te.collapsed&&G>Math.max(we*.3,Te)){l(D.current,Ne,G);return}if(ie.collapsed&&m>Math.max(he*.3,Te)){l(C.current,xn,m);return}if(N>0){const Qt=ie.size+te.size,et=rt(N);let dt=!1;if(Re<=et&&m<=et&&$!==0){const Ve=Math.max(0,Qt-0);Ve>=ye&&(u(C.current,D.current,0,Ve),dt=!0)}else if(ye<=et&&G<=et&&Z!==0){const Ve=Math.max(0,Qt-0);Ve>=Re&&(u(C.current,D.current,Ve,0),dt=!0)}if(dt)return}if(ie.collapsed||te.collapsed)return;u(C.current,D.current,m,G)}},pe=()=>{M(!1),s?.(!1),document.removeEventListener("pointermove",oe),document.removeEventListener("pointerup",pe)};document.addEventListener("pointermove",oe),document.addEventListener("pointerup",pe)},[ne,n,u,a,g,l,s]),V=n==="horizontal",k=We("group absolute z-20 flex select-none items-center justify-center border-none bg-transparent transition-colors duration-150 overflow-visible",V?"cursor-col-resize":"cursor-row-resize",V?"h-full":"w-full",!ne&&"hover:bg-gray-200/70 dark:hover:bg-gray-700/70",!ne&&"active:bg-blue-300/60 dark:active:bg-blue-700/60",y&&"bg-blue-200/80 dark:bg-blue-800/60",ne&&"cursor-not-allowed opacity-50","focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-opacity-50",o),T=x.useMemo(()=>{const h=b=>{if(!b)return-1;for(let N=0;N<c.length;N+=1)if(c[N].id===b)return N;return-1};return{left:h(q.left),right:h(q.right)}},[q.left,q.right,c]),J=V?S.width:S.height,R=x.useMemo(()=>{const h=(b,N)=>{if(b>N)return 0;let Y=0;for(let re=b;re<=N;re+=1){const U=c[re];if(!U)continue;const $=U.size??0,Z=Math.max(0,$);Y+=U.collapsed?0:Z}return Y};return T.left>=0?h(0,T.left):T.right>0?h(0,T.right-1):0},[T.left,T.right,c]),me=x.useMemo(()=>!Number.isFinite(R)||R<0?0:J>0&&R>J?J:R,[R,J]),ze=x.useMemo(()=>{const h={position:"absolute",zIndex:20,touchAction:"none"};return V?(h.top=0,h.left=`${me}px`,h.transform="translateX(-50%)",h.width=`${pt}px`,h.height="100%"):(h.left=0,h.top=`${me}px`,h.transform="translateY(-50%)",h.height=`${pt}px`,h.width="100%"),h},[me,V]),p=x.useMemo(()=>{const h=rt(J),b=F=>{if(F<0||F>=c.length)return!1;const oe=c[F];return oe?oe.collapsed?!0:oe.size<=h:!1},N=(F,oe)=>{if(!b(F))return 0;let pe=0;for(let le=F;le>=0&&le<c.length&&b(le);le+=oe)pe+=1;return pe},Y=T.left,re=T.right,U=Y>=0?N(Y,-1):0,$=re>=0?N(re,1):0;return{groupSize:U+$+1,overlapIndex:U}},[T.left,T.right,c,J]),B=x.useMemo(()=>{if(X)return!0;if(p.groupSize<=1)return!1;const h=p.groupSize-1;return p.overlapIndex>0&&p.overlapIndex<h},[p,X]),O=x.useMemo(()=>{if(p.groupSize<=1||B)return 0;const h=p.groupSize>1?2:1;if(h===1)return 0;const b=p.overlapIndex===0?0:h-1,N=(h-1)/2;return(b-N)*qt},[p,B]),H=x.useMemo(()=>{if(B)return{display:"none"};if(O!==0)return V?{transform:`translateX(${O}px)`}:{transform:`translateY(${O}px)`}},[O,V,B]),fe=We("flex items-center justify-center rounded-full bg-white text-slate-700 ring-1 ring-inset ring-white/80 backdrop-blur-sm transition-colors duration-150 shadow-[0_0_0_1px_rgba(255,255,255,0.85),0_1px_3px_rgba(15,23,42,0.18)]","dark:bg-slate-800/95 dark:text-slate-200 dark:ring-slate-500/60 dark:shadow-[0_0_0_1px_rgba(148,163,184,0.45),0_1px_3px_rgba(2,6,23,0.55)]",V?"h-12 w-[6px] px-[2px]":"h-[6px] w-20 py-[2px]",y&&"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)]"),ge=We("rounded-full bg-slate-600 transition-colors duration-150 shadow-[0_0_0_1px_rgba(255,255,255,0.9)] dark:bg-slate-200 dark:shadow-[0_0_0_1px_rgba(15,23,42,0.55)]",V?"h-8 w-[2px]":"h-[2px] w-16",y&&"bg-blue-500 dark:bg-blue-300",!ne&&"group-hover:bg-slate-700 dark:group-hover:bg-slate-100"),f=x.useCallback(()=>{const h=v.current;if(!h)return;let b=0;if(!B){const re=n==="horizontal"?h.offsetWidth:h.offsetHeight;let U=0,$=0;if(typeof window<"u"){const j=window.getComputedStyle(h);n==="horizontal"?(U=Number.parseFloat(j.marginLeft||"0"),$=Number.parseFloat(j.marginRight||"0")):(U=Number.parseFloat(j.marginTop||"0"),$=Number.parseFloat(j.marginBottom||"0"))}b=[re,U,$].reduce((j,F)=>Number.isFinite(F)?j+F:j,0)}(!Number.isFinite(b)||b<0)&&(b=0);const N={id:L,thickness:b,direction:n,visible:!B&&b>rr,startPanelId:q.left,endPanelId:q.right},Y=w.current;Y&&Math.abs(Y.thickness-N.thickness)<=.25&&Y.visible===N.visible&&Y.direction===N.direction&&Y.startPanelId===N.startPanelId&&Y.endPanelId===N.endPanelId||(w.current=N,d(L,N))},[n,q.left,q.right,d,L,B]);x.useEffect(()=>{f()},[f]),x.useEffect(()=>{const h=v.current;if(!h)return;if(typeof ResizeObserver>"u"){f();return}const b=new ResizeObserver(()=>{f()});return b.observe(h),()=>{b.disconnect()}},[f]);const z=x.useMemo(()=>{const h=i?{...ze,...i}:ze;return B?{...h,display:"none",pointerEvents:"none",visibility:"hidden"}:h},[ze,B,i]);return I.jsx("button",{type:"button",ref:v,className:k,style:z,onPointerDown:W,disabled:ne,"aria-hidden":B||void 0,"aria-label":`Resize ${V?"columns":"rows"} - Drag to collapse/expand panels`,"data-resize-handle-id":L,title:`ドラッグして${V?"列":"行"}をリサイズ、端まで移動して折りたたみ/展開`,children:r||I.jsx("div",{className:fe,style:H,children:I.jsx("span",{className:ge})})})}),pn=e=>document.querySelector(`[data-panel-id="${e}"]`),mn=e=>document.querySelector(`[data-panel-group-id="${e}"]`),gn=e=>document.querySelector(`[data-resize-handle-id="${e}"]`);ue.Panel=Vr,ue.PanelGroup=dn,ue.PanelGroupContext=tt,ue.PanelResizeHandle=fn,ue.clamp=Se,ue.generatePanelId=yt,ue.getConstraintInPixels=se,ue.getContainerSize=ke,ue.getPanelElement=pn,ue.getPanelGroupElement=mn,ue.getResizeHandleElement=gn,ue.loadLayout=wt,ue.normalizeSizeConfig=Je,ue.saveLayout=vt,ue.usePanelControls=ir,ue.usePanelGroup=Ye,ue.useResizablePanels=Et,Object.defineProperty(ue,Symbol.toStringTag,{value:"Module"})}));
|
|
6
|
+
<%s key={someKey} {...props} />`,G,f,z,f),me[f+G]=!0)}if(f=null,O!==void 0&&(o(O),f=""+O),r(B)&&(o(B.key),f=""+B.key),"key"in B){O={};for(var M in B)M!=="key"&&(O[M]=B[M])}else O=B;return f&&d(O,typeof g=="function"?g.displayName||g.name||"Unknown":g),p(g,f,O,n(),pe,ze)}function u(g){c(g)?g._store&&(g._store.validated=1):typeof g=="object"&&g!==null&&g.$$typeof===L&&(g._payload.status==="fulfilled"?c(g._payload.value)&&g._payload.value._store&&(g._payload.value._store.validated=1):g._store&&(g._store.validated=1))}function c(g){return typeof g=="object"&&g!==null&&g.$$typeof===C}var S=h,C=Symbol.for("react.transitional.element"),b=Symbol.for("react.portal"),v=Symbol.for("react.fragment"),P=Symbol.for("react.strict_mode"),k=Symbol.for("react.profiler"),E=Symbol.for("react.consumer"),D=Symbol.for("react.context"),ee=Symbol.for("react.forward_ref"),te=Symbol.for("react.suspense"),le=Symbol.for("react.suspense_list"),w=Symbol.for("react.memo"),L=Symbol.for("react.lazy"),F=Symbol.for("react.activity"),se=Symbol.for("react.client.reference"),Y=S.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,q=Object.prototype.hasOwnProperty,Z=Array.isArray,X=console.createTask?console.createTask:function(){return null};S={react_stack_bottom_frame:function(g){return g()}};var y,W={},_=S.react_stack_bottom_frame.bind(S,s)(),ue=X(i(s)),me={};He.Fragment=v,He.jsx=function(g,B,O){var G=1e4>Y.recentlyCreatedOwnerStacks++;return l(g,B,O,!1,G?Error("react-stack-top-frame"):_,G?X(i(g)):ue)},He.jsxs=function(g,B,O){var G=1e4>Y.recentlyCreatedOwnerStacks++;return l(g,B,O,!0,G?Error("react-stack-top-frame"):_,G?X(i(g)):ue)}})()),He}var Ct;function sr(){return Ct||(Ct=1,process.env.NODE_ENV==="production"?Ke.exports=or():Ke.exports=ir()),Ke.exports}var I=sr();const ar=(e,t)=>{const o=new Array(e.length+t.length);for(let i=0;i<e.length;i++)o[i]=e[i];for(let i=0;i<t.length;i++)o[e.length+i]=t[i];return o},lr=(e,t)=>({classGroupId:e,validator:t}),Et=(e=new Map,t=null,o)=>({nextPart:e,validators:t,classGroupId:o}),qe="-",kt=[],cr="arbitrary..",dr=e=>{const t=fr(e),{conflictingClassGroups:o,conflictingClassGroupModifiers:i}=e;return{getClassGroupId:r=>{if(r.startsWith("[")&&r.endsWith("]"))return ur(r);const d=r.split(qe),a=d[0]===""&&d.length>1?1:0;return Mt(d,a,t)},getConflictingClassGroupIds:(r,d)=>{if(d){const a=i[r],p=o[r];return a?p?ar(p,a):a:p||kt}return o[r]||kt}}},Mt=(e,t,o)=>{if(e.length-t===0)return o.classGroupId;const n=e[t],s=o.nextPart.get(n);if(s){const p=Mt(e,t+1,s);if(p)return p}const r=o.validators;if(r===null)return;const d=t===0?e.join(qe):e.slice(t).join(qe),a=r.length;for(let p=0;p<a;p++){const l=r[p];if(l.validator(d))return l.classGroupId}},ur=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),o=t.indexOf(":"),i=t.slice(0,o);return i?cr+i:void 0})(),fr=e=>{const{theme:t,classGroups:o}=e;return pr(o,t)},pr=(e,t)=>{const o=Et();for(const i in e){const n=e[i];it(n,o,i,t)}return o},it=(e,t,o,i)=>{const n=e.length;for(let s=0;s<n;s++){const r=e[s];mr(r,t,o,i)}},mr=(e,t,o,i)=>{if(typeof e=="string"){gr(e,t,o);return}if(typeof e=="function"){hr(e,t,o,i);return}xr(e,t,o,i)},gr=(e,t,o)=>{const i=e===""?t:Rt(t,e);i.classGroupId=o},hr=(e,t,o,i)=>{if(zr(e)){it(e(i),t,o,i);return}t.validators===null&&(t.validators=[]),t.validators.push(lr(o,e))},xr=(e,t,o,i)=>{const n=Object.entries(e),s=n.length;for(let r=0;r<s;r++){const[d,a]=n[r];it(a,Rt(t,d),o,i)}},Rt=(e,t)=>{let o=e;const i=t.split(qe),n=i.length;for(let s=0;s<n;s++){const r=i[s];let d=o.nextPart.get(r);d||(d=Et(),o.nextPart.set(r,d)),o=d}return o},zr=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,Sr=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,o=Object.create(null),i=Object.create(null);const n=(s,r)=>{o[s]=r,t++,t>e&&(t=0,i=o,o=Object.create(null))};return{get(s){let r=o[s];if(r!==void 0)return r;if((r=i[s])!==void 0)return n(s,r),r},set(s,r){s in o?o[s]=r:n(s,r)}}},st="!",At=":",br=[],_t=(e,t,o,i,n)=>({modifiers:e,hasImportantModifier:t,baseClassName:o,maybePostfixModifierPosition:i,isExternal:n}),Pr=e=>{const{prefix:t,experimentalParseClassName:o}=e;let i=n=>{const s=[];let r=0,d=0,a=0,p;const l=n.length;for(let b=0;b<l;b++){const v=n[b];if(r===0&&d===0){if(v===At){s.push(n.slice(a,b)),a=b+1;continue}if(v==="/"){p=b;continue}}v==="["?r++:v==="]"?r--:v==="("?d++:v===")"&&d--}const u=s.length===0?n:n.slice(a);let c=u,S=!1;u.endsWith(st)?(c=u.slice(0,-1),S=!0):u.startsWith(st)&&(c=u.slice(1),S=!0);const C=p&&p>a?p-a:void 0;return _t(s,S,c,C)};if(t){const n=t+At,s=i;i=r=>r.startsWith(n)?s(r.slice(n.length)):_t(br,!1,r,void 0,!0)}if(o){const n=i;i=s=>o({className:s,parseClassName:n})}return i},yr=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((o,i)=>{t.set(o,1e6+i)}),o=>{const i=[];let n=[];for(let s=0;s<o.length;s++){const r=o[s],d=r[0]==="[",a=t.has(r);d||a?(n.length>0&&(n.sort(),i.push(...n),n=[]),i.push(r)):n.push(r)}return n.length>0&&(n.sort(),i.push(...n)),i}},vr=e=>({cache:Sr(e.cacheSize),parseClassName:Pr(e),sortModifiers:yr(e),...dr(e)}),wr=/\s+/,Cr=(e,t)=>{const{parseClassName:o,getClassGroupId:i,getConflictingClassGroupIds:n,sortModifiers:s}=t,r=[],d=e.trim().split(wr);let a="";for(let p=d.length-1;p>=0;p-=1){const l=d[p],{isExternal:u,modifiers:c,hasImportantModifier:S,baseClassName:C,maybePostfixModifierPosition:b}=o(l);if(u){a=l+(a.length>0?" "+a:a);continue}let v=!!b,P=i(v?C.substring(0,b):C);if(!P){if(!v){a=l+(a.length>0?" "+a:a);continue}if(P=i(C),!P){a=l+(a.length>0?" "+a:a);continue}v=!1}const k=c.length===0?"":c.length===1?c[0]:s(c).join(":"),E=S?k+st:k,D=E+P;if(r.indexOf(D)>-1)continue;r.push(D);const ee=n(P,v);for(let te=0;te<ee.length;++te){const le=ee[te];r.push(E+le)}a=l+(a.length>0?" "+a:a)}return a},Er=(...e)=>{let t=0,o,i,n="";for(;t<e.length;)(o=e[t++])&&(i=It(o))&&(n&&(n+=" "),n+=i);return n},It=e=>{if(typeof e=="string")return e;let t,o="";for(let i=0;i<e.length;i++)e[i]&&(t=It(e[i]))&&(o&&(o+=" "),o+=t);return o},kr=(e,...t)=>{let o,i,n,s;const r=a=>{const p=t.reduce((l,u)=>u(l),e());return o=vr(p),i=o.cache.get,n=o.cache.set,s=d,d(a)},d=a=>{const p=i(a);if(p)return p;const l=Cr(a,o);return n(a,l),l};return s=r,(...a)=>s(Er(...a))},Mr=[],xe=e=>{const t=o=>o[e]||Mr;return t.isThemeGetter=!0,t},Bt=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Tt=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Rr=/^\d+\/\d+$/,Ar=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,_r=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Ir=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Br=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Tr=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Oe=e=>Rr.test(e),K=e=>!!e&&!Number.isNaN(Number(e)),Ae=e=>!!e&&Number.isInteger(Number(e)),at=e=>e.endsWith("%")&&K(e.slice(0,-1)),Ee=e=>Ar.test(e),Nr=()=>!0,Or=e=>_r.test(e)&&!Ir.test(e),Nt=()=>!1,Lr=e=>Br.test(e),Fr=e=>Tr.test(e),jr=e=>!R(e)&&!A(e),Dr=e=>Le(e,Dt,Nt),R=e=>Bt.test(e),Te=e=>Le(e,Gt,Or),lt=e=>Le(e,Vr,K),Ot=e=>Le(e,Ft,Nt),Gr=e=>Le(e,jt,Fr),$e=e=>Le(e,Ht,Lr),A=e=>Tt.test(e),We=e=>Fe(e,Gt),Hr=e=>Fe(e,Yr),Lt=e=>Fe(e,Ft),Wr=e=>Fe(e,Dt),Ur=e=>Fe(e,jt),et=e=>Fe(e,Ht,!0),Le=(e,t,o)=>{const i=Bt.exec(e);return i?i[1]?t(i[1]):o(i[2]):!1},Fe=(e,t,o=!1)=>{const i=Tt.exec(e);return i?i[1]?t(i[1]):o:!1},Ft=e=>e==="position"||e==="percentage",jt=e=>e==="image"||e==="url",Dt=e=>e==="length"||e==="size"||e==="bg-size",Gt=e=>e==="length",Vr=e=>e==="number",Yr=e=>e==="family-name",Ht=e=>e==="shadow",Ue=kr(()=>{const e=xe("color"),t=xe("font"),o=xe("text"),i=xe("font-weight"),n=xe("tracking"),s=xe("leading"),r=xe("breakpoint"),d=xe("container"),a=xe("spacing"),p=xe("radius"),l=xe("shadow"),u=xe("inset-shadow"),c=xe("text-shadow"),S=xe("drop-shadow"),C=xe("blur"),b=xe("perspective"),v=xe("aspect"),P=xe("ease"),k=xe("animate"),E=()=>["auto","avoid","all","avoid-page","page","left","right","column"],D=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],ee=()=>[...D(),A,R],te=()=>["auto","hidden","clip","visible","scroll"],le=()=>["auto","contain","none"],w=()=>[A,R,a],L=()=>[Oe,"full","auto",...w()],F=()=>[Ae,"none","subgrid",A,R],se=()=>["auto",{span:["full",Ae,A,R]},Ae,A,R],Y=()=>[Ae,"auto",A,R],q=()=>["auto","min","max","fr",A,R],Z=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],X=()=>["start","end","center","stretch","center-safe","end-safe"],y=()=>["auto",...w()],W=()=>[Oe,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...w()],_=()=>[e,A,R],ue=()=>[...D(),Lt,Ot,{position:[A,R]}],me=()=>["no-repeat",{repeat:["","x","y","space","round"]}],g=()=>["auto","cover","contain",Wr,Dr,{size:[A,R]}],B=()=>[at,We,Te],O=()=>["","none","full",p,A,R],G=()=>["",K,We,Te],pe=()=>["solid","dashed","dotted","double"],ze=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],f=()=>[K,at,Lt,Ot],z=()=>["","none",C,A,R],M=()=>["none",K,A,R],x=()=>["none",K,A,R],T=()=>[K,A,R],j=()=>[Oe,"full",...w()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Ee],breakpoint:[Ee],color:[Nr],container:[Ee],"drop-shadow":[Ee],ease:["in","out","in-out"],font:[jr],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Ee],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Ee],shadow:[Ee],spacing:["px",K],text:[Ee],"text-shadow":[Ee],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Oe,R,A,v]}],container:["container"],columns:[{columns:[K,R,A,d]}],"break-after":[{"break-after":E()}],"break-before":[{"break-before":E()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:ee()}],overflow:[{overflow:te()}],"overflow-x":[{"overflow-x":te()}],"overflow-y":[{"overflow-y":te()}],overscroll:[{overscroll:le()}],"overscroll-x":[{"overscroll-x":le()}],"overscroll-y":[{"overscroll-y":le()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:L()}],"inset-x":[{"inset-x":L()}],"inset-y":[{"inset-y":L()}],start:[{start:L()}],end:[{end:L()}],top:[{top:L()}],right:[{right:L()}],bottom:[{bottom:L()}],left:[{left:L()}],visibility:["visible","invisible","collapse"],z:[{z:[Ae,"auto",A,R]}],basis:[{basis:[Oe,"full","auto",d,...w()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[K,Oe,"auto","initial","none",R]}],grow:[{grow:["",K,A,R]}],shrink:[{shrink:["",K,A,R]}],order:[{order:[Ae,"first","last","none",A,R]}],"grid-cols":[{"grid-cols":F()}],"col-start-end":[{col:se()}],"col-start":[{"col-start":Y()}],"col-end":[{"col-end":Y()}],"grid-rows":[{"grid-rows":F()}],"row-start-end":[{row:se()}],"row-start":[{"row-start":Y()}],"row-end":[{"row-end":Y()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":q()}],"auto-rows":[{"auto-rows":q()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...Z(),"normal"]}],"justify-items":[{"justify-items":[...X(),"normal"]}],"justify-self":[{"justify-self":["auto",...X()]}],"align-content":[{content:["normal",...Z()]}],"align-items":[{items:[...X(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...X(),{baseline:["","last"]}]}],"place-content":[{"place-content":Z()}],"place-items":[{"place-items":[...X(),"baseline"]}],"place-self":[{"place-self":["auto",...X()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:y()}],mx:[{mx:y()}],my:[{my:y()}],ms:[{ms:y()}],me:[{me:y()}],mt:[{mt:y()}],mr:[{mr:y()}],mb:[{mb:y()}],ml:[{ml:y()}],"space-x":[{"space-x":w()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":w()}],"space-y-reverse":["space-y-reverse"],size:[{size:W()}],w:[{w:[d,"screen",...W()]}],"min-w":[{"min-w":[d,"screen","none",...W()]}],"max-w":[{"max-w":[d,"screen","none","prose",{screen:[r]},...W()]}],h:[{h:["screen","lh",...W()]}],"min-h":[{"min-h":["screen","lh","none",...W()]}],"max-h":[{"max-h":["screen","lh",...W()]}],"font-size":[{text:["base",o,We,Te]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[i,A,lt]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",at,R]}],"font-family":[{font:[Hr,R,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[n,A,R]}],"line-clamp":[{"line-clamp":[K,"none",A,lt]}],leading:[{leading:[s,...w()]}],"list-image":[{"list-image":["none",A,R]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",A,R]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:_()}],"text-color":[{text:_()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...pe(),"wavy"]}],"text-decoration-thickness":[{decoration:[K,"from-font","auto",A,Te]}],"text-decoration-color":[{decoration:_()}],"underline-offset":[{"underline-offset":[K,"auto",A,R]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:w()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",A,R]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",A,R]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ue()}],"bg-repeat":[{bg:me()}],"bg-size":[{bg:g()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Ae,A,R],radial:["",A,R],conic:[Ae,A,R]},Ur,Gr]}],"bg-color":[{bg:_()}],"gradient-from-pos":[{from:B()}],"gradient-via-pos":[{via:B()}],"gradient-to-pos":[{to:B()}],"gradient-from":[{from:_()}],"gradient-via":[{via:_()}],"gradient-to":[{to:_()}],rounded:[{rounded:O()}],"rounded-s":[{"rounded-s":O()}],"rounded-e":[{"rounded-e":O()}],"rounded-t":[{"rounded-t":O()}],"rounded-r":[{"rounded-r":O()}],"rounded-b":[{"rounded-b":O()}],"rounded-l":[{"rounded-l":O()}],"rounded-ss":[{"rounded-ss":O()}],"rounded-se":[{"rounded-se":O()}],"rounded-ee":[{"rounded-ee":O()}],"rounded-es":[{"rounded-es":O()}],"rounded-tl":[{"rounded-tl":O()}],"rounded-tr":[{"rounded-tr":O()}],"rounded-br":[{"rounded-br":O()}],"rounded-bl":[{"rounded-bl":O()}],"border-w":[{border:G()}],"border-w-x":[{"border-x":G()}],"border-w-y":[{"border-y":G()}],"border-w-s":[{"border-s":G()}],"border-w-e":[{"border-e":G()}],"border-w-t":[{"border-t":G()}],"border-w-r":[{"border-r":G()}],"border-w-b":[{"border-b":G()}],"border-w-l":[{"border-l":G()}],"divide-x":[{"divide-x":G()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":G()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...pe(),"hidden","none"]}],"divide-style":[{divide:[...pe(),"hidden","none"]}],"border-color":[{border:_()}],"border-color-x":[{"border-x":_()}],"border-color-y":[{"border-y":_()}],"border-color-s":[{"border-s":_()}],"border-color-e":[{"border-e":_()}],"border-color-t":[{"border-t":_()}],"border-color-r":[{"border-r":_()}],"border-color-b":[{"border-b":_()}],"border-color-l":[{"border-l":_()}],"divide-color":[{divide:_()}],"outline-style":[{outline:[...pe(),"none","hidden"]}],"outline-offset":[{"outline-offset":[K,A,R]}],"outline-w":[{outline:["",K,We,Te]}],"outline-color":[{outline:_()}],shadow:[{shadow:["","none",l,et,$e]}],"shadow-color":[{shadow:_()}],"inset-shadow":[{"inset-shadow":["none",u,et,$e]}],"inset-shadow-color":[{"inset-shadow":_()}],"ring-w":[{ring:G()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:_()}],"ring-offset-w":[{"ring-offset":[K,Te]}],"ring-offset-color":[{"ring-offset":_()}],"inset-ring-w":[{"inset-ring":G()}],"inset-ring-color":[{"inset-ring":_()}],"text-shadow":[{"text-shadow":["none",c,et,$e]}],"text-shadow-color":[{"text-shadow":_()}],opacity:[{opacity:[K,A,R]}],"mix-blend":[{"mix-blend":[...ze(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ze()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[K]}],"mask-image-linear-from-pos":[{"mask-linear-from":f()}],"mask-image-linear-to-pos":[{"mask-linear-to":f()}],"mask-image-linear-from-color":[{"mask-linear-from":_()}],"mask-image-linear-to-color":[{"mask-linear-to":_()}],"mask-image-t-from-pos":[{"mask-t-from":f()}],"mask-image-t-to-pos":[{"mask-t-to":f()}],"mask-image-t-from-color":[{"mask-t-from":_()}],"mask-image-t-to-color":[{"mask-t-to":_()}],"mask-image-r-from-pos":[{"mask-r-from":f()}],"mask-image-r-to-pos":[{"mask-r-to":f()}],"mask-image-r-from-color":[{"mask-r-from":_()}],"mask-image-r-to-color":[{"mask-r-to":_()}],"mask-image-b-from-pos":[{"mask-b-from":f()}],"mask-image-b-to-pos":[{"mask-b-to":f()}],"mask-image-b-from-color":[{"mask-b-from":_()}],"mask-image-b-to-color":[{"mask-b-to":_()}],"mask-image-l-from-pos":[{"mask-l-from":f()}],"mask-image-l-to-pos":[{"mask-l-to":f()}],"mask-image-l-from-color":[{"mask-l-from":_()}],"mask-image-l-to-color":[{"mask-l-to":_()}],"mask-image-x-from-pos":[{"mask-x-from":f()}],"mask-image-x-to-pos":[{"mask-x-to":f()}],"mask-image-x-from-color":[{"mask-x-from":_()}],"mask-image-x-to-color":[{"mask-x-to":_()}],"mask-image-y-from-pos":[{"mask-y-from":f()}],"mask-image-y-to-pos":[{"mask-y-to":f()}],"mask-image-y-from-color":[{"mask-y-from":_()}],"mask-image-y-to-color":[{"mask-y-to":_()}],"mask-image-radial":[{"mask-radial":[A,R]}],"mask-image-radial-from-pos":[{"mask-radial-from":f()}],"mask-image-radial-to-pos":[{"mask-radial-to":f()}],"mask-image-radial-from-color":[{"mask-radial-from":_()}],"mask-image-radial-to-color":[{"mask-radial-to":_()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":D()}],"mask-image-conic-pos":[{"mask-conic":[K]}],"mask-image-conic-from-pos":[{"mask-conic-from":f()}],"mask-image-conic-to-pos":[{"mask-conic-to":f()}],"mask-image-conic-from-color":[{"mask-conic-from":_()}],"mask-image-conic-to-color":[{"mask-conic-to":_()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ue()}],"mask-repeat":[{mask:me()}],"mask-size":[{mask:g()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",A,R]}],filter:[{filter:["","none",A,R]}],blur:[{blur:z()}],brightness:[{brightness:[K,A,R]}],contrast:[{contrast:[K,A,R]}],"drop-shadow":[{"drop-shadow":["","none",S,et,$e]}],"drop-shadow-color":[{"drop-shadow":_()}],grayscale:[{grayscale:["",K,A,R]}],"hue-rotate":[{"hue-rotate":[K,A,R]}],invert:[{invert:["",K,A,R]}],saturate:[{saturate:[K,A,R]}],sepia:[{sepia:["",K,A,R]}],"backdrop-filter":[{"backdrop-filter":["","none",A,R]}],"backdrop-blur":[{"backdrop-blur":z()}],"backdrop-brightness":[{"backdrop-brightness":[K,A,R]}],"backdrop-contrast":[{"backdrop-contrast":[K,A,R]}],"backdrop-grayscale":[{"backdrop-grayscale":["",K,A,R]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[K,A,R]}],"backdrop-invert":[{"backdrop-invert":["",K,A,R]}],"backdrop-opacity":[{"backdrop-opacity":[K,A,R]}],"backdrop-saturate":[{"backdrop-saturate":[K,A,R]}],"backdrop-sepia":[{"backdrop-sepia":["",K,A,R]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",A,R]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[K,"initial",A,R]}],ease:[{ease:["linear","initial",P,A,R]}],delay:[{delay:[K,A,R]}],animate:[{animate:["none",k,A,R]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[b,A,R]}],"perspective-origin":[{"perspective-origin":ee()}],rotate:[{rotate:M()}],"rotate-x":[{"rotate-x":M()}],"rotate-y":[{"rotate-y":M()}],"rotate-z":[{"rotate-z":M()}],scale:[{scale:x()}],"scale-x":[{"scale-x":x()}],"scale-y":[{"scale-y":x()}],"scale-z":[{"scale-z":x()}],"scale-3d":["scale-3d"],skew:[{skew:T()}],"skew-x":[{"skew-x":T()}],"skew-y":[{"skew-y":T()}],transform:[{transform:[A,R,"","none","gpu","cpu"]}],"transform-origin":[{origin:ee()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:j()}],"translate-x":[{"translate-x":j()}],"translate-y":[{"translate-y":j()}],"translate-z":[{"translate-z":j()}],"translate-none":["translate-none"],accent:[{accent:_()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:_()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",A,R]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",A,R]}],fill:[{fill:["none",..._()]}],"stroke-w":[{stroke:[K,We,Te,lt]}],stroke:[{stroke:["none",..._()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}}),Xr=({panel:e,measuredPixelSize:t,measuredPercentageSize:o,containerAxisSize:i,containerLabel:n})=>{const s=e?.size,r=typeof s=="number"&&Number.isFinite(s)?`${s.toFixed(3)}px`:"-",d=e?.percentageSize!==void 0?`${e.percentageSize.toFixed(3)}%`:"-",a=Number.isFinite(t)?`${t.toFixed(3)}px`:"-",p=Number.isFinite(o)?`${o.toFixed(3)}%`:"-",l=Number.isFinite(i)?`${i.toFixed(3)}px`:"-",u=`${r} / ${d}`,c=`${a} / ${p}`,S=e?.sizeUnit==="pixels"?"Fixed":"Flexible",C=[S,`${n}: ${l}`,`size (state): ${u}`,`size (measured): ${c}`];return{stateValueDisplay:u,measuredValueDisplay:c,containerDisplay:l,headlineLabel:S,titleText:C.join(`
|
|
7
|
+
`)}},Jr=h.memo(({panel:e,measuredPixelSize:t,measuredPercentageSize:o,containerAxisSize:i,direction:n})=>{const s=n==="horizontal"?"container width":"container height",{stateValueDisplay:r,measuredValueDisplay:d,containerDisplay:a,headlineLabel:p,titleText:l}=h.useMemo(()=>Xr({panel:e,measuredPixelSize:t,measuredPercentageSize:o,containerAxisSize:i,containerLabel:s}),[e,t,o,i,s]),u={position:"absolute",top:"2px",right:"4px",backgroundColor:"rgba(30, 41, 59, 0.6)",color:"#fff",padding:"4px 8px",borderRadius:"6px",fontSize:"11px",fontFamily:"monospace",pointerEvents:"auto",zIndex:10,boxShadow:"0 2px 4px rgba(0,0,0,0.3)",border:"1px solid rgba(255,255,255,0.1)",maxWidth:"calc(100% - 12px)",minWidth:"60px",width:"fit-content",overflow:"hidden"},c={display:"flex",flexDirection:"column",gap:"1px",minWidth:"0",width:"100%"},S={display:"flex",justifyContent:"flex-start",alignItems:"center",gap:"6px",fontSize:"10px",color:"#ccc",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",minWidth:"0",width:"100%"},C={display:"flex",justifyContent:"space-between",alignItems:"center",gap:"6px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",minWidth:"0",width:"100%"},b={marginLeft:"auto",fontVariantNumeric:"tabular-nums",whiteSpace:"nowrap"};return I.jsx("div",{style:u,title:l,children:I.jsxs("div",{style:c,children:[I.jsx("div",{style:S,children:I.jsx("span",{children:p})}),I.jsxs("div",{style:C,children:[I.jsx("span",{children:s}),I.jsx("span",{style:b,children:a})]}),I.jsxs("div",{style:C,children:[I.jsx("span",{children:"size (state)"}),I.jsx("span",{style:b,children:r})]}),I.jsxs("div",{style:C,children:[I.jsx("span",{children:"size (measured)"}),I.jsx("span",{style:b,children:d})]})]})})}),Zr={both:{collapseFromStart:!0,collapseFromEnd:!0},start:{collapseFromStart:!0,collapseFromEnd:!1},end:{collapseFromStart:!1,collapseFromEnd:!0}},Qr=e=>{if(!e)return{collapseFromStart:!1,collapseFromEnd:!1};const t=Zr[e.from];if(!t)throw new Error("Invalid collapsible configuration: unsupported 'from' value");return t},Wt=({ref:e,setState:t,panelIdRef:o,label:i})=>n=>{if(!Number.isFinite(n))return;const s=n<0?0:n;e.current!==s&&(e.current=s,console.debug(`[resize-panels] commit ${i}`,{panelId:o.current,[i]:s}),t(s))},Kr=h.memo(({id:e,defaultSize:t={value:50,unit:"percentage"},minSize:o,maxSize:i,autoMinSize:n,className:s,style:r,children:d,order:a=0,collapsible:p,defaultCollapsed:l=!1,pixelAdjustPriority:u,flexAdjustPriority:c,contentOverflow:S="auto"})=>{const{direction:C,registerPanel:b,unregisterPanel:v,getPanel:P,showDebugInfo:k,isContainerReady:E,reportPanelMeasurement:D,containerSize:ee}=Ye(),te=h.useRef(null),le=h.useId(),w=h.useRef(e||`panel-${le}`),L=h.useMemo(()=>Qr(p),[p]),F=L.collapseFromStart||L.collapseFromEnd,se=h.useMemo(()=>F?L.collapseFromStart?"start":L.collapseFromEnd?"end":null:null,[F,L.collapseFromStart,L.collapseFromEnd]),Y=F&&l,q=h.useMemo(()=>Xe(t),[t]),Z=q?.unit==="pixels",X=Z?void 0:q?.value,y=P(w.current),W=!!y?.collapsed,_=(y?.size??0)<=0,ue=W||_,[me,g]=h.useState(()=>Z&&q?q.value:y?.size!==void 0?y.size:0),[B,O]=h.useState(()=>!Z&&q?q.value:y?.percentageSize!==void 0?y.percentageSize:0),G=h.useRef(B);G.current=B;const pe=h.useRef(me);pe.current=me;const ze=h.useMemo(()=>Wt({ref:pe,setState:g,panelIdRef:w,label:"pixel"}),[]),f=h.useMemo(()=>Wt({ref:G,setState:O,panelIdRef:w,label:"percentage"}),[]),z=h.useCallback(()=>{pe.current!==0&&(pe.current=0,g(0)),G.current!==0&&(G.current=0,O(0))},[]);h.useEffect(()=>{e||console.warn("Panel component should have an explicit 'id' prop to avoid hydration issues. Auto-generated ID may cause SSR/client mismatch.")},[e]),h.useEffect(()=>{if(!E)return;let N=0;if(Z&&q){let re=q.value;o&&typeof o=="object"&&o.unit==="pixels"&&(re=Math.max(re,o.value)),i&&typeof i=="object"&&i.unit==="pixels"&&(re=Math.min(re,i.value)),N=re}const J=Y,ce=J?se:null;l&&!F&&console.warn("Panel defaultCollapsed is ignored because collapsible configuration is not provided.");const ge=F&&J&&Z?N:void 0,oe=F?X:void 0,he=Z?N:void 0,m={id:w.current,size:J?0:N,percentageSize:J?0:X,preferredPercentageSize:X,preferredPixelSize:he,sizeUnit:q?.unit||"percentage",originalPixelSize:Z?N:void 0,minSize:o,maxSize:i,collapseFromStart:L.collapseFromStart,collapseFromEnd:L.collapseFromEnd,collapsedByDirection:ce,collapsed:J,sizeBeforeCollapse:ge,percentageSizeBeforeCollapse:oe,preferredPercentageSizeBeforeCollapse:F?X:void 0,preferredPixelSizeBeforeCollapse:F?he:void 0,pixelAdjustPriority:u,flexAdjustPriority:c,autoMinSize:n};return b(m),()=>{v(w.current),D(w.current,null)}},[n,L.collapseFromEnd,L.collapseFromStart,l,q,c,F,E,Z,i,o,u,se,X,b,D,Y,v]);const M=y?.size??0;h.useEffect(()=>{const N=te.current;if(!N)return;const J=()=>{if(!y)return;const m=N.parentElement;if(!m)return;const H=N.getBoundingClientRect(),re=Re(m,"horizontal"),ie=Re(m,"vertical"),de=C==="horizontal"?H.width:H.height,Pe=C==="horizontal"?re.inner:ie.inner,ke=nt(Pe);if(ue){z();return}const ve=y.size??0,Me=Math.max(2,ke*.5);if(ve>ke&&de<Me){console.debug("[resize-panels] skip noisy measurement",{panelId:w.current,expectedPanelSize:ve,measured:de,noiseThreshold:Me});return}if(de>0){ze(de),Pe>0&&f(de/Pe*100);return}y.size!==void 0&&ze(y.size),y.percentageSize!==void 0?f(y.percentageSize):y.sizeUnit==="pixels"&&y.size!==void 0&&Pe>0&&f(y.size/Pe*100)},ce=new ResizeObserver(()=>{J()});ce.observe(N),J();const ge=[],oe=new MutationObserver(()=>{(()=>{if(!te.current)return!1;const H=te.current.getBoundingClientRect();return(C==="horizontal"?H.width:H.height)!==pe.current})()&&setTimeout(J,0)}),he=N.parentElement;return he&&oe.observe(he,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["style","class"]}),()=>{ce.disconnect(),oe.disconnect();for(const m of ge)clearTimeout(m)}},[f,ze,y,C,ue,z]);const x=y?.size,T=y?.percentageSize,j=y?.sizeUnit;h.useEffect(()=>{if(y){if(ue){z();return}if(x!==void 0&&ze(x),T!==void 0)f(T);else if(j==="pixels"&&x!==void 0){const N=te.current,J=N?.parentElement;if(N&&J){const{width:ce,height:ge}=N.getBoundingClientRect(),oe=J.clientWidth,he=J.clientHeight,m=C==="horizontal"?ce:ge,H=C==="horizontal"?oe:he;if(m>0&&H>0){const re=m/H*100;f(re)}}}}},[f,ze,y,T,x,j,C,ue,z]),h.useEffect(()=>{D(w.current,{pixelSize:me,percentageSize:B})},[D,me,B]);const Q=()=>ue?"0px":y?.originalPixelSize!==void 0?`${M}px`:y?.percentageSize!==void 0?`${y.percentageSize}%`:`${M}px`,ne=y?.sizeUnit==="percentage"&&!y?.collapsed?1:0,U={flexBasis:Q(),flexGrow:0,flexShrink:ne,overflow:"hidden",position:"relative",boxSizing:"border-box",minHeight:"0px",minWidth:"0px",...r};C==="horizontal"?(U.height="100%",U.minWidth=0):(U.width="100%",U.minHeight=0),ue&&(C==="horizontal"?(U.width="0px",U.minWidth="0px"):(U.height="0px",U.minHeight="0px"),U.flexGrow=0,U.flexShrink=0,U.pointerEvents="none",U.visibility="hidden",W&&(U.display="none"));const V=C==="horizontal"?ee.width:ee.height,$=h.useMemo(()=>({position:"absolute",inset:"0px",overflow:S,display:"flex",flexDirection:"column",width:"100%",height:"100%",minWidth:"0px",minHeight:"0px"}),[S]);return I.jsxs("div",{ref:te,className:Ue("panel",s),style:U,"data-panel-id":w.current,"data-panel-size":M,"data-panel-size-unit":y?.sizeUnit||"percentage","data-panel-pixel-size":y?.sizeUnit==="pixels"?y?.originalPixelSize:null,"data-panel-order":a,"data-panel-collapsible":F,"data-panel-collapse-start":L.collapseFromStart,"data-panel-collapse-end":L.collapseFromEnd,"data-panel-collapsed":y?.collapsed,"aria-hidden":ue,children:[I.jsx("div",{style:$,children:d}),k&&I.jsx(Jr,{panel:y,measuredPixelSize:me,measuredPercentageSize:B,containerAxisSize:V,direction:C})]})}),qr=e=>JSON.stringify(e.map(t=>({id:t.id,size:t.size,percentageSize:t.percentageSize??null,preferredPercentageSize:t.preferredPercentageSize??null,preferredPixelSize:t.preferredPixelSize??null,sizeUnit:t.sizeUnit,originalPixelSize:t.originalPixelSize??null,minSize:t.minSize??null,maxSize:t.maxSize??null,autoMinSize:t.autoMinSize??null,collapseFromStart:t.collapseFromStart,collapseFromEnd:t.collapseFromEnd,collapsedByDirection:t.collapsedByDirection??null,collapsed:t.collapsed??!1,sizeBeforeCollapse:t.sizeBeforeCollapse??null,preferredPercentageSizeBeforeCollapse:t.preferredPercentageSizeBeforeCollapse??null,preferredPixelSizeBeforeCollapse:t.preferredPixelSizeBeforeCollapse??null,measuredPixelSizeBeforeCollapse:t.measuredPixelSizeBeforeCollapse??null,pixelAdjustPriority:t.pixelAdjustPriority??null,flexAdjustPriority:t.flexAdjustPriority??null,measuredPixelSize:t.measuredPixelSize??null,measuredPercentageSize:t.measuredPercentageSize??null}))),$r=e=>JSON.stringify(e.map(t=>({id:t.id,thickness:t.thickness,visible:t.visible,direction:t.direction,startPanelId:t.startPanelId??null,endPanelId:t.endPanelId??null}))),Ce=(()=>{const e=new Set,t=new Map,o=new Set;let i=null,n=0,s=!0,r=[],d={ownerId:null,groups:r};const a=()=>{for(const P of e)P()},p=()=>{s=!0,a()},l=()=>{const P=i;if(P&&o.has(P))return!1;i=null;const k=o.values().next();return k.done||(i=k.value),P!==i};return{subscribe:P=>(e.add(P),()=>{e.delete(P)}),getSnapshot:()=>(l()&&(s=!0),s&&(r=Array.from(t.values()).sort((k,E)=>k.index-E.index).map(({serializedPanels:k,serializedHandles:E,...D})=>D),d={ownerId:i,groups:r},s=!1),d),getOwnerId:()=>(l()&&(s=!0),i),enableGroup:P=>{const k=o.size;o.add(P),o.size!==k&&l()&&p()},disableGroup:P=>{o.delete(P)&&l()&&p()},updateGroup:(P,k)=>{const E=t.get(P),D=E?.index??n++,ee=qr(k.panels),te=$r(k.handles),le=E?.displayName!==k.displayName,w=E?.direction!==k.direction,L=E?E.containerSize.width!==k.containerSize.width||E.containerSize.height!==k.containerSize.height:!0;let F=E?.serializedPanels!==ee;if(!F&&E)if(E.panels.length!==k.panels.length)F=!0;else for(let X=0;X<k.panels.length;X+=1){const y=E.panels[X],W=k.panels[X];if(!(y&&W)){F=!0;break}if(y.id!==W.id||y.size!==W.size||y.percentageSize!==W.percentageSize||y.collapsed!==W.collapsed||y.measuredPixelSize!==W.measuredPixelSize||y.measuredPercentageSize!==W.measuredPercentageSize){F=!0;break}}let se=E?.serializedHandles!==te;if(!se&&E)if(E.handles.length!==k.handles.length)se=!0;else for(let X=0;X<k.handles.length;X+=1){const y=E.handles[X],W=k.handles[X];if(!(y&&W)){se=!0;break}if(y.id!==W.id||y.thickness!==W.thickness||y.visible!==W.visible||y.direction!==W.direction||y.startPanelId!==W.startPanelId||y.endPanelId!==W.endPanelId){se=!0;break}}if(!E&&k.panels.length===0&&k.handles.length===0||E&&!le&&!w&&!L&&!F&&!se)return;const Y=k.panels.map(X=>({...X})),q=k.handles.map(X=>({...X})),Z={...k.containerSize};t.set(P,{groupId:P,displayName:k.displayName,direction:k.direction,containerSize:Z,panels:Y,handles:q,index:D,serializedPanels:ee,serializedHandles:te}),p()},removeGroup:P=>{const k=t.delete(P),E=o.delete(P),D=l();(k||E||D)&&p()}}})(),en=()=>h.useSyncExternalStore(Ce.subscribe,Ce.getOwnerId,Ce.getOwnerId),tn=()=>h.useSyncExternalStore(Ce.subscribe,Ce.getSnapshot,Ce.getSnapshot),rn=e=>{Ce.enableGroup(e)},Ut=e=>{Ce.disableGroup(e)},nn=(e,t)=>{Ce.updateGroup(e,t)},Vt=e=>{Ce.removeGroup(e)};let Yt=0;const on=()=>(Yt+=1,`panel-group-${Yt}`),je=(e,t)=>typeof e!="number"||!Number.isFinite(e)?"—":`${(e<0?0:e).toFixed(8)}${t}`,sn={position:"fixed",left:"50%",bottom:"20px",transform:"translate(-50%, 0)",zIndex:100,maxWidth:"min(90vw, 1120px)",width:"100%",borderRadius:"14px",backgroundColor:"rgba(15, 23, 42, 0.72)",color:"#e2e8f0",fontFamily:"monospace",fontSize:"11px",lineHeight:1.6,boxShadow:"0 22px 45px rgba(15,23,42,0.45)",border:"1px solid rgba(148, 163, 184, 0.22)",backdropFilter:"blur(10px)",WebkitBackdropFilter:"blur(10px)",pointerEvents:"auto",overflow:"auto"},an={display:"flex",justifyContent:"space-between",alignItems:"center",flexWrap:"wrap",gap:"12px"},ln={display:"flex",flexDirection:"column",gap:"4px"},cn={padding:"6px 10px",borderRadius:"9999px",border:"1px solid rgba(148, 163, 184, 0.35)",color:"#e2e8f0",fontWeight:600,fontSize:"10px",letterSpacing:"0.03em",textTransform:"uppercase",cursor:"pointer",transition:"background-color 0.18s ease, border-color 0.18s ease"},dn={padding:"10px 12px",borderRadius:"10px",backgroundColor:"rgba(30, 41, 59, 0.55)",border:"1px solid rgba(148, 163, 184, 0.18)",display:"flex",flexDirection:"column",gap:"10px"},un={padding:"8px 10px",borderRadius:"8px",backgroundColor:"rgba(15, 23, 42, 0.55)",border:"1px solid rgba(148, 163, 184, 0.16)",display:"flex",flexDirection:"column",gap:"4px"},Xt={display:"flex",justifyContent:"space-between",alignItems:"center",gap:"6px"},fn={display:"grid",gridTemplateColumns:"auto 1fr",gap:"2px 10px",color:"#e2e8f0"},pn={padding:"2px 6px",borderRadius:"9999px",fontSize:"10px",textTransform:"uppercase"},mn=e=>{const t=e.reason==="minimum-exceeded",o=t?"Layout unavailable: minimum panel sizes exceed the container.":"Layout unavailable: panels cannot fill the container with their maximum sizes.",i=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:o,detail:i}},gn=(e,t)=>{let o=!1;const i=e.map(n=>{const s=t[n.id];return!s||n.measuredPixelSize===s.pixelSize&&n.measuredPercentageSize===s.percentageSize?n:(o=!0,{...n,measuredPixelSize:s.pixelSize,measuredPercentageSize:s.percentageSize})});return o?i:e},Jt=(e,t,o)=>{const i=Re(e,"horizontal"),n=Re(e,"vertical"),s=e.getBoundingClientRect(),r=i.inner>0?i.inner:t??s.width,d=n.inner>0?n.inner:o??s.height;return{width:r,height:d}},hn=e=>{const{id:t,className:o,style:i,children:n,direction:s}=e,{groupRef:r,contextValue:d,groupStyle:a}=yt(e),[p,l]=h.useState({width:0,height:0}),u=d.layoutConstraintViolation,c=!!u,S=h.useMemo(()=>{if(!u)return null;const{summary:Y,detail:q}=mn(u);return I.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:[I.jsx("span",{children:Y}),I.jsx("span",{className:"text-slate-500 text-xs dark:text-slate-400",children:q})]})},[u]),b=h.useRef(t??on()).current,v=t??b,P=d.showDebugInfo&&d.panels.length>0,k=P?d.panels:[],E=P?d.panelMeasurements:{},D=h.useMemo(()=>{if(!P)return[];const Y=Object.values(d.handleMeasurements);return Y.length<=1?Y:Y.slice().sort((q,Z)=>q.id.localeCompare(Z.id))},[d.handleMeasurements,P]),ee=d.containerSize,te=p.width>0?p.width:ee.width,le=p.height>0?p.height:ee.height,w=en(),L=P&&w===b;h.useLayoutEffect(()=>{if(!P){l({width:0,height:0});return}if(typeof window>"u"||typeof ResizeObserver>"u")return;const Y=r.current;if(!Y)return;const q=X=>{l(y=>y.width===X.width&&y.height===X.height?y:X)},Z=new ResizeObserver(X=>{for(const y of X){if(y.target!==Y)continue;const W=Jt(Y,y.contentRect.width,y.contentRect.height);q(W)}});return Z.observe(Y),q(Jt(Y)),()=>{Z.disconnect()}},[r,P]);const F=h.useMemo(()=>gn(k,E),[k,E]);h.useEffect(()=>{if(!P){Ut(b),Vt(b);return}return rn(b),()=>{Ut(b),Vt(b)}},[P,b]),h.useEffect(()=>{P&&nn(b,{displayName:v,direction:s,containerSize:{width:te,height:le},panels:F,handles:D})},[P,b,v,s,te,le,F,D]);const se=h.useMemo(()=>{const Y={...a,...i};return Y.position||(Y.position="relative"),Y},[a,i]);return I.jsxs(rt.Provider,{value:d,children:[I.jsxs("div",{ref:r,className:Ue("panel-group",s==="horizontal"?"flex-row":"flex-col",o),style:se,"data-panel-group-id":t,"data-panel-group-direction":s,children:[n,c&&S?I.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:S}):null]}),L&&I.jsx(xn,{})]})},xn=()=>{const t=tn().groups,[o,i]=h.useState(!0);if(t.length===0||typeof document>"u")return null;const n=t.reduce((a,p)=>a+p.panels.length,0),s=t.reduce((a,p)=>a+(p.handles?.length??0),0),r=()=>i(a=>!a),d=I.jsxs("div",{style:{...sn,padding:o?"10px 18px":"14px 18px",maxHeight:o?"52px":"min(65vh, 520px)",transition:"max-height 0.24s ease, padding 0.24s ease"},children:[I.jsxs("div",{style:{...an,marginBottom:o?0:"12px"},children:[I.jsxs("div",{style:ln,children:[I.jsx("span",{style:{fontWeight:700,fontSize:"12px",letterSpacing:"0.03em"},children:"Panel Overview"}),I.jsxs("span",{style:{color:"#cbd5f5"},children:["groups: ",t.length," / panels: ",n," / resizers: ",s]})]}),I.jsx("button",{type:"button",onClick:r,style:{...cn,backgroundColor:o?"rgba(59, 130, 246, 0.2)":"rgba(71, 85, 105, 0.45)"},title:o?"Panel Overview を開く":"Panel Overview を閉じる",children:o?"開く":"閉じる"})]}),!o&&I.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"12px",maxHeight:"45vh",overflowY:"auto",paddingRight:"6px"},children:t.map((a,p)=>{const l=a.direction==="horizontal"?a.containerSize.width:a.containerSize.height;return I.jsxs("div",{style:dn,children:[I.jsxs("div",{style:{...Xt,flexWrap:"wrap",gap:"10px",color:"#dbeafe"},children:[I.jsxs("span",{style:{fontWeight:600,fontSize:"11px",letterSpacing:"0.02em",textTransform:"uppercase"},children:["group ",p+1,": ",a.displayName]}),I.jsxs("span",{children:["direction: ",a.direction," / container: ",je(a.containerSize.width,"px")," × ",je(a.containerSize.height,"px")]})]}),I.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(220px, 1fr))",gap:"10px"},children:a.panels.map((u,c)=>{const S=u.measuredPixelSize??u.size,C=u.size,b=je(C,"px"),v=u.percentageSize??(l>0?u.size/l*100:void 0),P=u.measuredPercentageSize!==void 0?u.measuredPercentageSize:l>0?S/l*100:void 0,k=u.collapsed||S<=ut,E=u.collapsed?"collapsed":k?"hidden":"visible",D=je(v,"%"),ee=je(P,"%"),te=je(S,"px");return I.jsxs("div",{style:un,children:[I.jsxs("div",{style:Xt,children:[I.jsx("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},children:u.id}),I.jsx("span",{style:{...pn,backgroundColor:u.collapsed?"rgba(251, 113, 133, 0.25)":k?"rgba(250, 204, 21, 0.25)":"rgba(74, 222, 128, 0.25)",color:u.collapsed?"#fecdd3":k?"#fef08a":"#bbf7d0"},children:E})]}),I.jsxs("div",{style:fn,children:[I.jsx("span",{children:"size (state):"}),I.jsx("span",{children:b}),I.jsx("span",{children:"size (measured):"}),I.jsx("span",{children:te}),I.jsx("span",{children:"percentage (state):"}),I.jsx("span",{children:D}),I.jsx("span",{children:"percentage (measured):"}),I.jsx("span",{children:ee}),I.jsx("span",{children:"unit:"}),I.jsx("span",{children:u.sizeUnit}),I.jsx("span",{children:"min:"}),I.jsx("span",{children:u.minSize!==void 0?JSON.stringify(u.minSize):"—"}),I.jsx("span",{children:"auto min:"}),I.jsx("span",{children:u.autoMinSize!==void 0?JSON.stringify(u.autoMinSize):"—"}),I.jsx("span",{children:"max:"}),I.jsx("span",{children:u.maxSize!==void 0?JSON.stringify(u.maxSize):"—"}),I.jsx("span",{children:"priority:"}),I.jsx("span",{children:u.pixelAdjustPriority??"—"}),I.jsx("span",{children:"flex priority:"}),I.jsx("span",{children:u.flexAdjustPriority??"—"})]})]},u.id||c)})})]},a.groupId)})})]});return Qt.createPortal(d,document.body)},zn=h.memo(({id:e,disabled:t=!1,className:o,style:i,children:n,onDragging:s})=>{const{direction:r,resizePanels:d,getPanel:a,collapsePanel:p,expandPanel:l,panels:u,reportHandleMeasurement:c,containerSize:S,layoutConstraintViolation:C}=Ye(),[b,v]=h.useState(!1),P=h.useRef(null),k=h.useRef(null),E=h.useRef(""),D=h.useRef(""),[ee,te]=h.useState({left:null,right:null}),le=h.useId(),w=h.useRef(e??`resize-handle-${le}`),L=h.useRef(null),F=e??w.current,se=!!C,Y=t||se;h.useEffect(()=>{if(P.current){const x=P.current.parentElement;if(x){k.current=x;const T=Array.from(x.children),j=P.current,Q=T.indexOf(j);if(Q>0&&Q<T.length-1){let ne=null,U=null;for(let V=Q-1;V>=0;V-=1){const $=T[V];if($.dataset.panelId){ne=$;break}}for(let V=Q+1;V<T.length;V+=1){const $=T[V];if($.dataset.panelId){U=$;break}}E.current=ne?.dataset.panelId||"",D.current=U?.dataset.panelId||"",te({left:E.current||null,right:D.current||null})}}}},[]),h.useEffect(()=>{if(F===w.current)return;const x=w.current;w.current=F,L.current=null,x!==F&&c(x,null)},[c,F]),h.useEffect(()=>{const x=w.current;return()=>{c(x,null)}},[c]);const q=h.useCallback(x=>{if(Y||!k.current)return;x.preventDefault(),x.stopPropagation();const T=k.current,{inner:j}=Re(T,r),Q={x:x.clientX,y:x.clientY},ne=a(E.current),U=a(D.current);if(!(ne&&U))return;const V=ne.size,$=U.size;let N=0;const J=qt;v(!0),s?.(!0),x.currentTarget.setPointerCapture(x.pointerId);const ce=oe=>{if(!P.current)return;oe.preventDefault(),oe.stopPropagation();const he=performance.now();if(he-N<J)return;N=he;const m=r==="horizontal"?oe.clientX-Q.x:oe.clientY-Q.y;if(m===0)return;const H=V+m,re=$-m,ie=a(E.current),de=a(D.current);if(ie&&de&&E.current&&D.current){const Pe=ae(ie.minSize,0,j),ke=ae(de.minSize,0,j),ve=Pe,Me=ke,_e=Math.min(j*pt,mt),we=Math.min(j*$t,er),Ne=de.collapseFromStart,yn=de.collapsedByDirection??"start";if(Ne&&!de.collapsed&&re<=Math.max(ke*.3,_e)){p(D.current,"start");return}const vn=ie.collapseFromEnd,wn=ie.collapsedByDirection??"end";if(vn&&!ie.collapsed&&H<=Math.max(Pe*.3,_e)){p(E.current,"end");return}if(de.collapsed&&re>Math.max(ke*.3,we)){l(D.current,yn,re);return}if(ie.collapsed&&H>Math.max(Pe*.3,we)){l(E.current,wn,H);return}if(j>0){const Zt=ie.size+de.size,tt=nt(j);let ct=!1;if(ve<=tt&&H<=tt&&V!==0){const Ve=Math.max(0,Zt-0);Ve>=Me&&(d(E.current,D.current,0,Ve),ct=!0)}else if(Me<=tt&&re<=tt&&$!==0){const Ve=Math.max(0,Zt-0);Ve>=ve&&(d(E.current,D.current,Ve,0),ct=!0)}if(ct)return}if(ie.collapsed||de.collapsed)return;d(E.current,D.current,H,re)}},ge=()=>{v(!1),s?.(!1),document.removeEventListener("pointermove",ce),document.removeEventListener("pointerup",ge)};document.addEventListener("pointermove",ce),document.addEventListener("pointerup",ge)},[Y,r,d,a,p,l,s]),Z=r==="horizontal",y=Ue("group absolute z-20 flex select-none items-center justify-center border-none bg-transparent transition-colors duration-150 overflow-visible",Z?"cursor-col-resize":"cursor-row-resize",Z?"h-full":"w-full",!Y&&"hover:bg-gray-200/70 dark:hover:bg-gray-700/70",!Y&&"active:bg-blue-300/60 dark:active:bg-blue-700/60",b&&"bg-blue-200/80 dark:bg-blue-800/60",Y&&"cursor-not-allowed opacity-50","focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-opacity-50",o),W=h.useMemo(()=>{const x=T=>{if(!T)return-1;for(let j=0;j<u.length;j+=1)if(u[j].id===T)return j;return-1};return{left:x(ee.left),right:x(ee.right)}},[ee.left,ee.right,u]),_=Z?S.width:S.height,ue=h.useMemo(()=>{const x=(T,j)=>{if(T>j)return 0;let Q=0;for(let ne=T;ne<=j;ne+=1){const U=u[ne];if(!U)continue;const V=U.size??0,$=Math.max(0,V);Q+=U.collapsed?0:$}return Q};return W.left>=0?x(0,W.left):W.right>0?x(0,W.right-1):0},[W.left,W.right,u]),me=h.useMemo(()=>!Number.isFinite(ue)||ue<0?0:_>0&&ue>_?_:ue,[ue,_]),g=h.useMemo(()=>{const x={position:"absolute",zIndex:20,touchAction:"none"};return Z?(x.top=0,x.left=`${me}px`,x.transform="translateX(-50%)",x.width=`${ft}px`,x.height="100%"):(x.left=0,x.top=`${me}px`,x.transform="translateY(-50%)",x.height=`${ft}px`,x.width="100%"),x},[me,Z]),B=h.useMemo(()=>{const x=nt(_),T=J=>{if(J<0||J>=u.length)return!1;const ce=u[J];return ce?ce.collapsed?!0:ce.size<=x:!1},j=(J,ce)=>{if(!T(J))return 0;let ge=0;for(let oe=J;oe>=0&&oe<u.length&&T(oe);oe+=ce)ge+=1;return ge},Q=W.left,ne=W.right,U=Q>=0?j(Q,-1):0,V=ne>=0?j(ne,1):0;return{groupSize:U+V+1,overlapIndex:U}},[W.left,W.right,u,_]),O=h.useMemo(()=>{if(se)return!0;if(B.groupSize<=1)return!1;const x=B.groupSize-1;return B.overlapIndex>0&&B.overlapIndex<x},[B,se]),G=h.useMemo(()=>{if(B.groupSize<=1||O)return 0;const x=B.groupSize>1?2:1;if(x===1)return 0;const T=B.overlapIndex===0?0:x-1,j=(x-1)/2;return(T-j)*Kt},[B,O]),pe=h.useMemo(()=>{if(O)return{display:"none"};if(G!==0)return Z?{transform:`translateX(${G}px)`}:{transform:`translateY(${G}px)`}},[G,Z,O]),ze=Ue("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)]",Z?"h-12 w-[6px] px-[2px]":"h-[6px] w-20 py-[2px]",b&&"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)]"),f=Ue("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)]",Z?"h-8 w-[2px]":"h-[2px] w-16",b&&"bg-blue-500 dark:bg-blue-300",!Y&&"group-hover:bg-slate-700 dark:group-hover:bg-slate-100"),z=h.useCallback(()=>{const x=P.current;if(!x)return;let T=0;if(!O){const ne=r==="horizontal"?x.offsetWidth:x.offsetHeight;let U=0,V=0;if(typeof window<"u"){const N=window.getComputedStyle(x);r==="horizontal"?(U=Number.parseFloat(N.marginLeft||"0"),V=Number.parseFloat(N.marginRight||"0")):(U=Number.parseFloat(N.marginTop||"0"),V=Number.parseFloat(N.marginBottom||"0"))}T=[ne,U,V].reduce((N,J)=>Number.isFinite(J)?N+J:N,0)}(!Number.isFinite(T)||T<0)&&(T=0);const j={id:F,thickness:T,direction:r,visible:!O&&T>tr,startPanelId:ee.left,endPanelId:ee.right},Q=L.current;Q&&Math.abs(Q.thickness-j.thickness)<=.25&&Q.visible===j.visible&&Q.direction===j.direction&&Q.startPanelId===j.startPanelId&&Q.endPanelId===j.endPanelId||(L.current=j,c(F,j))},[r,ee.left,ee.right,c,F,O]);h.useEffect(()=>{z()},[z]),h.useEffect(()=>{const x=P.current;if(!x)return;if(typeof ResizeObserver>"u"){z();return}const T=new ResizeObserver(()=>{z()});return T.observe(x),()=>{T.disconnect()}},[z]);const M=h.useMemo(()=>{const x=i?{...g,...i}:g;return O?{...x,display:"none",pointerEvents:"none",visibility:"hidden"}:x},[g,O,i]);return I.jsx("button",{type:"button",ref:P,className:y,style:M,onPointerDown:q,disabled:Y,"aria-hidden":O||void 0,"aria-label":`Resize ${Z?"columns":"rows"} - Drag to collapse/expand panels`,"data-resize-handle-id":F,title:`ドラッグして${Z?"列":"行"}をリサイズ、端まで移動して折りたたみ/展開`,children:n||I.jsx("div",{className:ze,style:pe,children:I.jsx("span",{className:f})})})}),Sn=e=>document.querySelector(`[data-panel-id="${e}"]`),bn=e=>document.querySelector(`[data-panel-group-id="${e}"]`),Pn=e=>document.querySelector(`[data-resize-handle-id="${e}"]`);fe.Panel=Kr,fe.PanelGroup=hn,fe.PanelGroupContext=rt,fe.PanelResizeHandle=zn,fe.clamp=Se,fe.getConstraintInPixels=ae,fe.getContainerSize=Re,fe.getPanelElement=Sn,fe.getPanelGroupElement=bn,fe.getResizeHandleElement=Pn,fe.loadLayout=bt,fe.normalizeSizeConfig=Xe,fe.saveLayout=St,fe.usePanelControls=nr,fe.usePanelGroup=Ye,fe.useResizablePanels=yt,Object.defineProperty(fe,Symbol.toStringTag,{value:"Module"})}));
|
package/dist/reducer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../src/reducer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../src/reducer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAwrBtE,MAAM,MAAM,WAAW,GACjB;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,eAAe,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GACvH;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,MAAM,EAAE,eAAe,EAAE,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,mBAAmB,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,YAAY,GAAG,UAAU,CAAA;CAAE,GAC1F;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,sBAAsB,CAAA;CAAE,GAC3F;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,sBAAsB,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAiCpH;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,eAAe,EAAE,EAAE,QAAQ,WAAW,KAAG,eAAe,EAgd3F,CAAA"}
|