mantine-datatable
Version:
The lightweight, dependency-free, dark-theme aware table component for your Mantine UI data-rich applications, featuring asynchronous data loading support, pagination, intuitive Gmail-style additive batch rows selection, column sorting, custom cell data r
2 lines • 38.6 kB
JavaScript
"use client";import{Box as Gr,Table as Xr}from"@mantine/core";import{useDebouncedCallback as Qr,useMergedRef as Wo}from"@mantine/hooks";import Ao from"clsx";import{useCallback as ke,useMemo as Ur,useState as Ke}from"react";import{useState as kt}from"react";import{createSafeContext as Ua}from"@mantine/core";var[Rt,ce]=Ua("useDataTableColumnsContext must be used within DataTableColumnProvider");import{jsx as $a}from"react/jsx-runtime";var at=e=>{let{children:t,columnsOrder:o,setColumnsOrder:a,columnsToggle:n,setColumnsToggle:r,resetColumnsOrder:l,resetColumnsToggle:i,setColumnWidth:s,resetColumnsWidth:d}=e,[p,b]=kt(""),[f,T]=kt("");return $a(Rt,{value:{sourceColumn:p,setSourceColumn:b,targetColumn:f,setTargetColumn:T,columnsToggle:n,setColumnsToggle:r,swapColumns:()=>{if(!o||!a||!p||!f)return;let v=o.indexOf(p),D=o.indexOf(f);if(v!==-1&&D!==-1){let P=o.splice(v,1)[0];o.splice(D,0,P),a([...o])}},resetColumnsOrder:l,resetColumnsToggle:i,setColumnWidth:s,resetColumnsWidth:d},children:t})};import{jsx as Et}from"react/jsx-runtime";function Nt(){return Et("tr",{className:"mantine-datatable-empty-row",children:Et("td",{})})}import{Center as Ja,Text as Za}from"@mantine/core";import{jsx as xe,jsxs as Ka}from"react/jsx-runtime";function Lt(){return Ka("svg",{width:"24",height:"24",viewBox:"0 0 24 24",strokeWidth:"2",stroke:"currentColor",fill:"none",strokeLinecap:"round",strokeLinejoin:"round",children:[xe("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),xe("path",{d:"M12.983 8.978c3.955 -.182 7.017 -1.446 7.017 -2.978c0 -1.657 -3.582 -3 -8 -3c-1.661 0 -3.204 .19 -4.483 .515m-2.783 1.228c-.471 .382 -.734 .808 -.734 1.257c0 1.22 1.944 2.271 4.734 2.74"}),xe("path",{d:"M4 6v6c0 1.657 3.582 3 8 3c.986 0 1.93 -.067 2.802 -.19m3.187 -.82c1.251 -.53 2.011 -1.228 2.011 -1.99v-6"}),xe("path",{d:"M4 12v6c0 1.657 3.582 3 8 3c3.217 0 5.991 -.712 7.261 -1.74m.739 -3.26v-4"}),xe("path",{d:"M3 3l18 18"})]})}import{Fragment as Ya,jsx as Oe,jsxs as qa}from"react/jsx-runtime";function Ht({icon:e,text:t,pt:o,pb:a,active:n,children:r}){return Oe(Ja,{pt:o,pb:a,className:"mantine-datatable-empty-state","data-active":n||void 0,children:r||qa(Ya,{children:[e||Oe("div",{className:"mantine-datatable-empty-state-icon",children:Oe(Lt,{})}),Oe(Za,{component:"div",size:"sm",c:"dimmed",children:t})]})})}import{TableTfoot as yn,TableTr as wn,rem as Pn}from"@mantine/core";import Sn from"clsx";import{TableTh as Tn}from"@mantine/core";import gn from"clsx";import{useLocalStorage as nt}from"@mantine/hooks";import{useMemo as ja}from"react";var It=({key:e,columns:t=[],getInitialValueInEffect:o=!0})=>{function a(u,y){let c=[];return u.forEach(m=>{y.find(h=>h.accessor===m)&&c.push(m)}),y.forEach(m=>{c.includes(m.accessor)||c.push(m.accessor)}),c}function n(u,y){let c=[];return u.forEach(m=>{y.find(h=>h.accessor===m.accessor)&&c.push(m)}),y.forEach(m=>{c.find(h=>h.accessor===m.accessor)||c.push({accessor:m.accessor,defaultToggle:m.defaultToggle||!0,toggleable:m.toggleable,toggled:m.defaultToggle===void 0?!0:m.defaultToggle})}),c}function r(u,y){let c=[];return u.forEach(m=>{let h=Object.keys(m)[0];y.find(w=>w.accessor===h)&&c.push(m)}),y.forEach(m=>{let h=m.accessor;if(!c.find(w=>Object.keys(w)[0]===h)){let w={};w[h]="",c.push(w)}}),c}function l(){let[u,y]=nt({key:e?`${e}-columns-order`:"",defaultValue:e?d:void 0,getInitialValueInEffect:o});function c(w){e&&y(w)}if(!e)return[u,c];let m=a(u,t),h=JSON.stringify(u);return JSON.stringify(m)!==h&&c(m),[m,c]}function i(){let[u,y]=nt({key:e?`${e}-columns-toggle`:"",defaultValue:e?b:void 0,getInitialValueInEffect:o});function c(w){e&&y(w)}if(!e)return[u,c];let m=n(u,t),h=JSON.stringify(u);return JSON.stringify(m)!==h&&c(m),[n(u,t),c]}function s(){let[u,y]=nt({key:e?`${e}-columns-width`:"",defaultValue:e?p:void 0,getInitialValueInEffect:o});function c(w){e&&y(w)}if(!e)return[u,c];let m=r(u,t),h=JSON.stringify(u);return JSON.stringify(m)!==h&&c(m),[r(u,t),c]}let d=t&&t.map(u=>u.accessor)||[],p=t&&t.map(u=>({[u.accessor]:u.width??"initial"}))||[],b=t&&t.map(u=>({accessor:u.accessor,defaultToggle:u.defaultToggle||!0,toggleable:u.toggleable,toggled:u.defaultToggle===void 0?!0:u.defaultToggle})),[f,T]=l(),[g,v]=i(),[D,P]=s(),R=()=>T(d),S=()=>{v(b)},x=()=>P(p);return{effectiveColumns:ja(()=>f?f.map(c=>t.find(m=>m.accessor===c)).map(c=>({...c,hidden:c?.hidden||!g.find(m=>m.accessor===c?.accessor)?.toggled})).map(c=>({...c,width:D.find(m=>m[c?.accessor])?.[c?.accessor]})):t,[t,f,g,D]),setColumnsOrder:T,columnsOrder:f,resetColumnsOrder:R,columnsToggle:g,setColumnsToggle:v,resetColumnsToggle:S,columnsWidth:D,setColumnsWidth:P,setColumnWidth:(u,y)=>{let c=D.map(m=>m[u]?{[u]:y}:m);P(c)},resetColumnsWidth:x}};import{useResizeObserver as en}from"@mantine/hooks";function re(){let[e]=en(),{width:t,height:o}=e.current?.getBoundingClientRect()||{width:0,height:0};return{ref:e,width:t,height:o}}import{useEffect as tn,useLayoutEffect as on}from"react";var Ot=typeof window<"u"?on:tn;import{useEffect as an,useState as nn}from"react";function Wt(e){let[t,o]=nn(null),a=e?.join(":")||"";return an(()=>{o(null)},[a]),{lastSelectionChangeIndex:t,setLastSelectionChangeIndex:o}}import{useEffect as rn,useRef as ln,useState as sn}from"react";function dn(e,t){let o=()=>{t(e.map(n=>n.matches))},a=e.map(n=>{try{return n.addEventListener("change",o),()=>n.removeEventListener("change",o)}catch{return n.addListener(o),()=>n.removeListener(o)}});return()=>{a.forEach(n=>n())}}function cn(e,t){return t||(typeof window<"u"&&"matchMedia"in window?e.map(o=>window.matchMedia(o).matches):e.map(()=>!1))}function At(e,t,{getInitialValueInEffect:o}={getInitialValueInEffect:!0}){let[a,n]=sn(o?t:cn(e,t)),r=ln(null);return rn(()=>{if("matchMedia"in window)return r.current=e.map(l=>window.matchMedia(l)),n(r.current.map(l=>l.matches)),dn(r.current,l=>{n(l)})},[e]),a}import{useMantineTheme as un}from"@mantine/core";import{useMemo as zt}from"react";function Vt(e){let t=un(),o=zt(()=>e.map(n=>(typeof n=="function"?n(t):n)??""),[e,t]),a=zt(()=>e.map(()=>!0),[e]);return At(o,a)}import{useMantineTheme as mn}from"@mantine/core";import{useMediaQuery as pn}from"@mantine/hooks";function K(e){let t=mn(),o=typeof e=="function"?e(t):e;return pn(o||"",!0)}import{useState as fn}from"react";function ue(e){let t=e.replace(/([a-z\d])([A-Z]+)/g,"$1 $2").replace(/\W|_/g," ").trim().toLowerCase();return`${t.charAt(0).toUpperCase()}${t.slice(1)}`}function _t(e,t,o){return e.filter(a=>!t.map(o).includes(o(a)))}function We(e,t){return e.filter((o,a,n)=>a===n.findIndex(r=>t(o)===t(r)))}function rt(e,t){return t?t.match(/([^[.\]])+/g).reduce((a,n)=>a&&a[n],e):void 0}function E(e,t){return typeof t=="string"?rt(e,t):t(e)}function Ll(e,t){let o=structuredClone(t),a=o[e.source.index];return e.destination&&(o.splice(e.source.index,1),o.splice(e.destination.index,0,a)),o}function Hl(e,t){let o=structuredClone(t),a=e.destination;if(!a)return o;let n=o[e.source.index],r=o[a.index];return o.splice(a.index,1,n),o.splice(e.source.index,1,r),o}function Ft({rowExpansion:e,records:t,idAccessor:o}){let a=[];if(e&&t){let{trigger:i,allowMultiple:s,initiallyExpanded:d}=e;t&&i==="always"?a=t.map(p=>E(p,o)):d&&(a=t.filter((p,b)=>d({record:p,index:b})).map(p=>E(p,o)),s||(a=[a[0]]))}let n,r,l=fn(a);if(e){let{expandable:i,trigger:s,allowMultiple:d,collapseProps:p,content:b}=e;e.expanded?{recordIds:n,onRecordIdsChange:r}=e.expanded:[n,r]=l;let f=T=>r?.(n.filter(g=>g!==E(T,o)));return{expandOnClick:s!=="always"&&s!=="never",isRowExpanded:T=>s==="always"?!0:n.includes(E(T,o)),isExpandable:({record:T,index:g})=>i?i({record:T,index:g}):!0,expandRow:T=>{let g=E(T,o);r?.(d?[...n,g]:[g])},collapseRow:f,collapseProps:p,content:({record:T,index:g})=>()=>b({record:T,index:g,collapse:()=>f(T)})}}}import{useTimeout as Bt}from"@mantine/hooks";import{useEffect as bn,useState as Gt}from"react";function Xt(e,t){let[o,a]=Gt(e),[n,r]=Gt(e),l=Bt(()=>a(!0),0),i=Bt(()=>r(!1),t||200);return bn(()=>{e?(i.clear(),r(!0),l.start()):(l.clear(),a(!1),i.start())},[l,i,e]),{expanded:o,visible:n}}var me="mantine-datatable-nowrap",pe="mantine-datatable-ellipsis",B="mantine-datatable-pointer-cursor",Ae="mantine-datatable-context-menu-cursor",Qt="mantine-datatable-text-selection-disabled",J="mantine-datatable-text-align-left",Z="mantine-datatable-text-align-center",Y="mantine-datatable-text-align-right";import{jsx as hn}from"react/jsx-runtime";function Ut({className:e,style:t,visibleMediaQuery:o,title:a,noWrap:n,ellipsis:r,textAlign:l,width:i}){return K(o)?hn(Tn,{className:gn({[me]:n||r,[pe]:r,[J]:l==="left",[Z]:l==="center",[Y]:l==="right"},e),style:[{width:i,minWidth:i,maxWidth:i},t],children:a}):null}import{TableTh as Cn}from"@mantine/core";import{jsx as Dn}from"react/jsx-runtime";function $t({shadowVisible:e}){return Dn(Cn,{className:"mantine-datatable-footer-selector-placeholder-cell","data-shadow-visible":e||void 0})}import{jsx as lt,jsxs as vn}from"react/jsx-runtime";function Kt({className:e,style:t,columns:o,defaultColumnProps:a,selectionVisible:n,selectorCellShadowVisible:r,scrollDiff:l,ref:i}){let s=l<0;return lt(yn,{ref:i,className:Sn("mantine-datatable-footer",e),style:[{position:s?"relative":"sticky",bottom:Pn(s?l:0)},t],children:vn(wn,{children:[n&<($t,{shadowVisible:r}),o.map(({hidden:d,...p})=>{if(d)return null;let{accessor:b,visibleMediaQuery:f,textAlign:T,width:g,footer:v,footerClassName:D,footerStyle:P,noWrap:R,ellipsis:S}={...a,...p};return lt(Ut,{className:D,style:P,visibleMediaQuery:f,textAlign:T,width:g,title:v,noWrap:R,ellipsis:S},b)})]})})}import{Checkbox as or,Group as ar,Popover as nr,PopoverDropdown as rr,PopoverTarget as lr,Stack as ir,TableThead as sr,TableTr as mo}from"@mantine/core";import dr from"clsx";import{useState as cr}from"react";import{TableTh as xn}from"@mantine/core";import Mn from"clsx";import{useMemo as Jt}from"react";import{jsx as Rn}from"react/jsx-runtime";function Zt({group:{id:e,columns:t,title:o,textAlign:a,className:n,style:r}}){let l=Jt(()=>t.map(({visibleMediaQuery:d})=>d),[t]),i=Vt(l),s=Jt(()=>t.filter(({hidden:d},p)=>!d&&i?.[p]).length,[t,i]);return s>0?Rn(xn,{colSpan:s,className:Mn("mantine-datatable-column-group-header-cell",{[J]:a==="left",[Z]:a==="center",[Y]:a==="right"},n),style:r,children:o??ue(e)}):null}import{ActionIcon as io,Box as Un,Center as Fe,Flex as $n,Group as Kn,TableTh as Jn}from"@mantine/core";import Be from"clsx";import{useRef as Zn,useState as Yn}from"react";import{ActionIcon as Nn,Popover as Ln,PopoverDropdown as Hn,PopoverTarget as In}from"@mantine/core";import{useClickOutside as On,useDisclosure as Wn}from"@mantine/hooks";import{jsx as Yt,jsxs as kn}from"react/jsx-runtime";function qt(){return kn("svg",{width:"14",height:"14",viewBox:"0 0 24 24",strokeWidth:"2",stroke:"currentColor",fill:"none",strokeLinecap:"round",strokeLinejoin:"round",children:[Yt("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),Yt("path",{d:"M4 4h16v2.172a2 2 0 0 1 -.586 1.414l-4.414 4.414v7l-6 2v-8.5l-4.48 -4.928a2 2 0 0 1 -.52 -1.345v-2.227z"})]})}import{jsx as jt,jsxs as En}from"react/jsx-runtime";function eo(){return En("svg",{width:"14",height:"14",viewBox:"0 0 24 24",strokeWidth:"2",stroke:"currentColor",fill:"none",strokeLinecap:"round",strokeLinejoin:"round",children:[jt("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),jt("path",{d:"M20 3h-16a1 1 0 0 0 -1 1v2.227l.008 .223a3 3 0 0 0 .772 1.795l4.22 4.641v8.114a1 1 0 0 0 1.316 .949l6 -2l.108 -.043a1 1 0 0 0 .576 -.906v-6.586l4.121 -4.12a3 3 0 0 0 .879 -2.123v-2.171a1 1 0 0 0 -1 -1z",strokeWidth:"0",fill:"currentColor"})]})}import{jsx as ze,jsxs as An}from"react/jsx-runtime";function to({children:e,isActive:t,filterPopoverProps:o,filterPopoverDisableClickOutside:a}){let[n,{close:r,toggle:l}]=Wn(!1),i=t?eo:qt,s=On(r);return a&&(s=void 0),An(Ln,{withArrow:!0,shadow:"md",opened:n,onClose:r,trapFocus:!0,...o,children:[ze(In,{children:ze(Nn,{className:"mantine-datatable-header-cell-filter-action-icon","data-active":t||void 0,size:"sm",variant:"default",onClick:d=>{d.preventDefault(),l()},onKeyDown:d=>d.stopPropagation(),children:ze(i,{})})}),ze(Hn,{ref:s,onClick:d=>d.stopPropagation(),onKeyDown:d=>d.stopPropagation(),children:typeof e=="function"?e({close:r}):e})]})}import{rem as zn}from"@mantine/core";import{useRef as Vn,useState as _n}from"react";import{jsx as Fn}from"react/jsx-runtime";var oo=e=>{let{accessor:t,columnRef:o}=e,a=Vn(null),[n,r]=_n(0),{setColumnWidth:l}=ce(),i=b=>{b.preventDefault(),b.stopPropagation(),document.addEventListener("mousemove",s),document.addEventListener("mouseup",d),document.body.style.cursor="col-resize"},s=b=>{if(!o.current)return;let f=b.clientX-o.current.getBoundingClientRect().right,g=`${o.current.getBoundingClientRect().width+f}px`;o.current.style.width=g,l(t,o.current.style.width),r(-f)},d=()=>{o.current&&(document.removeEventListener("mousemove",s),document.removeEventListener("mouseup",d),document.body.style.cursor="initial",l(t,o.current.style.width),r(0))};return Fn("div",{ref:a,onClick:b=>b.stopPropagation(),onMouseDown:i,onDoubleClick:()=>{o.current&&(o.current.style.maxWidth="initial",o.current.style.minWidth="initial",o.current.style.width="initial",l(t,"initial"))},className:"mantine-datatable-header-resizable-handle",style:{right:zn(n)}})};import{jsx as Ve,jsxs as Bn}from"react/jsx-runtime";function ao(){return Bn("svg",{width:"14",height:"14",viewBox:"0 0 24 24",strokeWidth:"2",stroke:"currentColor",fill:"none",strokeLinecap:"round",strokeLinejoin:"round",children:[Ve("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),Ve("path",{d:"M12 5l0 14"}),Ve("path",{d:"M16 9l-4 -4"}),Ve("path",{d:"M8 9l4 -4"})]})}import{jsx as _e,jsxs as Gn}from"react/jsx-runtime";function no(){return Gn("svg",{width:"14",height:"14",viewBox:"0 0 24 24",strokeWidth:"2",stroke:"currentColor",fill:"none",strokeLinecap:"round",strokeLinejoin:"round",children:[_e("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),_e("path",{d:"M8 7l4 -4l4 4"}),_e("path",{d:"M8 17l4 4l4 -4"}),_e("path",{d:"M12 3l0 18"})]})}import{jsx as le,jsxs as Xn}from"react/jsx-runtime";function ro(){return Xn("svg",{width:"14",height:"14",viewBox:"0 0 24 24",strokeWidth:"2",stroke:"currentColor",fill:"none",strokeLinecap:"round",strokeLinejoin:"round",children:[le("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),le("path",{d:"M9 5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"}),le("path",{d:"M9 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"}),le("path",{d:"M9 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"}),le("path",{d:"M15 5m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"}),le("path",{d:"M15 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"}),le("path",{d:"M15 19m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"})]})}import{jsx as it,jsxs as Qn}from"react/jsx-runtime";function lo(){return Qn("svg",{width:"14",height:"14",viewBox:"0 0 24 24",strokeWidth:"2",stroke:"currentColor",fill:"none",strokeLinecap:"round",strokeLinejoin:"round",children:[it("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),it("path",{d:"M18 6l-12 12"}),it("path",{d:"M6 6l12 12"})]})}import{Fragment as qn,jsx as N,jsxs as st}from"react/jsx-runtime";function so({className:e,style:t,accessor:o,visibleMediaQuery:a,title:n,sortable:r,draggable:l,toggleable:i,resizable:s,sortIcons:d,textAlign:p,width:b,sortStatus:f,onSortStatusChange:T,filter:g,filterPopoverProps:v,filterPopoverDisableClickOutside:D,filtering:P,sortKey:R}){let{setSourceColumn:S,setTargetColumn:x,swapColumns:O,setColumnsToggle:W}=ce(),[u,y]=Yn(!1),c=Zn(null);if(!K(a))return null;let m=n??ue(o),h=typeof m=="string"?m:void 0,w=r&&T?k=>{k?.defaultPrevented||T({sortKey:R,columnAccessor:o,direction:f?.columnAccessor===o?f.direction==="asc"?"desc":"asc":f?.direction??"asc"})}:void 0,L=k=>{k.stopPropagation(),S(o),y(!1)},V=k=>{k.preventDefault(),x(o),y(!0)},_=()=>{x(o),y(!1),O()},U=()=>{y(!0)},F=()=>{y(!1)},G=k=>{k.stopPropagation(),W(j=>j.map(X=>X.accessor===o?{...X,toggled:!1}:X))};return st(Jn,{className:Be({"mantine-datatable-header-cell-sortable":r,"mantine-datatable-header-cell-toggleable":i,"mantine-datatable-header-cell-resizable":s},e),style:[{width:b,...s?{minWidth:"1px"}:{minWidth:b,maxWidth:b}},t],role:r?"button":void 0,tabIndex:r?0:void 0,onClick:w,onKeyDown:k=>k.key==="Enter"&&w?.(),ref:c,children:[st(Kn,{className:"mantine-datatable-header-cell-sortable-group",justify:"space-between",wrap:"nowrap",children:[st($n,{align:"center",w:"100%",className:Be({"mantine-datatable-header-cell-draggable":l,"mantine-datatable-header-cell-drag-over":u}),draggable:l,onDragStart:l?L:void 0,onDragEnter:l?U:void 0,onDragOver:l?V:void 0,onDrop:l?_:void 0,onDragLeave:l?F:void 0,children:[l?N(Fe,{role:"img","aria-label":"Drag column",children:N(io,{className:"mantine-datatable-header-cell-draggable-action-icon",variant:"subtle",size:"xs",onClick:k=>{k.stopPropagation()},children:N(ro,{})})}):null,N(Un,{className:Be("mantine-datatable-header-cell-sortable-text",{[J]:p==="left",[Z]:p==="center",[Y]:p==="right"},me,pe),title:h,children:m})]}),i?N(Fe,{className:"mantine-datatable-header-cell-toggleable-icon",role:"img","aria-label":"Toggle column",children:N(io,{size:"xs",variant:"light",onClick:G,children:N(lo,{})})}):null,r||f?.columnAccessor===o?N(qn,{children:f?.columnAccessor===o?N(Fe,{className:Be("mantine-datatable-header-cell-sortable-icon",{"mantine-datatable-header-cell-sortable-icon-reversed":f.direction==="desc"}),role:"img","aria-label":`Sorted ${f.direction==="desc"?"descending":"ascending"}`,children:d?.sorted||N(ao,{})}):N(Fe,{className:"mantine-datatable-header-cell-sortable-unsorted-icon",role:"img","aria-label":"Not sorted",children:d?.unsorted||N(no,{})})}):null,g?N(to,{filterPopoverProps:v,isActive:!!P,filterPopoverDisableClickOutside:D,children:g}):null]}),s?N(oo,{accessor:o,columnRef:c}):null]})}import{Checkbox as jn,TableTh as er}from"@mantine/core";import tr from"clsx";import{jsx as co}from"react/jsx-runtime";function uo({className:e,style:t,trigger:o,shadowVisible:a,checked:n,indeterminate:r,checkboxProps:l,onChange:i,rowSpan:s,ref:d}){let p=!l.disabled;return co(er,{ref:d,className:tr("mantine-datatable-header-selector-cell",{[B]:o==="cell"&&p},e),style:t,rowSpan:s,"data-shadow-visible":a||void 0,onClick:o==="cell"&&p?i:void 0,children:co(jn,{classNames:p?{input:B}:void 0,checked:n,indeterminate:r,onChange:i,...l,disabled:!(i||l.onChange)||l.disabled})})}import{jsx as q,jsxs as Ge}from"react/jsx-runtime";function po({selectionColumnHeaderRef:e,className:t,style:o,sortStatus:a,sortIcons:n,onSortStatusChange:r,columns:l,defaultColumnProps:i,groups:s,selectionTrigger:d,selectionVisible:p,selectionChecked:b,selectionIndeterminate:f,onSelectionChange:T,selectionCheckboxProps:g,selectorCellShadowVisible:v,selectionColumnClassName:D,selectionColumnStyle:P,ref:R}){let S=p?q(uo,{ref:e,className:D,style:P,trigger:d,shadowVisible:v,checked:b,indeterminate:f,checkboxProps:g,onChange:T,rowSpan:s?2:void 0}):null,{columnsToggle:x,setColumnsToggle:O}=ce(),[W,u]=cr(!1),y=l.some(h=>h.toggleable),c=y?Object.fromEntries(l.map(({accessor:h,title:w})=>[h,w??ue(String(h))])):void 0,m=Ge(sr,{className:dr("mantine-datatable-header",t),style:o,ref:R,onContextMenu:y?h=>{h.preventDefault(),u(w=>!w)}:void 0,children:[s&&Ge(mo,{children:[S,s.map(h=>q(Zt,{group:h},h.id))]}),Ge(mo,{children:[!s&&S,l.map(({hidden:h,...w},L)=>{if(h)return null;let{accessor:V,visibleMediaQuery:_,textAlign:U,width:F,title:G,sortable:k,draggable:j,toggleable:X,resizable:fe,titleClassName:be,titleStyle:Te,filter:ge,filterPopoverProps:ee,filterPopoverDisableClickOutside:he,filtering:Ce,sortKey:Q}={...i,...w};return q(so,{accessor:V,className:be,style:Te,visibleMediaQuery:_,textAlign:U,width:F,title:G,sortable:k,draggable:j,toggleable:X,resizable:fe&&L<l.length-1,sortStatus:a,sortIcons:n,sortKey:Q,onSortStatusChange:r,filter:ge,filterPopoverProps:ee,filterPopoverDisableClickOutside:he,filtering:Ce},V)})]})]});return y?Ge(nr,{position:"bottom",withArrow:!0,shadow:"md",opened:W,onChange:u,children:[q(lr,{children:m}),q(rr,{children:q(ir,{children:x.filter(h=>h.toggleable).map(h=>q(ar,{children:q(or,{classNames:{label:"mantine-datatable-header-column-toggle-checkbox-label"},size:"xs",label:c[h.accessor],checked:h.toggled,onChange:w=>{O(x.map(L=>L.accessor===h.accessor?{...L,toggled:w.currentTarget.checked}:L))}})},h.accessor))})})]}):m}import{Center as ur,Loader as mr}from"@mantine/core";import pr from"clsx";import{jsx as fo}from"react/jsx-runtime";function bo({pt:e,pb:t,fetching:o,customContent:a,backgroundBlur:n,size:r,type:l,color:i}){return fo(ur,{pt:e,pb:t,className:pr("mantine-datatable-loader",{"mantine-datatable-loader-fetching":o}),style:[{backdropFilter:n?`blur(${n}px)`:void 0}],children:o&&(a||fo(mr,{size:r,type:l,color:i}))})}import{Box as Pr,Pagination as Sr,Text as vr,rem as xr}from"@mantine/core";import Po from"clsx";import{Button as Tr,Group as gr,Menu as hr,MenuDropdown as Cr,MenuItem as Dr,MenuTarget as yr,Text as Co,rem as Me}from"@mantine/core";import wr from"clsx";import{parseThemeColor as fr}from"@mantine/core";function M(e,t,o){return e?fr({color:typeof e=="object"?e[o]:e,theme:t}).value:void 0}function To({theme:e,c:t,backgroundColor:o,borderColor:a,rowBorderColor:n,stripedColor:r,highlightOnHoverColor:l}){return{"--mantine-datatable-color-light":M(t,e,"light"),"--mantine-datatable-color-dark":M(t,e,"dark"),"--mantine-datatable-background-color-light":M(o,e,"light"),"--mantine-datatable-background-color-dark":M(o,e,"dark"),"--mantine-datatable-border-color-light":M(a,e,"light"),"--mantine-datatable-border-color-dark":M(a,e,"dark"),"--mantine-datatable-row-border-color-light":M(n,e,"light"),"--mantine-datatable-row-border-color-dark":M(n,e,"dark"),"--mantine-datatable-striped-color-light":M(r,e,"light"),"--mantine-datatable-striped-color-dark":M(r,e,"dark"),"--mantine-datatable-highlight-on-hover-color-light":M(l,e,"light"),"--mantine-datatable-highlight-on-hover-color-dark":M(l,e,"dark")}}function Xe({theme:e,paginationActiveTextColor:t,paginationActiveBackgroundColor:o}){return{"--mantine-datatable-pagination-active-text-color-light":M(t,e,"light"),"--mantine-datatable-pagination-active-text-color-dark":M(t,e,"dark"),"--mantine-datatable-pagination-active-background-color-light":M(o,e,"light"),"--mantine-datatable-pagination-active-background-color-dark":M(o,e,"dark")}}function go({theme:e,color:t,backgroundColor:o}){return{"--mantine-datatable-row-color-light":M(t,e,"light"),"--mantine-datatable-row-color-dark":M(t,e,"dark"),"--mantine-datatable-row-background-color-light":M(o,e,"light"),"--mantine-datatable-row-background-color-dark":M(o,e,"dark")}}import{jsx as dt,jsxs as br}from"react/jsx-runtime";function ho(){return br("svg",{width:"14",height:"14",viewBox:"0 0 24 24",strokeWidth:"2",stroke:"currentColor",fill:"none",strokeLinecap:"round",strokeLinejoin:"round",children:[dt("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),dt("path",{d:"M8 9l4 -4l4 4"}),dt("path",{d:"M16 15l-4 4l-4 -4"})]})}import{jsx as ie,jsxs as yo}from"react/jsx-runtime";var Do={xs:Me(22),sm:Me(26),md:Me(32),lg:Me(38),xl:Me(44)};function wo({size:e,label:t,values:o,value:a,activeTextColor:n,activeBackgroundColor:r,onChange:l}){return yo(gr,{gap:"xs",children:[ie(Co,{component:"div",size:e,children:t}),yo(hr,{withinPortal:!0,withArrow:!0,offset:2,classNames:{arrow:"mantine-datatable-page-size-selector-menu-arrow"},children:[ie(yr,{children:ie(Tr,{size:e,variant:"default",classNames:{section:"mantine-datatable-page-size-selector-button-icon"},rightSection:ie(ho,{}),style:[{fontWeight:"normal"},i=>({height:Do[e],paddingLeft:i.spacing[e],paddingRight:i.spacing[e]})],children:a})}),ie(Cr,{children:o.map(i=>{let s=i===a;return ie(Dr,{className:wr({"mantine-datatable-page-size-selector-active":s}),style:[{height:Do[e]},s&&(n||r)?d=>Xe({theme:d,paginationActiveTextColor:n,paginationActiveBackgroundColor:r}):void 0],disabled:s,onClick:()=>l(i),children:ie(Co,{component:"div",size:e,children:i})},i)})})]})]})}import{jsx as ct,jsxs as Mr}from"react/jsx-runtime";function So({className:e,style:t,fetching:o,page:a,onPageChange:n,paginationWithEdges:r,paginationWithControls:l,paginationActiveTextColor:i,paginationActiveBackgroundColor:s,paginationSize:d,loadingText:p,noRecordsText:b,paginationText:f,totalRecords:T,recordsPerPage:g,onRecordsPerPageChange:v,recordsPerPageLabel:D,recordsPerPageOptions:P,recordsLength:R,horizontalSpacing:S,paginationWrapBreakpoint:x,getPaginationControlProps:O,ref:W}){let u;if(T){let c=(a-1)*g+1,m=c+(R||0)-1;u=f({from:c,to:m,totalRecords:T})}else u=o?p:b;let y=K(({breakpoints:c})=>`(min-width: ${typeof x=="number"?`${xr(x)}rem`:c[x]||x})`);return Mr(Pr,{ref:W,px:S??"xs",py:"xs",className:Po("mantine-datatable-pagination",e),style:[{flexDirection:y?"row":"column"},t],children:[ct(vr,{component:"div",className:"mantine-datatable-pagination-text",size:d,children:u}),P&&ct(wo,{activeTextColor:i,activeBackgroundColor:s,size:d,label:D,values:P,value:g,onChange:v}),ct(Sr,{classNames:{root:Po("mantine-datatable-pagination-pages",{"mantine-datatable-pagination-pages-fetching":o||!R}),control:"mantine-datatable-pagination-pages-control"},style:i||s?c=>Xe({theme:c,paginationActiveTextColor:i,paginationActiveBackgroundColor:s}):void 0,withEdges:r,withControls:l,value:a,onChange:n,size:d,total:Math.ceil(T/g),getControlProps:O})]})}import{TableTr as zr}from"@mantine/core";import Vr from"clsx";import{TableTd as Rr}from"@mantine/core";import kr from"clsx";import{jsx as Er}from"react/jsx-runtime";function vo({className:e,style:t,visibleMediaQuery:o,record:a,index:n,onClick:r,onDoubleClick:l,onContextMenu:i,noWrap:s,ellipsis:d,textAlign:p,width:b,accessor:f,render:T,defaultRender:g,customCellAttributes:v}){return K(o)?Er(Rr,{className:kr({[me]:s||d,[pe]:d,[B]:r||l,[Ae]:i,[J]:p==="left",[Z]:p==="center",[Y]:p==="right"},e),style:[{width:b,minWidth:b,maxWidth:b},t],onClick:r,onDoubleClick:l,onContextMenu:i,...v?.(a,n),children:T?T(a,n):g?g(a,n,f):rt(a,f)}):null}import{Collapse as Nr,TableTd as Lr,TableTr as xo}from"@mantine/core";import{Fragment as Hr,jsx as Re,jsxs as Ir}from"react/jsx-runtime";function Mo({open:e,colSpan:t,content:o,collapseProps:a}){let{expanded:n,visible:r}=Xt(e,a?.transitionDuration);return r?Ir(Hr,{children:[Re(xo,{}),Re(xo,{children:Re(Lr,{className:"mantine-datatable-row-expansion-cell",colSpan:t,children:Re(Nr,{in:n,...a,children:Re("div",{className:"mantine-datatable-row-expansion-cell-content",children:o()})})})})]}):null}import{Checkbox as Or,TableTd as Wr}from"@mantine/core";import Ar from"clsx";import{jsx as Ro}from"react/jsx-runtime";function ko({className:e,style:t,record:o,index:a,trigger:n,onChange:r,withRightShadow:l,checkboxProps:i,getCheckboxProps:s,...d}){let p={...i,...s(o,a)},b=!d.disabled&&!p.disabled,f=T=>{T.stopPropagation(),n==="cell"&&b&&r?.(T)};return Ro(Wr,{className:Ar("mantine-datatable-row-selector-cell",{[B]:n==="cell"&&b},e),style:t,"data-shadow-visible":l||void 0,onClick:f,children:Ro(Or,{classNames:b?{input:B}:void 0,onChange:r,...d,...p})})}import{Fragment as Eo,jsx as Qe,jsxs as No}from"react/jsx-runtime";function Lo({record:e,index:t,columns:o,defaultColumnProps:a,defaultColumnRender:n,selectionTrigger:r,selectionVisible:l,selectionChecked:i,onSelectionChange:s,isRecordSelectable:d,selectionCheckboxProps:p,getSelectionCheckboxProps:b,onClick:f,onDoubleClick:T,onContextMenu:g,onCellClick:v,onCellDoubleClick:D,onCellContextMenu:P,expansion:R,customAttributes:S,color:x,backgroundColor:O,className:W,style:u,selectorCellShadowVisible:y,selectionColumnClassName:c,selectionColumnStyle:m,rowFactory:h}){let w=No(Eo,{children:[l&&Qe(ko,{className:c,style:m,record:e,index:t,trigger:r,withRightShadow:y,checked:i,disabled:!s||(d?!d(e,t):!1),onChange:s,checkboxProps:p,getCheckboxProps:b}),o.map(({hidden:_,hiddenContent:U,...F},G)=>{if(_||U)return null;let{accessor:k,visibleMediaQuery:j,textAlign:X,noWrap:fe,ellipsis:be,width:Te,render:ge,cellsClassName:ee,cellsStyle:he,customCellAttributes:Ce}={...a,...F};return Qe(vo,{className:typeof ee=="function"?ee(e,t):ee,style:he?.(e,t),visibleMediaQuery:j,record:e,index:t,onClick:v?Q=>v({event:Q,record:e,index:t,column:F,columnIndex:G}):void 0,onDoubleClick:D?Q=>D({event:Q,record:e,index:t,column:F,columnIndex:G}):void 0,onContextMenu:P?Q=>P({event:Q,record:e,index:t,column:F,columnIndex:G}):void 0,accessor:k,textAlign:X,noWrap:fe,ellipsis:be,width:Te,render:ge,defaultRender:n,customCellAttributes:Ce},k)})]}),L=R&&Qe(Mo,{colSpan:o.filter(({hidden:_})=>!_).length+(l?1:0),open:R.isRowExpanded(e),content:R.content({record:e,index:t}),collapseProps:R.collapseProps}),V=_r({record:e,index:t,selectionChecked:i,onClick:f,onDoubleClick:T,onContextMenu:g,expansion:R,customAttributes:S,color:x,backgroundColor:O,className:W,style:u});return h?h({record:e,index:t,rowProps:V,children:w,expandedElement:L}):No(Eo,{children:[Qe(zr,{...V,children:w}),L]})}function _r({record:e,index:t,selectionChecked:o,onClick:a,onDoubleClick:n,onContextMenu:r,expansion:l,customAttributes:i,color:s,backgroundColor:d,className:p,style:b}){return{className:Vr("mantine-datatable-row",{[B]:a||n||l?.isExpandable({record:e,index:t})&&l?.expandOnClick},{[Ae]:r},typeof p=="function"?p(e,t):p),"data-selected":o||void 0,onClick:f=>{if(l){let{isExpandable:T,isRowExpanded:g,expandOnClick:v,expandRow:D,collapseRow:P}=l;T({record:e,index:t})&&v&&(g(e)?P(e):D(e))}a?.({event:f,record:e,index:t})},onDoubleClick:n?f=>n({event:f,record:e,index:t}):void 0,onContextMenu:r?f=>r({event:f,record:e,index:t}):void 0,style:[s||d?f=>{let T=s?.(e,t),g=d?.(e,t);return go({theme:f,color:T,backgroundColor:g})}:void 0,b?.(e,t)],...i?.(e,t)??{}}}import{Box as Ho,ScrollArea as Fr,rem as Io}from"@mantine/core";import Ue from"clsx";import{jsx as $e,jsxs as Br}from"react/jsx-runtime";function Oo({topShadowVisible:e,leftShadowVisible:t,leftShadowBehind:o,rightShadowVisible:a,rightShadowBehind:n,bottomShadowVisible:r,headerHeight:l,footerHeight:i,onScrollPositionChange:s,children:d,viewportRef:p,scrollAreaProps:b}){return Br(Fr,{...b,viewportRef:p,classNames:{root:"mantine-datatable-scroll-area",scrollbar:"mantine-datatable-scroll-area-scrollbar",thumb:"mantine-datatable-scroll-area-thumb",corner:"mantine-datatable-scroll-area-corner"},onScrollPositionChange:s,children:[d,$e(Ho,{className:Ue("mantine-datatable-scroll-area-shadow","mantine-datatable-scroll-area-top-shadow",{"mantine-datatable-scroll-area-shadow-visible":e}),style:{top:l?Io(l):0}}),$e("div",{className:Ue("mantine-datatable-scroll-area-shadow","mantine-datatable-scroll-area-left-shadow",{"mantine-datatable-scroll-area-shadow-visible":t,"mantine-datatable-scroll-area-shadow-behind":o})}),$e("div",{className:Ue("mantine-datatable-scroll-area-shadow","mantine-datatable-scroll-area-right-shadow",{"mantine-datatable-scroll-area-shadow-visible":a,"mantine-datatable-scroll-area-shadow-behind":n})}),$e(Ho,{className:Ue("mantine-datatable-scroll-area-shadow","mantine-datatable-scroll-area-bottom-shadow",{"mantine-datatable-scroll-area-shadow-visible":r}),style:{bottom:i?Io(i+1):0}})]})}import{jsx as I,jsxs as zo}from"react/jsx-runtime";function $r({withTableBorder:e,borderRadius:t,textSelectionDisabled:o,height:a="100%",minHeight:n,maxHeight:r,shadow:l,verticalAlign:i="center",fetching:s,columns:d,storeColumnsKey:p,groups:b,pinFirstColumn:f,pinLastColumn:T,defaultColumnProps:g,defaultColumnRender:v,idAccessor:D="id",records:P,selectionTrigger:R="checkbox",selectedRecords:S,onSelectedRecordsChange:x,selectionColumnClassName:O,selectionColumnStyle:W,isRecordSelectable:u,selectionCheckboxProps:y,allRecordsSelectionCheckboxProps:c={"aria-label":"Select all records"},getRecordSelectionCheckboxProps:m=(H,te)=>({"aria-label":`Select record ${te+1}`}),sortStatus:h,sortIcons:w,onSortStatusChange:L,horizontalSpacing:V,page:_,onPageChange:U,totalRecords:F,recordsPerPage:G,onRecordsPerPageChange:k,recordsPerPageOptions:j,recordsPerPageLabel:X="Records per page",paginationWithEdges:fe,paginationWithControls:be,paginationActiveTextColor:Te,paginationActiveBackgroundColor:ge,paginationSize:ee="sm",paginationText:he=({from:H,to:te,totalRecords:oe})=>`${H} - ${te} / ${oe}`,paginationWrapBreakpoint:Ce="sm",getPaginationControlProps:Q=H=>H==="previous"?{"aria-label":"Previous page"}:H==="next"?{"aria-label":"Next page"}:{},loaderBackgroundBlur:Vo,customLoader:_o,loaderSize:Fo,loaderType:Bo,loaderColor:Go,loadingText:Xo="...",emptyState:Qo,noRecordsText:ut="No records",noRecordsIcon:Uo,highlightOnHover:$o,striped:Ko,noHeader:Jo,onRowClick:Zo,onRowDoubleClick:Yo,onRowContextMenu:qo,onCellClick:jo,onCellDoubleClick:ea,onCellContextMenu:ta,onScroll:mt,onScrollToTop:pt,onScrollToBottom:ft,onScrollToLeft:bt,onScrollToRight:Tt,c:oa,backgroundColor:aa,borderColor:na,rowBorderColor:ra,stripedColor:la,highlightOnHoverColor:ia,rowColor:sa,rowBackgroundColor:da,rowExpansion:ca,rowClassName:ua,rowStyle:ma,customRowAttributes:pa,scrollViewportRef:fa,scrollAreaProps:ba,tableRef:Ta,bodyRef:ga,m:ha,my:Ca,mx:Da,mt:ya,mb:wa,ml:Pa,mr:Sa,className:va,classNames:De,style:xa,styles:ye,rowFactory:Ma,tableWrapper:Je,...gt}){let{ref:H,width:te,height:oe}=re(),we=Ur(()=>b?.flatMap(C=>C.columns)??d,[d,b]),ht=It({key:p,columns:we}),{ref:Ra,height:Ze}=re(),{ref:ka,width:Ye,height:Pe}=re(),{ref:Ea,height:Na}=re(),{ref:La,height:Ct}=re(),{ref:Ha,width:Ia}=re(),Oa=Wo(ka,Ta),Wa=Wo(H,fa),[qe,Dt]=Ke(!0),[je,yt]=Ke(!0),[Se,wt]=Ke(!0),[Ee,Pt]=Ke(!0),Aa=Ft({rowExpansion:ca,records:P,idAccessor:D}),et=ke(()=>{let C=H.current?.scrollTop??0,$=H.current?.scrollLeft??0;if(s||Pe<=oe)Dt(!0),yt(!0);else{let A=C===0,z=Pe-C-oe<1;Dt(A),yt(z),A&&A!==qe&&pt?.(),z&&z!==je&&ft?.()}if(s||Ye===te)wt(!0),Pt(!0);else{let A=$===0,z=Ye-$-te<1;wt(A),Pt(z),A&&A!==Se&&bt?.(),z&&z!==Ee&&Tt?.()}},[s,ft,bt,Tt,pt,oe,H,te,je,Se,Ee,qe,Pe,Ye]);Ot(et,[et]);let St=Qr(et,50),za=ke(C=>{mt?.(C),St()},[St,mt]),Va=ke(C=>{H.current?.scrollTo({top:0,left:0}),U(C)},[U,H]),Ne=P?.length,vt=P?.map(C=>E(C,D)),se=!!S,ve=S?.map(C=>E(C,D)),xt=vt!==void 0&&ve!==void 0&&ve.length>0,tt=u?P?.filter(u):P,Le=tt?.map(C=>E(C,D)),He=xt&&Le.every(C=>ve.includes(C)),_a=xt&&Le.some(C=>ve.includes(C)),Fa=ke(()=>{S&&x&&x(He?S.filter(C=>!Le.includes(E(C,D))):We([...S,...tt],C=>E(C,D)))},[He,D,x,Le,tt,S]),{lastSelectionChangeIndex:Ie,setLastSelectionChangeIndex:Ba}=Wt(vt),ot=se&&!Se&&!f,Ga={m:ha,my:Ca,mx:Da,mt:ya,mb:wa,ml:Pa,mr:Sa},Xa=ke(({children:C})=>Je?Je({children:C}):C,[Je]);return I(at,{...ht,children:zo(Gr,{...Ga,className:Ao("mantine-datatable",{"mantine-datatable-with-border":e},va,De?.root),style:[C=>({...To({theme:C,c:oa,backgroundColor:aa,borderColor:na,rowBorderColor:ra,stripedColor:la,highlightOnHoverColor:ia}),borderRadius:C.radius[t]||t,boxShadow:C.shadows[l]||l,height:a,minHeight:n,maxHeight:r}),xa,ye?.root,{position:"relative"}],children:[I(Oo,{viewportRef:Wa,topShadowVisible:!qe,leftShadowVisible:!Se,leftShadowBehind:se||!!f,rightShadowVisible:!Ee,rightShadowBehind:T,bottomShadowVisible:!je,headerHeight:Ze,footerHeight:Na,onScrollPositionChange:za,scrollAreaProps:ba,children:I(Xa,{children:zo(Xr,{ref:Oa,horizontalSpacing:V,className:Ao("mantine-datatable-table",{[Qt]:o,"mantine-datatable-vertical-align-top":i==="top","mantine-datatable-vertical-align-bottom":i==="bottom","mantine-datatable-last-row-border-bottom-visible":gt.withRowBorders&&Pe<oe,"mantine-datatable-pin-last-column":T,"mantine-datatable-pin-last-column-scrolled":!Ee&&T,"mantine-datatable-selection-column-visible":se,"mantine-datatable-pin-first-column":f,"mantine-datatable-pin-first-column-scrolled":!Se&&f},De?.table),style:{...ye?.table,"--mantine-datatable-selection-column-width":`${Ia}px`},"data-striped":Ne&&Ko||void 0,"data-highlight-on-hover":$o||void 0,...gt,children:[Jo?null:I(at,{...ht,children:I(po,{ref:Ra,selectionColumnHeaderRef:Ha,className:De?.header,style:ye?.header,columns:we,defaultColumnProps:g,groups:b,sortStatus:h,sortIcons:w,onSortStatusChange:L,selectionTrigger:R,selectionVisible:se,selectionChecked:He,selectionIndeterminate:_a&&!He,onSelectionChange:Fa,selectionCheckboxProps:{...y,...c},selectorCellShadowVisible:ot,selectionColumnClassName:O,selectionColumnStyle:W})}),I("tbody",{ref:ga,children:Ne?P.map((C,$)=>{let A=E(C,D),z=ve?.includes(A)||!1,Mt;return x&&S&&(Mt=Qa=>{if(Qa.nativeEvent.shiftKey&&Ie!==null){let de=P.filter($>Ie?(ae,ne)=>ne>=Ie&&ne<=$&&(u?u(ae,ne):!0):(ae,ne)=>ne>=$&&ne<=Ie&&(u?u(ae,ne):!0));x(z?_t(S,de,ae=>E(ae,D)):We([...S,...de],ae=>E(ae,D)))}else x(z?S.filter(de=>E(de,D)!==A):We([...S,C],de=>E(de,D)));Ba($)}),I(Lo,{record:C,index:$,columns:we,defaultColumnProps:g,defaultColumnRender:v,selectionTrigger:R,selectionVisible:se,selectionChecked:z,onSelectionChange:Mt,isRecordSelectable:u,selectionCheckboxProps:y,getSelectionCheckboxProps:m,onClick:Zo,onDoubleClick:Yo,onCellClick:jo,onCellDoubleClick:ea,onContextMenu:qo,onCellContextMenu:ta,expansion:Aa,color:sa,backgroundColor:da,className:ua,style:ma,customAttributes:pa,selectorCellShadowVisible:ot,selectionColumnClassName:O,selectionColumnStyle:W,idAccessor:D,rowFactory:Ma},A)}):I(Nt,{})}),we.some(({footer:C})=>C)&&I(Kt,{ref:Ea,className:De?.footer,style:ye?.footer,columns:we,defaultColumnProps:g,selectionVisible:se,selectorCellShadowVisible:ot,scrollDiff:Pe-oe})]})})}),_&&I(So,{ref:La,className:De?.pagination,style:ye?.pagination,horizontalSpacing:V,fetching:s,page:_,onPageChange:Va,totalRecords:F,recordsPerPage:G,onRecordsPerPageChange:k,recordsPerPageOptions:j,recordsPerPageLabel:X,paginationWithEdges:fe,paginationWithControls:be,paginationActiveTextColor:Te,paginationActiveBackgroundColor:ge,paginationSize:ee,paginationText:he,paginationWrapBreakpoint:Ce,getPaginationControlProps:Q,noRecordsText:ut,loadingText:Xo,recordsLength:Ne}),I(bo,{pt:Ze,pb:Ct,fetching:s,backgroundBlur:Vo,customContent:_o,size:Fo,type:Bo,color:Go}),I(Ht,{pt:Ze,pb:Ct,icon:Uo,text:ut,active:!s&&!Ne,children:Qo})]})})}import{TableTr as Kr}from"@mantine/core";import{useMergedRef as Jr}from"@mantine/hooks";import{useEffect as Zr,useRef as Yr}from"react";import{jsx as jr}from"react/jsx-runtime";function qr({className:e,children:t,isDragging:o,ref:a,...n}){let r=Yr(null),l=Jr(r,a);return Zr(()=>{if(!r.current||!o)return;let p=r.current.parentElement.parentElement.children[0].children[0];for(let b=0;b<p.children.length;b++){let T=p.children[b].getBoundingClientRect(),g=r.current.children[b];g.style.height=T.height+"px",g.style.width=T.width+"px",g.style.minWidth=T.width+"px",g.style.maxWidth=T.width+"px"}},[o,t]),jr(Kr,{"data-is-dragging":o,ref:l,...n,className:e,children:t})}export{$r as DataTable,qr as DataTableDraggableRow,_t as differenceBy,E as getRecordId,rt as getValueAtPath,ue as humanize,Ll as reorderRecords,Hl as swapRecords,We as uniqBy,It as useDataTableColumns};
//# sourceMappingURL=index.mjs.map