@ehfuse/mui-virtual-data-table 1.8.1 → 1.9.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 +25 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.esm.js +2 -2
- package/dist/index.esm.js.map +4 -4
- package/dist/index.js +2 -2
- package/dist/index.js.map +4 -4
- package/dist/rowReorder.d.ts +29 -0
- package/dist/types.d.ts +19 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -157,6 +157,7 @@ function App() {
|
|
|
157
157
|
columnResize={boolean | { minWidth? }} // 1.8.0 drag the header's right edge to resize a column (see "Column resize")
|
|
158
158
|
columnWidths={Record<string, number>} // 1.8.0 resized widths by column id (you store them)
|
|
159
159
|
onColumnWidthsChange={(widths) => void} // 1.8.0 fired once on release / on double-click reset
|
|
160
|
+
rowReorder={{ onReorder, canDrag?, disabledReason?, handleWidth?, handleLabel? }} // 1.9.0 drag rows by a handle (see "Row reorder")
|
|
160
161
|
|
|
161
162
|
// Optional - 1.4.0 header context menu (right-click on th never shows the browser menu)
|
|
162
163
|
onSortClear={() => void} // adds "정렬 풀기" to the header menu (and re-picking the active direction clears)
|
|
@@ -270,6 +271,30 @@ const [widths, setWidths] = useAccountSetting("customer.list"); // Record<column
|
|
|
270
271
|
- Works with `pinned: "left"` (sticky offsets follow), `autoHeight`, `framed`, `tableLayout`, `variant="notion"`, `pinnedRows`, footer.
|
|
271
272
|
In the `mobile` card list there is no grip and `columnWidths` is ignored.
|
|
272
273
|
|
|
274
|
+
### Row reorder (1.9.0)
|
|
275
|
+
|
|
276
|
+
`rowReorder` adds a drag handle (⋮⋮) as the first cell. Drag it to move the row; a line shows where it will land and `onReorder(from, to, item)`
|
|
277
|
+
fires on release (`to` is the index the row ends up at — the same as `arrayMove(data, from, to)`). The table never changes `data`;
|
|
278
|
+
reorder it yourself and pass it back.
|
|
279
|
+
|
|
280
|
+
```tsx
|
|
281
|
+
<VirtualDataTable
|
|
282
|
+
rowReorder={{
|
|
283
|
+
onReorder: (from, to) => setRows((r) => arrayMove(r, from, to)),
|
|
284
|
+
disabledReason: sortBy ? "정렬을 풀면 옮길 수 있어요" : undefined, // handle is dimmed, drag is off
|
|
285
|
+
canDrag: (row) => !row.locked, // no handle on locked rows
|
|
286
|
+
}}
|
|
287
|
+
...
|
|
288
|
+
/>
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
- Nothing re-renders while dragging — the dragged row gets a `data-vdt-dragging` attribute (dimmed) and the drop line is a positioned element,
|
|
292
|
+
so it stays light with virtualization and long lists. Dragging to the edge auto-scrolls (the table scroller, `scrollParent`, or the document).
|
|
293
|
+
- Keyboard: focus the handle → Space (lift) → ↑ / ↓ (moves one step, `onReorder` each time) → Space / Enter / Esc (drop).
|
|
294
|
+
- In the `mobile` card list the handle sits at the left of the card. With `pinned: "left"` columns the handle column is pinned too.
|
|
295
|
+
Rows in `pinnedRows` cannot be moved. Works with `autoHeight`, `scrollParent`, `variant="notion"`, `columnResize`.
|
|
296
|
+
- Row click still works everywhere except on the handle; the click after a drag is not treated as a row click.
|
|
297
|
+
|
|
273
298
|
### Mobile list (1.6.0)
|
|
274
299
|
|
|
275
300
|
`mobile` turns the table into a card list on narrow screens (default query `(max-width:599.95px)`): no header row, one card per row,
|
package/dist/index.d.ts
CHANGED
|
@@ -8,4 +8,4 @@
|
|
|
8
8
|
export { VirtualDataTable } from "./VirtualDataTable";
|
|
9
9
|
export { HeaderMenu, HeaderMenuItem, HeaderMenuDivider, HeaderMenuIcon, HeaderFilterIcon, headerMenuAnchor, HEADER_MENU_ICON_PATHS, HEADER_MENU_ITEM_SX, HEADER_MENU_FONT_SIZE, HEADER_MENU_ICON_SIZE, HEADER_MENU_ITEM_HEIGHT, } from "./HeaderMenu";
|
|
10
10
|
export type { HeaderMenuProps, HeaderMenuItemProps, HeaderMenuOption, HeaderMenuSortConfig, HeaderMenuFilterConfig, HeaderMenuSortDirection, } from "./HeaderMenu";
|
|
11
|
-
export type { DataColumn, SortDirection, SortableFilter, VirtualDataTableProps, VDTMobileConfig, VDTMobileSlot, VDTColumnResizeConfig, VDTColumnWidths, } from "./types";
|
|
11
|
+
export type { DataColumn, SortDirection, SortableFilter, VirtualDataTableProps, VDTMobileConfig, VDTMobileSlot, VDTColumnResizeConfig, VDTColumnWidths, VDTRowReorderConfig, } from "./types";
|
package/dist/index.esm.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import{forwardRef as
|
|
1
|
+
import{forwardRef as et,useCallback as F,useMemo as me,useRef as H,useEffect as he,memo as Wr,useState as ze}from"react";import{Box as k,Table as _r,TableBody as Nn,TableCell as we,TableContainer as Fr,TableHead as Vr,TableFooter as $r,TableRow as Qe,TableSortLabel as Yt,Paper as qr,Typography as Xr,useTheme as Ur,useMediaQuery as Yr}from"@mui/material";import{TableVirtuoso as jr}from"react-virtuoso";import{useCallback as He,useEffect as yr,useMemo as vr,useRef as Ke}from"react";import{jsx as ht}from"react/jsx-runtime";var _t="__vdt_reorder",Pe=40,kn=14,Cr=ht("svg",{width:"18",height:"18",viewBox:"0 0 24 24","aria-hidden":!0,focusable:"false",children:ht("path",{fill:"currentColor",d:"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"})}),Mr=o=>Array.from(o.querySelectorAll("tbody tr[data-index]:not([data-vdt-pinned-row])"));function wr(o){for(let l=o;l;l=l.parentElement){let{overflowY:g}=getComputedStyle(l);if((g==="auto"||g==="scroll")&&l.scrollHeight>l.clientHeight)return l}return null}function Dn({config:o,tableBoxRef:l,getScroller:g,dataLengthRef:M,anyPinned:b}){let p=Ke(o);p.current=o;let z=!!o,W=Ke(null),ee=Ke(0),K=Ke(null),X=Ke(null),V=()=>{K.current&&(K.current.style.display="none")},$=He(()=>{let a=W.current,u=l.current;if(!a||!u)return;let h=Mr(u);if(h.length===0)return;let y=document.elementFromPoint(a.x,a.y)?.closest("tr[data-index]"),m=y&&u.contains(y)&&!y.hasAttribute("data-vdt-pinned-row")?y:null,A;if(m){let ke=m.getBoundingClientRect();A=a.y<ke.top+ke.height/2?"before":"after"}else{let ke=h[0].getBoundingClientRect(),De=h[h.length-1].getBoundingClientRect();if(a.y<ke.top)m=h[0],A="before";else if(a.y>De.bottom)m=h[h.length-1],A="after";else return}let G=Number(m.dataset.index),Le=A==="before"?G:G+1,Ce=Le>a.from?Le-1:Le;a.to=Ce;let ae=K.current;if(!ae)return;if(Ce===a.from){ae.style.display="none";return}let tt=m.getBoundingClientRect(),be=u.getBoundingClientRect(),yt=(A==="before"?tt.top:tt.bottom)-be.top;ae.style.top=`${Math.max(0,Math.min(be.height-2,Math.round(yt)-1))}px`,ae.style.display="block"},[l]),U=He(()=>{cancelAnimationFrame(ee.current);let a=()=>{let u=W.current;if(!u)return;let h=g()??wr(l.current)??null,y=h??document.scrollingElement;if(!y)return;let m=h?h.getBoundingClientRect().top:0,A=h?h.getBoundingClientRect().bottom:window.innerHeight,G=0;u.y<m+Pe?G=-Math.ceil((m+Pe-u.y)/Pe*kn):u.y>A-Pe&&(G=Math.ceil((u.y-(A-Pe))/Pe*kn)),G!==0&&(y.scrollTop+=G,$(),ee.current=requestAnimationFrame(a))};ee.current=requestAnimationFrame(a)},[g,l,$]),_=He(a=>{let u=W.current;u&&(W.current=null,cancelAnimationFrame(ee.current),V(),u.tr?.removeAttribute("data-vdt-dragging"),document.body.style.cursor="",document.body.style.userSelect="",a&&u.to!==null&&u.to!==u.from&&p.current?.onReorder(u.from,u.to,u.item))},[]);yr(()=>{if(!z)return;let a=y=>{let m=W.current;!m||y.pointerId!==m.pointerId||(m.x=y.clientX,m.y=y.clientY,$(),U())},u=y=>{let m=W.current;!m||y.pointerId!==m.pointerId||_(y.type==="pointerup")},h=y=>{y.key==="Escape"&&W.current&&_(!1)};return window.addEventListener("pointermove",a),window.addEventListener("pointerup",u),window.addEventListener("pointercancel",u),window.addEventListener("keydown",h),()=>{window.removeEventListener("pointermove",a),window.removeEventListener("pointerup",u),window.removeEventListener("pointercancel",u),window.removeEventListener("keydown",h),_(!1)}},[z,$,U,_]);let R=He(a=>{let u=l.current;if(!u||(u.querySelectorAll("tbody tr[data-vdt-dragging]").forEach(y=>y.removeAttribute("data-vdt-dragging")),u.querySelectorAll('.vdt-reorder-handle[aria-pressed="true"]').forEach(y=>y.setAttribute("aria-pressed","false")),a===null))return;let h=u.querySelector(`tbody tr[data-index="${a}"]:not([data-vdt-pinned-row])`);h?.setAttribute("data-vdt-dragging",""),h?.querySelector(".vdt-reorder-handle")?.setAttribute("aria-pressed","true")},[l]),P=He((a,u,h)=>{if(a.stopPropagation(),a.button!==0&&a.pointerType==="mouse"||p.current?.disabledReason)return;let y=a.currentTarget.closest("tr");if(!y?.hasAttribute("data-vdt-pinned-row")){a.preventDefault(),X.current!==null&&(X.current=null,R(null));try{a.currentTarget.setPointerCapture(a.pointerId)}catch{}W.current={from:u,item:h,pointerId:a.pointerId,x:a.clientX,y:a.clientY,to:null,tr:y},y?.setAttribute("data-vdt-dragging",""),document.body.style.cursor="grabbing",document.body.style.userSelect="none"}},[R]),oe=He((a,u,h)=>{let y=p.current;if(!y||y.disabledReason)return;let m=X.current;if(a.key===" "||a.key==="Enter"){a.preventDefault(),a.stopPropagation(),X.current=m===null?u:null,R(X.current);return}if(a.key==="Escape"&&m!==null){a.preventDefault(),X.current=null,R(null);return}if((a.key==="ArrowUp"||a.key==="ArrowDown")&&m!==null){a.preventDefault(),a.stopPropagation();let A=Math.max(0,Math.min((M.current??1)-1,u+(a.key==="ArrowUp"?-1:1)));if(A===u)return;y.onReorder(u,A,h),X.current=A,requestAnimationFrame(()=>requestAnimationFrame(()=>{l.current?.querySelector(`tbody tr[data-index="${A}"]:not([data-vdt-pinned-row]) .vdt-reorder-handle`)?.focus({preventScroll:!1}),R(A)}))}},[M,R,l]),Y=He((a,u)=>{let h=p.current;if(!h||h.canDrag&&!h.canDrag(a,u))return null;let y=h.handleLabel??"\uC21C\uC11C \uC62E\uAE30\uAE30";return ht("button",{type:"button",className:"vdt-reorder-handle","aria-label":y,title:h.disabledReason??y,disabled:!!h.disabledReason,onPointerDown:m=>P(m,u,a),onKeyDown:m=>oe(m,u,a),onMouseDown:m=>m.stopPropagation(),onClick:m=>{m.preventDefault(),m.stopPropagation()},onContextMenu:m=>m.stopPropagation(),children:Cr})},[P,oe]),I=o?.handleWidth??36,ge=o?.disabledReason,x=vr(()=>z?{id:_t,text:"",width:I,align:"center",cellPadding:0,headerMenu:!1,mobile:!1,...b?{pinned:"left"}:{},render:Y}:null,[z,I,b,Y,ge]);return{on:z,handleColumn:x,renderHandle:Y,indicator:z?ht("div",{ref:K,"data-vdt-drop-indicator":"","aria-hidden":!0,style:{position:"absolute",left:0,right:0,height:2,display:"none",zIndex:4,pointerEvents:"none"}}):null}}import{jsx as Ft}from"react/jsx-runtime";import{useRef as In,useState as Tr,useEffect as Sr}from"react";import{Box as Rr,CircularProgress as Er}from"@mui/material";var Ge=function(){return Ge=Object.assign||function(l){for(var g,M=1,b=arguments.length;M<b;M++){g=arguments[M];for(var p in g)Object.prototype.hasOwnProperty.call(g,p)&&(l[p]=g[p])}return l},Ge.apply(this,arguments)};function An(o){var l=o.visible,g=o.onComplete,M=o.fadeoutDuration,b=M===void 0?200:M,p=o.exitDelay,z=p===void 0?0:p,W=o.size,ee=W===void 0?40:W,K=o.className,X=o.style,V=o.sx,$=o.indicator,U=o.background,_=U===void 0?{show:!0,color:"255, 255, 255",opacity:.9}:U,R=In(void 0),P=In(null),oe=Tr(l),Y=oe[0],I=oe[1],ge=_.show,x=ge===void 0?!0:ge,N=_.color,a=N===void 0?"255, 255, 255":N,u=_.opacity,h=u===void 0?.9:u;if(Sr(function(){var A=R.current;if(A===!0&&l===!1&&P.current){var G=P.current;G.style.opacity="0",setTimeout(function(){I(!1),g?.()},b+z)}else l===!0&&(I(!0),P.current&&(P.current.style.opacity="1"));R.current=l},[l,g,b,z]),!Y)return null;var y=function(){return typeof $=="string"?Ft("img",{src:$,alt:"Loading",style:{width:ee,height:ee}}):$||Ft(Er,{size:ee})},m=function(){return x?a.startsWith("rgba")?{backgroundColor:a}:/^\d+,\s*\d+,\s*\d+$/.test(a)?{backgroundColor:"rgba(".concat(a,", ").concat(h,")")}:h!==1?{backgroundColor:a,"&::before":{content:'""',position:"absolute",top:0,left:0,right:0,bottom:0,backgroundColor:a,opacity:h,zIndex:-1}}:{backgroundColor:a}:{backgroundColor:"transparent"}};return Ft(Rr,{ref:P,className:K,style:Ge({},X),sx:Ge(Ge({position:"absolute",top:0,left:0,right:0,bottom:0,display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e3,opacity:l?1:0,transition:"opacity ".concat(b,"ms ease-out")},m()),V),children:y()})}import{Fragment as Lr,jsx as Pn,jsxs as kr}from"react/jsx-runtime";var Hr=`
|
|
2
2
|
.vdt-css-spinner{box-sizing:border-box;border-radius:50%;border:4px solid rgba(28,64,125,0.14);border-top-color:#1c407d;animation:vdt-css-spinner-spin .75s linear infinite}
|
|
3
3
|
@keyframes vdt-css-spinner-spin{to{transform:rotate(360deg)}}
|
|
4
|
-
`;function yn({size:o=54}){return pr(ur,{children:[xn("style",{children:cr}),xn("span",{className:"vdt-css-spinner",role:"progressbar","aria-label":"loading",style:{display:"inline-block",width:o,height:o}})]})}import ot,{useMemo as fr,useState as hr}from"react";import{Box as Fe,Divider as gr,InputBase as mr,Menu as br,MenuItem as xr,SvgIcon as yr}from"@mui/material";import{jsx as b,jsxs as it}from"react/jsx-runtime";var Dt=14,It=18,Pt=34,ee={asc:"M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z",desc:"M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z",checked:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z",unchecked:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z",radioOn:"M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z",radioOff:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z",filter:"M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z",search:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"};function Ce({d:o,size:c=It,color:a}){return b(yr,{sx:{fontSize:c,flexShrink:0,color:a},children:b("path",{d:o})})}function At({size:o=14,active:c,color:a}){let m={stroke:"currentColor",strokeWidth:1.8,strokeMiterlimit:10,strokeLinecap:"round",strokeLinejoin:"round"};return it(Fe,{component:"svg",viewBox:"0 0 24 24",fill:"none","aria-hidden":!0,sx:{width:o,height:o,flexShrink:0,color:c?"primary.main":a??"currentColor",verticalAlign:"middle"},children:[b("path",{d:"M2 17.5H7",...m}),b("path",{d:"M22 6.5H17",...m}),b("path",{d:"M13 17.5H22",...m}),b("path",{d:"M11 6.5H2",...m}),b("path",{d:"M10 20.3999C8.34315 20.3999 7 19.0568 7 17.3999C7 15.743 8.34315 14.3999 10 14.3999C11.6569 14.3999 13 15.743 13 17.3999C13 19.0568 11.6569 20.3999 10 20.3999Z",...m}),b("path",{d:"M14 9.3999C15.6569 9.3999 17 8.05676 17 6.3999C17 4.74305 15.6569 3.3999 14 3.3999C12.3431 3.3999 11 4.74305 11 6.3999C11 8.05676 12.3431 9.3999 14 9.3999Z",...m})]})}var vn={gap:1,fontSize:Dt,lineHeight:"20px",minHeight:Pt,py:"7px",px:1.5};function ae({icon:o,iconSpace:c,selected:a,disabled:m,muted:h,onClick:p,sx:_,children:ne}){return it(xr,{selected:a,disabled:m,onClick:p,sx:[vn,h?{color:"text.secondary"}:{},...Array.isArray(_)?_:_?[_]:[]],children:[o??(c?b(Fe,{component:"span",sx:{width:It,flexShrink:0}}):null),ne]})}function at(){return b(gr,{sx:{my:"4px !important"}})}function vr(o,c){let a=o.getBoundingClientRect();return{left:c??a.left,top:a.bottom}}function Bt({open:o,anchorPosition:c,anchorEl:a,onClose:m,sort:h,filter:p,header:_,children:ne,minWidth:pe=180,maxHeight:le=420}){let[se,A]=hr(""),V=p?.multiple!==!1,z=p?.value??[],N=fr(()=>{if(!p)return[];let f=p.options;return p.emptyLabel&&!f.some(E=>E.value==="")?[...f,{value:"",label:p.emptyLabel}]:f},[p]),T=!!p&&(p?.searchable??N.length>10),D=se.trim().toLowerCase(),fe=D?N.filter(f=>f.label.toLowerCase().includes(D)):N,j=()=>{A(""),m()},R=[];if(_&&R.push(...ot.Children.toArray(_).map((f,E)=>ot.isValidElement(f)?ot.cloneElement(f,{key:`h${E}`}):f)),h){let f=E=>{j(),h.onChange(h.active===E&&h.clearable!==!1?null:E)};R.push(b(ae,{selected:h.active==="asc",onClick:()=>f("asc"),icon:b(Ce,{d:ee.asc,color:"text.secondary"}),children:"\uC624\uB984\uCC28\uC21C \uC815\uB82C"},"sort-asc"),b(ae,{selected:h.active==="desc",onClick:()=>f("desc"),icon:b(Ce,{d:ee.desc,color:"text.secondary"}),children:"\uB0B4\uB9BC\uCC28\uC21C \uC815\uB82C"},"sort-desc")),h.active&&h.clearable!==!1&&R.push(b(ae,{muted:!0,iconSpace:!0,onClick:()=>{j(),h.onChange(null)},children:"\uC815\uB82C \uD480\uAE30"},"sort-clear"))}return h&&p&&R.push(b(at,{},"div-sort")),p&&(T&&R.push(it(Fe,{onKeyDown:f=>f.stopPropagation(),sx:{display:"flex",alignItems:"center",gap:1,px:1.5,pb:.5,minHeight:Pt},children:[b(Ce,{d:ee.search,color:"text.secondary"}),b(mr,{autoFocus:!0,value:se,onChange:f=>A(f.target.value),placeholder:p.searchPlaceholder??"\uCC3E\uAE30",sx:{flex:1,fontSize:Dt}})]},"search")),!V&&p.allLabel&&R.push(b(ae,{selected:z.length===0,onClick:()=>{j(),p.onChange([])},icon:b(Ce,{d:z.length===0?ee.radioOn:ee.radioOff,color:z.length===0?"primary.main":"text.disabled"}),children:p.allLabel},"f-all")),N.length===0&&R.push(b(ae,{disabled:!0,iconSpace:!0,children:p.emptyText??"\uACE0\uB97C \uAC12\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},"f-none")),fe.forEach(f=>{let E=z.includes(f.value),P=()=>{if(V){p.onChange(E?z.filter(de=>de!==f.value):[...z,f.value]);return}j(),p.onChange(E?[]:[f.value])},re=V?E?ee.checked:ee.unchecked:E?ee.radioOn:ee.radioOff;R.push(it(ae,{selected:!V&&E,onClick:P,icon:b(Ce,{d:re,color:E?"primary.main":"text.disabled"}),children:[f.icon,b(Fe,{component:"span",sx:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:f.render??f.label}),typeof f.count=="number"?b(Fe,{component:"span",sx:{color:"text.secondary",ml:1,fontVariantNumeric:"tabular-nums"},children:f.count}):null]},`f:${f.value||"(empty)"}`))}),T&&D&&fe.length===0&&R.push(b(ae,{disabled:!0,iconSpace:!0,children:"\uCC3E\uB294 \uAC12\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},"f-nohit")),z.length>0&&R.push(b(at,{},"div-filter"),b(ae,{muted:!0,iconSpace:!0,onClick:()=>{j(),p.onChange([])},children:p.clearLabel??"\uAC70\uB974\uAE30 \uD480\uAE30"},"f-clear"))),ne&&(R.length>0&&R.push(b(at,{},"div-children")),R.push(...ot.Children.toArray(ne))),b(br,{open:o&&(!!c||!!a),...!c&&!!a?{anchorEl:a}:{anchorReference:"anchorPosition",anchorPosition:c??void 0},onClose:j,transitionDuration:0,disableAutoFocusItem:T,onContextMenu:f=>f.preventDefault(),onClick:f=>f.stopPropagation(),slotProps:{paper:{sx:{maxHeight:le,minWidth:pe}},list:{sx:{py:.5}}},children:R})}import Dr from"@ehfuse/overlay-scrollbar";import{Fragment as Ve,jsx as s,jsxs as L}from"react/jsx-runtime";var Ir={alignment:"default",margin:0,radius:0},Nt=5,Mn={},Pr=3;function wn(o){return typeof o=="number"?`${o}px`:o}function Sn(o){let c=window.getComputedStyle(o),a=c.boxSizing==="border-box"?0:(parseFloat(c.paddingLeft)||0)+(parseFloat(c.paddingRight)||0)+(parseFloat(c.borderLeftWidth)||0)+(parseFloat(c.borderRightWidth)||0);return o.getBoundingClientRect().width-a}function Tn(o,c){let a=[];for(let m=0;m<o.style.length;m+=1){let h=o.style[m];h.startsWith("--vdt-")&&!(h in c)&&a.push(h)}a.forEach(m=>o.style.removeProperty(m)),Object.entries(c).forEach(([m,h])=>o.style.setProperty(m,h))}var Ar={bg:"#ffffff",border:"#e6e6e3",borderStrong:"#dedddb",headerColor:"#787774",hoverBg:"#f8f8f7",emptyColor:"#9b9a97",selectedBg:"#dbeafe",selectedBar:"#3b82f6"},Rn="12px",Br={bg:"#1e1e1e",border:"#2c333c",borderStrong:"#3b434e",headerColor:"#a3adbb",hoverBg:"#272d36",emptyColor:"#7d8590",selectedBg:"rgba(59, 130, 246, 0.22)",selectedBar:"#60a5fa"},Hn=$e((o,c)=>s("div",{...o,ref:c}));Hn.displayName="VdtPlainScroller";var zr="(max-width:599.95px)";function Wt(o){return!!(o.filterOptions&&o.onFilterChange)}function Nr({data:o,loading:c=!1,columns:a,onRowClick:m,getRowId:h,selectedRowId:p,selectedRowSx:_,rowHeight:ne,columnHeight:pe,striped:le,rowDivider:se=!0,onSort:A,onSortClear:V,onHeaderContextMenu:z,onLoadMore:N,sortBy:T,sortDirection:D,showPaper:fe=!0,paddingX:j,paddingTop:R=0,paddingBottom:he=0,rowHoverColor:f,rowHoverOpacity:E,viewportBuffer:P,overscan:re,initialItemCount:de,scrollbars:lt,emptyMessage:ce="NO DATA",autoHeight:we=!1,LoadingComponent:Xe,showFooter:En,footerHeight:Se,footerSx:Te,variant:kn="default",framed:ye=!0,headerTopBorder:Ln=!1,rowHeightMode:Dn="fixed",tableLayout:Ye="fixed",renderFullWidthRow:st,fullWidthRowSx:Re,onRowContextMenu:Ot,pinnedRows:He,pinnedRowsMaxHeight:dt,pinnedRowsSx:Ee,resetScrollOnDataChange:Ft=!0,rowKeyFromId:In=!1,onEndReached:_t,colorMode:Pn,mobile:Vt,scrollParent:ct,columnResize:$t,columnWidths:Xt,onColumnWidthsChange:Yt}){let C=kn==="notion",je=Er(),v=(Pn??je.palette.mode)==="dark"?Br:Ar,jt=(He?.length??0)>0,ge=pe??(C?40:56),U=ne??(C?48:50),Ue=ye?j??(C?"12px":"1rem"):0,ke=Vt===!0?{}:Vt||null,An=kr(ke?.query??zr,{noSsr:!0}),X=!!ke&&An,Le=!!ct,me=we||Le,ut=Dn==="auto"||X,pt=f??(C?v.hoverBg:void 0),Ut=E??(C?1:void 0),Bn=Math.max(U*12,480),zn=Math.max(U*12,480),Nn=typeof P=="number"?P:P?.top??Bn,Wn=typeof P=="number"?P:P?.bottom??zn,On=Math.max(U*8,420),Fn=Math.max(U*10,520),_n=typeof re=="number"?re:{main:re?.main??On,reverse:re?.reverse??Fn},De=U+(se?1:0),Vn=ie(()=>C?{backgroundColor:v.selectedBg,"& > td:first-of-type":{boxShadow:`inset 3px 0 0 ${v.selectedBar}`},"& > td[data-vdt-pinned]":{backgroundColor:v.selectedBg}}:void 0,[C,v]),q=_??Vn,qe=!q||typeof q!="function",$n=ie(()=>!qe||p===null||p===void 0||!q?null:{[`& tbody tr[data-row-id="${String(p).replace(/["\\]/g,"\\$&")}"]`]:q},[qe,p,q]),Or=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),[H]=Me(()=>typeof window>"u"?!1:window.localStorage.getItem("vdt-perf-debug")==="1"),M=w({wheelEvents:0,wheelInputPx:0,wheelHandlerMs:0,wheelRafFlushes:0,wheelRafMs:0,rangeChangedCalls:0,rangeChangedMs:0,rowContentCalls:0,rowContentMs:0,rowContentMaxMs:0,cellRenderCalls:0,cellRenderMs:0,cellRenderMaxMs:0}),ft=k(t=>{if(!H)return;let e=M.current;if(!(e.wheelEvents>0||e.rangeChangedCalls>0||e.rowContentCalls>0||e.cellRenderCalls>0))return;let i=e.rowContentCalls>0?e.rowContentMs/e.rowContentCalls:0,d=e.cellRenderCalls>0?e.cellRenderMs/e.cellRenderCalls:0;console.log("[VDT perf]",{reason:t,wheel:{events:e.wheelEvents,inputPx:Math.round(e.wheelInputPx),handlerMs:Number(e.wheelHandlerMs.toFixed(2)),rafFlushes:e.wheelRafFlushes,rafMs:Number(e.wheelRafMs.toFixed(2))},rangeChanged:{calls:e.rangeChangedCalls,totalMs:Number(e.rangeChangedMs.toFixed(2))},rowContent:{calls:e.rowContentCalls,totalMs:Number(e.rowContentMs.toFixed(2)),avgMs:Number(i.toFixed(3)),maxMs:Number(e.rowContentMaxMs.toFixed(3))},cellRender:{calls:e.cellRenderCalls,totalMs:Number(e.cellRenderMs.toFixed(2)),avgMs:Number(d.toFixed(3)),maxMs:Number(e.cellRenderMaxMs.toFixed(3))}}),M.current={wheelEvents:0,wheelInputPx:0,wheelHandlerMs:0,wheelRafFlushes:0,wheelRafMs:0,rangeChangedCalls:0,rangeChangedMs:0,rowContentCalls:0,rowContentMs:0,rowContentMaxMs:0,cellRenderCalls:0,cellRenderMs:0,cellRenderMaxMs:0}},[H]);te(()=>{if(!H||typeof window>"u")return;console.log("[VDT perf] enabled (localStorage vdt-perf-debug=1)");let t=window.setInterval(()=>{ft("interval")},1500);return()=>{window.clearInterval(t),ft("cleanup")}},[ft,H]);let qt=ie(()=>$e((t,e)=>{let r=w(null),i=w(0),d=w(null);return te(()=>{let n=r.current;if(!n)return;let l=x=>{let u=H?performance.now():0;if(x.shiftKey||Math.abs(x.deltaX)>Math.abs(x.deltaY))return;let y=x.target?.closest?.("[data-vdt-inner-scroll]");if(y&&n.contains(y)&&(x.deltaY<0?y.scrollTop>0:y.scrollTop+y.clientHeight<y.scrollHeight-1))return;x.preventDefault();let B=x.deltaY;x.deltaMode===1?B*=40:x.deltaMode===2&&(B*=n.clientHeight),H&&(M.current.wheelEvents+=1,M.current.wheelInputPx+=B),i.current+=B,d.current===null&&(d.current=requestAnimationFrame(()=>{let Z=H?performance.now():0,g=Math.max(n.clientHeight*.4,160),I=Math.max(-g,Math.min(g,i.current));i.current=0,d.current=null,I!==0&&(n.scrollTop+=I),H&&(M.current.wheelRafFlushes+=1,M.current.wheelRafMs+=performance.now()-Z)}),H&&(M.current.wheelHandlerMs+=performance.now()-u))};return n.addEventListener("wheel",l,{passive:!1}),()=>{n.removeEventListener("wheel",l),d.current!==null&&(cancelAnimationFrame(d.current),d.current=null),i.current=0}},[]),s(Dr,{detectInnerScroll:!0,track:Ir,...lt,children:s(wr,{component:S,...t,ref:n=>{r.current=n,typeof e=="function"?e(n):e&&(e.current=n)},sx:{userSelect:"auto",WebkitUserSelect:"auto",position:"relative",width:"100%",height:"100%",overflow:"auto",display:"flex",flexDirection:"column",scrollbarWidth:"none",msOverflowStyle:"none",transform:"translateZ(0)",backfaceVisibility:"hidden",willChange:"scroll-position","&::-webkit-scrollbar":{display:"none"},"& .MuiTable-root":{paddingRight:C?0:Ue,paddingTop:typeof R=="number"?`${R}px`:R,paddingBottom:typeof he=="number"?`${he}px`:he}}})})}),[]),ht=ie(()=>{if(le===!0)return"#f5f5f5";if(typeof le=="string")return le},[le]),[Xn,Kt]=Me(c),[Yn,jn]=Me(0);te(()=>{c&&Kt(!0)},[c]);let Gt=k(()=>{Kt(!1)},[]),Un=Xn,Fr=c&&o.length>0,gt=w(!1),mt=w(-1),bt=w(null),xt=w(null),[qn,Kn]=Me(!1),Ke=k(()=>{let t=xt.current;t&&Kn(t.scrollHeight>t.clientHeight+1)},[]);te(()=>{let t=xt.current;if(!t||typeof ResizeObserver>"u")return;let e=new ResizeObserver(()=>Ke());return e.observe(t),()=>e.disconnect()},[Ke,we]);let yt=w(m);yt.current=m;let Ie=w(h);Ie.current=h;let vt=w(Ot);vt.current=Ot;let Zt=w(_t);Zt.current=_t;let Qt=w(null),Jt=$t===!0?{}:$t||null,$=!!Jt&&!X,Pe=Jt?.minWidth??48,[Gn,Ct]=Me(null);te(()=>{Ct(null)},[Xt]);let Ge=$?Gn??Xt??Mn:Mn,Mt=w(Ge);Mt.current=Ge;let wt=w(Yt);wt.current=Yt;let St=w(a);St.current=a;let Tt=w(null),Ze=k(t=>{let e={},r=!1,i=!0,d=0,n=0;return a.forEach((l,x)=>{let u=t[String(l.id)];if(typeof u=="number"&&Number.isFinite(u)&&u>0){let y=Math.max(l.minWidth??Pe,Math.round(u));e[`--vdt-cw-${x}`]=`${y}px`,r=!0,d+=y,n+=y}else typeof l.width=="number"?(d+=l.width,n+=l.width):(i=!1,d+=l.minWidth??Pe)}),r&&(e["--vdt-tmin"]=`${d}px`,i&&(e["--vdt-tw"]=`${n}px`)),e},[a,Pe]),Rt=w(Ze);Rt.current=Ze;let Zn=ie(()=>$?Ze(Ge):null,[$,Ze,Ge]),K=k((t,e,r)=>{if(!$)return{width:t.width,minWidth:r};let i=`--vdt-cw-${e}`,d=wn(t.width),n=wn(r);return{width:d!==void 0?`var(${i}, ${d})`:`var(${i})`,minWidth:n!==void 0?`var(${i}, ${n})`:`var(${i})`}},[$]),Qe=ie(()=>{let t=new Map,e=0,r=[];return a.forEach((i,d)=>{if(i.pinned!=="left")return;t.set(String(i.id),$&&r.length>0?`calc(${r.join(" + ")})`:e);let n=typeof i.width=="number"?i.width:0;e+=n,r.push(`var(--vdt-cw-${d}, ${n}px)`)}),t},[a,$]),Je=ie(()=>{if(a.some(t=>typeof t.minWidth=="number"))return a.reduce((t,e)=>t+(typeof e.width=="number"?e.width:typeof e.minWidth=="number"?e.minWidth:0),0)},[a]),ve=k((t,e)=>{let r=Qe.get(String(t.id));return r===void 0?{}:{position:"sticky",left:r,zIndex:e?3:1}},[Qe]),et=!!m,Ae=w(!1),be=w({x:0,y:0});te(()=>{let t=e=>{let r=e.clientX-be.current.x,i=e.clientY-be.current.y;Math.sqrt(r*r+i*i)>Nt&&(Ae.current=!0)};return document.addEventListener("mousemove",t),()=>{document.removeEventListener("mousemove",t)}},[]),te(()=>{let t=document.querySelector('[data-testid="virtuoso-scroller"]');t&&t.querySelectorAll(".MuiTableSortLabel-root").forEach(r=>{let i=new MouseEvent("mouseleave",{bubbles:!0,cancelable:!0});r.dispatchEvent(i)})},[T]);let tt=k(t=>{if(!A)return;A(t,T===t&&D==="asc"?"desc":"asc")},[A,T,D]),[Be,en]=Me(null),tn=w(z);tn.current=z;let nn=w(A);nn.current=A;let ze=k((t,e)=>{if(!t){e.preventDefault();return}t.headerProps?.onContextMenu?.(e);let r=e.defaultPrevented;if(r||(r=tn.current?.(t,e)===!0||e.defaultPrevented),e.preventDefault(),r||t.headerMenu===!1||!!!((t.sortMenu??t.sortable)&&nn.current)&&!Wt(t))return;let d=e.currentTarget.getBoundingClientRect();en({colId:String(t.id),x:e.clientX,y:d.bottom})},[]),rn=k((t,e)=>{if(e.button!==0)return;e.preventDefault(),e.stopPropagation();let r=e.currentTarget,i=r.closest("th"),d=Tt.current;if(!i||!d)return;let n=Sn(i),l=e.clientX,x=String(t.id),u=t.minWidth??Pe,y=Mt.current,B=St.current;if(!B.some(F=>!(String(F.id)in y)&&typeof F.width!="number")){let F={...y};d.querySelectorAll("thead th [data-vdt-col]").forEach(J=>{let We=B[Number(J.getAttribute("data-vdt-col"))],gn=J.closest("th");!We||!gn||String(We.id)in F||(F[String(We.id)]=Math.round(Sn(gn)))}),y=F}let g=y,I=!1,W=0;r.setAttribute("data-active","");let O=document.body.style.cursor;document.body.style.cursor="col-resize";let oe=F=>{let J=F.clientX-l;!I&&Math.abs(J)<Pr||(I=!0,g={...y,[x]:Math.max(u,Math.round(n+J))},W||(W=requestAnimationFrame(()=>{W=0,Tn(d,Rt.current(g))})))},Q=()=>{if(document.removeEventListener("mousemove",oe),document.removeEventListener("mouseup",Q),W&&cancelAnimationFrame(W),r.removeAttribute("data-active"),document.body.style.cursor=O,!I)return;Tn(d,Rt.current(g));let F=J=>{J.stopPropagation(),J.preventDefault()};window.addEventListener("click",F,!0),window.setTimeout(()=>window.removeEventListener("click",F,!0),0),Ct(g),wt.current?.(g)};document.addEventListener("mousemove",oe),document.addEventListener("mouseup",Q)},[Pe]),on=k((t,e)=>{e.preventDefault(),e.stopPropagation();let r=String(t.id),i=Mt.current;if(!(r in i))return;let d={...i};delete d[r];let n=St.current,l=Tt.current?.querySelector("table"),x=l?.parentElement;if(l&&x&&n.every(u=>typeof u.width=="number")){let u=n.reduce((g,I)=>g+I.width,0),y=x.clientWidth,B=u>0?Math.max(1,y/u):1,Z=g=>Math.round(g.width*B);B>1&&(d[r]=Z(t)),n.every(g=>!(String(g.id)in d)||Math.abs(d[String(g.id)]-Z(g))<=1)&&(d={})}Ct(d),wt.current?.(d)},[]),nt=k(t=>$?s("span",{"data-vdt-resize":"","data-vdt-col":a.indexOf(t),"aria-hidden":!0,onMouseDown:e=>rn(t,e),onDoubleClick:e=>on(t,e),onClick:e=>e.stopPropagation()}):null,[$,rn,on,a]),xe=k(t=>{if(!Wt(t))return t.text;let e=!!(t.filterValues&&t.filterValues.length>0);return L(S,{component:"span",sx:{display:"inline-flex",alignItems:"center",gap:.5,maxWidth:"100%",color:e?"primary.main":void 0,fontWeight:e?600:void 0,verticalAlign:"middle"},children:[s(S,{component:"span",sx:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:t.text}),s(At,{active:e})]})},[]),Qn=k(t=>{let e=H?performance.now():0;if(Zt.current?.(),!N){H&&(M.current.rangeChangedCalls+=1,M.current.rangeChangedMs+=performance.now()-e);return}if(c&&o.length===0){H&&(M.current.rangeChangedCalls+=1,M.current.rangeChangedMs+=performance.now()-e);return}let r=o.length>=30,i=t>=o.length-1,d=mt.current===o.length;if(i&&r&&!gt.current&&!d){gt.current=!0,mt.current=o.length;let n=o.length;N(n,50)}H&&(M.current.rangeChangedCalls+=1,M.current.rangeChangedMs+=performance.now()-e)},[o.length,c,N,H]);te(()=>{c||(gt.current=!1)},[c]),te(()=>{o.length===0&&jn(t=>t+1)},[o.length]);let an=w(Ft);an.current=Ft;let Ht=w(o.length),Et=w(void 0);te(()=>{let t=Ht.current,e=o.length,r=e>0?Ie.current?Ie.current(o[0],0):o[0]:void 0,i=Et.current;if(e>t&&t>0){Ht.current=e,Et.current=r;return}let d=e<t||t>0&&r!==i;d&&(mt.current=-1),bt.current&&e>0&&d&&an.current&&bt.current.scrollToIndex({index:0,align:"start",behavior:"auto"}),Ht.current=e,Et.current=r},[o]);let ln=k(()=>{let t={},e=[];if(a.forEach(n=>{n.group?(t[n.group]||(t[n.group]=[]),t[n.group].push(n)):e.push(n)}),!(Object.keys(t).length>0))return s(_e,{children:a.map((n,l)=>L(ue,{align:n.align||"left",title:typeof n.text=="string"?n.text:void 0,...n.headerProps,onContextMenu:x=>ze(n,x),style:{...K(n,l,n.width??n.minWidth),...n.style,fontWeight:"bold",position:"sticky",top:0,zIndex:2,padding:"16px",...ve(n,!0),...n.headerProps?.style},children:[n.sortable?s("div",{style:{display:"flex",alignItems:"center",justifyContent:n.align==="center"?"center":n.align==="right"?"flex-end":"flex-start",position:"relative",width:"100%"},children:L(S,{className:"vdt-sort-box",sx:{position:"relative",cursor:"default","&:hover .MuiTableSortLabel-root":{opacity:"1 !important","& .MuiSvgIcon-root":{color:"#000",opacity:"1 !important"}}},onClick:()=>tt(String(n.id)),children:[xe(n),s(zt,{active:T===n.id,direction:T===n.id?D:"desc",sx:{position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)",marginLeft:"4px",minWidth:"auto",width:"16px",height:"16px",cursor:"default",opacity:T===n.id?1:0,transition:"opacity 0.2s ease","& .MuiTableSortLabel-icon":{position:"relative",marginLeft:0,marginRight:0,opacity:1,transition:"color 0.2s ease"},"& .MuiTableSortLabel-iconDirectionAsc":{transform:"rotate(180deg)"},"& .MuiTableSortLabel-iconDirectionDesc":{transform:"rotate(0deg)"}}})]})}):xe(n),nt(n)]},String(n.id)))});let i=[...e.map(n=>L(ue,{rowSpan:2,align:n.align||"left",title:typeof n.text=="string"?n.text:void 0,...n.headerProps,onContextMenu:l=>ze(n,l),style:{...K(n,a.indexOf(n),n.width),...n.style,fontWeight:"bold",position:"sticky",top:0,zIndex:2,padding:"16px",...ve(n,!0),...n.headerProps?.style},children:[n.sortable&&A?s("div",{style:{display:"flex",alignItems:"center",justifyContent:n.align==="center"?"center":n.align==="right"?"flex-end":"flex-start",position:"relative",width:"100%"},children:L(S,{className:"vdt-sort-box",sx:{position:"relative",cursor:"default","&:hover .MuiTableSortLabel-root":{opacity:"1 !important","& .MuiSvgIcon-root":{color:"#000",opacity:"1 !important"}}},onClick:()=>tt(String(n.id)),children:[xe(n),s(zt,{active:T===n.id,direction:T===n.id?D:"desc",sx:{position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)",marginLeft:"4px",minWidth:"auto",width:"16px",height:"16px",cursor:"default",opacity:T===n.id?1:0,transition:"opacity 0.2s ease","&:hover":{opacity:"1 !important","& .MuiSvgIcon-root":{color:"#000",opacity:"1 !important"}},"& .MuiTableSortLabel-icon":{position:"relative",marginLeft:0,marginRight:0,opacity:1,transition:"color 0.2s ease"},"& .MuiTableSortLabel-iconDirectionAsc":{transform:"rotate(180deg)"},"& .MuiTableSortLabel-iconDirectionDesc":{transform:"rotate(0deg)"}}})]})}):xe(n),nt(n)]},String(n.id))),...Object.entries(t).map(([n,l])=>s(ue,{align:"center",colSpan:l.length,onContextMenu:x=>ze(null,x),style:{fontWeight:"bold",position:"sticky",top:0,zIndex:2,padding:"16px"},children:n},n))],d=[...Object.values(t).flat().map(n=>L(ue,{align:n.align||"left",title:typeof n.text=="string"?n.text:void 0,...n.headerProps,onContextMenu:l=>ze(n,l),style:{...K(n,a.indexOf(n),n.width),...n.style,fontWeight:"bold",position:"sticky",top:0,zIndex:2,padding:"16px",...ve(n,!0),...n.headerProps?.style},children:[n.sortable&&A?s("div",{style:{display:"flex",alignItems:"center",justifyContent:n.align==="center"?"center":n.align==="right"?"flex-end":"flex-start",position:"relative",width:"100%"},children:L(S,{className:"vdt-sort-box",sx:{position:"relative",cursor:"default","&:hover .MuiTableSortLabel-root":{opacity:"1 !important","& .MuiSvgIcon-root":{color:"#000",opacity:"1 !important"}}},onClick:()=>tt(String(n.id)),children:[xe(n),s(zt,{active:T===n.id,direction:T===n.id?D:"desc",sx:{position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)",marginLeft:"4px",minWidth:"auto",width:"16px",height:"16px",cursor:"default",opacity:T===n.id?1:0,transition:"opacity 0.2s ease","&:hover":{opacity:"1 !important","& .MuiSvgIcon-root":{color:"#000",opacity:"1 !important"}},"& .MuiTableSortLabel-icon":{position:"relative",marginLeft:0,marginRight:0,opacity:1,transition:"color 0.2s ease"},"& .MuiTableSortLabel-iconDirectionAsc":{transform:"rotate(0deg)"},"& .MuiTableSortLabel-iconDirectionDesc":{transform:"rotate(180deg)"}}})]})}):xe(n),nt(n)]},String(n.id)))];return L(Ve,{children:[s(_e,{children:i}),s(_e,{children:d})]})},[a,T,D,tt,A,ge,ve,ze,xe,K,nt]),sn=ie(()=>{let t=a.filter(r=>r.mobile!==!1),e=t.find(r=>r.mobile==="title")??t.find(r=>!r.mobile);return{title:e,thumb:t.filter(r=>r.mobile==="thumb"),badge:t.filter(r=>r.mobile==="badge"),sub:t.filter(r=>r.mobile==="sub"),meta:t.filter(r=>r!==e&&(!r.mobile||r.mobile==="meta"))}},[a]),dn=k((t,e)=>{if(ke?.renderRow)return ke.renderRow(t,e);let r=u=>u.render?u.render(t,e):String(t[u.id]??""),{title:i,thumb:d,badge:n,sub:l,meta:x}=sn;return L(S,{sx:{display:"flex",gap:"12px",alignItems:"flex-start",py:"12px",px:"14px",minWidth:0},children:[d.map(u=>s(S,{sx:{flexShrink:0},children:r(u)},String(u.id))),L(S,{sx:{flex:1,minWidth:0,display:"flex",flexDirection:"column",gap:"4px"},children:[(i||n.length>0)&&L(S,{sx:{display:"flex",alignItems:"flex-start",gap:"8px",minWidth:0},children:[s(S,{sx:{flex:1,minWidth:0,fontSize:15,fontWeight:500,overflowWrap:"anywhere"},children:i?r(i):null}),n.map(u=>s(S,{sx:{flexShrink:0},children:r(u)},String(u.id)))]}),l.map(u=>s(S,{sx:{fontSize:13,color:v.headerColor,minWidth:0},children:r(u)},String(u.id))),x.length>0&&s(S,{sx:{display:"flex",flexWrap:"wrap",gap:"2px 12px",fontSize:13,minWidth:0},children:x.map(u=>{let y=u.mobileLabel===!1?null:u.mobileLabel??(typeof u.text=="string"?u.text:null);return L(S,{sx:{display:"inline-flex",alignItems:"center",gap:"4px",minWidth:0,maxWidth:"100%"},children:[y?s(S,{component:"span",sx:{color:v.headerColor,flexShrink:0},children:y}):null,s(S,{component:"span",sx:{minWidth:0,"& > *":{width:"auto !important",textAlign:"left !important"}},children:r(u)})]},String(u.id))})})]})]})},[ke,sn,v]),rt=k((t,e)=>{let r=H?performance.now():0;if(!e){if(H){M.current.rowContentCalls+=1;let l=performance.now()-r;M.current.rowContentMs+=l,M.current.rowContentMaxMs=Math.max(M.current.rowContentMaxMs,l)}return null}if(X)return s(ue,{colSpan:a.length,"data-vdt-pad":"",sx:{padding:0},children:dn(e,t)});let i=st?st(e,t):null;if(i!=null)return s(ue,{colSpan:a.length,"data-vdt-pad":"",sx:[{padding:C?"0 14px":"8px 16px"},...Array.isArray(Re)?Re:Re?[Re]:[]],children:i});let d=0,n=a.map((l,x)=>{if(d>0)return d-=1,null;let u=l.colSpan?Math.max(1,Math.min(l.colSpan(e,t),a.length-x)):1;d=u-1;let y=H?performance.now():0,B=l.render?l.render(e,t):String(e[l.id]||"");if(H){let O=performance.now()-y;M.current.cellRenderCalls+=1,M.current.cellRenderMs+=O,M.current.cellRenderMaxMs=Math.max(M.current.cellRenderMaxMs,O)}let Z=Qe.has(String(l.id)),g=l.cellPadding!==void 0,I=l.rowSpan?l.rowSpan(e,t):1;if(I<=0)return null;let W=l.onCellClick;return s(ue,{align:l.align||"left",rowSpan:I>1?I:void 0,colSpan:u>1?u:void 0,"data-vdt-pad":g?"":void 0,"data-vdt-pinned":Z?"":void 0,"data-vdt-cell-click":W?"":void 0,onClick:W?O=>{let oe=O.clientX-be.current.x,Q=O.clientY-be.current.y;O.stopPropagation(),!(Math.sqrt(oe*oe+Q*Q)>Nt)&&W(e,t,O)}:void 0,style:{...u>1?{}:K(l,x,l.width??l.minWidth),...l.primary?{fontSize:15}:{},...l.style,...l.cellStyle?l.cellStyle(e,t):{},padding:g?l.cellPadding:"8px 16px",...ve(l,!1)},children:B},String(l.id))});if(H){M.current.rowContentCalls+=1;let l=performance.now()-r;M.current.rowContentMs+=l,M.current.rowContentMaxMs=Math.max(M.current.rowContentMaxMs,l)}return s(Ve,{children:n})},[a,H,st,Re,C,Qe,ve,X,dn,K]),cn=k(()=>{let t=ln();if(!He||He.length===0)return t;let e=Qt.current;return L(Ve,{children:[t,s("tr",{"data-vdt-pinned-area":"",children:s("td",{colSpan:a.length,style:{padding:0,border:0},children:s(S,{"data-vdt-inner-scroll":"",sx:[{maxHeight:dt,overflowY:dt?"auto":"visible",overflowX:"hidden",scrollbarWidth:"thin",borderBottom:`1px solid ${C?v.borderStrong:"rgba(224, 224, 224, 1)"}`,"& tbody tr:last-of-type > td":{borderBottom:"none"}},...Array.isArray(Ee)?Ee:Ee?[Ee]:[]],children:L("table",{style:{width:"100%",tableLayout:Ye,borderCollapse:"separate",borderSpacing:0},children:[s("colgroup",{children:a.map((r,i)=>s("col",{style:K(r,i,r.width??r.minWidth)},String(r.id)))}),s(Cn,{children:He.map((r,i)=>e?s(e,{item:r,"data-index":i,"data-vdt-pinned-row":"",children:rt(i,r)},h?String(h(r,i)):`p${i}`):null)})]})})})})]})},[ln,He,dt,Ee,a,rt,Ye,h,C,v,K]),G=En??a.some(t=>typeof t.footer=="function"),un=k(()=>{if(!G)return null;let t=[];for(let e=0;e<a.length;e+=1){let r=a[e],i=r.footerColSpan&&r.footerColSpan>1?Math.min(r.footerColSpan,a.length-e):1;t.push(s(ue,{align:r.align||"left",colSpan:i>1?i:void 0,style:{...i>1?{}:K(r,e,r.width),...r.style,fontWeight:"bold",padding:C?"0 14px":"16px"},children:r.footer?r.footer(o):null},String(r.id))),e+=i-1}return s(_e,{children:t})},[G,a,o,C,K]),kt=ie(()=>({Scroller:Le?Hn:qt,Table:t=>s(Mr,{...t,sx:{borderCollapse:"separate",tableLayout:Ye,...$?{width:"var(--vdt-tw, 100%)",minWidth:`var(--vdt-tmin, ${Je??0}px)`}:Je&&!X?{minWidth:Je}:{},marginRight:ye?"16px":0,...G?{height:"100%"}:{}}}),TableHead:$e((t,e)=>s(Sr,{...t,ref:e,sx:{userSelect:"none","& > tr":{height:ge,"& > th":{padding:"16px",position:"sticky",top:0,zIndex:2,fontWeight:"bold"}}}})),TableRow:t=>{let{item:e,selected:r,"aria-selected":i,className:d,...n}=t,l=n["data-index"]??0,x=l%2===1,u=e&&Ie.current?Ie.current(e,l):l,y=!qe&&p!==null&&p!==void 0&&u===p,B=y&&q?typeof q=="function"?q(e,l):q:void 0,Z=String(d??"").split(/\s+/).filter(g=>g!=="Mui-selected"&&g!=="Mui-focusVisible").join(" ");return s(_e,{...n,"data-row-id":u!=null?String(u):void 0,className:Z||void 0,selected:y,onMouseDown:g=>{Ae.current=!1,be.current={x:g.clientX,y:g.clientY}},onContextMenu:g=>{e&&vt.current&&vt.current(e,l,g)},onClick:g=>{let I=g.clientX-be.current.x,W=g.clientY-be.current.y;if(Math.sqrt(I*I+W*W)>Nt||Ae.current){g.preventDefault(),g.stopPropagation(),Ae.current=!1;return}e&&yt.current&&yt.current(e,l),Ae.current=!1},sx:[{userSelect:"none",...ut?{"& > td":{height:De}}:{height:De,maxHeight:De},boxSizing:"border-box",backgroundColor:x&&ht?ht:"transparent","& td:not([data-vdt-pad])":{padding:"8px 16px"},"& td":{boxSizing:"border-box",borderBottom:se?"1px solid rgba(224, 224, 224, 1)":"none"},"& th":{padding:"8px 16px",borderBottom:"none"},"&:hover":et&&!y?{backgroundColor:g=>{let I=g.palette.mode==="dark",O=pt??"#000000",oe=Ut??.06;if(!pt)return I?`rgba(255, 255, 255, ${oe})`:`rgba(0, 0, 0, ${oe})`;let Q=O.replace("#","").trim();if(Q.length!==6)return O;let F=parseInt(Q.substring(0,2),16),J=parseInt(Q.substring(2,4),16),We=parseInt(Q.substring(4,6),16);return`rgba(${F}, ${J}, ${We}, ${oe})`}}:void 0,cursor:et?"pointer":void 0},B]})},TableBody:$e((t,e)=>{let{children:r,...i}=t;return L(Cn,{...i,ref:e,sx:G?{height:"100%"}:void 0,children:[r,G&&s("tr",{"aria-hidden":!0,style:{height:"100%"},children:s("td",{colSpan:a.length,style:{padding:0,border:0}})})]})}),TableFoot:$e((t,e)=>s(Tr,{...t,ref:e,sx:[{"& tr":{height:Se??U,maxHeight:Se??U,boxSizing:"border-box"},"& td":{height:Se??U,boxSizing:"border-box",backgroundColor:r=>r.palette.mode==="dark"?"#1e1e1e":"#ffffff",padding:"0 16px",color:"inherit",fontSize:"0.875rem",border:"none",boxShadow:`inset 0 1px 0 0 ${C?v.borderStrong:"#000000"}`}},...Array.isArray(Te)?Te:Te?[Te]:[]]}))}),[et,qe?null:p,q,U,ht,se,ge,pt,Ut,qt,Se,Te,G,C,v,a,Ye,ye,ut,Je,X,Le,$]);Qt.current=kt.TableRow;let Jn=kt,Ne=kt,er=Ne.Table,tr=Ne.TableHead,nr=Ne.TableBody,rr=Ne.TableRow,or=Ne.TableFoot,Y=Be?a.find(t=>String(t.id)===Be.colId):void 0,ar=()=>en(null),pn=null;if(Be&&Y){let t=String(Y.id),e=!!((Y.sortMenu??Y.sortable)&&A),r=Wt(Y),i=T===t?D:void 0;pn=s(Bt,{open:!0,anchorPosition:{left:Be.x,top:Be.y},onClose:ar,sort:e?{active:i??null,clearable:!!V,onChange:d=>{d?A?.(t,d):V?.()}}:void 0,filter:r?{options:Y.filterOptions??[],value:Y.filterValues??[],onChange:d=>Y.onFilterChange?.(d),multiple:Y.filterMultiple!==!1,emptyLabel:Y.filterEmptyLabel,searchable:Y.filterSearchable}:void 0})}let fn=L(S,{ref:Tt,style:Zn??void 0,sx:{position:"relative",height:me?"auto":"100%",width:"100%","& .MuiTableHead-root":{backgroundColor:t=>C?`${v.bg} !important`:t.palette.mode==="dark"?"#1e1e1e !important":"#ffffff !important"},...$n??{},...$?{"& thead th [data-vdt-resize]":{position:"absolute",top:0,right:0,bottom:0,width:"7px",cursor:"col-resize",zIndex:1,"&::after":{content:'""',position:"absolute",top:0,bottom:0,right:0,width:"2px",backgroundColor:C?v.selectedBar:je.palette.primary.main,opacity:0,transition:"opacity 0.12s ease"},"&:hover::after, &[data-active]::after":{opacity:1}}}:{},"& tbody td[data-vdt-pinned]":{backgroundColor:C?v.bg:je.palette.background.paper},"& tbody td[data-vdt-cell-click]":{cursor:"pointer"},"& tbody td[data-vdt-cell-click]:hover":{backgroundColor:C?v.hoverBg:je.palette.mode==="dark"?"rgba(255, 255, 255, 0.06)":"rgba(0, 0, 0, 0.04)"},...C&&et?{"& tbody tr:hover td[data-vdt-pinned]":{backgroundColor:v.hoverBg}}:{},...C?{...ye?{border:`1px solid ${v.borderStrong}`,borderRadius:"4px"}:{"& table":{backgroundColor:v.bg}},overflow:"hidden","& thead tr th > *":{verticalAlign:"middle"},"& thead > tr > th":{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},"& thead > tr > th > *":{maxWidth:"100%"},"& thead .vdt-sort-box":{paddingRight:"20px"},"& thead .vdt-sort-box > .MuiTableSortLabel-root":{left:"auto !important",right:0,marginLeft:"0 !important"},"& thead tr th":{height:ge,boxSizing:"border-box",padding:"0 14px !important",fontSize:13,fontWeight:"500 !important",color:v.headerColor,backgroundColor:`${v.bg} !important`,borderTop:!ye&&Ln?`1px solid ${v.borderStrong}`:"none",borderBottom:`1px solid ${v.borderStrong}`,borderRight:`1px solid ${v.border}`,"&:last-of-type":{borderRight:"none"}},"& tbody tr td:not([data-vdt-pad])":{padding:"0 14px !important"},"& tbody tr td":{fontSize:14,borderBottom:`1px solid ${v.border}`},...o.length>0&&(me||qn||G)?{[`& tbody tr[data-index="${o.length-1}"]:not([data-vdt-pinned-row]) td`]:{borderBottom:"none"}}:{}}:{}},children:[we?s(S,{sx:{overflowX:"auto",width:"100%"},children:L(er,{children:[X?null:s(tr,{children:cn()}),s(nr,{children:o.map((t,e)=>s(rr,{item:t,"data-index":e,children:rt(e,t)},h?String(h(t,e)):e))}),G&&!X?s(or,{children:un()}):null]})}):ct===null?null:s(Lr,{ref:bt,data:o,totalCount:N?o.length+1:o.length,defaultItemHeight:De,fixedItemHeight:ut?void 0:De,fixedHeaderContent:X?void 0:cn,fixedFooterContent:G&&!X?un:void 0,itemContent:rt,...In&&h?{computeItemKey:(t,e)=>e?h(e,t):`vdt-${t}`}:{},endReached:Qn,scrollerRef:t=>{xt.current=t instanceof HTMLElement?t:null,Ke()},totalListHeightChanged:Ke,style:Le?void 0:{height:"100%"},...Le?{customScrollParent:ct}:{},increaseViewportBy:{top:Nn,bottom:Wn},overscan:_n,...de&&o.length>0?{initialItemCount:Math.min(de,o.length)}:{},followOutput:!1,components:Jn},Yn),o.length===0&&!c&&!jt&&C&&typeof ce=="string"&&s(S,{sx:{position:me?"static":"absolute",top:X?0:ge,left:0,right:0,py:6,px:2,textAlign:"center",fontSize:14,color:v.emptyColor,pointerEvents:"none"},children:ce}),o.length===0&&!c&&!jt&&!(C&&typeof ce=="string")&&s(S,{sx:{position:"absolute",top:0,left:0,right:0,bottom:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:2,px:2,textAlign:"center",pointerEvents:"none","& > *":{pointerEvents:"auto"}},children:typeof ce=="string"?L(Ve,{children:[s(S,{sx:{width:48,height:48,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:"50%",backgroundColor:"#f5f5f5",color:"#999"},children:"\u{1F4C4}"}),s(Hr,{variant:"body1",sx:{color:"text.secondary"},children:ce})]}):ce}),pn,Un&&s(Ve,{children:Xe?s(Xe,{visible:c,onComplete:Gt}):s(bn,{visible:c,onComplete:Gt,size:40,indicator:s(yn,{}),sx:{top:`${a.some(t=>t.group)?ge*2:ge}px`,bottom:`${G?Se??U:0}px`},background:{show:o.length===0,opacity:.8}})})]}),hn=C&&ye?{paddingRight:Ue,paddingTop:Rn,paddingBottom:Rn}:{};return fe?s(Rr,{className:"grow",elevation:1,sx:{padding:0,paddingLeft:Ue,...hn,boxSizing:"border-box",height:me?"auto":"100%",minHeight:0,flex:me?"none":1,display:"flex",flexDirection:"column"},children:fn}):s(S,{className:"grow",style:{padding:0,paddingLeft:Ue,...hn,boxSizing:"border-box",height:me?"auto":"100%",minHeight:0,flex:me?"none":1,display:"flex",flexDirection:"column"},children:fn})}var Wr=Cr(Nr);export{Dt as HEADER_MENU_FONT_SIZE,ee as HEADER_MENU_ICON_PATHS,It as HEADER_MENU_ICON_SIZE,Pt as HEADER_MENU_ITEM_HEIGHT,vn as HEADER_MENU_ITEM_SX,At as HeaderFilterIcon,Bt as HeaderMenu,at as HeaderMenuDivider,Ce as HeaderMenuIcon,ae as HeaderMenuItem,Wr as VirtualDataTable,vr as headerMenuAnchor};
|
|
4
|
+
`;function Bn({size:o=54}){return kr(Lr,{children:[Pn("style",{children:Hr}),Pn("span",{className:"vdt-css-spinner",role:"progressbar","aria-label":"loading",style:{display:"inline-block",width:o,height:o}})]})}import gt,{useMemo as Dr,useState as Ir}from"react";import{Box as Ze,Divider as Ar,InputBase as Pr,Menu as Br,MenuItem as zr,SvgIcon as Nr}from"@mui/material";import{jsx as S,jsxs as xt}from"react/jsx-runtime";var Vt=14,$t=18,qt=34,fe={asc:"M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z",desc:"M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z",checked:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z",unchecked:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z",radioOn:"M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z",radioOff:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z",filter:"M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z",search:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"};function Be({d:o,size:l=$t,color:g}){return S(Nr,{sx:{fontSize:l,flexShrink:0,color:g},children:S("path",{d:o})})}function Xt({size:o=14,active:l,color:g}){let M={stroke:"currentColor",strokeWidth:1.8,strokeMiterlimit:10,strokeLinecap:"round",strokeLinejoin:"round"};return xt(Ze,{component:"svg",viewBox:"0 0 24 24",fill:"none","aria-hidden":!0,sx:{width:o,height:o,flexShrink:0,color:l?"primary.main":g??"currentColor",verticalAlign:"middle"},children:[S("path",{d:"M2 17.5H7",...M}),S("path",{d:"M22 6.5H17",...M}),S("path",{d:"M13 17.5H22",...M}),S("path",{d:"M11 6.5H2",...M}),S("path",{d:"M10 20.3999C8.34315 20.3999 7 19.0568 7 17.3999C7 15.743 8.34315 14.3999 10 14.3999C11.6569 14.3999 13 15.743 13 17.3999C13 19.0568 11.6569 20.3999 10 20.3999Z",...M}),S("path",{d:"M14 9.3999C15.6569 9.3999 17 8.05676 17 6.3999C17 4.74305 15.6569 3.3999 14 3.3999C12.3431 3.3999 11 4.74305 11 6.3999C11 8.05676 12.3431 9.3999 14 9.3999Z",...M})]})}var zn={gap:1,fontSize:Vt,lineHeight:"20px",minHeight:qt,py:"7px",px:1.5};function ve({icon:o,iconSpace:l,selected:g,disabled:M,muted:b,onClick:p,sx:z,children:W}){return xt(zr,{selected:g,disabled:M,onClick:p,sx:[zn,b?{color:"text.secondary"}:{},...Array.isArray(z)?z:z?[z]:[]],children:[o??(l?S(Ze,{component:"span",sx:{width:$t,flexShrink:0}}):null),W]})}function bt(){return S(Ar,{sx:{my:"4px !important"}})}function Or(o,l){let g=o.getBoundingClientRect();return{left:l??g.left,top:g.bottom}}function Ut({open:o,anchorPosition:l,anchorEl:g,onClose:M,sort:b,filter:p,header:z,children:W,minWidth:ee=180,maxHeight:K=420}){let[X,V]=Ir(""),$=p?.multiple!==!1,U=p?.value??[],_=Dr(()=>{if(!p)return[];let x=p.options;return p.emptyLabel&&!x.some(N=>N.value==="")?[...x,{value:"",label:p.emptyLabel}]:x},[p]),R=!!p&&(p?.searchable??_.length>10),P=X.trim().toLowerCase(),oe=P?_.filter(x=>x.label.toLowerCase().includes(P)):_,Y=()=>{V(""),M()},I=[];if(z&&I.push(...gt.Children.toArray(z).map((x,N)=>gt.isValidElement(x)?gt.cloneElement(x,{key:`h${N}`}):x)),b){let x=N=>{Y(),b.onChange(b.active===N&&b.clearable!==!1?null:N)};I.push(S(ve,{selected:b.active==="asc",onClick:()=>x("asc"),icon:S(Be,{d:fe.asc,color:"text.secondary"}),children:"\uC624\uB984\uCC28\uC21C \uC815\uB82C"},"sort-asc"),S(ve,{selected:b.active==="desc",onClick:()=>x("desc"),icon:S(Be,{d:fe.desc,color:"text.secondary"}),children:"\uB0B4\uB9BC\uCC28\uC21C \uC815\uB82C"},"sort-desc")),b.active&&b.clearable!==!1&&I.push(S(ve,{muted:!0,iconSpace:!0,onClick:()=>{Y(),b.onChange(null)},children:"\uC815\uB82C \uD480\uAE30"},"sort-clear"))}return b&&p&&I.push(S(bt,{},"div-sort")),p&&(R&&I.push(xt(Ze,{onKeyDown:x=>x.stopPropagation(),sx:{display:"flex",alignItems:"center",gap:1,px:1.5,pb:.5,minHeight:qt},children:[S(Be,{d:fe.search,color:"text.secondary"}),S(Pr,{autoFocus:!0,value:X,onChange:x=>V(x.target.value),placeholder:p.searchPlaceholder??"\uCC3E\uAE30",sx:{flex:1,fontSize:Vt}})]},"search")),!$&&p.allLabel&&I.push(S(ve,{selected:U.length===0,onClick:()=>{Y(),p.onChange([])},icon:S(Be,{d:U.length===0?fe.radioOn:fe.radioOff,color:U.length===0?"primary.main":"text.disabled"}),children:p.allLabel},"f-all")),_.length===0&&I.push(S(ve,{disabled:!0,iconSpace:!0,children:p.emptyText??"\uACE0\uB97C \uAC12\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},"f-none")),oe.forEach(x=>{let N=U.includes(x.value),a=()=>{if($){p.onChange(N?U.filter(h=>h!==x.value):[...U,x.value]);return}Y(),p.onChange(N?[]:[x.value])},u=$?N?fe.checked:fe.unchecked:N?fe.radioOn:fe.radioOff;I.push(xt(ve,{selected:!$&&N,onClick:a,icon:S(Be,{d:u,color:N?"primary.main":"text.disabled"}),children:[x.icon,S(Ze,{component:"span",sx:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:x.render??x.label}),typeof x.count=="number"?S(Ze,{component:"span",sx:{color:"text.secondary",ml:1,fontVariantNumeric:"tabular-nums"},children:x.count}):null]},`f:${x.value||"(empty)"}`))}),R&&P&&oe.length===0&&I.push(S(ve,{disabled:!0,iconSpace:!0,children:"\uCC3E\uB294 \uAC12\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},"f-nohit")),U.length>0&&I.push(S(bt,{},"div-filter"),S(ve,{muted:!0,iconSpace:!0,onClick:()=>{Y(),p.onChange([])},children:p.clearLabel??"\uAC70\uB974\uAE30 \uD480\uAE30"},"f-clear"))),W&&(I.length>0&&I.push(S(bt,{},"div-children")),I.push(...gt.Children.toArray(W))),S(Br,{open:o&&(!!l||!!g),...!l&&!!g?{anchorEl:g}:{anchorReference:"anchorPosition",anchorPosition:l??void 0},onClose:Y,transitionDuration:0,disableAutoFocusItem:R,onContextMenu:x=>x.preventDefault(),onClick:x=>x.stopPropagation(),slotProps:{paper:{sx:{maxHeight:K,minWidth:ee}},list:{sx:{py:.5}}},children:I})}import Kr from"@ehfuse/overlay-scrollbar";import{Fragment as Je,jsx as d,jsxs as O}from"react/jsx-runtime";var Gr={alignment:"default",margin:0,radius:0},jt=5,On={},Zr=3;function Wn(o){return typeof o=="number"?`${o}px`:o}function _n(o){let l=window.getComputedStyle(o),g=l.boxSizing==="border-box"?0:(parseFloat(l.paddingLeft)||0)+(parseFloat(l.paddingRight)||0)+(parseFloat(l.borderLeftWidth)||0)+(parseFloat(l.borderRightWidth)||0);return o.getBoundingClientRect().width-g}function Fn(o,l){let g=[];for(let M=0;M<o.style.length;M+=1){let b=o.style[M];b.startsWith("--vdt-")&&!(b in l)&&g.push(b)}g.forEach(M=>o.style.removeProperty(M)),Object.entries(l).forEach(([M,b])=>o.style.setProperty(M,b))}var Qr={bg:"#ffffff",border:"#e6e6e3",borderStrong:"#dedddb",headerColor:"#787774",hoverBg:"#f8f8f7",emptyColor:"#9b9a97",selectedBg:"#dbeafe",selectedBar:"#3b82f6"},Vn="12px",Jr={bg:"#1e1e1e",border:"#2c333c",borderStrong:"#3b434e",headerColor:"#a3adbb",hoverBg:"#272d36",emptyColor:"#7d8590",selectedBg:"rgba(59, 130, 246, 0.22)",selectedBar:"#60a5fa"},$n=et((o,l)=>d("div",{...o,ref:l}));$n.displayName="VdtPlainScroller";var eo="(max-width:599.95px)";function Kt(o){return!!(o.filterOptions&&o.onFilterChange)}function to({data:o,loading:l=!1,columns:g,onRowClick:M,getRowId:b,selectedRowId:p,selectedRowSx:z,rowHeight:W,columnHeight:ee,striped:K,rowDivider:X=!0,onSort:V,onSortClear:$,onHeaderContextMenu:U,onLoadMore:_,sortBy:R,sortDirection:P,showPaper:oe=!0,paddingX:Y,paddingTop:I=0,paddingBottom:ge=0,rowHoverColor:x,rowHoverOpacity:N,viewportBuffer:a,overscan:u,initialItemCount:h,scrollbars:y,emptyMessage:m="NO DATA",autoHeight:A=!1,LoadingComponent:G,showFooter:Le,footerHeight:Ce,footerSx:ae,variant:tt="default",framed:be=!0,headerTopBorder:yt=!1,rowHeightMode:ke="fixed",tableLayout:De="fixed",renderFullWidthRow:vt,fullWidthRowSx:Ne,onRowContextMenu:Gt,pinnedRows:Oe,pinnedRowsMaxHeight:Ct,pinnedRowsSx:We,resetScrollOnDataChange:Zt=!0,rowKeyFromId:qn=!1,onEndReached:Qt,colorMode:Xn,mobile:Jt,scrollParent:nt,columnResize:en,columnWidths:tn,onColumnWidthsChange:nn,rowReorder:Un}){let T=tt==="notion",Me=Ur(),w=(Xn??Me.palette.mode)==="dark"?Jr:Qr,rn=(Oe?.length??0)>0,Te=ee??(T?40:56),ie=W??(T?48:50),rt=be?Y??(T?"12px":"1rem"):0,_e=Jt===!0?{}:Jt||null,Yn=Yr(_e?.query??eo,{noSsr:!0}),ne=!!_e&&Yn,on=H(null),an=H(()=>null),ln=H(o.length);ln.current=o.length;let xe=Dn({config:Un,tableBoxRef:on,getScroller:()=>an.current(),dataLengthRef:ln,anyPinned:g.some(t=>t.pinned==="left")}),v=me(()=>xe.handleColumn?[xe.handleColumn,...g]:g,[xe.handleColumn,g]),Ie=!!nt,Se=A||Ie,Mt=ke==="auto"||ne,wt=x??(T?w.hoverBg:void 0),sn=N??(T?1:void 0),jn=Math.max(ie*12,480),Kn=Math.max(ie*12,480),Gn=typeof a=="number"?a:a?.top??jn,Zn=typeof a=="number"?a:a?.bottom??Kn,Qn=Math.max(ie*8,420),Jn=Math.max(ie*10,520),er=typeof u=="number"?u:{main:u?.main??Qn,reverse:u?.reverse??Jn},Fe=ie+(X?1:0),tr=me(()=>T?{backgroundColor:w.selectedBg,"& > td:first-of-type":{boxShadow:`inset 3px 0 0 ${w.selectedBar}`},"& > td[data-vdt-pinned]":{backgroundColor:w.selectedBg}}:void 0,[T,w]),le=z??tr,ot=!le||typeof le!="function",nr=me(()=>!ot||p===null||p===void 0||!le?null:{[`& tbody tr[data-row-id="${String(p).replace(/["\\]/g,"\\$&")}"]`]:le},[ot,p,le]),ro=typeof window<"u"&&(window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"),[B]=ze(()=>typeof window>"u"?!1:window.localStorage.getItem("vdt-perf-debug")==="1"),D=H({wheelEvents:0,wheelInputPx:0,wheelHandlerMs:0,wheelRafFlushes:0,wheelRafMs:0,rangeChangedCalls:0,rangeChangedMs:0,rowContentCalls:0,rowContentMs:0,rowContentMaxMs:0,cellRenderCalls:0,cellRenderMs:0,cellRenderMaxMs:0}),Tt=F(t=>{if(!B)return;let e=D.current;if(!(e.wheelEvents>0||e.rangeChangedCalls>0||e.rowContentCalls>0||e.cellRenderCalls>0))return;let s=e.rowContentCalls>0?e.rowContentMs/e.rowContentCalls:0,c=e.cellRenderCalls>0?e.cellRenderMs/e.cellRenderCalls:0;console.log("[VDT perf]",{reason:t,wheel:{events:e.wheelEvents,inputPx:Math.round(e.wheelInputPx),handlerMs:Number(e.wheelHandlerMs.toFixed(2)),rafFlushes:e.wheelRafFlushes,rafMs:Number(e.wheelRafMs.toFixed(2))},rangeChanged:{calls:e.rangeChangedCalls,totalMs:Number(e.rangeChangedMs.toFixed(2))},rowContent:{calls:e.rowContentCalls,totalMs:Number(e.rowContentMs.toFixed(2)),avgMs:Number(s.toFixed(3)),maxMs:Number(e.rowContentMaxMs.toFixed(3))},cellRender:{calls:e.cellRenderCalls,totalMs:Number(e.cellRenderMs.toFixed(2)),avgMs:Number(c.toFixed(3)),maxMs:Number(e.cellRenderMaxMs.toFixed(3))}}),D.current={wheelEvents:0,wheelInputPx:0,wheelHandlerMs:0,wheelRafFlushes:0,wheelRafMs:0,rangeChangedCalls:0,rangeChangedMs:0,rowContentCalls:0,rowContentMs:0,rowContentMaxMs:0,cellRenderCalls:0,cellRenderMs:0,cellRenderMaxMs:0}},[B]);he(()=>{if(!B||typeof window>"u")return;console.log("[VDT perf] enabled (localStorage vdt-perf-debug=1)");let t=window.setInterval(()=>{Tt("interval")},1500);return()=>{window.clearInterval(t),Tt("cleanup")}},[Tt,B]);let dn=me(()=>et((t,e)=>{let r=H(null),s=H(0),c=H(null);return he(()=>{let n=r.current;if(!n)return;let i=E=>{let f=B?performance.now():0;if(E.shiftKey||Math.abs(E.deltaX)>Math.abs(E.deltaY))return;let L=E.target?.closest?.("[data-vdt-inner-scroll]");if(L&&n.contains(L)&&(E.deltaY<0?L.scrollTop>0:L.scrollTop+L.clientHeight<L.scrollHeight-1))return;E.preventDefault();let j=E.deltaY;E.deltaMode===1?j*=40:E.deltaMode===2&&(j*=n.clientHeight),B&&(D.current.wheelEvents+=1,D.current.wheelInputPx+=j),s.current+=j,c.current===null&&(c.current=requestAnimationFrame(()=>{let ce=B?performance.now():0,C=Math.max(n.clientHeight*.4,160),q=Math.max(-C,Math.min(C,s.current));s.current=0,c.current=null,q!==0&&(n.scrollTop+=q),B&&(D.current.wheelRafFlushes+=1,D.current.wheelRafMs+=performance.now()-ce)}),B&&(D.current.wheelHandlerMs+=performance.now()-f))};return n.addEventListener("wheel",i,{passive:!1}),()=>{n.removeEventListener("wheel",i),c.current!==null&&(cancelAnimationFrame(c.current),c.current=null),s.current=0}},[]),d(Kr,{detectInnerScroll:!0,track:Gr,...y,children:d(Fr,{component:k,...t,ref:n=>{r.current=n,typeof e=="function"?e(n):e&&(e.current=n)},sx:{userSelect:"auto",WebkitUserSelect:"auto",position:"relative",width:"100%",height:"100%",overflow:"auto",display:"flex",flexDirection:"column",scrollbarWidth:"none",msOverflowStyle:"none",transform:"translateZ(0)",backfaceVisibility:"hidden",willChange:"scroll-position","&::-webkit-scrollbar":{display:"none"},"& .MuiTable-root":{paddingRight:T?0:rt,paddingTop:typeof I=="number"?`${I}px`:I,paddingBottom:typeof ge=="number"?`${ge}px`:ge}}})})}),[]),St=me(()=>{if(K===!0)return"#f5f5f5";if(typeof K=="string")return K},[K]),[rr,cn]=ze(l),[or,ar]=ze(0);he(()=>{l&&cn(!0)},[l]);let un=F(()=>{cn(!1)},[]),ir=rr,oo=l&&o.length>0,Rt=H(!1),Et=H(-1),Ht=H(null),at=H(null),[lr,sr]=ze(!1),it=F(()=>{let t=at.current;t&&sr(t.scrollHeight>t.clientHeight+1)},[]);he(()=>{let t=at.current;if(!t||typeof ResizeObserver>"u")return;let e=new ResizeObserver(()=>it());return e.observe(t),()=>e.disconnect()},[it,A]);let Lt=H(M);Lt.current=M;let Ve=H(b);Ve.current=b;let kt=H(Gt);kt.current=Gt;let pn=H(Qt);pn.current=Qt;let fn=H(null),mn=en===!0?{}:en||null,te=!!mn&&!ne,$e=mn?.minWidth??48,[dr,Dt]=ze(null);he(()=>{Dt(null)},[tn]);let lt=te?dr??tn??On:On,It=H(lt);It.current=lt;let At=H(nn);At.current=nn;let Pt=H(v);Pt.current=v;let Bt=H(null);an.current=()=>Ie?nt:A?null:at.current;let st=F(t=>{let e={},r=!1,s=!0,c=0,n=0;return v.forEach((i,E)=>{let f=t[String(i.id)];if(typeof f=="number"&&Number.isFinite(f)&&f>0){let L=Math.max(i.minWidth??$e,Math.round(f));e[`--vdt-cw-${E}`]=`${L}px`,r=!0,c+=L,n+=L}else typeof i.width=="number"?(c+=i.width,n+=i.width):(s=!1,c+=i.minWidth??$e)}),r&&(e["--vdt-tmin"]=`${c}px`,s&&(e["--vdt-tw"]=`${n}px`)),e},[v,$e]),zt=H(st);zt.current=st;let cr=me(()=>te?st(lt):null,[te,st,lt]),se=F((t,e,r)=>{if(!te)return{width:t.width,minWidth:r};let s=`--vdt-cw-${e}`,c=Wn(t.width),n=Wn(r);return{width:c!==void 0?`var(${s}, ${c})`:`var(${s})`,minWidth:n!==void 0?`var(${s}, ${n})`:`var(${s})`}},[te]),dt=me(()=>{let t=new Map,e=0,r=[];return v.forEach((s,c)=>{if(s.pinned!=="left")return;t.set(String(s.id),te&&r.length>0?`calc(${r.join(" + ")})`:e);let n=typeof s.width=="number"?s.width:0;e+=n,r.push(`var(--vdt-cw-${c}, ${n}px)`)}),t},[v,te]),ct=me(()=>{if(v.some(t=>typeof t.minWidth=="number"))return v.reduce((t,e)=>t+(typeof e.width=="number"?e.width:typeof e.minWidth=="number"?e.minWidth:0),0)},[v]),Ae=F((t,e)=>{let r=dt.get(String(t.id));return r===void 0?{}:{position:"sticky",left:r,zIndex:e?3:1}},[dt]),ut=!!M,qe=H(!1),Re=H({x:0,y:0});he(()=>{let t=e=>{let r=e.clientX-Re.current.x,s=e.clientY-Re.current.y;Math.sqrt(r*r+s*s)>jt&&(qe.current=!0)};return document.addEventListener("mousemove",t),()=>{document.removeEventListener("mousemove",t)}},[]),he(()=>{let t=document.querySelector('[data-testid="virtuoso-scroller"]');t&&t.querySelectorAll(".MuiTableSortLabel-root").forEach(r=>{let s=new MouseEvent("mouseleave",{bubbles:!0,cancelable:!0});r.dispatchEvent(s)})},[R]);let pt=F(t=>{if(!V)return;V(t,R===t&&P==="asc"?"desc":"asc")},[V,R,P]),[Xe,hn]=ze(null),gn=H(U);gn.current=U;let bn=H(V);bn.current=V;let Ue=F((t,e)=>{if(!t){e.preventDefault();return}t.headerProps?.onContextMenu?.(e);let r=e.defaultPrevented;if(r||(r=gn.current?.(t,e)===!0||e.defaultPrevented),e.preventDefault(),r||t.headerMenu===!1||!!!((t.sortMenu??t.sortable)&&bn.current)&&!Kt(t))return;let c=e.currentTarget.getBoundingClientRect();hn({colId:String(t.id),x:e.clientX,y:c.bottom})},[]),xn=F((t,e)=>{if(e.button!==0)return;e.preventDefault(),e.stopPropagation();let r=e.currentTarget,s=r.closest("th"),c=Bt.current;if(!s||!c)return;let n=_n(s),i=e.clientX,E=String(t.id),f=t.minWidth??$e,L=It.current,j=Pt.current;if(!j.some(J=>!(String(J.id)in L)&&typeof J.width!="number")){let J={...L};c.querySelectorAll("thead th [data-vdt-col]").forEach(pe=>{let je=j[Number(pe.getAttribute("data-vdt-col"))],Ln=pe.closest("th");!je||!Ln||String(je.id)in J||(J[String(je.id)]=Math.round(_n(Ln)))}),L=J}let C=L,q=!1,Z=0;r.setAttribute("data-active","");let Q=document.body.style.cursor;document.body.style.cursor="col-resize";let ye=J=>{let pe=J.clientX-i;!q&&Math.abs(pe)<Zr||(q=!0,C={...L,[E]:Math.max(f,Math.round(n+pe))},Z||(Z=requestAnimationFrame(()=>{Z=0,Fn(c,zt.current(C))})))},ue=()=>{if(document.removeEventListener("mousemove",ye),document.removeEventListener("mouseup",ue),Z&&cancelAnimationFrame(Z),r.removeAttribute("data-active"),document.body.style.cursor=Q,!q)return;Fn(c,zt.current(C));let J=pe=>{pe.stopPropagation(),pe.preventDefault()};window.addEventListener("click",J,!0),window.setTimeout(()=>window.removeEventListener("click",J,!0),0),Dt(C),At.current?.(C)};document.addEventListener("mousemove",ye),document.addEventListener("mouseup",ue)},[$e]),yn=F((t,e)=>{e.preventDefault(),e.stopPropagation();let r=String(t.id),s=It.current;if(!(r in s))return;let c={...s};delete c[r];let n=Pt.current,i=Bt.current?.querySelector("table"),E=i?.parentElement;if(i&&E&&n.every(f=>typeof f.width=="number")){let f=n.reduce((C,q)=>C+q.width,0),L=E.clientWidth,j=f>0?Math.max(1,L/f):1,ce=C=>Math.round(C.width*j);j>1&&(c[r]=ce(t)),n.every(C=>!(String(C.id)in c)||Math.abs(c[String(C.id)]-ce(C))<=1)&&(c={})}Dt(c),At.current?.(c)},[]),ft=F(t=>te&&t.id!==_t?d("span",{"data-vdt-resize":"","data-vdt-col":v.indexOf(t),"aria-hidden":!0,onMouseDown:e=>xn(t,e),onDoubleClick:e=>yn(t,e),onClick:e=>e.stopPropagation()}):null,[te,xn,yn,v]),Ee=F(t=>{if(!Kt(t))return t.text;let e=!!(t.filterValues&&t.filterValues.length>0);return O(k,{component:"span",sx:{display:"inline-flex",alignItems:"center",gap:.5,maxWidth:"100%",color:e?"primary.main":void 0,fontWeight:e?600:void 0,verticalAlign:"middle"},children:[d(k,{component:"span",sx:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:t.text}),d(Xt,{active:e})]})},[]),ur=F(t=>{let e=B?performance.now():0;if(pn.current?.(),!_){B&&(D.current.rangeChangedCalls+=1,D.current.rangeChangedMs+=performance.now()-e);return}if(l&&o.length===0){B&&(D.current.rangeChangedCalls+=1,D.current.rangeChangedMs+=performance.now()-e);return}let r=o.length>=30,s=t>=o.length-1,c=Et.current===o.length;if(s&&r&&!Rt.current&&!c){Rt.current=!0,Et.current=o.length;let n=o.length;_(n,50)}B&&(D.current.rangeChangedCalls+=1,D.current.rangeChangedMs+=performance.now()-e)},[o.length,l,_,B]);he(()=>{l||(Rt.current=!1)},[l]),he(()=>{o.length===0&&ar(t=>t+1)},[o.length]);let vn=H(Zt);vn.current=Zt;let Nt=H(o.length),Ot=H(void 0);he(()=>{let t=Nt.current,e=o.length,r=e>0?Ve.current?Ve.current(o[0],0):o[0]:void 0,s=Ot.current;if(e>t&&t>0){Nt.current=e,Ot.current=r;return}let c=e<t||t>0&&r!==s;c&&(Et.current=-1),Ht.current&&e>0&&c&&vn.current&&Ht.current.scrollToIndex({index:0,align:"start",behavior:"auto"}),Nt.current=e,Ot.current=r},[o]);let Cn=F(()=>{let t={},e=[];if(v.forEach(n=>{n.group?(t[n.group]||(t[n.group]=[]),t[n.group].push(n)):e.push(n)}),!(Object.keys(t).length>0))return d(Qe,{children:v.map((n,i)=>O(we,{align:n.align||"left",title:typeof n.text=="string"?n.text:void 0,...n.headerProps,onContextMenu:E=>Ue(n,E),style:{...se(n,i,n.width??n.minWidth),...n.style,fontWeight:"bold",position:"sticky",top:0,zIndex:2,padding:"16px",...Ae(n,!0),...n.headerProps?.style},children:[n.sortable?d("div",{style:{display:"flex",alignItems:"center",justifyContent:n.align==="center"?"center":n.align==="right"?"flex-end":"flex-start",position:"relative",width:"100%"},children:O(k,{className:"vdt-sort-box","data-align":n.align||"left",sx:{position:"relative",cursor:"default","&:hover .MuiTableSortLabel-root":{opacity:"1 !important","& .MuiSvgIcon-root":{color:"#000",opacity:"1 !important"}}},onClick:()=>pt(String(n.id)),children:[Ee(n),d(Yt,{active:R===n.id,direction:R===n.id?P:"desc",sx:{position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)",marginLeft:"4px",minWidth:"auto",width:"16px",height:"16px",cursor:"default",opacity:R===n.id?1:0,transition:"opacity 0.2s ease","& .MuiTableSortLabel-icon":{position:"relative",marginLeft:0,marginRight:0,opacity:1,transition:"color 0.2s ease"},"& .MuiTableSortLabel-iconDirectionAsc":{transform:"rotate(180deg)"},"& .MuiTableSortLabel-iconDirectionDesc":{transform:"rotate(0deg)"}}})]})}):Ee(n),ft(n)]},String(n.id)))});let s=[...e.map(n=>O(we,{rowSpan:2,align:n.align||"left",title:typeof n.text=="string"?n.text:void 0,...n.headerProps,onContextMenu:i=>Ue(n,i),style:{...se(n,v.indexOf(n),n.width),...n.style,fontWeight:"bold",position:"sticky",top:0,zIndex:2,padding:"16px",...Ae(n,!0),...n.headerProps?.style},children:[n.sortable&&V?d("div",{style:{display:"flex",alignItems:"center",justifyContent:n.align==="center"?"center":n.align==="right"?"flex-end":"flex-start",position:"relative",width:"100%"},children:O(k,{className:"vdt-sort-box","data-align":n.align||"left",sx:{position:"relative",cursor:"default","&:hover .MuiTableSortLabel-root":{opacity:"1 !important","& .MuiSvgIcon-root":{color:"#000",opacity:"1 !important"}}},onClick:()=>pt(String(n.id)),children:[Ee(n),d(Yt,{active:R===n.id,direction:R===n.id?P:"desc",sx:{position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)",marginLeft:"4px",minWidth:"auto",width:"16px",height:"16px",cursor:"default",opacity:R===n.id?1:0,transition:"opacity 0.2s ease","&:hover":{opacity:"1 !important","& .MuiSvgIcon-root":{color:"#000",opacity:"1 !important"}},"& .MuiTableSortLabel-icon":{position:"relative",marginLeft:0,marginRight:0,opacity:1,transition:"color 0.2s ease"},"& .MuiTableSortLabel-iconDirectionAsc":{transform:"rotate(180deg)"},"& .MuiTableSortLabel-iconDirectionDesc":{transform:"rotate(0deg)"}}})]})}):Ee(n),ft(n)]},String(n.id))),...Object.entries(t).map(([n,i])=>d(we,{align:"center",colSpan:i.length,onContextMenu:E=>Ue(null,E),style:{fontWeight:"bold",position:"sticky",top:0,zIndex:2,padding:"16px"},children:n},n))],c=[...Object.values(t).flat().map(n=>O(we,{align:n.align||"left",title:typeof n.text=="string"?n.text:void 0,...n.headerProps,onContextMenu:i=>Ue(n,i),style:{...se(n,v.indexOf(n),n.width),...n.style,fontWeight:"bold",position:"sticky",top:0,zIndex:2,padding:"16px",...Ae(n,!0),...n.headerProps?.style},children:[n.sortable&&V?d("div",{style:{display:"flex",alignItems:"center",justifyContent:n.align==="center"?"center":n.align==="right"?"flex-end":"flex-start",position:"relative",width:"100%"},children:O(k,{className:"vdt-sort-box","data-align":n.align||"left",sx:{position:"relative",cursor:"default","&:hover .MuiTableSortLabel-root":{opacity:"1 !important","& .MuiSvgIcon-root":{color:"#000",opacity:"1 !important"}}},onClick:()=>pt(String(n.id)),children:[Ee(n),d(Yt,{active:R===n.id,direction:R===n.id?P:"desc",sx:{position:"absolute",left:"100%",top:"50%",transform:"translateY(-50%)",marginLeft:"4px",minWidth:"auto",width:"16px",height:"16px",cursor:"default",opacity:R===n.id?1:0,transition:"opacity 0.2s ease","&:hover":{opacity:"1 !important","& .MuiSvgIcon-root":{color:"#000",opacity:"1 !important"}},"& .MuiTableSortLabel-icon":{position:"relative",marginLeft:0,marginRight:0,opacity:1,transition:"color 0.2s ease"},"& .MuiTableSortLabel-iconDirectionAsc":{transform:"rotate(0deg)"},"& .MuiTableSortLabel-iconDirectionDesc":{transform:"rotate(180deg)"}}})]})}):Ee(n),ft(n)]},String(n.id)))];return O(Je,{children:[d(Qe,{children:s}),d(Qe,{children:c})]})},[v,R,P,pt,V,Te,Ae,Ue,Ee,se,ft]),Mn=me(()=>{let t=v.filter(r=>r.mobile!==!1),e=t.find(r=>r.mobile==="title")??t.find(r=>!r.mobile);return{title:e,thumb:t.filter(r=>r.mobile==="thumb"),badge:t.filter(r=>r.mobile==="badge"),sub:t.filter(r=>r.mobile==="sub"),meta:t.filter(r=>r!==e&&(!r.mobile||r.mobile==="meta"))}},[v]),wn=F((t,e)=>{if(_e?.renderRow)return _e.renderRow(t,e);let r=f=>f.render?f.render(t,e):String(t[f.id]??""),{title:s,thumb:c,badge:n,sub:i,meta:E}=Mn;return O(k,{sx:{display:"flex",gap:"12px",alignItems:"flex-start",py:"12px",px:"14px",minWidth:0},children:[c.map(f=>d(k,{sx:{flexShrink:0},children:r(f)},String(f.id))),O(k,{sx:{flex:1,minWidth:0,display:"flex",flexDirection:"column",gap:"4px"},children:[(s||n.length>0)&&O(k,{sx:{display:"flex",alignItems:"flex-start",gap:"8px",minWidth:0},children:[d(k,{sx:{flex:1,minWidth:0,fontSize:15,fontWeight:500,overflowWrap:"anywhere"},children:s?r(s):null}),n.map(f=>d(k,{sx:{flexShrink:0},children:r(f)},String(f.id)))]}),i.map(f=>d(k,{sx:{fontSize:13,color:w.headerColor,minWidth:0},children:r(f)},String(f.id))),E.length>0&&d(k,{sx:{display:"flex",flexWrap:"wrap",gap:"2px 12px",fontSize:13,minWidth:0},children:E.map(f=>{let L=f.mobileLabel===!1?null:f.mobileLabel??(typeof f.text=="string"?f.text:null);return O(k,{sx:{display:"inline-flex",alignItems:"center",gap:"4px",minWidth:0,maxWidth:"100%"},children:[L?d(k,{component:"span",sx:{color:w.headerColor,flexShrink:0},children:L}):null,d(k,{component:"span",sx:{minWidth:0,"& > *":{width:"auto !important",textAlign:"left !important"}},children:r(f)})]},String(f.id))})})]})]})},[_e,Mn,w]),mt=F((t,e)=>{let r=B?performance.now():0;if(!e){if(B){D.current.rowContentCalls+=1;let i=performance.now()-r;D.current.rowContentMs+=i,D.current.rowContentMaxMs=Math.max(D.current.rowContentMaxMs,i)}return null}if(ne){let i=wn(e,t);return d(we,{colSpan:v.length,"data-vdt-pad":"",sx:{padding:0},children:xe.on?O(k,{sx:{display:"flex",alignItems:"stretch",minWidth:0},children:[d(k,{sx:{display:"flex",alignItems:"center",pl:"6px",flexShrink:0},children:xe.renderHandle(e,t)}),d(k,{sx:{flex:1,minWidth:0},children:i})]}):i})}let s=vt?vt(e,t):null;if(s!=null)return d(we,{colSpan:v.length,"data-vdt-pad":"",sx:[{padding:T?"0 14px":"8px 16px"},...Array.isArray(Ne)?Ne:Ne?[Ne]:[]],children:s});let c=0,n=v.map((i,E)=>{if(c>0)return c-=1,null;let f=i.colSpan?Math.max(1,Math.min(i.colSpan(e,t),v.length-E)):1;c=f-1;let L=B?performance.now():0,j=i.render?i.render(e,t):String(e[i.id]||"");if(B){let Q=performance.now()-L;D.current.cellRenderCalls+=1,D.current.cellRenderMs+=Q,D.current.cellRenderMaxMs=Math.max(D.current.cellRenderMaxMs,Q)}let ce=dt.has(String(i.id)),C=i.cellPadding!==void 0,q=i.rowSpan?i.rowSpan(e,t):1;if(q<=0)return null;let Z=i.onCellClick;return d(we,{align:i.align||"left",rowSpan:q>1?q:void 0,colSpan:f>1?f:void 0,"data-vdt-pad":C?"":void 0,"data-vdt-pinned":ce?"":void 0,"data-vdt-cell-click":Z?"":void 0,onClick:Z?Q=>{let ye=Q.clientX-Re.current.x,ue=Q.clientY-Re.current.y;Q.stopPropagation(),!(Math.sqrt(ye*ye+ue*ue)>jt)&&Z(e,t,Q)}:void 0,style:{...f>1?{}:se(i,E,i.width??i.minWidth),...i.primary?{fontSize:15}:{},...i.style,...i.cellStyle?i.cellStyle(e,t):{},padding:C?i.cellPadding:"8px 16px",...Ae(i,!1)},children:j},String(i.id))});if(B){D.current.rowContentCalls+=1;let i=performance.now()-r;D.current.rowContentMs+=i,D.current.rowContentMaxMs=Math.max(D.current.rowContentMaxMs,i)}return d(Je,{children:n})},[v,B,vt,Ne,T,dt,Ae,ne,wn,se,xe.on,xe.renderHandle]),Tn=F(()=>{let t=Cn();if(!Oe||Oe.length===0)return t;let e=fn.current;return O(Je,{children:[t,d("tr",{"data-vdt-pinned-area":"",children:d("td",{colSpan:v.length,style:{padding:0,border:0},children:d(k,{"data-vdt-inner-scroll":"",sx:[{maxHeight:Ct,overflowY:Ct?"auto":"visible",overflowX:"hidden",scrollbarWidth:"thin",borderBottom:`1px solid ${T?w.borderStrong:"rgba(224, 224, 224, 1)"}`,"& tbody tr:last-of-type > td":{borderBottom:"none"}},...Array.isArray(We)?We:We?[We]:[]],children:O("table",{style:{width:"100%",tableLayout:De,borderCollapse:"separate",borderSpacing:0},children:[d("colgroup",{children:v.map((r,s)=>d("col",{style:se(r,s,r.width??r.minWidth)},String(r.id)))}),d(Nn,{children:Oe.map((r,s)=>e?d(e,{item:r,"data-index":s,"data-vdt-pinned-row":"",children:mt(s,r)},b?String(b(r,s)):`p${s}`):null)})]})})})})]})},[Cn,Oe,Ct,We,v,mt,De,b,T,w,se]),de=Le??v.some(t=>typeof t.footer=="function"),Sn=F(()=>{if(!de)return null;let t=[];for(let e=0;e<v.length;e+=1){let r=v[e],s=r.footerColSpan&&r.footerColSpan>1?Math.min(r.footerColSpan,v.length-e):1;t.push(d(we,{align:r.align||"left",colSpan:s>1?s:void 0,style:{...s>1?{}:se(r,e,r.width),...r.style,fontWeight:"bold",padding:T?"0 14px":"16px"},children:r.footer?r.footer(o):null},String(r.id))),e+=s-1}return d(Qe,{children:t})},[de,v,o,T,se]),Wt=me(()=>({Scroller:Ie?$n:dn,Table:t=>d(_r,{...t,sx:{borderCollapse:"separate",tableLayout:De,...te?{width:"var(--vdt-tw, 100%)",minWidth:`var(--vdt-tmin, ${ct??0}px)`}:ct&&!ne?{minWidth:ct}:{},marginRight:be?"16px":0,...de?{height:"100%"}:{}}}),TableHead:et((t,e)=>d(Vr,{...t,ref:e,sx:{userSelect:"none","& > tr":{height:Te,"& > th":{padding:"16px",position:"sticky",top:0,zIndex:2,fontWeight:"bold"}}}})),TableRow:t=>{let{item:e,selected:r,"aria-selected":s,className:c,...n}=t,i=n["data-index"]??0,E=i%2===1,f=e&&Ve.current?Ve.current(e,i):i,L=!ot&&p!==null&&p!==void 0&&f===p,j=L&&le?typeof le=="function"?le(e,i):le:void 0,ce=String(c??"").split(/\s+/).filter(C=>C!=="Mui-selected"&&C!=="Mui-focusVisible").join(" ");return d(Qe,{...n,"data-row-id":f!=null?String(f):void 0,className:ce||void 0,selected:L,onMouseDown:C=>{qe.current=!1,Re.current={x:C.clientX,y:C.clientY}},onContextMenu:C=>{e&&kt.current&&kt.current(e,i,C)},onClick:C=>{let q=C.clientX-Re.current.x,Z=C.clientY-Re.current.y;if(Math.sqrt(q*q+Z*Z)>jt||qe.current){C.preventDefault(),C.stopPropagation(),qe.current=!1;return}e&&Lt.current&&Lt.current(e,i),qe.current=!1},sx:[{userSelect:"none",...Mt?{"& > td":{height:Fe}}:{height:Fe,maxHeight:Fe},boxSizing:"border-box",backgroundColor:E&&St?St:"transparent","& td:not([data-vdt-pad])":{padding:"8px 16px"},"& td":{boxSizing:"border-box",borderBottom:X?"1px solid rgba(224, 224, 224, 1)":"none"},"& th":{padding:"8px 16px",borderBottom:"none"},"&:hover":ut&&!L?{backgroundColor:C=>{let q=C.palette.mode==="dark",Q=wt??"#000000",ye=sn??.06;if(!wt)return q?`rgba(255, 255, 255, ${ye})`:`rgba(0, 0, 0, ${ye})`;let ue=Q.replace("#","").trim();if(ue.length!==6)return Q;let J=parseInt(ue.substring(0,2),16),pe=parseInt(ue.substring(2,4),16),je=parseInt(ue.substring(4,6),16);return`rgba(${J}, ${pe}, ${je}, ${ye})`}}:void 0,cursor:ut?"pointer":void 0},j]})},TableBody:et((t,e)=>{let{children:r,...s}=t;return O(Nn,{...s,ref:e,sx:de?{height:"100%"}:void 0,children:[r,de&&d("tr",{"aria-hidden":!0,style:{height:"100%"},children:d("td",{colSpan:v.length,style:{padding:0,border:0}})})]})}),TableFoot:et((t,e)=>d($r,{...t,ref:e,sx:[{"& tr":{height:Ce??ie,maxHeight:Ce??ie,boxSizing:"border-box"},"& td":{height:Ce??ie,boxSizing:"border-box",backgroundColor:r=>r.palette.mode==="dark"?"#1e1e1e":"#ffffff",padding:"0 16px",color:"inherit",fontSize:"0.875rem",border:"none",boxShadow:`inset 0 1px 0 0 ${T?w.borderStrong:"#000000"}`}},...Array.isArray(ae)?ae:ae?[ae]:[]]}))}),[ut,ot?null:p,le,ie,St,X,Te,wt,sn,dn,Ce,ae,de,T,w,v,De,be,Mt,ct,ne,Ie,te]);fn.current=Wt.TableRow;let pr=Wt,Ye=Wt,fr=Ye.Table,mr=Ye.TableHead,hr=Ye.TableBody,gr=Ye.TableRow,br=Ye.TableFoot,re=Xe?v.find(t=>String(t.id)===Xe.colId):void 0,xr=()=>hn(null),Rn=null;if(Xe&&re){let t=String(re.id),e=!!((re.sortMenu??re.sortable)&&V),r=Kt(re),s=R===t?P:void 0;Rn=d(Ut,{open:!0,anchorPosition:{left:Xe.x,top:Xe.y},onClose:xr,sort:e?{active:s??null,clearable:!!$,onChange:c=>{c?V?.(t,c):$?.()}}:void 0,filter:r?{options:re.filterOptions??[],value:re.filterValues??[],onChange:c=>re.onFilterChange?.(c),multiple:re.filterMultiple!==!1,emptyLabel:re.filterEmptyLabel,searchable:re.filterSearchable}:void 0})}let En=O(k,{ref:t=>{Bt.current=t,on.current=t},style:cr??void 0,sx:{position:"relative",height:Se?"auto":"100%",width:"100%",...xe.on?{"& .vdt-reorder-handle":{display:"inline-flex",alignItems:"center",justifyContent:"center",width:28,height:28,padding:0,border:0,borderRadius:"4px",background:"none",color:T?w.headerColor:Me.palette.text.secondary,cursor:"grab",touchAction:"none","&:hover":{color:Me.palette.text.primary,backgroundColor:T?w.hoverBg:"rgba(0,0,0,.06)"},"&:disabled":{opacity:.35,cursor:"not-allowed"},'&[aria-pressed="true"]':{color:T?w.selectedBar:Me.palette.primary.main,backgroundColor:T?w.selectedBg:"rgba(0,0,0,.06)"}},"& thead tr[data-vdt-pinned-row] .vdt-reorder-handle":{visibility:"hidden"},"& tbody tr[data-vdt-dragging] > td":{opacity:.45},"& [data-vdt-drop-indicator]":{backgroundColor:T?w.selectedBar:Me.palette.primary.main}}:{},"& .MuiTableHead-root":{backgroundColor:t=>T?`${w.bg} !important`:t.palette.mode==="dark"?"#1e1e1e !important":"#ffffff !important"},...nr??{},...te?{"& thead th [data-vdt-resize]":{position:"absolute",top:0,right:0,bottom:0,width:"7px",cursor:"col-resize",zIndex:1,"&::after":{content:'""',position:"absolute",top:0,bottom:0,right:0,width:"2px",backgroundColor:T?w.selectedBar:Me.palette.primary.main,opacity:0,transition:"opacity 0.12s ease"},"&:hover::after, &[data-active]::after":{opacity:1}}}:{},"& tbody td[data-vdt-pinned]":{backgroundColor:T?w.bg:Me.palette.background.paper},"& tbody td[data-vdt-cell-click]":{cursor:"pointer"},"& tbody td[data-vdt-cell-click]:hover":{backgroundColor:T?w.hoverBg:Me.palette.mode==="dark"?"rgba(255, 255, 255, 0.06)":"rgba(0, 0, 0, 0.04)"},...T&&ut?{"& tbody tr:hover td[data-vdt-pinned]":{backgroundColor:w.hoverBg}}:{},...T?{...be?{border:`1px solid ${w.borderStrong}`,borderRadius:"4px"}:{"& table":{backgroundColor:w.bg}},overflow:"hidden","& thead tr th > *":{verticalAlign:"middle"},"& thead > tr > th":{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},"& thead > tr > th > *":{maxWidth:"100%"},"& thead .vdt-sort-box:not([data-align='center'])":{paddingRight:"20px"},"& thead .vdt-sort-box:not([data-align='center']) > .MuiTableSortLabel-root":{left:"auto !important",right:0,marginLeft:"0 !important"},"& thead tr th":{height:Te,boxSizing:"border-box",padding:"0 14px !important",fontSize:13,fontWeight:"500 !important",color:w.headerColor,backgroundColor:`${w.bg} !important`,borderTop:!be&&yt?`1px solid ${w.borderStrong}`:"none",borderBottom:`1px solid ${w.borderStrong}`,borderRight:`1px solid ${w.border}`,"&:last-of-type":{borderRight:"none"}},"& tbody tr td:not([data-vdt-pad])":{padding:"0 14px !important"},"& tbody tr td":{fontSize:14,borderBottom:`1px solid ${w.border}`},...o.length>0&&(Se||lr||de)?{[`& tbody tr[data-index="${o.length-1}"]:not([data-vdt-pinned-row]) td`]:{borderBottom:"none"}}:{}}:{}},children:[xe.indicator,A?d(k,{sx:{overflowX:"auto",width:"100%"},children:O(fr,{children:[ne?null:d(mr,{children:Tn()}),d(hr,{children:o.map((t,e)=>d(gr,{item:t,"data-index":e,children:mt(e,t)},b?String(b(t,e)):e))}),de&&!ne?d(br,{children:Sn()}):null]})}):nt===null?null:d(jr,{ref:Ht,data:o,totalCount:_?o.length+1:o.length,defaultItemHeight:Fe,fixedItemHeight:Mt?void 0:Fe,fixedHeaderContent:ne?void 0:Tn,fixedFooterContent:de&&!ne?Sn:void 0,itemContent:mt,...qn&&b?{computeItemKey:(t,e)=>e?b(e,t):`vdt-${t}`}:{},endReached:ur,scrollerRef:t=>{at.current=t instanceof HTMLElement?t:null,it()},totalListHeightChanged:it,style:Ie?void 0:{height:"100%"},...Ie?{customScrollParent:nt}:{},increaseViewportBy:{top:Gn,bottom:Zn},overscan:er,...h&&o.length>0?{initialItemCount:Math.min(h,o.length)}:{},followOutput:!1,components:pr},or),o.length===0&&!l&&!rn&&T&&typeof m=="string"&&d(k,{sx:{position:Se?"static":"absolute",top:ne?0:Te,left:0,right:0,py:6,px:2,textAlign:"center",fontSize:14,color:w.emptyColor,pointerEvents:"none"},children:m}),o.length===0&&!l&&!rn&&!(T&&typeof m=="string")&&d(k,{sx:{position:"absolute",top:0,left:0,right:0,bottom:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:2,px:2,textAlign:"center",pointerEvents:"none","& > *":{pointerEvents:"auto"}},children:typeof m=="string"?O(Je,{children:[d(k,{sx:{width:48,height:48,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:"50%",backgroundColor:"#f5f5f5",color:"#999"},children:"\u{1F4C4}"}),d(Xr,{variant:"body1",sx:{color:"text.secondary"},children:m})]}):m}),Rn,ir&&d(Je,{children:G?d(G,{visible:l,onComplete:un}):d(An,{visible:l,onComplete:un,size:40,indicator:d(Bn,{}),sx:{top:`${v.some(t=>t.group)?Te*2:Te}px`,bottom:`${de?Ce??ie:0}px`},background:{show:o.length===0,opacity:.8}})})]}),Hn=T&&be?{paddingRight:rt,paddingTop:Vn,paddingBottom:Vn}:{};return oe?d(qr,{className:"grow",elevation:1,sx:{padding:0,paddingLeft:rt,...Hn,boxSizing:"border-box",height:Se?"auto":"100%",minHeight:0,flex:Se?"none":1,display:"flex",flexDirection:"column"},children:En}):d(k,{className:"grow",style:{padding:0,paddingLeft:rt,...Hn,boxSizing:"border-box",height:Se?"auto":"100%",minHeight:0,flex:Se?"none":1,display:"flex",flexDirection:"column"},children:En})}var no=Wr(to);export{Vt as HEADER_MENU_FONT_SIZE,fe as HEADER_MENU_ICON_PATHS,$t as HEADER_MENU_ICON_SIZE,qt as HEADER_MENU_ITEM_HEIGHT,zn as HEADER_MENU_ITEM_SX,Xt as HeaderFilterIcon,Ut as HeaderMenu,bt as HeaderMenuDivider,Be as HeaderMenuIcon,ve as HeaderMenuItem,no as VirtualDataTable,Or as headerMenuAnchor};
|
|
5
5
|
/**
|
|
6
6
|
* Virtual Data Table - A high-performance virtual data table component for React
|
|
7
7
|
*
|