@aiquants/resize-panels 1.0.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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.map +1 -1
- package/dist/index.es.js +1669 -1685
- package/dist/index.umd.js +3 -19
- 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.map +1 -1
- package/package.json +14 -11
package/dist/index.umd.js
CHANGED
|
@@ -1,23 +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={};/**
|
|
2
|
-
* @license React
|
|
3
|
-
* react-jsx-runtime.production.js
|
|
4
|
-
*
|
|
5
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
6
|
-
*
|
|
7
|
-
* This source code is licensed under the MIT license found in the
|
|
8
|
-
* LICENSE file in the root directory of this source tree.
|
|
9
|
-
*/var 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={};/**
|
|
10
|
-
* @license React
|
|
11
|
-
* react-jsx-runtime.development.js
|
|
12
|
-
*
|
|
13
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
14
|
-
*
|
|
15
|
-
* This source code is licensed under the MIT license found in the
|
|
16
|
-
* LICENSE file in the root directory of this source tree.
|
|
17
|
-
*/var 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(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,$t){"use strict";const rt=x.createContext(null),Ye=()=>{const e=x.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,er=8,tr=8,pt=.05,mt=10,rr=.05,nr=20,or=.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,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),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,z=u.panel.pixelAdjustPriority??u.index+1;return c===z?r?u.index-l.index:l.index-u.index:r?z-c:c-z});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 z=Xe(c.minSize,"pixels"),C=Xe(c.maxSize,"pixels"),P=z?xt(z,o):0,w=C?xt(C,o):o,y=n?se(c.autoMinSize,0,o):0,k=Math.max(P,y),E=c.preferredPixelSize!==void 0?Se(c.preferredPixelSize,k,w):c.size,D=c.collapseFromStart||c.collapseFromEnd;if(a>0){if(Math.abs(c.size)<=0&&(c.percentageSize??0)<=0)continue;const ee=Math.max(c.size,E),K=l?Math.min(w,ee):w,v=Math.max(0,K-c.size);if(v<=0)continue;const O=Math.min(v,a);if(O<=0)continue;const J=c.size+O,ne=be(J,o),U=D?J:c.sizeBeforeCollapse,V=D?c.measuredPixelSizeBeforeCollapse??c.measuredPixelSize??J:c.measuredPixelSizeBeforeCollapse;e[u]={...c,size:J,percentageSize:ne,sizeBeforeCollapse:U,measuredPixelSizeBeforeCollapse:V,measuredPixelSize:void 0,measuredPercentageSize:void 0},a-=O}else{const q=l?E:k,ee=Math.max(0,c.size-q);if(ee<=0)continue;const K=Math.min(ee,Math.abs(a));if(K<=0)continue;const v=c.size-K,O=be(v,o),J=D?v:c.sizeBeforeCollapse,ne=D?c.measuredPixelSizeBeforeCollapse??c.measuredPixelSize??v:c.measuredPixelSizeBeforeCollapse;e[u]={...c,size:v,percentageSize:O,sizeBeforeCollapse:J,measuredPixelSizeBeforeCollapse:ne,measuredPixelSize:void 0,measuredPercentageSize:void 0},a+=K}}};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},ke=(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)}};let St=0,bt=0;const Pt=()=>typeof window>"u"?(St+=1,`panel-server-${St}`):`panel-${Date.now()}-${Math.random().toString(36).substr(2,5)}`,ir=()=>typeof window>"u"?(bt+=1,`resize-handle-server-${bt}`):`resize-handle-${Date.now()}-${Math.random().toString(36).substr(2,5)}`,yt=(e,t)=>{try{localStorage.setItem(`panel-layout-${e}`,JSON.stringify(t))}catch(o){console.warn("Failed to save panel layout:",o)}},vt=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,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,se(p.minSize,0,t)),u=Math.max(0,se(p.autoMinSize,0,t)),c=Math.max(l,u),z=Math.max(.001,c),C=se(p.maxSize,t,t),P=Math.max(c,C),w=p.sizeUnit==="pixels"||p.originalPixelSize!==void 0,y=Math.max(0,p.size);let k=c;if(w){const D=p.preferredPixelSize??p.size??p.originalPixelSize??c;k=Se(D,c,P)}else{const D=p.preferredPercentageSize??p.percentageSize??be(p.size,t),q=De(D,t);k=Se(q,c,P)}const E=!w&&(p.excludeFromAutoGrowth??!1)&&y<=z;i.push({index:a,isPixelPanel:w,minSize:c,maxSize:P,preferredSize:k,priority:p.pixelAdjustPriority??a+1,flexPriority:w?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 z=[];for(const w of l){if(!w.isPixelPanel&&w.excludeFromGrowth)continue;const y=n.get(w.index)??w.minSize,k=Math.min(w.preferredSize,w.maxSize),E=Math.max(0,k-y);E>1e-6&&(c+=E,z.push({descriptor:w,capacity:E}))}if(z.length===0||c<=1e-6)break;let C=0;const P=r;for(const w of z){if(r<=1e-6)break;if(!w.descriptor.isPixelPanel&&w.descriptor.excludeFromGrowth)continue;const y=P*w.capacity/c,k=Math.min(w.capacity,y);if(k<=0)continue;const E=d(w.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),z=Math.max(0,c-u);if(z<=0)continue;const C=d(l,Math.min(z,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,z)=>(z.flexPriority??0)-(c.flexPriority??0));for(const c of u){if(r<=0)break;if(c.excludeFromGrowth)continue;const z=n.get(c.index)??c.minSize,C=Math.min(c.preferredSize,c.maxSize),P=Math.max(0,C-z);if(P<=0)continue;const w=d(c,Math.min(P,r));w>0&&(r-=w)}}if(r>0){const c=u.length>0?l.filter(z=>z.flexPriority===void 0&&!z.excludeFromGrowth):l.filter(z=>!z.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 z=n.get(c.index)??c.minSize,C=c.isPixelPanel?Math.min(c.maxSize,c.preferredSize):c.maxSize,P=Math.max(0,C-z);P>0&&(l.push(c),p+=P)}if(p<=0)break;const u=r;for(const c of l){if(r<=0)break;if(!c.isPixelPanel&&c.excludeFromGrowth)continue;const z=n.get(c.index)??c.minSize,C=c.isPixelPanel?Math.min(c.maxSize,c.preferredSize):c.maxSize,P=Math.max(0,C-z);if(P<=0)continue;const w=u*P/p,y=d(c,Math.min(P,w));y>0&&(r-=y)}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,z=Se(u.preferredSize,u.minSize,u.maxSize),C=Math.max(0,c-z);if(C>0&&r<0){const w=Math.min(C,Math.abs(r));n.set(u.index,c-w),r+=w,l=!0;continue}const P=Math.max(0,c-u.minSize);if(P>0&&r<0){const w=Math.min(P,Math.abs(r));n.set(u.index,c-w),r+=w,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=Ae(l),c=u?p:l.sizeBeforeCollapse,z=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:z,measuredPixelSize:void 0,measuredPercentageSize:void 0}}return _e(o)},_e=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,z=n.sizeBeforeCollapse===void 0||n.sizeBeforeCollapse!==n.size,C=Ae(n),P=C&&z,w=n.measuredPixelSize??n.size,y=C&&(n.measuredPixelSizeBeforeCollapse===void 0||n.measuredPixelSizeBeforeCollapse!==w);if(!(c||P||y))return n;o=!0;const k=P?n.size:n.sizeBeforeCollapse,E=y?w: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=se(u.minSize,0,t),z=se(u.autoMinSize,0,t),C=Math.max(c,z),P=se(u.maxSize,t,t),w=u.sizeUnit==="percentage"&&u.originalPixelSize===void 0;return{index:l,minSize:C,maxSize:P,isFlexible:w}},d=(l,u)=>{if(!Number.isFinite(u)||Math.abs(u)<=0)return;const c=e[l];if(!c)return;const z=Math.max(0,c.size+u);if(Math.abs(z-c.size)<=0)return;const C=be(z,t),P=Ae(c),w=P?z:c.sizeBeforeCollapse,y=P?c.measuredPixelSizeBeforeCollapse??c.measuredPixelSize??z:c.measuredPixelSizeBeforeCollapse;e[l]={...c,size:z,percentageSize:C,sizeBeforeCollapse:w,measuredPixelSizeBeforeCollapse:y,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 z=c.size;if(n>0){const C=Math.max(0,u.maxSize-z);if(C<=0)continue;const P=Math.min(C,n);if(P<=0)continue;d(u.index,P)}else{const C=Math.max(0,z-u.minSize);if(C<=0)continue;const P=Math.min(C,Math.abs(n));if(P<=0)continue;d(u.index,-P)}}},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},wt=(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}},sr=(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=wt(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=wt(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=_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(S=>S.id===t.leftId),i=e.findIndex(S=>S.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((S,h)=>S+h.size,0),a=se(s.minSize,0,d),p=se(s.maxSize,d,d),l=se(r.minSize,0,d),u=se(r.maxSize,d,d),c=s.size+r.size,z=e.reduce((S,h)=>h.collapsed?S:S+h.size,0),C=z-c,P=a+l,w=p+u,y=Se(t.leftSize+t.rightSize,P,w);let k=d>0?d-C:y;Number.isFinite(k)||(k=y);const E=Se(Math.max(y,k),P,w),D=S=>({min:Math.max(a,S-u),max:Math.min(p,S-l)}),q=S=>({min:Math.max(l,S-p),max:Math.min(u,S-a)}),ee=Math.abs(t.leftSize-s.size),K=Math.abs(t.rightSize-r.size),v=ee>=K;let O=s.size,J=r.size;if(v){const S=D(E);if(S.min>S.max)return e;const h=Se(t.leftSize,S.min,S.max),b=E-h;if(b<l||b>u)return e;O=h,J=b}else{const S=q(E);if(S.min>S.max)return e;const h=Se(t.rightSize,S.min,S.max),b=E-h;if(b<a||b>p)return e;J=h,O=b}const ne=O+J;if(E!==ne)return e;const U=z-s.size-r.size+ne,V=d>0?d:U,ae=V>0?be(O,V):0,M=V>0?be(J,V):0,T=s.sizeUnit==="pixels"||s.originalPixelSize!==void 0?O:s.preferredPixelSize,X=r.sizeUnit==="pixels"||r.originalPixelSize!==void 0?J:r.preferredPixelSize,R=se(s.autoMinSize,0,d),me=se(r.autoMinSize,0,d),ze=Math.max(.001,R),m=Math.max(.001,me),B=s.sizeUnit==="percentage"&&s.originalPixelSize===void 0,F=r.sizeUnit==="percentage"&&r.originalPixelSize===void 0;let H=s.excludeFromAutoGrowth,fe=r.excludeFromAutoGrowth;B&&(O<=ze?H=!0:O>ze&&(H=!1)),F&&(J<=m?fe=!0:J>m&&(fe=!1));const ge=Ae(s),f=Ae(r);return n[o]={...s,size:O,percentageSize:ae,preferredPercentageSize:ae>0?ae:s.preferredPercentageSize,preferredPixelSize:T,sizeBeforeCollapse:ge?O:s.sizeBeforeCollapse,measuredPixelSize:void 0,measuredPercentageSize:void 0,excludeFromAutoGrowth:H},n[i]={...r,size:J,percentageSize:M,preferredPercentageSize:M>0?M:r.preferredPercentageSize,preferredPixelSize:X,sizeBeforeCollapse:f?J:r.sizeBeforeCollapse,measuredPixelSize:void 0,measuredPercentageSize:void 0,excludeFromAutoGrowth:fe},d>0&&Qe(n,d)?_e(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=Pe(e),n=Pe(o),s=_e(o),r=Pe(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:Pe(e)}),e;console.log("[resize-panels] container resized (before)",{containerSize:t.containerSize,panels:Pe(e)});const o=ot(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(c=>c.id===t.id);if(o===-1)return e;const i=e[o],n=t.from==="start"?i.collapseFromStart:i.collapseFromEnd;if(!(Ae(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)?_e(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(!(Ae(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=se(n.minSize,0,i),p=se(n.maxSize,i,i),l=Se(d,a,p),u=be(l,i),c=n.measuredPixelSizeBeforeCollapse??l,z=be(c,i),C=n.preferredPercentageSizeBeforeCollapse??n.percentageSizeBeforeCollapse??u,P=n.preferredPixelSizeBeforeCollapse??n.preferredPixelSize??l,w={...n,collapsed:!1,collapsedByDirection:null,size:l,percentageSize:u,preferredPercentageSize:C,preferredPixelSize:P,sizeBeforeCollapse:l,percentageSizeBeforeCollapse:void 0,preferredPercentageSizeBeforeCollapse:void 0,preferredPixelSizeBeforeCollapse:void 0,measuredPixelSize:l,measuredPixelSizeBeforeCollapse:c,measuredPercentageSize:z},y=[...e];y[o]=w;const k=ot(y,i);return i>0&&Qe(k,i)?_e(k):k}default:return e}},Ct=({direction:e,style:t,onLayout:o,autoSaveId:i,showDebugInfo:n=!1})=>{const[s,r]=x.useReducer(sr,[]),[d,a]=x.useState({width:0,height:0}),[p,l]=x.useState(!1),[u,c]=x.useState(!1),[z,C]=x.useState(null),[P,w]=x.useState({}),[y,k]=x.useState({}),E=x.useRef(null),D=x.useRef(o),q=x.useRef(!1),ee=x.useRef(0),K=x.useRef(d),v=x.useRef(d),O=x.useRef(p),J=x.useRef(z?.reason??null),ne=x.useRef({}),U=x.useRef(null),V=x.useRef(null),ae=x.useCallback(f=>f.map(S=>({...S})),[]);x.useEffect(()=>{v.current=d},[d]),x.useEffect(()=>{O.current=p},[p]),x.useEffect(()=>{J.current=z?.reason??null},[z?.reason]),x.useEffect(()=>{if(z)return;const f=e==="horizontal"?d.width:d.height;!Number.isFinite(f)||f<=4||s.length!==0&&(U.current=ae(s))},[z,s,e,d.width,d.height,ae]),x.useEffect(()=>{const f=V.current;if(z){V.current=z;return}if(f&&!z&&U.current){V.current=null;const S=ae(U.current);r({type:"SET_PANELS",panels:S});return}V.current=z},[z,ae]),x.useLayoutEffect(()=>{if(!E.current)return;const f=new ResizeObserver(S=>{for(const h of S){const b=h.target,N=b?ke(b,"horizontal"):null,Y=b?ke(b,"vertical"):null,re=N?N.inner:0,W=Y?Y.inner:0,$=h.contentRect.width,Z=h.contentRect.height,j=re>0?re:$,L=W>0?W:Z;a(oe=>(!p&&j>0&&L>0&&l(!0),oe.width===j&&oe.height===L?oe:{width:j,height:L}))}});return f.observe(E.current),()=>f.disconnect()},[p]),x.useLayoutEffect(()=>{const f=K.current,S=d,h=e==="horizontal"?Math.abs(f.width-S.width)>0:Math.abs(f.height-S.height)>0;if(u&&h){const b=e==="horizontal"?S.width:S.height;r({type:"CONTAINER_RESIZED",containerSize:b,direction:e})}K.current=S},[d,u,e]);const M=x.useCallback(()=>{console.log("panels[0]?.id",s[0]?.id);const f=s.some(g=>{if(g.collapsed||g.sizeUnit!=="percentage")return!1;const ie=g.collapseFromStart||g.collapseFromEnd?g.sizeBeforeCollapse??g.measuredPixelSizeBeforeCollapse??g.originalPixelSize??g.measuredPixelSize??0:g.measuredPixelSize??g.originalPixelSize??g.size,te=g.percentageSize!==void 0&&g.percentageSize>0;return g.size<=0&&(ie>0||te)}),S=e==="horizontal"?d.width:d.height,h=S>0;if(z||!h||!(s.length>0&&(s.length!==ee.current||!u||f)))return;const Y=s.filter(g=>!g.collapsed&&(g.originalPixelSize!==void 0||g.sizeUnit==="pixels")).reduce((g,G)=>{const ie=G.preferredPixelSize??G.originalPixelSize??G.size;return g+Math.max(0,ie??0)},0),re=s.filter(g=>g.sizeUnit==="percentage"&&!g.collapsed),W=re.map(g=>g.id),$=re.map(g=>{const G=g.preferredPercentageSize??g.percentageSize;return G!==void 0&&G>0?De(G,S):g.size>0?g.size:0}),Z=$.reduce((g,G)=>g+G,0),j=S-Y,L=Math.max(0,j),oe=L>0,pe=s.map(g=>{if(g.collapsed){const G=g.sizeBeforeCollapse??g.measuredPixelSizeBeforeCollapse??g.originalPixelSize??(g.sizeUnit==="pixels"?g.size:void 0),ie=g.sizeUnit==="percentage"&&g.percentageSize!==void 0?De(g.percentageSize,S):void 0,te=G??ie??0,he=g.measuredPixelSizeBeforeCollapse??g.measuredPixelSize??te;return{...g,size:0,percentageSize:0,preferredPercentageSize:g.preferredPercentageSize,sizeBeforeCollapse:te,percentageSizeBeforeCollapse:g.percentageSizeBeforeCollapse??g.percentageSize??g.preferredPercentageSize??0,preferredPercentageSizeBeforeCollapse:g.preferredPercentageSizeBeforeCollapse??g.preferredPercentageSize??g.percentageSize??void 0,preferredPixelSizeBeforeCollapse:g.preferredPixelSizeBeforeCollapse??g.preferredPixelSize??te,measuredPixelSizeBeforeCollapse:he}}if(g.sizeUnit==="pixels"||g.originalPixelSize!==void 0){const G=g.size,ie=S>0?be(G,S):0,te={...g,size:G,percentageSize:ie,preferredPixelSize:g.preferredPixelSize??g.originalPixelSize??G,preferredPercentageSize:g.preferredPercentageSize!==void 0?g.preferredPercentageSize:ie>0?ie:void 0};if(g.collapseFromStart||g.collapseFromEnd){const he=g.sizeBeforeCollapse??G,we=g.measuredPixelSizeBeforeCollapse??g.measuredPixelSize??he;te.sizeBeforeCollapse=he,te.measuredPixelSizeBeforeCollapse=we,te.preferredPixelSizeBeforeCollapse=g.preferredPixelSizeBeforeCollapse??g.preferredPixelSize??he}return te}if(g.sizeUnit==="percentage"){const G=W.indexOf(g.id),ie=G!==-1?$[G]:0,te=se(g.minSize,0,S),he=se(g.maxSize,S,S),we=Math.max(te,g.sizeBeforeCollapse??0,g.measuredPixelSizeBeforeCollapse??0,g.measuredPixelSize??0,g.originalPixelSize??0,g.size>0?g.size:0,g.percentageSize!==void 0?De(g.percentageSize,S):0,1),Re=ie>0?ie:we;let ye;if(!oe)ye=te;else if(G!==-1&&Z>0){const Ce=Re/Z,Ne=L*Ce;ye=Se(Ne,te,he)}else{const Ce=g.percentageSize!==void 0?De(g.percentageSize,S):g.size,Ne=Ce>0?Ce:Re;ye=Se(Ne,te,he)}const Be=S>0?be(ye,S):0,Te={...g,size:ye,percentageSize:Be,preferredPercentageSize:g.preferredPercentageSize!==void 0?g.preferredPercentageSize:Be>0?Be:void 0};if(g.collapseFromStart||g.collapseFromEnd){const Ce=g.sizeBeforeCollapse??ye,Ne=g.measuredPixelSizeBeforeCollapse??g.measuredPixelSize??Ce;Te.sizeBeforeCollapse=Ce,Te.measuredPixelSizeBeforeCollapse=Ne,Te.preferredPixelSizeBeforeCollapse=g.preferredPixelSizeBeforeCollapse??g.preferredPixelSize??Ce}return Te}return g}),le=[];for(let g=0;g<pe.length;g+=1){const G=pe[g];G.sizeUnit==="percentage"&&!G.collapsed&&le.push(g)}const ce=le.reduce((g,G)=>g+pe[G].size,0),de=j-ce;Math.abs(de)>0&&zt(pe,de,S,{enforceAutoMinSize:!0}),r({type:"SET_PANELS",panels:pe}),ee.current=s.length,c(!0)},[s,e,d.width,d.height,u,z]);x.useEffect(()=>{const f=e==="horizontal"?d.width:d.height,S=f>0,h=S&&s.length>0,b=h?s.reduce((Z,j)=>{if(j.collapsed)return Z;const L=se(j.minSize,0,f);return Z+Math.max(0,L)},0):null,N=h?s.reduce((Z,j)=>{if(j.collapsed)return Z;const L=se(j.maxSize,f,f);return Z+Math.max(0,L)},0):null,Y=b??z?.totalMinimumSize??null,re=N??z?.totalMaximumSize??null;if(!S){z&&C(Z=>!Z||Z.availableContainerSize===f?Z:{reason:Z.reason,totalMinimumSize:null,totalMaximumSize:null,availableContainerSize:f});return}const W=Y!==null&&Y-f>Number.EPSILON,$=re!==null&&f-re>Number.EPSILON;if(W||$){const j={reason:W?"minimum-exceeded":"maximum-insufficient",totalMinimumSize:Y,totalMaximumSize:re,availableContainerSize:f};C(L=>L&&L.reason===j.reason&&Math.abs((L.totalMinimumSize??0)-(j.totalMinimumSize??0))<=Number.EPSILON&&Math.abs((L.totalMaximumSize??0)-(j.totalMaximumSize??0))<=Number.EPSILON&&Math.abs(L.availableContainerSize-j.availableContainerSize)<=Number.EPSILON?L:j);return}if(z){const Z=z.reason==="minimum-exceeded",j=z.reason==="maximum-insufficient";(!Z||Y!==null)&&(!j||re!==null)&&!W&&!$&&C(ce=>ce&&null)}},[s,e,d.width,d.height,z]),x.useEffect(()=>{M()},[M]),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(()=>{yt(i,T)},200);return()=>clearTimeout(f)}},[i,T]),x.useEffect(()=>{if(!i||s.length===0||q.current)return;const f=e==="horizontal"?d.width:d.height;if(f<=0)return;const S=vt(i);if(S&&S.length===s.length){const h=s.map((b,N)=>{const Y=se(b.minSize,0,f),re=se(b.maxSize,f,f),W=Se(S[N],Y,re),$=be(W,f),Z=b.sizeUnit==="pixels"||b.originalPixelSize!==void 0?W:b.preferredPixelSize;return{...b,size:W,percentageSize:$,preferredPercentageSize:$>0?$:b.preferredPercentageSize,preferredPixelSize:Z}});r({type:"SET_PANELS",panels:h}),q.current=!0}},[i,s,d.width,d.height,e]);const X=x.useCallback(f=>{const S=v.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:O.current,violationReason:J.current,containerSize:{width:S.width,height:S.height}}),r({type:"REGISTER_PANEL",panel:f})},[]),R=x.useCallback(f=>{const S=v.current;console.log("[resize-panels] useResizablePanels.unregisterPanel",{panelId:f,containerReady:O.current,violationReason:J.current,containerSize:{width:S.width,height:S.height}}),r({type:"UNREGISTER_PANEL",id:f}),delete ne.current[f],w(h=>{if(!(f in h))return h;const b={...h};return delete b[f],b})},[]),me=x.useCallback((f,S,h,b)=>{const N=e==="horizontal"?d.width:d.height,Y=s.find(ce=>ce.id===f),re=s.find(ce=>ce.id===S);if(!(Y&&re)){r({type:"RESIZE_PANELS",leftId:f,rightId:S,leftSize:h,rightSize:b,containerSize:N});return}if(Y.collapsed||re.collapsed)return;const W=se(Y.minSize,0,N),$=se(Y.maxSize,N,N),Z=se(re.minSize,0,N),j=se(re.maxSize,N,N);let L=Se(h,W,$),oe=Se(b,Z,j);const pe=L+oe,le=h+b;if(pe!==le){const ce=le-pe;if(ce>0){const de=$-L,g=j-oe,G=de+g;if(G>0){const ie=Math.min(ce*(de/G),de),te=Math.min(ce-ie,g);L+=ie,oe+=te}}else if(ce<0){const de=Math.abs(ce),g=L-W,G=oe-Z,ie=g+G;if(ie>0){const te=Math.min(de*(g/ie),g),he=Math.min(de-te,G);L-=te,oe-=he}}}L=Se(L,W,$),oe=Se(oe,Z,j),console.assert(L+oe===le,"Total size after constraints should be close to the original total size.",{constrainedLeftSize:L,constrainedRightSize:oe,originalTotalSize:le}),r({type:"RESIZE_PANELS",leftId:f,rightId:S,leftSize:L,rightSize:oe,containerSize:N})},[e,d.width,d.height,s]),ze=x.useCallback((f,S)=>{const h=e==="horizontal"?d.width:d.height;r({type:"COLLAPSE_PANEL",id:f,from:S,containerSize:h})},[e,d.width,d.height]),m=x.useCallback((f,S,h)=>{const b=e==="horizontal"?d.width:d.height;r({type:"EXPAND_PANEL",id:f,from:S,containerSize:b,targetSize:h})},[e,d.width,d.height]),B=x.useCallback(f=>s.find(S=>S.id===f),[s]),F=x.useCallback((f,S)=>{w(h=>{if(S===null){if(!(f in h))return h;const N={...h};return delete N[f],N}const b=h[f];return b&&b.pixelSize===S.pixelSize&&b.percentageSize===S.percentageSize?h:{...h,[f]:S}})},[]),H=x.useCallback((f,S)=>{k(h=>{if(S===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-S.thickness)<=.25&&b.visible===S.visible&&b.direction===S.direction&&b.startPanelId===S.startPanelId&&b.endPanelId===S.endPanelId?h:{...h,[f]:S}})},[]),fe=x.useMemo(()=>({direction:e,panels:s,containerSize:d,isContainerReady:p,showDebugInfo:n,registerPanel:X,unregisterPanel:R,resizePanels:me,collapsePanel:ze,expandPanel:m,getPanel:B,reportPanelMeasurement:F,panelMeasurements:P,reportHandleMeasurement:H,handleMeasurements:y,layoutConstraintViolation:z}),[e,s,d,p,n,X,R,me,ze,m,B,F,P,H,y,z]),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:E,contextValue:fe,groupStyle:ge}},ar=e=>{const{getPanel:t,collapsePanel:o,expandPanel:i}=Ye(),n=t(e),s=x.useCallback(a=>{o(e,a)},[o,e]),r=x.useCallback((a,p)=>{i(e,a,p)},[i,e]),d=x.useCallback((a,p)=>{n?.collapsed?r(a,p):s(a)},[n?.collapsed,s,r]);return x.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 Et;function lr(){if(Et)return Ge;Et=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 kt;function cr(){return kt||(kt=1,process.env.NODE_ENV!=="production"&&(function(){function e(m){if(m==null)return null;if(typeof m=="function")return m.$$typeof===ne?null:m.displayName||m.name||null;if(typeof m=="string")return m;switch(m){case w:return"Fragment";case k:return"Profiler";case y:return"StrictMode";case ee:return"Suspense";case K:return"SuspenseList";case J:return"Activity"}if(typeof m=="object")switch(typeof m.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),m.$$typeof){case P:return"Portal";case D:return m.displayName||"Context";case E:return(m._context.displayName||"Context")+".Consumer";case q:var B=m.render;return m=m.displayName,m||(m=B.displayName||B.name||"",m=m!==""?"ForwardRef("+m+")":"ForwardRef"),m;case v:return B=m.displayName||null,B!==null?B:e(m.type)||"Memo";case O:B=m._payload,m=m._init;try{return e(m(B))}catch{}}return null}function t(m){return""+m}function o(m){try{t(m);var B=!1}catch{B=!0}if(B){B=console;var F=B.error,H=typeof Symbol=="function"&&Symbol.toStringTag&&m[Symbol.toStringTag]||m.constructor.name||"Object";return F.call(B,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",H),t(m)}}function i(m){if(m===w)return"<>";if(typeof m=="object"&&m!==null&&m.$$typeof===O)return"<...>";try{var B=e(m);return B?"<"+B+">":"<...>"}catch{return"<...>"}}function n(){var m=U.A;return m===null?null:m.getOwner()}function s(){return Error("react-stack-top-frame")}function r(m){if(V.call(m,"key")){var B=Object.getOwnPropertyDescriptor(m,"key").get;if(B&&B.isReactWarning)return!1}return m.key!==void 0}function d(m,B){function F(){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))}F.isReactWarning=!0,Object.defineProperty(m,"key",{get:F,configurable:!0})}function a(){var m=e(this.type);return X[m]||(X[m]=!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.")),m=this.props.ref,m!==void 0?m:null}function p(m,B,F,H,fe,ge){var f=F.ref;return m={$$typeof:C,type:m,key:B,props:F,_owner:H},(f!==void 0?f:null)!==null?Object.defineProperty(m,"ref",{enumerable:!1,get:a}):Object.defineProperty(m,"ref",{enumerable:!1,value:null}),m._store={},Object.defineProperty(m._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(m,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(m,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:fe}),Object.defineProperty(m,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:ge}),Object.freeze&&(Object.freeze(m.props),Object.freeze(m)),m}function l(m,B,F,H,fe,ge){var f=B.children;if(f!==void 0)if(H)if(ae(f)){for(H=0;H<f.length;H++)u(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 u(f);if(V.call(B,"key")){f=e(m);var S=Object.keys(B).filter(function(b){return b!=="key"});H=0<S.length?"{key: someKey, "+S.join(": ..., ")+": ...}":"{key: someKey}",ze[f+H]||(S=0<S.length?"{"+S.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
18
2
|
let props = %s;
|
|
19
3
|
<%s {...props} />
|
|
20
4
|
React keys must be passed directly to JSX without using spread:
|
|
21
5
|
let props = %s;
|
|
22
|
-
<%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(`
|
|
23
|
-
`)}},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} />`,H,f,S,f),ze[f+H]=!0)}if(f=null,F!==void 0&&(o(F),f=""+F),r(B)&&(o(B.key),f=""+B.key),"key"in B){F={};for(var h in B)h!=="key"&&(F[h]=B[h])}else F=B;return f&&d(F,typeof m=="function"?m.displayName||m.name||"Unknown":m),p(m,f,F,n(),fe,ge)}function u(m){c(m)?m._store&&(m._store.validated=1):typeof m=="object"&&m!==null&&m.$$typeof===O&&(m._payload.status==="fulfilled"?c(m._payload.value)&&m._payload.value._store&&(m._payload.value._store.validated=1):m._store&&(m._store.validated=1))}function c(m){return typeof m=="object"&&m!==null&&m.$$typeof===C}var z=x,C=Symbol.for("react.transitional.element"),P=Symbol.for("react.portal"),w=Symbol.for("react.fragment"),y=Symbol.for("react.strict_mode"),k=Symbol.for("react.profiler"),E=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"),v=Symbol.for("react.memo"),O=Symbol.for("react.lazy"),J=Symbol.for("react.activity"),ne=Symbol.for("react.client.reference"),U=z.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,V=Object.prototype.hasOwnProperty,ae=Array.isArray,M=console.createTask?console.createTask:function(){return null};z={react_stack_bottom_frame:function(m){return m()}};var T,X={},R=z.react_stack_bottom_frame.bind(z,s)(),me=M(i(s)),ze={};He.Fragment=w,He.jsx=function(m,B,F){var H=1e4>U.recentlyCreatedOwnerStacks++;return l(m,B,F,!1,H?Error("react-stack-top-frame"):R,H?M(i(m)):me)},He.jsxs=function(m,B,F){var H=1e4>U.recentlyCreatedOwnerStacks++;return l(m,B,F,!0,H?Error("react-stack-top-frame"):R,H?M(i(m)):me)}})()),He}var Mt;function dr(){return Mt||(Mt=1,process.env.NODE_ENV==="production"?Ke.exports=lr():Ke.exports=cr()),Ke.exports}var I=dr();const ur=(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},fr=(e,t)=>({classGroupId:e,validator:t}),Rt=(e=new Map,t=null,o)=>({nextPart:e,validators:t,classGroupId:o}),qe="-",At=[],pr="arbitrary..",mr=e=>{const t=hr(e),{conflictingClassGroups:o,conflictingClassGroupModifiers:i}=e;return{getClassGroupId:r=>{if(r.startsWith("[")&&r.endsWith("]"))return gr(r);const d=r.split(qe),a=d[0]===""&&d.length>1?1:0;return _t(d,a,t)},getConflictingClassGroupIds:(r,d)=>{if(d){const a=i[r],p=o[r];return a?p?ur(p,a):a:p||At}return o[r]||At}}},_t=(e,t,o)=>{if(e.length-t===0)return o.classGroupId;const n=e[t],s=o.nextPart.get(n);if(s){const p=_t(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}},gr=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?pr+i:void 0})(),hr=e=>{const{theme:t,classGroups:o}=e;return xr(o,t)},xr=(e,t)=>{const o=Rt();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];zr(r,t,o,i)}},zr=(e,t,o,i)=>{if(typeof e=="string"){Sr(e,t,o);return}if(typeof e=="function"){br(e,t,o,i);return}Pr(e,t,o,i)},Sr=(e,t,o)=>{const i=e===""?t:It(t,e);i.classGroupId=o},br=(e,t,o,i)=>{if(yr(e)){it(e(i),t,o,i);return}t.validators===null&&(t.validators=[]),t.validators.push(fr(o,e))},Pr=(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,It(t,d),o,i)}},It=(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=Rt(),o.nextPart.set(r,d)),o=d}return o},yr=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,vr=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="!",Bt=":",wr=[],Tt=(e,t,o,i,n)=>({modifiers:e,hasImportantModifier:t,baseClassName:o,maybePostfixModifierPosition:i,isExternal:n}),Cr=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 P=0;P<l;P++){const w=n[P];if(r===0&&d===0){if(w===Bt){s.push(n.slice(a,P)),a=P+1;continue}if(w==="/"){p=P;continue}}w==="["?r++:w==="]"?r--:w==="("?d++:w===")"&&d--}const u=s.length===0?n:n.slice(a);let c=u,z=!1;u.endsWith(st)?(c=u.slice(0,-1),z=!0):u.startsWith(st)&&(c=u.slice(1),z=!0);const C=p&&p>a?p-a:void 0;return Tt(s,z,c,C)};if(t){const n=t+Bt,s=i;i=r=>r.startsWith(n)?s(r.slice(n.length)):Tt(wr,!1,r,void 0,!0)}if(o){const n=i;i=s=>o({className:s,parseClassName:n})}return i},Er=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}},kr=e=>({cache:vr(e.cacheSize),parseClassName:Cr(e),sortModifiers:Er(e),...mr(e)}),Mr=/\s+/,Rr=(e,t)=>{const{parseClassName:o,getClassGroupId:i,getConflictingClassGroupIds:n,sortModifiers:s}=t,r=[],d=e.trim().split(Mr);let a="";for(let p=d.length-1;p>=0;p-=1){const l=d[p],{isExternal:u,modifiers:c,hasImportantModifier:z,baseClassName:C,maybePostfixModifierPosition:P}=o(l);if(u){a=l+(a.length>0?" "+a:a);continue}let w=!!P,y=i(w?C.substring(0,P):C);if(!y){if(!w){a=l+(a.length>0?" "+a:a);continue}if(y=i(C),!y){a=l+(a.length>0?" "+a:a);continue}w=!1}const k=c.length===0?"":c.length===1?c[0]:s(c).join(":"),E=z?k+st:k,D=E+y;if(r.indexOf(D)>-1)continue;r.push(D);const q=n(y,w);for(let ee=0;ee<q.length;++ee){const K=q[ee];r.push(E+K)}a=l+(a.length>0?" "+a:a)}return a},Ar=(...e)=>{let t=0,o,i,n="";for(;t<e.length;)(o=e[t++])&&(i=Nt(o))&&(n&&(n+=" "),n+=i);return n},Nt=e=>{if(typeof e=="string")return e;let t,o="";for(let i=0;i<e.length;i++)e[i]&&(t=Nt(e[i]))&&(o&&(o+=" "),o+=t);return o},_r=(e,...t)=>{let o,i,n,s;const r=a=>{const p=t.reduce((l,u)=>u(l),e());return o=kr(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=Rr(a,o);return n(a,l),l};return s=r,(...a)=>s(Ar(...a))},Ir=[],xe=e=>{const t=o=>o[e]||Ir;return t.isThemeGetter=!0,t},Ot=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Lt=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Br=/^\d+\/\d+$/,Tr=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Nr=/\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$/,Or=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Lr=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Fr=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Oe=e=>Br.test(e),Q=e=>!!e&&!Number.isNaN(Number(e)),Me=e=>!!e&&Number.isInteger(Number(e)),at=e=>e.endsWith("%")&&Q(e.slice(0,-1)),Ee=e=>Tr.test(e),jr=()=>!0,Dr=e=>Nr.test(e)&&!Or.test(e),Ft=()=>!1,Gr=e=>Lr.test(e),Hr=e=>Fr.test(e),Wr=e=>!A(e)&&!_(e),Ur=e=>Le(e,Wt,Ft),A=e=>Ot.test(e),Ie=e=>Le(e,Ut,Dr),lt=e=>Le(e,Zr,Q),jt=e=>Le(e,Gt,Ft),Vr=e=>Le(e,Ht,Hr),$e=e=>Le(e,Vt,Gr),_=e=>Lt.test(e),We=e=>Fe(e,Ut),Yr=e=>Fe(e,Qr),Dt=e=>Fe(e,Gt),Xr=e=>Fe(e,Wt),Jr=e=>Fe(e,Ht),et=e=>Fe(e,Vt,!0),Le=(e,t,o)=>{const i=Ot.exec(e);return i?i[1]?t(i[1]):o(i[2]):!1},Fe=(e,t,o=!1)=>{const i=Lt.exec(e);return i?i[1]?t(i[1]):o:!1},Gt=e=>e==="position"||e==="percentage",Ht=e=>e==="image"||e==="url",Wt=e=>e==="length"||e==="size"||e==="bg-size",Ut=e=>e==="length",Zr=e=>e==="number",Qr=e=>e==="family-name",Vt=e=>e==="shadow",Ue=_r(()=>{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"),z=xe("drop-shadow"),C=xe("blur"),P=xe("perspective"),w=xe("aspect"),y=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"],q=()=>[...D(),_,A],ee=()=>["auto","hidden","clip","visible","scroll"],K=()=>["auto","contain","none"],v=()=>[_,A,a],O=()=>[Oe,"full","auto",...v()],J=()=>[Me,"none","subgrid",_,A],ne=()=>["auto",{span:["full",Me,_,A]},Me,_,A],U=()=>[Me,"auto",_,A],V=()=>["auto","min","max","fr",_,A],ae=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],M=()=>["start","end","center","stretch","center-safe","end-safe"],T=()=>["auto",...v()],X=()=>[Oe,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...v()],R=()=>[e,_,A],me=()=>[...D(),Dt,jt,{position:[_,A]}],ze=()=>["no-repeat",{repeat:["","x","y","space","round"]}],m=()=>["auto","cover","contain",Xr,Ur,{size:[_,A]}],B=()=>[at,We,Ie],F=()=>["","none","full",p,_,A],H=()=>["",Q,We,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,at,Dt,jt],S=()=>["","none",C,_,A],h=()=>["none",Q,_,A],b=()=>["none",Q,_,A],N=()=>[Q,_,A],Y=()=>[Oe,"full",...v()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Ee],breakpoint:[Ee],color:[jr],container:[Ee],"drop-shadow":[Ee],ease:["in","out","in-out"],font:[Wr],"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",Oe,A,_,w]}],container:["container"],columns:[{columns:[Q,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: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:O()}],"inset-x":[{"inset-x":O()}],"inset-y":[{"inset-y":O()}],start:[{start:O()}],end:[{end:O()}],top:[{top:O()}],right:[{right:O()}],bottom:[{bottom:O()}],left:[{left:O()}],visibility:["visible","invisible","collapse"],z:[{z:[Me,"auto",_,A]}],basis:[{basis:[Oe,"full","auto",d,...v()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Q,Oe,"auto","initial","none",A]}],grow:[{grow:["",Q,_,A]}],shrink:[{shrink:["",Q,_,A]}],order:[{order:[Me,"first","last","none",_,A]}],"grid-cols":[{"grid-cols":J()}],"col-start-end":[{col:ne()}],"col-start":[{"col-start":U()}],"col-end":[{"col-end":U()}],"grid-rows":[{"grid-rows":J()}],"row-start-end":[{row:ne()}],"row-start":[{"row-start":U()}],"row-end":[{"row-end":U()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":V()}],"auto-rows":[{"auto-rows":V()}],gap:[{gap:v()}],"gap-x":[{"gap-x":v()}],"gap-y":[{"gap-y":v()}],"justify-content":[{justify:[...ae(),"normal"]}],"justify-items":[{"justify-items":[...M(),"normal"]}],"justify-self":[{"justify-self":["auto",...M()]}],"align-content":[{content:["normal",...ae()]}],"align-items":[{items:[...M(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...M(),{baseline:["","last"]}]}],"place-content":[{"place-content":ae()}],"place-items":[{"place-items":[...M(),"baseline"]}],"place-self":[{"place-self":["auto",...M()]}],p:[{p:v()}],px:[{px:v()}],py:[{py:v()}],ps:[{ps:v()}],pe:[{pe:v()}],pt:[{pt:v()}],pr:[{pr:v()}],pb:[{pb:v()}],pl:[{pl:v()}],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":v()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":v()}],"space-y-reverse":["space-y-reverse"],size:[{size:X()}],w:[{w:[d,"screen",...X()]}],"min-w":[{"min-w":[d,"screen","none",...X()]}],"max-w":[{"max-w":[d,"screen","none","prose",{screen:[r]},...X()]}],h:[{h:["screen","lh",...X()]}],"min-h":[{"min-h":["screen","lh","none",...X()]}],"max-h":[{"max-h":["screen","lh",...X()]}],"font-size":[{text:["base",o,We,Ie]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[i,_,lt]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",at,A]}],"font-family":[{font:[Yr,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:[n,_,A]}],"line-clamp":[{"line-clamp":[Q,"none",_,lt]}],leading:[{leading:[s,...v()]}],"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:v()}],"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:m()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Me,_,A],radial:["",_,A],conic:[Me,_,A]},Jr,Vr]}],"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:F()}],"rounded-s":[{"rounded-s":F()}],"rounded-e":[{"rounded-e":F()}],"rounded-t":[{"rounded-t":F()}],"rounded-r":[{"rounded-r":F()}],"rounded-b":[{"rounded-b":F()}],"rounded-l":[{"rounded-l":F()}],"rounded-ss":[{"rounded-ss":F()}],"rounded-se":[{"rounded-se":F()}],"rounded-ee":[{"rounded-ee":F()}],"rounded-es":[{"rounded-es":F()}],"rounded-tl":[{"rounded-tl":F()}],"rounded-tr":[{"rounded-tr":F()}],"rounded-br":[{"rounded-br":F()}],"rounded-bl":[{"rounded-bl":F()}],"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,We,Ie]}],"outline-color":[{outline:R()}],shadow:[{shadow:["","none",l,et,$e]}],"shadow-color":[{shadow:R()}],"inset-shadow":[{"inset-shadow":["none",u,et,$e]}],"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",c,et,$e]}],"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:m()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",_,A]}],filter:[{filter:["","none",_,A]}],blur:[{blur:S()}],brightness:[{brightness:[Q,_,A]}],contrast:[{contrast:[Q,_,A]}],"drop-shadow":[{"drop-shadow":["","none",z,et,$e]}],"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":S()}],"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":v()}],"border-spacing-x":[{"border-spacing-x":v()}],"border-spacing-y":[{"border-spacing-y":v()}],"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",y,_,A]}],delay:[{delay:[Q,_,A]}],animate:[{animate:["none",k,_,A]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[P,_,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":v()}],"scroll-mx":[{"scroll-mx":v()}],"scroll-my":[{"scroll-my":v()}],"scroll-ms":[{"scroll-ms":v()}],"scroll-me":[{"scroll-me":v()}],"scroll-mt":[{"scroll-mt":v()}],"scroll-mr":[{"scroll-mr":v()}],"scroll-mb":[{"scroll-mb":v()}],"scroll-ml":[{"scroll-ml":v()}],"scroll-p":[{"scroll-p":v()}],"scroll-px":[{"scroll-px":v()}],"scroll-py":[{"scroll-py":v()}],"scroll-ps":[{"scroll-ps":v()}],"scroll-pe":[{"scroll-pe":v()}],"scroll-pt":[{"scroll-pt":v()}],"scroll-pr":[{"scroll-pr":v()}],"scroll-pb":[{"scroll-pb":v()}],"scroll-pl":[{"scroll-pl":v()}],"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,We,Ie,lt]}],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"]}}),Kr=({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}`,z=e?.sizeUnit==="pixels"?"Fixed":"Flexible",C=[z,`${n}: ${l}`,`size (state): ${u}`,`size (measured): ${c}`];return{stateValueDisplay:u,measuredValueDisplay:c,containerDisplay:l,headlineLabel:z,titleText:C.join(`
|
|
7
|
+
`)}},qr=x.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}=x.useMemo(()=>Kr({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%"},z={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%"},P={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:z,children:I.jsx("span",{children:p})}),I.jsxs("div",{style:C,children:[I.jsx("span",{children:s}),I.jsx("span",{style:P,children:a})]}),I.jsxs("div",{style:C,children:[I.jsx("span",{children:"size (state)"}),I.jsx("span",{style:P,children:r})]}),I.jsxs("div",{style:C,children:[I.jsx("span",{children:"size (measured)"}),I.jsx("span",{style:P,children:d})]})]})})}),$r={both:{collapseFromStart:!0,collapseFromEnd:!0},start:{collapseFromStart:!0,collapseFromEnd:!1},end:{collapseFromStart:!1,collapseFromEnd:!0}},en=e=>{if(!e)return{collapseFromStart:!1,collapseFromEnd:!1};const t=$r[e.from];if(!t)throw new Error("Invalid collapsible configuration: unsupported 'from' value");return t},Yt=({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))},tn=x.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:z="auto"})=>{const{direction:C,registerPanel:P,unregisterPanel:w,getPanel:y,showDebugInfo:k,isContainerReady:E,reportPanelMeasurement:D,containerSize:q}=Ye(),ee=x.useRef(null),K=x.useRef(e||Pt()),v=x.useMemo(()=>en(p),[p]),O=v.collapseFromStart||v.collapseFromEnd,J=x.useMemo(()=>O?v.collapseFromStart?"start":v.collapseFromEnd?"end":null:null,[O,v.collapseFromStart,v.collapseFromEnd]),ne=O&&l,U=x.useMemo(()=>Xe(t),[t]),V=U?.unit==="pixels",ae=V?void 0:U?.value,M=y(K.current),T=!!M?.collapsed,X=(M?.size??0)<=0,R=T||X,[me,ze]=x.useState(()=>V&&U?U.value:M?.size!==void 0?M.size:0),[m,B]=x.useState(()=>!V&&U?U.value:M?.percentageSize!==void 0?M.percentageSize:0),F=x.useRef(m);F.current=m;const H=x.useRef(me);H.current=me;const fe=x.useMemo(()=>Yt({ref:H,setState:ze,panelIdRef:K,label:"pixel"}),[]),ge=x.useMemo(()=>Yt({ref:F,setState:B,panelIdRef:K,label:"percentage"}),[]),f=x.useCallback(()=>{H.current!==0&&(H.current=0,ze(0)),F.current!==0&&(F.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(!E)return;let j=0;if(V&&U){let G=U.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 L=ne,oe=L?J:null;l&&!O&&console.warn("Panel defaultCollapsed is ignored because collapsible configuration is not provided.");const pe=O&&L&&V?j:void 0,le=O?ae:void 0,ce=V?j:void 0,de={id:K.current,size:L?0:j,percentageSize:L?0:ae,preferredPercentageSize:ae,preferredPixelSize:ce,sizeUnit:U?.unit||"percentage",originalPixelSize:V?j:void 0,minSize:o,maxSize:i,collapseFromStart:v.collapseFromStart,collapseFromEnd:v.collapseFromEnd,collapsedByDirection:oe,collapsed:L,sizeBeforeCollapse:pe,percentageSizeBeforeCollapse:le,preferredPercentageSizeBeforeCollapse:O?ae:void 0,preferredPixelSizeBeforeCollapse:O?ce:void 0,pixelAdjustPriority:u,flexAdjustPriority:c,autoMinSize:n};return P(de),()=>{w(K.current),D(K.current,null)}},[n,v.collapseFromEnd,v.collapseFromStart,l,U,c,O,E,V,i,o,u,J,ae,P,D,ne,w]);const S=M?.size??0;x.useEffect(()=>{const j=ee.current;if(!j)return;const L=()=>{if(!M)return;const de=j.parentElement;if(!de)return;const g=j.getBoundingClientRect(),G=ke(de,"horizontal"),ie=ke(de,"vertical"),te=C==="horizontal"?g.width:g.height,he=C==="horizontal"?G.inner:ie.inner,we=nt(he);if(R){f();return}const Re=M.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}M.size!==void 0&&fe(M.size),M.percentageSize!==void 0?ge(M.percentageSize):M.sizeUnit==="pixels"&&M.size!==void 0&&he>0&&ge(M.size/he*100)},oe=new ResizeObserver(()=>{L()});oe.observe(j),L();const pe=[],le=new MutationObserver(()=>{(()=>{if(!ee.current)return!1;const g=ee.current.getBoundingClientRect();return(C==="horizontal"?g.width:g.height)!==H.current})()&&setTimeout(L,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,M,C,R,f]);const h=M?.size,b=M?.percentageSize,N=M?.sizeUnit;x.useEffect(()=>{if(M){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,L=j?.parentElement;if(j&&L){const{width:oe,height:pe}=j.getBoundingClientRect(),le=L.clientWidth,ce=L.clientHeight,de=C==="horizontal"?oe:pe,g=C==="horizontal"?le:ce;if(de>0&&g>0){const G=de/g*100;ge(G)}}}}},[ge,fe,M,b,h,N,C,R,f]),x.useEffect(()=>{D(K.current,{pixelSize:me,percentageSize:m})},[D,me,m]);const Y=()=>R?"0px":M?.originalPixelSize!==void 0?`${S}px`:M?.percentageSize!==void 0?`${M.percentageSize}%`:`${S}px`,re=M?.sizeUnit==="percentage"&&!M?.collapsed?1:0,W={flexBasis:Y(),flexGrow:0,flexShrink:re,overflow:"hidden",position:"relative",boxSizing:"border-box",minHeight:"0px",minWidth:"0px",...r};C==="horizontal"?(W.height="100%",W.minWidth=0):(W.width="100%",W.minHeight=0),R&&(C==="horizontal"?(W.width="0px",W.minWidth="0px"):(W.height="0px",W.minHeight="0px"),W.flexGrow=0,W.flexShrink=0,W.pointerEvents="none",W.visibility="hidden",T&&(W.display="none"));const $=C==="horizontal"?q.width:q.height,Z=x.useMemo(()=>({position:"absolute",inset:"0px",overflow:z,display:"flex",flexDirection:"column",width:"100%",height:"100%",minWidth:"0px",minHeight:"0px"}),[z]);return I.jsxs("div",{ref:ee,className:Ue("panel",s),style:W,"data-panel-id":K.current,"data-panel-size":S,"data-panel-size-unit":M?.sizeUnit||"percentage","data-panel-pixel-size":M?.sizeUnit==="pixels"?M?.originalPixelSize:null,"data-panel-order":a,"data-panel-collapsible":O,"data-panel-collapse-start":v.collapseFromStart,"data-panel-collapse-end":v.collapseFromEnd,"data-panel-collapsed":M?.collapsed,"aria-hidden":R,children:[I.jsx("div",{style:Z,children:d}),k&&I.jsx(qr,{panel:M,measuredPixelSize:me,measuredPercentageSize:m,containerAxisSize:$,direction:C})]})}),rn=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}))),nn=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,n=0,s=!0,r=[],d={ownerId:null,groups:r};const a=()=>{for(const y of e)y()},p=()=>{s=!0,a()},l=()=>{const y=i;if(y&&o.has(y))return!1;i=null;const k=o.values().next();return k.done||(i=k.value),y!==i};return{subscribe:y=>(e.add(y),()=>{e.delete(y)}),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:y=>{const k=o.size;o.add(y),o.size!==k&&l()&&p()},disableGroup:y=>{o.delete(y)&&l()&&p()},updateGroup:(y,k)=>{const E=t.get(y),D=E?.index??n++,q=rn(k.panels),ee=nn(k.handles),K=E?.displayName!==k.displayName,v=E?.direction!==k.direction,O=E?E.containerSize.width!==k.containerSize.width||E.containerSize.height!==k.containerSize.height:!0;let J=E?.serializedPanels!==q;if(!J&&E)if(E.panels.length!==k.panels.length)J=!0;else for(let M=0;M<k.panels.length;M+=1){const T=E.panels[M],X=k.panels[M];if(!(T&&X)){J=!0;break}if(T.id!==X.id||T.size!==X.size||T.percentageSize!==X.percentageSize||T.collapsed!==X.collapsed||T.measuredPixelSize!==X.measuredPixelSize||T.measuredPercentageSize!==X.measuredPercentageSize){J=!0;break}}let ne=E?.serializedHandles!==ee;if(!ne&&E)if(E.handles.length!==k.handles.length)ne=!0;else for(let M=0;M<k.handles.length;M+=1){const T=E.handles[M],X=k.handles[M];if(!(T&&X)){ne=!0;break}if(T.id!==X.id||T.thickness!==X.thickness||T.visible!==X.visible||T.direction!==X.direction||T.startPanelId!==X.startPanelId||T.endPanelId!==X.endPanelId){ne=!0;break}}if(!E&&k.panels.length===0&&k.handles.length===0||E&&!K&&!v&&!O&&!J&&!ne)return;const U=k.panels.map(M=>({...M})),V=k.handles.map(M=>({...M})),ae={...k.containerSize};t.set(y,{groupId:y,displayName:k.displayName,direction:k.direction,containerSize:ae,panels:U,handles:V,index:D,serializedPanels:q,serializedHandles:ee}),p()},removeGroup:y=>{const k=t.delete(y),E=o.delete(y),D=l();(k||E||D)&&p()}}})(),on=()=>x.useSyncExternalStore(ve.subscribe,ve.getOwnerId,ve.getOwnerId),sn=()=>x.useSyncExternalStore(ve.subscribe,ve.getSnapshot,ve.getSnapshot),an=e=>{ve.enableGroup(e)},Xt=e=>{ve.disableGroup(e)},ln=(e,t)=>{ve.updateGroup(e,t)},Jt=e=>{ve.removeGroup(e)};let Zt=0;const cn=()=>(Zt+=1,`panel-group-${Zt}`),je=(e,t)=>typeof e!="number"||!Number.isFinite(e)?"—":`${(e<0?0:e).toFixed(8)}${t}`,dn={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"},un={display:"flex",justifyContent:"space-between",alignItems:"center",flexWrap:"wrap",gap:"12px"},fn={display:"flex",flexDirection:"column",gap:"4px"},pn={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"},mn={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"},gn={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"},Qt={display:"flex",justifyContent:"space-between",alignItems:"center",gap:"6px"},hn={display:"grid",gridTemplateColumns:"auto 1fr",gap:"2px 10px",color:"#e2e8f0"},xn={padding:"2px 6px",borderRadius:"9999px",fontSize:"10px",textTransform:"uppercase"},zn=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}},Sn=(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},Kt=(e,t,o)=>{const i=ke(e,"horizontal"),n=ke(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}},bn=e=>{const{id:t,className:o,style:i,children:n,direction:s}=e,{groupRef:r,contextValue:d,groupStyle:a}=Ct(e),[p,l]=x.useState({width:0,height:0}),u=d.layoutConstraintViolation,c=!!u,z=x.useMemo(()=>{if(!u)return null;const{summary:U,detail:V}=zn(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:U}),I.jsx("span",{className:"text-slate-500 text-xs dark:text-slate-400",children:V})]})},[u]),P=x.useRef(t??cn()).current,w=t??P,y=d.showDebugInfo&&d.panels.length>0,k=y?d.panels:[],E=y?d.panelMeasurements:{},D=x.useMemo(()=>{if(!y)return[];const U=Object.values(d.handleMeasurements);return U.length<=1?U:U.slice().sort((V,ae)=>V.id.localeCompare(ae.id))},[d.handleMeasurements,y]),q=d.containerSize,ee=p.width>0?p.width:q.width,K=p.height>0?p.height:q.height,v=on(),O=y&&v===P;x.useLayoutEffect(()=>{if(!y){l({width:0,height:0});return}if(typeof window>"u"||typeof ResizeObserver>"u")return;const U=r.current;if(!U)return;const V=M=>{l(T=>T.width===M.width&&T.height===M.height?T:M)},ae=new ResizeObserver(M=>{for(const T of M){if(T.target!==U)continue;const X=Kt(U,T.contentRect.width,T.contentRect.height);V(X)}});return ae.observe(U),V(Kt(U)),()=>{ae.disconnect()}},[r,y]);const J=x.useMemo(()=>Sn(k,E),[k,E]);x.useEffect(()=>{if(!y){Xt(P),Jt(P);return}return an(P),()=>{Xt(P),Jt(P)}},[y,P]),x.useEffect(()=>{y&&ln(P,{displayName:w,direction:s,containerSize:{width:ee,height:K},panels:J,handles:D})},[y,P,w,s,ee,K,J,D]);const ne=x.useMemo(()=>{const U={...a,...i};return U.position||(U.position="relative"),U},[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:ne,"data-panel-group-id":t,"data-panel-group-direction":s,children:[n,c&&z?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:z}):null]}),O&&I.jsx(Pn,{})]})},Pn=()=>{const t=sn().groups,[o,i]=x.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:{...dn,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:{...un,marginBottom:o?0:"12px"},children:[I.jsxs("div",{style:fn,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:{...pn,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:mn,children:[I.jsxs("div",{style:{...Qt,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 z=u.measuredPixelSize??u.size,C=u.size,P=je(C,"px"),w=u.percentageSize??(l>0?u.size/l*100:void 0),y=u.measuredPercentageSize!==void 0?u.measuredPercentageSize:l>0?z/l*100:void 0,k=u.collapsed||z<=ut,E=u.collapsed?"collapsed":k?"hidden":"visible",D=je(w,"%"),q=je(y,"%"),ee=je(z,"px");return I.jsxs("div",{style:gn,children:[I.jsxs("div",{style:Qt,children:[I.jsx("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis"},children:u.id}),I.jsx("span",{style:{...xn,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:hn,children:[I.jsx("span",{children:"size (state):"}),I.jsx("span",{children:P}),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: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 $t.createPortal(d,document.body)},yn=x.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:z,layoutConstraintViolation:C}=Ye(),[P,w]=x.useState(!1),y=x.useRef(null),k=x.useRef(null),E=x.useRef(""),D=x.useRef(""),[q,ee]=x.useState({left:null,right:null}),K=x.useRef(e??ir()),v=x.useRef(null),O=e??K.current,J=!!C,ne=t||J;x.useEffect(()=>{if(y.current){const h=y.current.parentElement;if(h){k.current=h;const b=Array.from(h.children),N=y.current,Y=b.indexOf(N);if(Y>0&&Y<b.length-1){let re=null,W=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){W=Z;break}}E.current=re?.dataset.panelId||"",D.current=W?.dataset.panelId||"",ee({left:E.current||null,right:D.current||null})}}}},[]),x.useEffect(()=>{if(O===K.current)return;const h=K.current;K.current=O,v.current=null,h!==O&&c(h,null)},[c,O]),x.useEffect(()=>{const h=K.current;return()=>{c(h,null)}},[c]);const U=x.useCallback(h=>{if(ne||!k.current)return;h.preventDefault(),h.stopPropagation();const b=k.current,{inner:N}=ke(b,r),Y={x:h.clientX,y:h.clientY},re=a(E.current),W=a(D.current);if(!(re&&W))return;const $=re.size,Z=W.size;let j=0;const L=tr;w(!0),s?.(!0),h.currentTarget.setPointerCapture(h.pointerId);const oe=le=>{if(!y.current)return;le.preventDefault(),le.stopPropagation();const ce=performance.now();if(ce-j<L)return;j=ce;const de=r==="horizontal"?le.clientX-Y.x:le.clientY-Y.y;if(de===0)return;const g=$+de,G=Z-de,ie=a(E.current),te=a(D.current);if(ie&&te&&E.current&&D.current){const he=se(ie.minSize,0,N),we=se(te.minSize,0,N),Re=he,ye=we,Be=Math.min(N*pt,mt),Te=Math.min(N*rr,nr),Ce=te.collapseFromStart,Ne=te.collapsedByDirection??"start";if(Ce&&!te.collapsed&&G<=Math.max(we*.3,Be)){p(D.current,"start");return}const En=ie.collapseFromEnd,kn=ie.collapsedByDirection??"end";if(En&&!ie.collapsed&&g<=Math.max(he*.3,Be)){p(E.current,"end");return}if(te.collapsed&&G>Math.max(we*.3,Te)){l(D.current,Ne,G);return}if(ie.collapsed&&g>Math.max(he*.3,Te)){l(E.current,kn,g);return}if(N>0){const qt=ie.size+te.size,tt=nt(N);let ct=!1;if(Re<=tt&&g<=tt&&$!==0){const Ve=Math.max(0,qt-0);Ve>=ye&&(d(E.current,D.current,0,Ve),ct=!0)}else if(ye<=tt&&G<=tt&&Z!==0){const Ve=Math.max(0,qt-0);Ve>=Re&&(d(E.current,D.current,Ve,0),ct=!0)}if(ct)return}if(ie.collapsed||te.collapsed)return;d(E.current,D.current,g,G)}},pe=()=>{w(!1),s?.(!1),document.removeEventListener("pointermove",oe),document.removeEventListener("pointerup",pe)};document.addEventListener("pointermove",oe),document.addEventListener("pointerup",pe)},[ne,r,d,a,p,l,s]),V=r==="horizontal",M=Ue("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",P&&"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<u.length;N+=1)if(u[N].id===b)return N;return-1};return{left:h(q.left),right:h(q.right)}},[q.left,q.right,u]),X=V?z.width:z.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 W=u[re];if(!W)continue;const $=W.size??0,Z=Math.max(0,$);Y+=W.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,u]),me=x.useMemo(()=>!Number.isFinite(R)||R<0?0:X>0&&R>X?X:R,[R,X]),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=`${ft}px`,h.height="100%"):(h.left=0,h.top=`${me}px`,h.transform="translateY(-50%)",h.height=`${ft}px`,h.width="100%"),h},[me,V]),m=x.useMemo(()=>{const h=nt(X),b=L=>{if(L<0||L>=u.length)return!1;const oe=u[L];return oe?oe.collapsed?!0:oe.size<=h:!1},N=(L,oe)=>{if(!b(L))return 0;let pe=0;for(let le=L;le>=0&&le<u.length&&b(le);le+=oe)pe+=1;return pe},Y=T.left,re=T.right,W=Y>=0?N(Y,-1):0,$=re>=0?N(re,1):0;return{groupSize:W+$+1,overlapIndex:W}},[T.left,T.right,u,X]),B=x.useMemo(()=>{if(J)return!0;if(m.groupSize<=1)return!1;const h=m.groupSize-1;return m.overlapIndex>0&&m.overlapIndex<h},[m,J]),F=x.useMemo(()=>{if(m.groupSize<=1||B)return 0;const h=m.groupSize>1?2:1;if(h===1)return 0;const b=m.overlapIndex===0?0:h-1,N=(h-1)/2;return(b-N)*er},[m,B]),H=x.useMemo(()=>{if(B)return{display:"none"};if(F!==0)return V?{transform:`translateX(${F}px)`}:{transform:`translateY(${F}px)`}},[F,V,B]),fe=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)]",V?"h-12 w-[6px] px-[2px]":"h-[6px] w-20 py-[2px]",P&&"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=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)]",V?"h-8 w-[2px]":"h-[2px] w-16",P&&"bg-blue-500 dark:bg-blue-300",!ne&&"group-hover:bg-slate-700 dark:group-hover:bg-slate-100"),f=x.useCallback(()=>{const h=y.current;if(!h)return;let b=0;if(!B){const re=r==="horizontal"?h.offsetWidth:h.offsetHeight;let W=0,$=0;if(typeof window<"u"){const j=window.getComputedStyle(h);r==="horizontal"?(W=Number.parseFloat(j.marginLeft||"0"),$=Number.parseFloat(j.marginRight||"0")):(W=Number.parseFloat(j.marginTop||"0"),$=Number.parseFloat(j.marginBottom||"0"))}b=[re,W,$].reduce((j,L)=>Number.isFinite(L)?j+L:j,0)}(!Number.isFinite(b)||b<0)&&(b=0);const N={id:O,thickness:b,direction:r,visible:!B&&b>or,startPanelId:q.left,endPanelId:q.right},Y=v.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||(v.current=N,c(O,N))},[r,q.left,q.right,c,O,B]);x.useEffect(()=>{f()},[f]),x.useEffect(()=>{const h=y.current;if(!h)return;if(typeof ResizeObserver>"u"){f();return}const b=new ResizeObserver(()=>{f()});return b.observe(h),()=>{b.disconnect()}},[f]);const S=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:y,className:M,style:S,onPointerDown:U,disabled:ne,"aria-hidden":B||void 0,"aria-label":`Resize ${V?"columns":"rows"} - Drag to collapse/expand panels`,"data-resize-handle-id":O,title:`ドラッグして${V?"列":"行"}をリサイズ、端まで移動して折りたたみ/展開`,children:n||I.jsx("div",{className:fe,style:H,children:I.jsx("span",{className:ge})})})}),vn=e=>document.querySelector(`[data-panel-id="${e}"]`),wn=e=>document.querySelector(`[data-panel-group-id="${e}"]`),Cn=e=>document.querySelector(`[data-resize-handle-id="${e}"]`);ue.Panel=tn,ue.PanelGroup=bn,ue.PanelGroupContext=rt,ue.PanelResizeHandle=yn,ue.clamp=Se,ue.generatePanelId=Pt,ue.getConstraintInPixels=se,ue.getContainerSize=ke,ue.getPanelElement=vn,ue.getPanelGroupElement=wn,ue.getResizeHandleElement=Cn,ue.loadLayout=vt,ue.normalizeSizeConfig=Xe,ue.saveLayout=yt,ue.usePanelControls=ar,ue.usePanelGroup=Ye,ue.useResizablePanels=Ct,Object.defineProperty(ue,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"}
|