@aiquants/resize-panels 1.9.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +129 -22
- package/dist/GlobalDebugOverlay-Cf3GOn2A.cjs +1 -0
- package/dist/{GlobalDebugOverlay-Do70T2l6.js → GlobalDebugOverlay-DQtUdNeF.js} +28 -28
- package/dist/GlobalDebugOverlay.d.ts +1 -18
- package/dist/Panel.d.ts +13 -7
- package/dist/PanelDebugInfo.d.ts +6 -10
- package/dist/PanelGroup.d.ts +1 -6
- package/dist/PanelResizeHandle.d.ts +2 -7
- package/dist/allocateLayout.d.ts +12 -0
- package/dist/context.d.ts +2 -11
- package/dist/debugOverlayStore-D7FT6zPE.js +135 -0
- package/dist/debugOverlayStore-DY09saU8.cjs +1 -0
- package/dist/debugOverlayStore.d.ts +7 -36
- package/dist/hooks.d.ts +12 -24
- package/dist/index-DZ0itiBD.js +1299 -0
- package/dist/index-DqATP_BA.cjs +2 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +10 -26
- package/dist/index.js +25 -13
- package/dist/reducer.d.ts +7 -38
- package/dist/roundHalfToEven.d.ts +0 -9
- package/dist/styles/resize-panels.standalone.css +1 -1
- package/dist/types.d.ts +67 -261
- package/dist/utils/simple-logger.d.ts +0 -74
- package/dist/utils.d.ts +10 -55
- package/package.json +2 -3
- package/dist/GlobalDebugOverlay-sEQN6exo.cjs +0 -1
- package/dist/GlobalDebugOverlay.d.ts.map +0 -1
- package/dist/Panel.d.ts.map +0 -1
- package/dist/PanelDebugInfo.d.ts.map +0 -1
- package/dist/PanelGroup.d.ts.map +0 -1
- package/dist/PanelResizeHandle.d.ts.map +0 -1
- package/dist/context.d.ts.map +0 -1
- package/dist/debugOverlayStore-Cntyxboe.js +0 -141
- package/dist/debugOverlayStore-Dkl-fHoa.cjs +0 -1
- package/dist/debugOverlayStore.d.ts.map +0 -1
- package/dist/hooks.d.ts.map +0 -1
- package/dist/index-B6YGX2DH.js +0 -2009
- package/dist/index-DssZUxGw.cjs +0 -2
- package/dist/index.d.ts.map +0 -1
- package/dist/reducer.d.ts.map +0 -1
- package/dist/roundHalfToEven.d.ts.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/utils/simple-logger.d.ts.map +0 -1
- package/dist/utils.d.ts.map +0 -1
- package/src/GlobalDebugOverlay.tsx +0 -284
- package/src/Panel.tsx +0 -635
- package/src/PanelDebugInfo.tsx +0 -148
- package/src/PanelGroup.tsx +0 -260
- package/src/PanelResizeHandle.tsx +0 -797
- package/src/context.ts +0 -25
- package/src/debugOverlayStore.ts +0 -351
- package/src/hooks.ts +0 -968
- package/src/index.ts +0 -84
- package/src/reducer.ts +0 -1234
- package/src/roundHalfToEven.ts +0 -40
- package/src/styles/components.entry.css +0 -10
- package/src/styles/resize-panels.css +0 -1
- package/src/styles/standalone.entry.css +0 -12
- package/src/types.ts +0 -419
- package/src/utils/simple-logger.ts +0 -186
- package/src/utils.ts +0 -279
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const s=require("react"),_=require("react/jsx-runtime"),Re=require("tailwind-merge"),yn=12,N=1e-6,Vn=8,Kn=6,qn=48,Yn=80,Xn=2,Zn=32,Jn=64,Qn=8,et=8,hn=10,En=.05,wn=10,nt=.05,tt=20,rt=.05,ot=(e,n=0)=>{if(!Number.isFinite(e))return e;const t=10**n,r=e*t,o=Math.floor(r),i=r-o,l=Number.EPSILON*Math.max(1,Math.abs(r));return i<.5-l?o/t:i>.5+l?(o+1)/t:(o%2===0?o:o+1)/t},it=6,qe=(e,n)=>n<=0?0:ot(e/n*100,it),st=(e,n)=>n<=0?0:e/100*n,Rn=(e,n="percentage")=>{if(e!==void 0)return typeof e=="number"?{value:e,unit:n}:e},$e=(e,n,t)=>e===void 0?n:typeof e=="number"?e/100*t:e.unit==="pixels"?e.value:e.value/100*t,Ie=(e,n,t)=>Math.min(Math.max(e,n),t),Ye=e=>!Number.isFinite(e)||e<=0?0:Math.max(0,Math.min(yn,wn,e*En)),ue=e=>{if(!e)return 0;const n=Number.parseFloat(e);return Number.isFinite(n)?n:0},be=(e,n,t)=>{const r=n==="horizontal",o=typeof window<"u"?window.getComputedStyle(e):null,i=o?r?ue(o.paddingLeft)+ue(o.paddingRight):ue(o.paddingTop)+ue(o.paddingBottom):0,l=o?r?ue(o.borderLeftWidth)+ue(o.borderRightWidth):ue(o.borderTopWidth)+ue(o.borderBottomWidth):0,a=t?.contentBoxSize?.[0],d=a?r?a.inlineSize:a.blockSize:void 0,u=r?e.clientWidth:e.clientHeight,x=u>0?Math.max(0,u-i):Math.max(0,(r?e.offsetWidth:e.offsetHeight)-i-l),c=d??x;return{content:Math.max(0,c),border:Math.max(0,c+i+l)}},lt="[data-panel-group-direction]",je="[data-panel-id], [data-resize-handle-anchor]",at="[data-panel-id]",Me=e=>e?.closest(lt)??null,Xe=e=>Array.from(e.querySelectorAll(je)).filter(n=>{if(Me(n)!==e)return!1;const t=n.parentElement?.closest(at);return!(t&&e.contains(t))}),ct=e=>{const n=t=>{for(const r of Array.from(t))if(r instanceof Element&&(r.matches(je)||r.querySelector(je)!==null))return!0;return!1};return e.some(t=>n(t.addedNodes)||n(t.removedNodes))},ut=(e,n)=>{if(typeof window>"u")return 1;const t=n==="horizontal",r=e.getBoundingClientRect(),o=t?r.width:r.height,i=window.getComputedStyle(e),l=t?i.width:i.height;if(!l.endsWith("px"))return 1;const a=Number.parseFloat(l);return o>0&&Number.isFinite(a)&&a>0?o/a:1},Ue=(e,n)=>{try{localStorage.setItem(`panel-layout-${e}`,JSON.stringify(n))}catch(t){console.warn("Failed to save panel layout:",t)}},Mn=e=>{try{const n=localStorage.getItem(`panel-layout-${e}`);if(!n)return null;const t=JSON.parse(n);if(!Array.isArray(t))return null;const r=o=>typeof o=="object"&&o!==null&&typeof o.id=="string"&&Number.isFinite(o.size);return t.every(r)?t:null}catch(n){return console.warn("Failed to load panel layout:",n),null}},We=0,In=1,_e=e=>Number.isFinite(e)&&e>0?e:0,Z=e=>e.sizeUnit==="pixels",de=(e,n)=>{const t=Math.max(0,_e($e(e.minSize,0,n))),r=Math.max(t,_e($e(e.maxSize,n,n)));return{min:t,max:r}},dt=(e,n)=>{const t=e.map(o=>o.min),r=e.map(()=>!1);for(;;){let o=0,i=0,l=0;for(let c=0;c<e.length;c+=1){if(r[c]){i+=t[c];continue}l+=1,o+=e[c].weight}if(l===0)return t;const a=n-i;if(o<=0){for(let c=0;c<e.length;c+=1)r[c]||(t[c]=e[c].min);return t}const d=Math.max(0,a/o);let u=0;for(let c=0;c<e.length;c+=1){if(r[c])continue;const I=d*e[c].weight,h=Ie(I,e[c].min,e[c].max);t[c]=h,u+=h-I}let x=!1;for(let c=0;c<e.length;c+=1){if(r[c])continue;const I=d*e[c].weight;u>N&&t[c]>I+N?(r[c]=!0,t[c]=e[c].min,x=!0):u<-N&&t[c]<I-N&&(r[c]=!0,t[c]=e[c].max,x=!0)}if(!x)return t}},pt=(e,n,t)=>{const{min:r,max:o}=de(e,t);if(Z(e))return{index:n,weight:0,target:Ie(_e(e.preferredPixelSize),r,o),priority:e.pixelAdjustPriority??0,tier:We,min:r,max:o};const i=_e(e.preferredPercentageSize),l=e.flexAdjustPriority!==void 0;return{index:n,weight:i,target:l?Ie(i/100*t,r,o):null,priority:e.flexAdjustPriority??0,tier:In,min:r,max:o}},mn=(e,n,t,r)=>{let o=r;for(const i of e){if(o<=N)break;const l=t(i)-n[i.index];if(l<=0)continue;const a=Math.min(l,o);n[i.index]+=a,o-=a}return o},Ve=(e,n,t)=>{if(e.length===0||t<=N)return t;const r=e.map(l=>({...l,min:n[l.index]})),o=dt(r,t+r.reduce((l,a)=>l+a.min,0));let i=0;for(let l=0;l<e.length;l+=1)i+=o[l]-n[e[l].index],n[e[l].index]=o[l];return t-i},ft=(e,n,t)=>Ve(e.map(r=>({...r,weight:1})),n,t),ht=(e,n)=>e.tier!==n.tier?e.tier-n.tier:e.priority!==n.priority?n.priority-e.priority:e.index-n.index,Cn=(e,n)=>{const t=e.map(()=>0);if(!Number.isFinite(n)||n<=0||e.length===0)return{sizes:t,violation:null};const r=[];for(let h=0;h<e.length;h+=1){const A=e[h];A.collapsed||r.push(pt(A,h,n))}if(r.length===0)return{sizes:t,violation:null};let o=0,i=0;for(const h of r)t[h.index]=h.min,o+=h.min,i+=h.max;const l=mt(o,i,n);let a=n-o;if(a<=N)return{sizes:t,violation:l};const d=r.filter(h=>h.target!==null).sort(ht),u=r.filter(h=>h.target===null&&h.weight>0),x=r.filter(h=>h.tier!==We&&h.weight<=0),c=d.filter(h=>h.tier===In),I=d.filter(h=>h.tier===We);return a=mn(d,t,h=>h.target??h.min,a),a=Ve(u,t,a),a=Ve(c,t,a),a=mn(I,t,h=>h.max,a),a=ft(x,t,a),{sizes:t,violation:l}},mt=(e,n,t)=>e-t>N?{reason:"minimum-exceeded",totalMinimumSize:e,totalMaximumSize:n,availableContainerSize:t}:t-n>N?{reason:"maximum-insufficient",totalMinimumSize:e,totalMaximumSize:n,availableContainerSize:t}:null,Ze=s.createContext(null),Ae=()=>{const e=s.useContext(Ze);if(!e)throw new Error("usePanelGroup must be used within a PanelGroup");return e};var De=(e=>(e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR",e[e.NONE=4]="NONE",e))(De||{});const X=class X{constructor(n=2,t="[resize-panels]",r=console){this.level=n,this.prefix=t,this.impl=r,X.instances.add(this)}static setLevel(n){for(const t of X.instances)t.setLevel(n)}setLevel(n){this.level=n}static setImplementation(n){for(const t of X.instances)t.setImplementation(n)}setImplementation(n){this.impl=n}static setPrefix(n){for(const t of X.instances)t.setPrefix(n)}setPrefix(n){this.prefix=n}enabledFor(n){return this.level<=n}formatMessage(n){return typeof n=="string"?[`${this.prefix} ${n}`]:[this.prefix,n]}static debug(n,...t){X.instance.debug(n,...t)}debug(n,...t){this.level<=0&&this.impl.debug(...this.formatMessage(n),...t)}static info(n,...t){X.instance.info(n,...t)}info(n,...t){this.level<=1&&this.impl.info(...this.formatMessage(n),...t)}static warn(n,...t){X.instance.warn(n,...t)}warn(n,...t){this.level<=2&&this.impl.warn(...this.formatMessage(n),...t)}static error(n,...t){X.instance.error(n,...t)}error(n,...t){this.level<=3&&this.impl.error(...this.formatMessage(n),...t)}};X.instances=new Set,X.instance=new X(2,"[resize-panels]");let Ce=X;const vn=new Ce(De.INFO,"[resize-panels]"),Nn={containerSize:0,panels:[],violation:null},gn=(e,n)=>e===null||n===null?e===n:e.reason===n.reason&&Math.abs(e.totalMinimumSize-n.totalMinimumSize)<=N&&Math.abs(e.totalMaximumSize-n.totalMaximumSize)<=N&&Math.abs(e.availableContainerSize-n.availableContainerSize)<=N,se=(e,n)=>{const{sizes:t,violation:r}=Cn(e,n);let o=!1;const i=e.map((a,d)=>{const u=a.collapsed?0:t[d];return Math.abs(a.size-u)<=N?a:(o=!0,{...a,size:u})}),l={containerSize:n,panels:o?i:e,violation:r};return gt(l),l},Ln=e=>{if(e.containerSize<=0||e.violation!==null)return null;let n=0,t=0;for(const o of e.panels)o.collapsed||(n+=o.size,t+=1);if(t===0)return null;const r=N*Math.max(1,e.containerSize);return!Number.isFinite(n)||Math.abs(n-e.containerSize)>r?{allocatedTotal:n,containerSize:e.containerSize}:null},gt=e=>{const n=Ln(e);n&&vn.error("Allocated sizes do not fill the container.",{...n,panels:e.panels.map(t=>({id:t.id,size:t.size,collapsed:t.collapsed}))})},le=(e,n)=>e.panels===n.panels&&e.containerSize===n.containerSize&&gn(e.violation,n.violation)?e:{containerSize:n.containerSize,panels:n.panels,violation:gn(e.violation,n.violation)?e.violation:n.violation},xt=(e,n)=>{const t=e.sizeUnit==="pixels"?e.preferredPixelSize:e.preferredPercentageSize;return{...e,size:0,collapsed:e.collapsed,collapsedByDirection:e.collapsed?n:null,preferenceBeforeCollapse:t,authoredPreference:t}},Ge=e=>e.collapseFromStart?"start":e.collapseFromEnd?"end":null,bt=(e,n)=>{if(n<=0)return e;const t=Ye(n);return e.map(r=>{if(r.collapsed)return r;const o=Z(r)?r.size:r.size/n*100,i=Z(r)?r.preferredPixelSize:r.preferredPercentageSize,l=r.size>t?o:r.preferenceBeforeCollapse;return i===o&&l===r.preferenceBeforeCollapse?r:Z(r)?{...r,preferredPixelSize:o,preferenceBeforeCollapse:l}:{...r,preferredPercentageSize:o,preferenceBeforeCollapse:l}})},Ke=(e,n,t)=>{if(Z(e)){const o=Math.max(0,n);return{...e,preferredPixelSize:o,preferenceBeforeCollapse:o}}if(t<=0)return e;const r=Math.max(0,n/t*100);return{...e,preferredPercentageSize:r,preferenceBeforeCollapse:r}},_n=(e,n)=>{const t=e.collapsed?e.preferenceBeforeCollapse:Z(e)?e.preferredPixelSize:e.preferredPercentageSize;return Z(e)?t:t/100*n},St=(e,n,t,r)=>{const o=Math.max(0,Math.min(t,r)),i=e.filter(u=>u.id!==n&&!u.collapsed&&!Z(u)),l=e.reduce((u,x)=>x.id!==n&&!x.collapsed&&Z(x)?u+x.size:u,0),a=i.reduce((u,x)=>u+x.size,0),d=Math.max(0,r-o-l);return e.map(u=>{if(u.id===n)return Ke(u,o,r);if(u.collapsed||Z(u)||i.length===0)return u;const x=a>0?u.size/a*d:d/i.length;return Ke(u,x,r)})},An=(e,n)=>{switch(n.type){case"SET_CONTAINER_SIZE":return!Number.isFinite(n.containerSize)||n.containerSize<0||n.containerSize===e.containerSize?e:le(e,se(e.panels,n.containerSize));case"REGISTER_PANEL":{const t=e.panels.findIndex(c=>c.id===n.panel.id);if(t===-1){const c=[...e.panels,xt(n.panel,Ge(n.panel))];return le(e,se(c,e.containerSize))}const r=e.panels[t],o=n.panel.sizeUnit==="pixels"?n.panel.preferredPixelSize:n.panel.preferredPercentageSize,i=o!==r.authoredPreference||n.panel.sizeUnit!==r.sizeUnit,l=r.collapsedByDirection==="start"?n.panel.collapseFromStart:r.collapsedByDirection==="end"?n.panel.collapseFromEnd:!1,a=n.panel.collapseFromStart||n.panel.collapseFromEnd,d=r.collapsed&&a,u={...r,...n.panel,collapsed:d,collapsedByDirection:d?l?r.collapsedByDirection:Ge(n.panel):null,preferredPercentageSize:i?n.panel.preferredPercentageSize:r.preferredPercentageSize,preferredPixelSize:i?n.panel.preferredPixelSize:r.preferredPixelSize,preferenceBeforeCollapse:i?o:r.preferenceBeforeCollapse,authoredPreference:o},x=[...e.panels];return x[t]=u,le(e,se(x,e.containerSize))}case"UNREGISTER_PANEL":{const t=e.panels.filter(r=>r.id!==n.id);return t.length===e.panels.length?e:le(e,se(t,e.containerSize))}case"REORDER_PANELS":{if(n.ids.length!==e.panels.length||new Set(n.ids).size!==n.ids.length)return e;const t=new Map(e.panels.map(o=>[o.id,o])),r=[];for(const o of n.ids){const i=t.get(o);if(!i)return e;r.push(i)}return r.every((o,i)=>o===e.panels[i])?e:le(e,se(r,e.containerSize))}case"RESIZE_PANELS":{const t=e.panels.findIndex(A=>A.id===n.startId),r=e.panels.findIndex(A=>A.id===n.endId);if(t===-1||r===-1)return e;const o=e.panels[t],i=e.panels[r];if(o.collapsed||i.collapsed||e.containerSize<=0||!Number.isFinite(n.startSize))return e;const l=o.size+i.size,a=de(o,e.containerSize),d=de(i,e.containerSize),u=Math.max(a.min,l-d.max),x=Math.min(a.max,l-d.min);if(u-x>N)return e;const c=Ie(n.startSize,u,Math.max(u,x)),I=l-c;if(Math.abs(c-o.size)<=N)return e;const h=[...e.panels];return h[t]={...o,size:c},h[r]={...i,size:I},le(e,se(bt(h,e.containerSize),e.containerSize))}case"COLLAPSE_PANEL":{const t=e.panels.findIndex(l=>l.id===n.id);if(t===-1)return e;const r=e.panels[t];if(!(n.from==="start"?r.collapseFromStart:r.collapseFromEnd)||r.collapsed)return e;const i=[...e.panels];return i[t]={...r,collapsed:!0,collapsedByDirection:n.from},le(e,se(i,e.containerSize))}case"EXPAND_PANEL":{const t=e.panels.findIndex(d=>d.id===n.id);if(t===-1||n.targetSize!==void 0&&e.containerSize<=0)return e;const r=e.panels[t];if(!((n.from==="start"?r.collapseFromStart:r.collapseFromEnd)&&r.collapsed)||r.collapsedByDirection!==null&&r.collapsedByDirection!==n.from)return e;const i={...r,collapsed:!1,collapsedByDirection:null,preferredPixelSize:Z(r)?r.preferenceBeforeCollapse:r.preferredPixelSize,preferredPercentageSize:Z(r)?r.preferredPercentageSize:r.preferenceBeforeCollapse},l=[...e.panels];l[t]=i;const a=n.targetSize===void 0?l:St(l,n.id,n.targetSize,e.containerSize);return le(e,se(a,e.containerSize))}case"RESTORE_LAYOUT":{if(n.entries.length!==e.panels.length||e.containerSize<=0)return e;const t=new Map(n.entries.map(o=>[o.id,o]));if(e.panels.some(o=>!t.has(o.id)))return e;const r=e.panels.map(o=>{const i=t.get(o.id);if(!i)return o;const l=Ke(o,i.size,e.containerSize),a=o.collapseFromStart||o.collapseFromEnd;return i.collapsed&&a?{...l,collapsed:!0,collapsedByDirection:o.collapsedByDirection??Ge(o)}:l.collapsed?{...l,collapsed:!1,collapsedByDirection:null}:l});return vn.debug("restore layout",{containerSize:e.containerSize,entries:n.entries}),le(e,se(r,e.containerSize))}default:return e}},zt=new Ce(De.INFO,"[resize-panels]"),Pt=200,yt="\0handle",Dn=({direction:e,style:n,onLayout:t,autoSaveId:r,showDebugInfo:o=!1})=>{const[i,l]=s.useReducer(An,Nn),[a,d]=s.useState({}),[u,x]=s.useState({}),c=s.useRef(null),[I,h]=s.useState(""),A=s.useRef({}),K=s.useRef(t);K.current=t,s.useLayoutEffect(()=>{const p=c.current;if(!p||typeof ResizeObserver>"u")return;let f=Number.NaN;const m=v=>{v!==f&&(f=v,l({type:"SET_CONTAINER_SIZE",containerSize:v}))},P=new ResizeObserver(v=>{m(be(p,e,v[0]).content)});return P.observe(p),m(be(p,e).content),()=>{P.disconnect()}},[e]);const C=i.panels,H=s.useRef(C);H.current=C;const k=s.useCallback(()=>{const p=c.current,f=H.current;if(!p)return;const m=Xe(p);if(h(v=>{const oe=m.map(pe=>pe.dataset.panelId??yt).join("\0");return v===oe?v:oe}),f.length===0)return;const P=[];for(const v of m){const oe=v.dataset.panelId;oe!==void 0&&P.push(oe)}if(new Set(P).size!==P.length){zt.error("Duplicate panel id in one group.",{ids:P});return}P.length!==f.length||P.every((v,oe)=>v===f[oe].id)||l({type:"REORDER_PANELS",ids:P})},[]);s.useLayoutEffect(()=>{const p=c.current;if(!p||(k(),typeof MutationObserver>"u"))return;const f=new MutationObserver(m=>{ct(m)&&k()});return f.observe(p,{childList:!0,subtree:!0}),()=>{f.disconnect()}},[k]),s.useLayoutEffect(()=>{k()},[k,C]);const S=s.useMemo(()=>C.map(p=>p.size),[C]),L=i.containerSize>0;s.useLayoutEffect(()=>{!L||S.length===0||K.current?.(S)},[S,L]);const E=s.useRef(null);s.useEffect(()=>{if(!r||E.current===r||!L||C.length===0)return;E.current=r;const p=Mn(r);p&&l({type:"RESTORE_LAYOUT",entries:p})},[r,L,C.length]);const W=s.useRef(null);s.useEffect(()=>{if(!(r&&E.current===r&&L)||C.length===0)return;const p=C.map(m=>({id:m.id,size:_n(m,i.containerSize),collapsed:m.collapsed}));W.current={id:r,entries:p};const f=setTimeout(()=>{W.current=null,Ue(r,p)},Pt);return()=>{clearTimeout(f)}},[r,C,i.containerSize,L]),s.useEffect(()=>()=>{const p=W.current;p&&(W.current=null,Ue(p.id,p.entries))},[]);const w=s.useCallback(p=>{const f=JSON.stringify(p);A.current[p.id]!==f&&(A.current[p.id]=f,l({type:"REGISTER_PANEL",panel:p}))},[]),D=s.useCallback(p=>{delete A.current[p],l({type:"UNREGISTER_PANEL",id:p}),d(f=>{if(!(p in f))return f;const m={...f};return delete m[p],m})},[]),M=s.useCallback((p,f,m)=>{l({type:"RESIZE_PANELS",startId:p,endId:f,startSize:m})},[]),J=s.useCallback((p,f)=>{l({type:"COLLAPSE_PANEL",id:p,from:f})},[]),O=s.useCallback((p,f,m)=>{l({type:"EXPAND_PANEL",id:p,from:f,targetSize:m})},[]),z=s.useCallback(p=>C.find(f=>f.id===p),[C]),b=s.useCallback((p,f)=>{d(m=>{if(f===null){if(!(p in m))return m;const v={...m};return delete v[p],v}const P=m[p];return P&&P.pixelSize===f.pixelSize&&P.percentageSize===f.percentageSize?m:{...m,[p]:f}})},[]),j=s.useCallback((p,f)=>{x(m=>{if(f===null){if(!(p in m))return m;const v={...m};return delete v[p],v}const P=m[p];return P&&P.thickness===f.thickness&&P.visible===f.visible&&P.direction===f.direction&&P.startPanelId===f.startPanelId&&P.endPanelId===f.endPanelId?m:{...m,[p]:f}})},[]),G=s.useMemo(()=>({direction:e,panels:C,containerSize:i.containerSize,layoutOrderKey:I,showDebugInfo:o,registerPanel:w,unregisterPanel:D,resizePanels:M,collapsePanel:J,expandPanel:O,getPanel:z,reportPanelMeasurement:b,panelMeasurements:a,reportHandleMeasurement:j,handleMeasurements:u,layoutConstraintViolation:i.violation}),[e,C,i.containerSize,I,i.violation,o,w,D,M,J,O,z,b,a,j,u]),q=s.useMemo(()=>({width:"100%",height:"100%",minWidth:"0px",minHeight:"0px",overflow:"hidden",...n,display:"flex",flexDirection:e==="horizontal"?"row":"column",alignItems:"stretch",gap:"0px",position:"relative",boxSizing:"border-box",writingMode:"horizontal-tb"}),[e,n]);return{groupRef:c,contextValue:G,groupStyle:q}},Et=e=>{const{getPanel:n,collapsePanel:t,expandPanel:r}=Ae(),o=n(e),i=s.useCallback(d=>{t(e,d)},[t,e]),l=s.useCallback((d,u)=>{r(e,d,u)},[r,e]),a=s.useCallback((d,u)=>{o?.collapsed?l(d,u):i(d)},[o?.collapsed,i,l]);return s.useMemo(()=>({panel:o,isCollapsed:o?.collapsed??!1,canCollapseFromStart:o?.collapseFromStart??!1,canCollapseFromEnd:o?.collapseFromEnd??!1,collapse:i,expand:l,toggle:a}),[o,i,l,a])},wt=({panel:e,containerAxisSize:n,containerLabel:t})=>{if(!e)return{sizeDisplay:"-",preferenceDisplay:"-",boundsDisplay:"-",containerDisplay:"-",headlineLabel:"Unregistered",titleText:"Unregistered"};const r=e.sizeUnit==="pixels",o=`${e.size.toFixed(3)}px / ${qe(e.size,n).toFixed(3)}%`,i=r?`${e.preferredPixelSize.toFixed(3)}px`:`${e.preferredPercentageSize.toFixed(3)}%`,l=de(e,n),a=`${l.min.toFixed(1)} - ${l.max.toFixed(1)}px`,d=Number.isFinite(n)?`${n.toFixed(3)}px`:"-",u=r?"Fixed":"Flexible",x=[u,`${t}: ${d}`,`size: ${o}`,`preference: ${i}`,`bounds: ${a}`].join(`
|
|
2
|
+
`);return{sizeDisplay:o,preferenceDisplay:i,boundsDisplay:a,containerDisplay:d,headlineLabel:u,titleText:x}},Rt=s.memo(({panel:e,containerAxisSize:n,direction:t})=>{const r=t==="horizontal"?"container width":"container height",{sizeDisplay:o,preferenceDisplay:i,boundsDisplay:l,containerDisplay:a,headlineLabel:d,titleText:u}=s.useMemo(()=>wt({panel:e,containerAxisSize:n,containerLabel:r}),[e,n,r]),x={position:"absolute",top:2,left:2,zIndex:30,pointerEvents:"none",maxWidth:"calc(100% - 4px)",padding:"2px 4px",borderRadius:4,border:"1px solid rgba(255,255,255,0.1)",backgroundColor:"rgba(15, 23, 42, 0.78)",color:"#e2e8f0",fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",fontSize:10,lineHeight:1.35,whiteSpace:"pre",overflow:"hidden",textOverflow:"ellipsis"};return _.jsxs("div",{style:x,title:u,"data-panel-debug-info":"",children:[_.jsxs("div",{children:[d," · ",r,": ",a]}),_.jsxs("div",{children:["size: ",o]}),_.jsxs("div",{children:["preference: ",i]}),_.jsxs("div",{children:["bounds: ",l]})]})}),xn=new Ce(De.INFO,"[resize-panels]"),Mt={both:{collapseFromStart:!0,collapseFromEnd:!0},start:{collapseFromStart:!0,collapseFromEnd:!1},end:{collapseFromStart:!1,collapseFromEnd:!0}},It=e=>{if(!e)return{collapseFromStart:!1,collapseFromEnd:!1};const n=Mt[e.from];if(!n)throw new Error("Invalid collapsible configuration: unsupported 'from' value");return n},Ct=e=>{const n=Math.max(0,e.value);return e.unit==="pixels"?{sizeUnit:"pixels",preferredPixelSize:n,preferredPercentageSize:0}:{sizeUnit:"percentage",preferredPercentageSize:n,preferredPixelSize:0}},vt=({size:e,panel:n,registration:t,containerSize:r,isCollapsed:o})=>{if(o)return{flexBasis:"0px",flexGrow:0,flexShrink:0};if(!n||r<=0){const d=t.sizeUnit==="pixels";return{flexBasis:d?`${t.preferredPixelSize}px`:`${t.preferredPercentageSize}%`,flexGrow:d?0:t.preferredPercentageSize,flexShrink:d?0:1}}if(n.sizeUnit==="pixels")return{flexBasis:`${e}px`,flexGrow:0,flexShrink:0};const i=de(n,r),l=e<i.max-N,a=l&&e>i.min+N;return{flexBasis:`${e}px`,flexGrow:l?n.preferredPercentageSize:0,flexShrink:a?1:0}},Nt=s.memo(({id:e,defaultSize:n={value:50,unit:"percentage"},minSize:t,maxSize:r,className:o,style:i,children:l,collapsible:a,defaultCollapsed:d=!1,pixelAdjustPriority:u,flexAdjustPriority:x,contentOverflow:c="auto",...I})=>{const{direction:h,registerPanel:A,unregisterPanel:K,getPanel:C,containerSize:H,showDebugInfo:k,reportPanelMeasurement:S}=Ae(),L=s.useRef(null),E=s.useId(),w=s.useRef(e||`panel-${E}`).current;s.useEffect(()=>{e&&e!==w&&xn.warn("Panel id prop change after mount is ignored.",{currentId:w,attemptedId:e})},[e,w]);const D=s.useMemo(()=>It(a),[a]),M=D.collapseFromStart||D.collapseFromEnd;s.useEffect(()=>{d&&!M&&xn.warn("Panel defaultCollapsed is ignored because collapsible configuration is not provided.",{panelId:w})},[d,M,w]);const J=s.useMemo(()=>{const f=Rn(n)??{value:50,unit:"percentage"};return{id:w,...Ct(f),minSize:t,maxSize:r,...D,collapsed:M&&d,pixelAdjustPriority:u,flexAdjustPriority:x}},[w,n,t,r,D,M,d,u,x]);s.useLayoutEffect(()=>{A(J)},[A,J]),s.useLayoutEffect(()=>()=>{K(w)},[K,w]);const O=C(w),z=O?.size??0,b=O?.collapsed??!1,j=s.useRef(H);j.current=H;const G=s.useCallback(()=>{const f=L.current;if(!f)return;const m=be(f,h).border;S(w,{pixelSize:m,percentageSize:qe(m,j.current)})},[h,w,S]);s.useEffect(()=>{if(!k){S(w,null);return}const f=L.current;if(!f||typeof ResizeObserver>"u"){G();return}const m=new ResizeObserver(G);return m.observe(f),G(),()=>{m.disconnect(),S(w,null)}},[k,G,w,S]);const q=s.useMemo(()=>{const f={overflow:"hidden",isolation:"isolate"},m=b?{...h==="horizontal"?{width:"0px"}:{height:"0px"},pointerEvents:"none",visibility:"hidden",display:"none"}:{};return{...f,...i,...vt({size:z,panel:O,registration:J,containerSize:H,isCollapsed:b}),order:0,margin:0,display:"flex",flexDirection:"column",position:"relative",boxSizing:"border-box",minWidth:0,minHeight:0,maxWidth:"none",maxHeight:"none",...h==="horizontal"?{height:"100%"}:{width:"100%"},...m}},[z,h,b,O,J,H,i]),p=s.useMemo(()=>({flex:"1 1 auto",position:"relative",overflow:c,display:"flex",flexDirection:"column",minWidth:"0px",minHeight:"0px"}),[c]);return _.jsxs("div",{...I,ref:L,className:Re.twMerge("panel",o),style:q,"data-panel-id":w,"data-panel-size":z,"data-panel-size-unit":O?.sizeUnit??"percentage","data-panel-collapsible":M,"data-panel-collapse-start":D.collapseFromStart,"data-panel-collapse-end":D.collapseFromEnd,"data-panel-collapsed":b,"aria-hidden":b,children:[_.jsx("div",{style:p,children:l}),k&&_.jsx(Rt,{panel:O,containerAxisSize:H,direction:h})]})}),Lt=s.lazy(()=>Promise.resolve().then(()=>require("./GlobalDebugOverlay-Cf3GOn2A.cjs")).then(e=>({default:e.GlobalDebugOverlayGate}))),_t=[],At={};let bn=0;const Dt=()=>(bn+=1,`panel-group-${bn}`),Ot=e=>{const n=e.reason==="minimum-exceeded",t=n?"Layout unavailable: minimum panel sizes exceed the container.":"Layout unavailable: panels cannot fill the container with their maximum sizes.",r=n?`Min required: ${Math.ceil(e.totalMinimumSize)}px | Available: ${Math.floor(e.availableContainerSize)}px`:`Max total: ${Math.floor(e.totalMaximumSize)}px | Needed: ${Math.floor(e.availableContainerSize)}px`;return{summary:t,detail:r}},Tt=(e,n)=>e.map(t=>{const r=n[t.id];return r?{...t,measuredPixelSize:r.pixelSize,measuredPercentageSize:r.percentageSize}:t}),Sn=(e,n,t)=>{const r=be(e,"horizontal"),o=be(e,"vertical"),i=e.getBoundingClientRect(),l=r.content>0?r.content:n??i.width,a=o.content>0?o.content:t??i.height;return{width:l,height:a}},Ft=e=>{const{id:n,className:t,style:r,children:o,direction:i,onLayout:l,autoSaveId:a,showDebugInfo:d,...u}=e,{groupRef:x,contextValue:c,groupStyle:I}=Dn(e),[h,A]=s.useState({width:0,height:0}),K=c.layoutConstraintViolation,C=!!K,H=s.useMemo(()=>{if(!K)return null;const{summary:z,detail:b}=Ot(K);return _.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:[_.jsx("span",{children:z}),_.jsx("span",{className:"text-slate-500 text-xs dark:text-slate-400",children:b})]})},[K]),k=s.useRef(null);k.current===null&&(k.current=n??Dt());const S=k.current,L=n??S,E=c.showDebugInfo&&c.panels.length>0,W=E?c.panels:_t,w=E?c.panelMeasurements:At,D=s.useMemo(()=>{if(!E)return[];const z=Object.values(c.handleMeasurements);return z.length<=1?z:z.slice().sort((b,j)=>b.id.localeCompare(j.id))},[c.handleMeasurements,E]),M=h.width,J=h.height;s.useLayoutEffect(()=>{if(!E){A({width:0,height:0});return}if(typeof window>"u"||typeof ResizeObserver>"u")return;const z=x.current;if(!z)return;const b=G=>{A(q=>q.width===G.width&&q.height===G.height?q:G)},j=new ResizeObserver(G=>{for(const q of G){if(q.target!==z)continue;const p=Sn(z,q.contentRect.width,q.contentRect.height);b(p)}});return j.observe(z),b(Sn(z)),()=>{j.disconnect()}},[x,E]);const O=s.useMemo(()=>Tt(W,w),[W,w]);return s.useEffect(()=>{if(!E)return;let z=!1,b=null;return Promise.resolve().then(()=>require("./debugOverlayStore-DY09saU8.cjs")).then(j=>{z||(b=j,j.enableDebugOverlayGroup(S))}),()=>{z=!0,b&&(b.disableDebugOverlayGroup(S),b.removeDebugOverlayGroup(S))}},[E,S]),s.useEffect(()=>{if(!E)return;let z=!1;return Promise.resolve().then(()=>require("./debugOverlayStore-DY09saU8.cjs")).then(b=>{z||b.updateDebugOverlayGroup(S,{displayName:L,direction:i,containerSize:{width:M,height:J},panels:O,handles:D})}),()=>{z=!0}},[E,S,L,i,M,J,O,D]),_.jsxs(Ze.Provider,{value:c,children:[_.jsxs("div",{...u,ref:x,className:Re.twMerge("panel-group",i==="horizontal"?"flex-row":"flex-col",t),style:I,"data-panel-group-id":n,"data-panel-group-direction":i,children:[o,C&&H?_.jsx("div",{className:"pointer-events-auto",style:{position:"absolute",inset:0,zIndex:60,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",backgroundColor:"rgba(248, 250, 252, 0.82)",backdropFilter:"blur(2px)"},children:H}):null]}),E&&_.jsx(s.Suspense,{fallback:null,children:_.jsx(Lt,{groupId:S})})]})},kt={display:"none",pointerEvents:"none",visibility:"hidden"},Bt={display:"none"},we=(e,n)=>typeof e!="number"||!Number.isFinite(e)||e<=0?n:e,Ht=e=>{const n=Math.round(e);return n%2===0?n:n+1},zn=e=>!e||typeof window>"u"?!1:window.getComputedStyle(e).direction==="rtl",Pn=(e,n,t)=>{const r=e.collapsed?0:e.size,o=n.collapsed?0:n.size,i=r+o;if(i<=0)return;const l=de(e,t),a=de(n,t),d=Math.max(l.min,i-a.max),u=Math.max(d,Math.min(l.max,i-a.min));if(e.collapsed)return{position:0,lower:0,upper:e.collapsedByDirection==="end"?Math.max(0,u):0,resizeLower:d,resizeUpper:u};if(n.collapsed){const I=n.collapsedByDirection==="start";return{position:i,lower:I?Math.min(i,d):i,upper:i,resizeLower:d,resizeUpper:u}}const x=Math.min(r,e.collapseFromEnd?0:d),c=Math.max(r,x,n.collapseFromStart?i:u);return{position:r,lower:x,upper:c,resizeLower:d,resizeUpper:u}},Gt=s.memo(e=>{const{id:n,disabled:t=!1,className:r,style:o,children:i,onDragging:l,thickness:a,indicator:d=!0,indicatorThickness:u,indicatorLength:x,indicatorBarThickness:c,indicatorBarLength:I,title:h,onPointerDown:A,onKeyDown:K,...C}=e,{direction:H,resizePanels:k,getPanel:S,collapsePanel:L,expandPanel:E,panels:W,layoutOrderKey:w,reportHandleMeasurement:D,containerSize:M,layoutConstraintViolation:J}=Ae(),[O,z]=s.useState(!1),[b,j]=s.useState({start:null,end:null}),G=s.useRef(null),q=s.useRef(null),p=s.useRef({getPanel:S,containerSize:M});p.current={getPanel:S,containerSize:M};const f=s.useRef(""),m=s.useRef(""),P=s.useRef(null),v=s.useRef(null),oe=s.useId(),pe=s.useRef(n??`resize-handle-${oe}`),fe=n??pe.current,y=H==="horizontal",Oe=!!J,Q=t||Oe,Qe=s.useCallback(()=>{const g=G.current,Y=Me(g);if(!(g&&Y))return;const B=Xe(Y),T=B.indexOf(g);let F="",U="";for(let $=T-1;$>=0;$-=1){const R=B[$].dataset.panelId;if(R!==void 0){F=R;break}}for(let $=T+1;$<B.length;$+=1){const R=B[$].dataset.panelId;if(R!==void 0){U=R;break}}F===f.current&&U===m.current||(f.current=F,m.current=U,j({start:F||null,end:U||null}))},[]);s.useEffect(()=>{Qe()},[Qe,w]),s.useEffect(()=>()=>{P.current?.()},[]);const en=s.useCallback(g=>{if(Q||P.current||g.button!==0)return;const Y=S(f.current),B=S(m.current);if(!(Y&&B))return;g.preventDefault(),g.stopPropagation();const T=f.current,F=m.current,U=Y.size,$=Y.size+B.size,R=y?g.clientX:g.clientY,ee=Me(G.current),ge=y&&zn(ee)?-1:1,ne=ee?ut(ee,H):1,he=g.pointerId,Pe=g.currentTarget;Pe.setPointerCapture?.(he),z(!0),l?.(!0);let on=0,ye=null;const sn=V=>{const xe=((y?V.clientX:V.clientY)-R)*ge/ne,Ee=U+xe,ke=$-Ee,Le=p.current,Be=Le.getPanel(T),He=Le.getPanel(F);if(!(Be&&He))return;const pn=Math.min(Le.containerSize*En,wn),fn=Math.min(Le.containerSize*nt,tt);if(He.collapsed){ke>fn&&E(F,"start",ke);return}if(Be.collapsed){Ee>fn&&E(T,"end",Ee);return}if(He.collapseFromStart&&ke<=pn){L(F,"start");return}if(Be.collapseFromEnd&&Ee<=pn){L(T,"end");return}k(T,F,Ee)},ln=V=>{if(V.pointerId!==he)return;V.preventDefault(),V.stopPropagation();const xe=performance.now();if(xe-on<et){ye=V;return}on=xe,ye=null,sn(V)};let an=!0;const Ne=()=>{an&&(an=!1,P.current=null,z(!1),l?.(!1),document.removeEventListener("pointermove",ln),document.removeEventListener("pointerup",cn),document.removeEventListener("pointercancel",un),Pe.removeEventListener("lostpointercapture",dn),Pe.hasPointerCapture?.(he)&&Pe.releasePointerCapture(he))},cn=V=>{if(V.pointerId===he){if(ye){const xe=ye;ye=null,sn(xe)}Ne()}},un=V=>{V.pointerId===he&&Ne()},dn=V=>{V.pointerId===he&&Ne()};document.addEventListener("pointermove",ln),document.addEventListener("pointerup",cn),document.addEventListener("pointercancel",un),Pe.addEventListener("lostpointercapture",dn),P.current=Ne},[Q,y,H,S,k,L,E,l]),nn=s.useCallback(g=>{if(Q)return;const Y=y?"ArrowLeft":"ArrowUp",B=y?"ArrowRight":"ArrowDown";if(g.key!==Y&&g.key!==B)return;const T=f.current,F=m.current,U=S(T),$=S(F);if(!(U&&$))return;const R=Pn(U,$,M);if(!R||R.upper-R.lower<=N)return;g.preventDefault(),g.stopPropagation();const ee=g.shiftKey?hn*5:hn,ge=y&&zn(Me(G.current))?-1:1,ne=(g.key===B?ee:-ee)*ge;if(U.collapsed){ne>0&&E(T,"end");return}if($.collapsed){ne<0&&E(F,"start");return}if(ne<0&&U.collapseFromEnd&&R.position<=R.resizeLower+N){L(T,"end");return}if(ne>0&&$.collapseFromStart&&R.position>=R.resizeUpper-N){L(F,"start");return}k(T,F,U.size+ne)},[Q,y,S,k,L,E,M]),ie=typeof d=="object"&&d!==null?d:void 0,Te=d===!1||ie?.visible===!1,te=Math.max(1,we(a,Vn)),On=y?qn:Yn,Tn=y?Zn:Jn,ae=Math.min(te,Math.max(1,we(u??ie?.thickness,Kn))),me=Math.max(1,we(x??ie?.length,On)),Se=Math.min(ae,Math.max(1,we(c??ie?.barThickness,Xn))),ze=Math.min(me,Math.max(1,we(I??ie?.barLength,Tn))),ce=s.useMemo(()=>{const g=Ye(M),Y=R=>{const ee=W[R];return ee?ee.collapsed||ee.size<=g:!1},B=(R,ee)=>{let ge=0;for(let ne=R;ne>=0&&ne<W.length&&Y(ne);ne+=ee)ge+=1;return ge},T=W.findIndex(R=>R.id===b.start),F=W.findIndex(R=>R.id===b.end),U=T>=0?B(T,-1):0,$=F>=0?B(F,1):0;return{groupSize:U+$+1,overlapIndex:U}},[b.start,b.end,W,M]),re=s.useMemo(()=>Oe?!0:ce.groupSize<=1?!1:ce.overlapIndex>0&&ce.overlapIndex<ce.groupSize-1,[ce,Oe]),ve=s.useMemo(()=>{if(ce.groupSize<=1||re)return 0;const g=Ht(Math.max(Qn,ae+4));return(ce.overlapIndex===0?-.5:.5)*g},[ce,re,ae]),Fn=s.useMemo(()=>{const g={position:"relative",flex:"0 0 0px",alignSelf:"stretch",order:0,margin:0,overflow:"visible",...y?{width:0,minWidth:0}:{height:0,minHeight:0}};return re?{...g,...kt}:g},[y,re]),tn=s.useMemo(()=>({"--rp-handle-thickness":`${te}px`,"--rp-indicator-thickness":`${ae}px`,"--rp-indicator-length":`${me}px`,"--rp-indicator-bar-thickness":`${Se}px`,"--rp-indicator-bar-length":`${ze}px`}),[te,ae,me,Se,ze]),kn=s.useMemo(()=>({...tn,...o,position:"absolute",zIndex:20,touchAction:"none",...y?{insetBlockStart:0,insetInlineStart:`${-te/2}px`,width:`${te}px`,height:"100%"}:{insetInlineStart:0,insetBlockStart:`${-te/2}px`,height:`${te}px`,width:"100%"}}),[y,te,tn,o]),Bn=s.useMemo(()=>{if(re||Te)return Bt;const g={width:`${y?ae:me}px`,height:`${y?me:ae}px`,flexShrink:0};return ve!==0&&(g.position="relative",y?g.insetInlineStart=`${ve}px`:g.insetBlockStart=`${ve}px`),g},[re,Te,y,ae,me,ve]),Hn=s.useMemo(()=>({width:`${y?Se:ze}px`,height:`${y?ze:Se}px`,flexShrink:0}),[y,Se,ze]),Gn=s.useMemo(()=>Re.twMerge("group absolute z-20 flex select-none items-center justify-center border-none bg-transparent transition-colors duration-150 overflow-visible",y?"cursor-col-resize h-full":"cursor-row-resize w-full",!Q&&"hover:bg-gray-200/70 dark:hover:bg-gray-700/70",!Q&&"active:bg-blue-300/60 dark:active:bg-blue-700/60",O&&"bg-blue-200/80 dark:bg-blue-800/60",Q&&"cursor-not-allowed opacity-50","focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-opacity-50",r),[y,Q,O,r]),$n=s.useMemo(()=>Re.twMerge("pointer-events-none flex items-center justify-center rounded-full bg-white text-slate-700 ring-1 ring-inset ring-white/80 backdrop-blur-sm transition-colors duration-150 shadow-[0_0_0_1px_rgba(255,255,255,0.85),0_1px_3px_rgba(15,23,42,0.18)]","dark:bg-slate-800/95 dark:text-slate-200 dark:ring-slate-500/60 dark:shadow-[0_0_0_1px_rgba(148,163,184,0.45),0_1px_3px_rgba(2,6,23,0.55)]",O&&"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)]",ie?.className),[O,ie?.className]),jn=s.useMemo(()=>Re.twMerge("pointer-events-none rounded-full bg-slate-600 transition-colors duration-150 shadow-[0_0_0_1px_rgba(255,255,255,0.9)] dark:bg-slate-200 dark:shadow-[0_0_0_1px_rgba(15,23,42,0.55)]",O&&"bg-blue-500 dark:bg-blue-300",!Q&&"group-hover:bg-slate-700 dark:group-hover:bg-slate-100",ie?.barClassName),[O,Q,ie?.barClassName]);s.useEffect(()=>{if(fe===pe.current)return;const g=pe.current;pe.current=fe,v.current=null,D(g,null)},[D,fe]),s.useEffect(()=>{const g={id:fe,thickness:re?0:te,direction:H,visible:!re&&te>rt,startPanelId:b.start,endPanelId:b.end};v.current=g,D(fe,g)},[fe,te,re,H,b.start,b.end,D]),s.useEffect(()=>()=>{D(pe.current,null)},[D]);const Un=s.useCallback(g=>{A?.(g),g.defaultPrevented||en(g)},[A,en]),Wn=s.useCallback(g=>{K?.(g),g.defaultPrevented||nn(g)},[K,nn]),rn=`Resize ${y?"columns":"rows"} - Drag or use arrow keys to resize, drag to the edge to collapse/expand panels`,Fe=s.useMemo(()=>{const g=b.start===null?void 0:S(b.start),Y=b.end===null?void 0:S(b.end);if(!(g&&Y)||M<=0)return;const B=Pn(g,Y,M);if(!B)return;const T=F=>Math.round(F/M*100);return{now:T(B.position),min:T(B.lower),max:T(B.upper)}},[b.start,b.end,S,M]);return _.jsx("div",{ref:G,style:Fn,"data-resize-handle-anchor":"",children:_.jsx("button",{...C,type:"button",ref:q,className:Gn,style:kn,onPointerDown:Un,onKeyDown:Wn,disabled:Q,role:"separator","aria-orientation":y?"vertical":"horizontal","aria-valuenow":Fe?.now,"aria-valuemin":Fe?.min,"aria-valuemax":Fe?.max,"aria-disabled":Q||void 0,"aria-hidden":re||void 0,"aria-label":C["aria-label"]??rn,"data-resize-handle-id":fe,title:h??rn,children:i||!Te&&_.jsx("div",{className:$n,style:Bn,"data-resize-handle-indicator":"","aria-hidden":"true",children:_.jsx("span",{className:jn,style:Hn,"data-resize-handle-indicator-bar":"","aria-hidden":"true"})})})})}),Je=e=>typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(e):e.replace(/["\\]/g,"\\$&"),$t=e=>typeof document>"u"?null:document.querySelector(`[data-panel-id="${Je(e)}"]`),jt=e=>typeof document>"u"?null:document.querySelector(`[data-panel-group-id="${Je(e)}"]`),Ut=e=>typeof document>"u"?null:document.querySelector(`[data-resize-handle-id="${Je(e)}"]`);exports.PANEL_SNAP_THRESHOLD=yn;exports.Panel=Nt;exports.PanelGroup=Ft;exports.PanelGroupContext=Ze;exports.PanelResizeHandle=Gt;exports.allocatePanelSizes=Cn;exports.calculateSnapThreshold=Ye;exports.clamp=Ie;exports.findLayoutInvariantBreach=Ln;exports.findOwningGroup=Me;exports.getConstraintInPixels=$e;exports.getContainerSize=be;exports.getGroupLayoutElements=Xe;exports.getPanelElement=$t;exports.getPanelGroupElement=jt;exports.getPanelPreferenceInPixels=_n;exports.getResizeHandleElement=Ut;exports.initialPanelGroupLayoutState=Nn;exports.isPixelPanel=Z;exports.loadLayout=Mn;exports.normalizeSizeConfig=Rn;exports.panelReducer=An;exports.percentageToPixels=st;exports.resolvePanelBounds=de;exports.saveLayout=Ue;exports.toRoundedPercentage=qe;exports.usePanelControls=Et;exports.usePanelGroup=Ae;exports.useResizablePanels=Dn;
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-DqATP_BA.cjs");exports.Panel=e.Panel;exports.PanelGroup=e.PanelGroup;exports.PanelGroupContext=e.PanelGroupContext;exports.PanelResizeHandle=e.PanelResizeHandle;exports.allocatePanelSizes=e.allocatePanelSizes;exports.calculateSnapThreshold=e.calculateSnapThreshold;exports.clamp=e.clamp;exports.findLayoutInvariantBreach=e.findLayoutInvariantBreach;exports.findOwningGroup=e.findOwningGroup;exports.getConstraintInPixels=e.getConstraintInPixels;exports.getContainerSize=e.getContainerSize;exports.getGroupLayoutElements=e.getGroupLayoutElements;exports.getPanelElement=e.getPanelElement;exports.getPanelGroupElement=e.getPanelGroupElement;exports.getPanelPreferenceInPixels=e.getPanelPreferenceInPixels;exports.getResizeHandleElement=e.getResizeHandleElement;exports.initialPanelGroupLayoutState=e.initialPanelGroupLayoutState;exports.isPixelPanel=e.isPixelPanel;exports.loadLayout=e.loadLayout;exports.normalizeSizeConfig=e.normalizeSizeConfig;exports.panelReducer=e.panelReducer;exports.percentageToPixels=e.percentageToPixels;exports.resolvePanelBounds=e.resolvePanelBounds;exports.saveLayout=e.saveLayout;exports.toRoundedPercentage=e.toRoundedPercentage;exports.usePanelControls=e.usePanelControls;exports.usePanelGroup=e.usePanelGroup;exports.useResizablePanels=e.useResizablePanels;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,29 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export {
|
|
8
|
-
export {
|
|
9
|
-
export {
|
|
10
|
-
export {
|
|
11
|
-
export { PanelResizeHandle } from './PanelResizeHandle';
|
|
12
|
-
export type { CollapsibleConfig, CollapsibleDirection, ContainerAxisMeasurement, ContainerSize, FlexibleSize, LayoutConstraintViolation, LayoutConstraintViolationReason, PanelCollapseDirection, PanelDirection, PanelGroupContextValue, PanelGroupProps, PanelLayoutData, PanelMeasurement, PanelProps, PanelResizeHandleIndicatorConfig, PanelResizeHandleProps, ResizeHandleLayoutData, SizeConfig, SizeUnit, } from './types';
|
|
13
|
-
export { clamp, getConstraintInPixels, getContainerSize, loadLayout, normalizeSizeConfig, saveLayout, } from './utils';
|
|
14
|
-
/**
|
|
15
|
-
* Locate a panel element in the DOM by its data attribute.
|
|
16
|
-
* data 属性を手がかりにパネル要素を DOM から取得する補助関数。
|
|
17
|
-
*/
|
|
1
|
+
export type { LayoutAllocation, PanelBounds } from "./allocateLayout";
|
|
2
|
+
export { allocatePanelSizes, isPixelPanel, resolvePanelBounds } from "./allocateLayout";
|
|
3
|
+
export { PanelGroupContext, usePanelGroup } from "./context";
|
|
4
|
+
export { usePanelControls, useResizablePanels } from "./hooks";
|
|
5
|
+
export { Panel } from "./Panel";
|
|
6
|
+
export { PanelGroup } from "./PanelGroup";
|
|
7
|
+
export { PanelResizeHandle } from "./PanelResizeHandle";
|
|
8
|
+
export { findLayoutInvariantBreach, getPanelPreferenceInPixels, initialPanelGroupLayoutState, panelReducer } from "./reducer";
|
|
9
|
+
export type { CollapsibleConfig, CollapsibleDirection, ContainerAxisMeasurement, FlexibleSize, LayoutConstraintViolation, LayoutConstraintViolationReason, PanelAction, PanelCollapseDirection, PanelDirection, PanelGroupContextValue, PanelGroupLayoutState, PanelGroupProps, PanelLayoutData, PanelMeasurement, PanelProps, PanelRegistration, PanelResizeHandleIndicatorConfig, PanelResizeHandleProps, PersistedPanelSize, ResizeHandleLayoutData, SizeConfig, SizeUnit, } from "./types";
|
|
10
|
+
export { calculateSnapThreshold, clamp, findOwningGroup, getConstraintInPixels, getContainerSize, getGroupLayoutElements, loadLayout, normalizeSizeConfig, percentageToPixels, saveLayout, toRoundedPercentage, } from "./utils";
|
|
18
11
|
export declare const getPanelElement: (id: string) => HTMLElement | null;
|
|
19
|
-
/**
|
|
20
|
-
* Locate a panel group element in the DOM by its data attribute.
|
|
21
|
-
* data 属性を手がかりにパネルグループ要素を DOM から取得する補助関数。
|
|
22
|
-
*/
|
|
23
12
|
export declare const getPanelGroupElement: (id: string) => HTMLElement | null;
|
|
24
|
-
/**
|
|
25
|
-
* Locate a resize handle element in the DOM by its data attribute.
|
|
26
|
-
* data 属性を手がかりにリサイズハンドル要素を DOM から取得する補助関数。
|
|
27
|
-
*/
|
|
28
13
|
export declare const getResizeHandleElement: (id: string) => HTMLElement | null;
|
|
29
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -1,19 +1,31 @@
|
|
|
1
|
-
import { a as s, b as n, c as l, d as t, e as o,
|
|
1
|
+
import { a as s, b as n, c as l, d as t, e as o, f as i, g as r, h as u, i as P, j as p, k as g, l as d, m as c, n as m, o as z, p as x, q as G, r as f, s as y, t as C, u as L, v as R, w as S, x as h, y as v, z as E, A as B, B as I } from "./index-DZ0itiBD.js";
|
|
2
2
|
export {
|
|
3
3
|
s as Panel,
|
|
4
4
|
n as PanelGroup,
|
|
5
5
|
l as PanelGroupContext,
|
|
6
6
|
t as PanelResizeHandle,
|
|
7
|
-
o as
|
|
8
|
-
i as
|
|
9
|
-
r as
|
|
10
|
-
u as
|
|
11
|
-
P as
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
7
|
+
o as allocatePanelSizes,
|
|
8
|
+
i as calculateSnapThreshold,
|
|
9
|
+
r as clamp,
|
|
10
|
+
u as findLayoutInvariantBreach,
|
|
11
|
+
P as findOwningGroup,
|
|
12
|
+
p as getConstraintInPixels,
|
|
13
|
+
g as getContainerSize,
|
|
14
|
+
d as getGroupLayoutElements,
|
|
15
|
+
c as getPanelElement,
|
|
16
|
+
m as getPanelGroupElement,
|
|
17
|
+
z as getPanelPreferenceInPixels,
|
|
18
|
+
x as getResizeHandleElement,
|
|
19
|
+
G as initialPanelGroupLayoutState,
|
|
20
|
+
f as isPixelPanel,
|
|
21
|
+
y as loadLayout,
|
|
22
|
+
C as normalizeSizeConfig,
|
|
23
|
+
L as panelReducer,
|
|
24
|
+
R as percentageToPixels,
|
|
25
|
+
S as resolvePanelBounds,
|
|
26
|
+
h as saveLayout,
|
|
27
|
+
v as toRoundedPercentage,
|
|
28
|
+
E as usePanelControls,
|
|
29
|
+
B as usePanelGroup,
|
|
30
|
+
I as useResizablePanels
|
|
19
31
|
};
|
package/dist/reducer.d.ts
CHANGED
|
@@ -1,39 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
} | {
|
|
6
|
-
type: "UNREGISTER_PANEL";
|
|
7
|
-
id: string;
|
|
8
|
-
} | {
|
|
9
|
-
type: "RESIZE_PANELS";
|
|
10
|
-
leftId: string;
|
|
11
|
-
rightId: string;
|
|
12
|
-
leftSize: number;
|
|
13
|
-
rightSize: number;
|
|
14
|
-
containerSize?: number;
|
|
15
|
-
} | {
|
|
16
|
-
type: "SET_PANELS";
|
|
17
|
-
panels: PanelLayoutData[];
|
|
18
|
-
} | {
|
|
19
|
-
type: "CONTAINER_RESIZED";
|
|
1
|
+
import { PanelAction, PanelGroupLayoutState, PanelLayoutData } from "./types";
|
|
2
|
+
export declare const initialPanelGroupLayoutState: PanelGroupLayoutState;
|
|
3
|
+
export declare const findLayoutInvariantBreach: (state: PanelGroupLayoutState) => {
|
|
4
|
+
allocatedTotal: number;
|
|
20
5
|
containerSize: number;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
id: string;
|
|
25
|
-
containerSize: number;
|
|
26
|
-
from: PanelCollapseDirection;
|
|
27
|
-
} | {
|
|
28
|
-
type: "EXPAND_PANEL";
|
|
29
|
-
id: string;
|
|
30
|
-
containerSize: number;
|
|
31
|
-
from: PanelCollapseDirection;
|
|
32
|
-
targetSize?: number;
|
|
33
|
-
};
|
|
34
|
-
/**
|
|
35
|
-
* Handle panel registration and size updates for the panel group.
|
|
36
|
-
* パネルグループ内の登録・サイズ更新を処理するリデューサー。
|
|
37
|
-
*/
|
|
38
|
-
export declare const panelReducer: (state: PanelLayoutData[], action: PanelAction) => PanelLayoutData[];
|
|
39
|
-
//# sourceMappingURL=reducer.d.ts.map
|
|
6
|
+
} | null;
|
|
7
|
+
export declare const getPanelPreferenceInPixels: (panel: PanelLayoutData, containerSize: number) => number;
|
|
8
|
+
export declare const panelReducer: (state: PanelGroupLayoutState, action: PanelAction) => PanelGroupLayoutState;
|
|
@@ -1,10 +1 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Round a number to specified digits using banker's rounding (round half to even).
|
|
3
|
-
* 指定した桁で銀行丸め (最近接偶数への丸め) を行う関数。
|
|
4
|
-
*
|
|
5
|
-
* @param value - 丸め対象の数値
|
|
6
|
-
* @param digits - 丸める桁数 (0: 整数, 1: 小数第1位, -1: 十の位)
|
|
7
|
-
* @returns 丸められた数値
|
|
8
|
-
*/
|
|
9
1
|
export declare const roundHalfToEven: (value: number, digits?: number) => number;
|
|
10
|
-
//# sourceMappingURL=roundHalfToEven.d.ts.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
|
|
2
2
|
/*! @aiquants/resize-panels standalone CSS — 非 Tailwind ホスト専用。ホストの Tailwind ビルドと混在させないこと */
|
|
3
|
-
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-700:oklch(37.3% .034 259.733);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--radius-lg:.5rem;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.z-20{z-index:20}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-full{height:100%}.w-full{width:100%}.flex-1{flex:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-col-resize{cursor:col-resize}.cursor-not-allowed{cursor:not-allowed}.cursor-row-resize{cursor:row-resize}.resize{resize:both}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.overflow-visible{overflow:visible}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-slate-300{border-color:var(--color-slate-300)}.bg-blue-200\/80{background-color:#bedbffcc}@supports (color:color-mix(in lab, red, red)){.bg-blue-200\/80{background-color:color-mix(in oklab, var(--color-blue-200) 80%, transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.bg-slate-100\/70{background-color:#f1f5f9b3}@supports (color:color-mix(in lab, red, red)){.bg-slate-100\/70{background-color:color-mix(in oklab, var(--color-slate-100) 70%, transparent)}}.bg-slate-600{background-color:var(--color-slate-600)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.opacity-50{opacity:.5}.shadow-\[0_0_0_1px_rgba\(191\,219\,254\,0\.65\)\,0_1px_4px_rgba\(59\,130\,246\,0\.45\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#bfdbfea6), 0 1px 4px var(--tw-shadow-color,#3b82f673);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_0_1px_rgba\(255\,255\,255\,0\.9\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#ffffffe6);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_0_1px_rgba\(255\,255\,255\,0\.85\)\,0_1px_3px_rgba\(15\,23\,42\,0\.18\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#ffffffd9), 0 1px 3px var(--tw-shadow-color,#0f172a2e);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-blue-300{--tw-ring-color:var(--color-blue-300)}.ring-white\/80{--tw-ring-color:#fffc}@supports (color:color-mix(in lab, red, red)){.ring-white\/80{--tw-ring-color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.select-none{-webkit-user-select:none;user-select:none}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.group-hover\:bg-slate-700:is(:where(.group):hover *){background-color:var(--color-slate-700)}.hover\:bg-gray-200\/70:hover{background-color:#e5e7ebb3}@supports (color:color-mix(in lab, red, red)){.hover\:bg-gray-200\/70:hover{background-color:color-mix(in oklab, var(--color-gray-200) 70%, transparent)}}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:bg-blue-300\/60:active{background-color:#90c5ff99}@supports (color:color-mix(in lab, red, red)){.active\:bg-blue-300\/60:active{background-color:color-mix(in oklab, var(--color-blue-300) 60%, transparent)}}.dark\:border-slate-600:where(.dark,.dark *){border-color:var(--color-slate-600)}.dark\:bg-blue-300:where(.dark,.dark *){background-color:var(--color-blue-300)}.dark\:bg-blue-800\/60:where(.dark,.dark *){background-color:#193cb899}@supports (color:color-mix(in lab, red, red)){.dark\:bg-blue-800\/60:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-blue-800) 60%, transparent)}}.dark\:bg-blue-900\/70:where(.dark,.dark *){background-color:#1c398eb3}@supports (color:color-mix(in lab, red, red)){.dark\:bg-blue-900\/70:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-blue-900) 70%, transparent)}}.dark\:bg-slate-200:where(.dark,.dark *){background-color:var(--color-slate-200)}.dark\:bg-slate-800\/50:where(.dark,.dark *){background-color:#1d293d80}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-800\/50:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-slate-800) 50%, transparent)}}.dark\:bg-slate-800\/95:where(.dark,.dark *){background-color:#1d293df2}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-800\/95:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-slate-800) 95%, transparent)}}.dark\:text-slate-200:where(.dark,.dark *){color:var(--color-slate-200)}.dark\:text-slate-400:where(.dark,.dark *){color:var(--color-slate-400)}.dark\:shadow-\[0_0_0_1px_rgba\(15\,23\,42\,0\.55\)\]:where(.dark,.dark *){--tw-shadow:0 0 0 1px var(--tw-shadow-color,#0f172a8c);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.dark\:shadow-\[0_0_0_1px_rgba\(147\,197\,253\,0\.5\)\,0_1px_4px_rgba\(59\,130\,246\,0\.55\)\]:where(.dark,.dark *){--tw-shadow:0 0 0 1px var(--tw-shadow-color,#93c5fd80), 0 1px 4px var(--tw-shadow-color,#3b82f68c);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.dark\:shadow-\[0_0_0_1px_rgba\(148\,163\,184\,0\.45\)\,0_1px_3px_rgba\(2\,6\,23\,0\.55\)\]:where(.dark,.dark *){--tw-shadow:0 0 0 1px var(--tw-shadow-color,#94a3b873), 0 1px 3px var(--tw-shadow-color,#0206178c);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.dark\:ring-blue-400:where(.dark,.dark *){--tw-ring-color:var(--color-blue-400)}.dark\:ring-slate-500\/60:where(.dark,.dark *){--tw-ring-color:#62748e99}@supports (color:color-mix(in lab, red, red)){.dark\:ring-slate-500\/60:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab, var(--color-slate-500) 60%, transparent)}}@media (hover:hover){.dark\:group-hover\:bg-slate-100:where(.dark,.dark *):is(:where(.group):hover *){background-color:var(--color-slate-100)}.dark\:hover\:bg-gray-700\/70:where(.dark,.dark *):hover{background-color:#364153b3}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-gray-700\/70:where(.dark,.dark *):hover{background-color:color-mix(in oklab, var(--color-gray-700) 70%, transparent)}}}.dark\:active\:bg-blue-700\/60:where(.dark,.dark *):active{background-color:#1447e699}@supports (color:color-mix(in lab, red, red)){.dark\:active\:bg-blue-700\/60:where(.dark,.dark *):active{background-color:color-mix(in oklab, var(--color-blue-700) 60%, transparent)}}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}
|
|
3
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-700:oklch(37.3% .034 259.733);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--radius-lg:.5rem;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.isolate{isolation:isolate}.z-20{z-index:20}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-full{height:100%}.w-full{width:100%}.flex-1{flex:1}.flex-shrink,.shrink{flex-shrink:1}.flex-grow,.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-col-resize{cursor:col-resize}.cursor-not-allowed{cursor:not-allowed}.cursor-row-resize{cursor:row-resize}.resize{resize:both}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.overflow-visible{overflow:visible}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-slate-300{border-color:var(--color-slate-300)}.bg-blue-200\/80{background-color:#bedbffcc}@supports (color:color-mix(in lab, red, red)){.bg-blue-200\/80{background-color:color-mix(in oklab, var(--color-blue-200) 80%, transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.bg-slate-100\/70{background-color:#f1f5f9b3}@supports (color:color-mix(in lab, red, red)){.bg-slate-100\/70{background-color:color-mix(in oklab, var(--color-slate-100) 70%, transparent)}}.bg-slate-600{background-color:var(--color-slate-600)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.uppercase{text-transform:uppercase}.opacity-50{opacity:.5}.shadow-\[0_0_0_1px_rgba\(191\,219\,254\,0\.65\)\,0_1px_4px_rgba\(59\,130\,246\,0\.45\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#bfdbfea6), 0 1px 4px var(--tw-shadow-color,#3b82f673);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_0_1px_rgba\(255\,255\,255\,0\.9\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#ffffffe6);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_0_1px_rgba\(255\,255\,255\,0\.85\)\,0_1px_3px_rgba\(15\,23\,42\,0\.18\)\]{--tw-shadow:0 0 0 1px var(--tw-shadow-color,#ffffffd9), 0 1px 3px var(--tw-shadow-color,#0f172a2e);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-blue-300{--tw-ring-color:var(--color-blue-300)}.ring-white\/80{--tw-ring-color:#fffc}@supports (color:color-mix(in lab, red, red)){.ring-white\/80{--tw-ring-color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.select-none{-webkit-user-select:none;user-select:none}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.group-hover\:bg-slate-700:is(:where(.group):hover *){background-color:var(--color-slate-700)}.hover\:bg-gray-200\/70:hover{background-color:#e5e7ebb3}@supports (color:color-mix(in lab, red, red)){.hover\:bg-gray-200\/70:hover{background-color:color-mix(in oklab, var(--color-gray-200) 70%, transparent)}}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:bg-blue-300\/60:active{background-color:#90c5ff99}@supports (color:color-mix(in lab, red, red)){.active\:bg-blue-300\/60:active{background-color:color-mix(in oklab, var(--color-blue-300) 60%, transparent)}}.dark\:border-slate-600:where(.dark,.dark *){border-color:var(--color-slate-600)}.dark\:bg-blue-300:where(.dark,.dark *){background-color:var(--color-blue-300)}.dark\:bg-blue-800\/60:where(.dark,.dark *){background-color:#193cb899}@supports (color:color-mix(in lab, red, red)){.dark\:bg-blue-800\/60:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-blue-800) 60%, transparent)}}.dark\:bg-blue-900\/70:where(.dark,.dark *){background-color:#1c398eb3}@supports (color:color-mix(in lab, red, red)){.dark\:bg-blue-900\/70:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-blue-900) 70%, transparent)}}.dark\:bg-slate-200:where(.dark,.dark *){background-color:var(--color-slate-200)}.dark\:bg-slate-800\/50:where(.dark,.dark *){background-color:#1d293d80}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-800\/50:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-slate-800) 50%, transparent)}}.dark\:bg-slate-800\/95:where(.dark,.dark *){background-color:#1d293df2}@supports (color:color-mix(in lab, red, red)){.dark\:bg-slate-800\/95:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-slate-800) 95%, transparent)}}.dark\:text-slate-200:where(.dark,.dark *){color:var(--color-slate-200)}.dark\:text-slate-400:where(.dark,.dark *){color:var(--color-slate-400)}.dark\:shadow-\[0_0_0_1px_rgba\(15\,23\,42\,0\.55\)\]:where(.dark,.dark *){--tw-shadow:0 0 0 1px var(--tw-shadow-color,#0f172a8c);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.dark\:shadow-\[0_0_0_1px_rgba\(147\,197\,253\,0\.5\)\,0_1px_4px_rgba\(59\,130\,246\,0\.55\)\]:where(.dark,.dark *){--tw-shadow:0 0 0 1px var(--tw-shadow-color,#93c5fd80), 0 1px 4px var(--tw-shadow-color,#3b82f68c);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.dark\:shadow-\[0_0_0_1px_rgba\(148\,163\,184\,0\.45\)\,0_1px_3px_rgba\(2\,6\,23\,0\.55\)\]:where(.dark,.dark *){--tw-shadow:0 0 0 1px var(--tw-shadow-color,#94a3b873), 0 1px 3px var(--tw-shadow-color,#0206178c);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.dark\:ring-blue-400:where(.dark,.dark *){--tw-ring-color:var(--color-blue-400)}.dark\:ring-slate-500\/60:where(.dark,.dark *){--tw-ring-color:#62748e99}@supports (color:color-mix(in lab, red, red)){.dark\:ring-slate-500\/60:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab, var(--color-slate-500) 60%, transparent)}}@media (hover:hover){.dark\:group-hover\:bg-slate-100:where(.dark,.dark *):is(:where(.group):hover *){background-color:var(--color-slate-100)}.dark\:hover\:bg-gray-700\/70:where(.dark,.dark *):hover{background-color:#364153b3}@supports (color:color-mix(in lab, red, red)){.dark\:hover\:bg-gray-700\/70:where(.dark,.dark *):hover{background-color:color-mix(in oklab, var(--color-gray-700) 70%, transparent)}}}.dark\:active\:bg-blue-700\/60:where(.dark,.dark *):active{background-color:#1447e699}@supports (color:color-mix(in lab, red, red)){.dark\:active\:bg-blue-700\/60:where(.dark,.dark *):active{background-color:color-mix(in oklab, var(--color-blue-700) 60%, transparent)}}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}
|