mgh-components 1.1.3 → 1.2.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/dist/index.esm.js CHANGED
@@ -1,2 +1,2 @@
1
- import e,{forwardRef as t}from"react";import{Box as n,Card as r,CardHeader as i,styled as o,TextField as l,Tooltip as a,InputAdornment as d,Badge as s,Dialog as c,DialogContent as g,Typography as m,CircularProgress as u}from"@mui/material";import{DataGridPremium as p,QuickFilter as h,ToolbarButton as f,QuickFilterTrigger as b,GridSearchIcon as w,QuickFilterControl as x,QuickFilterClear as y,GridCloseIcon as v,Toolbar as E,ColumnsPanelTrigger as C,GridViewColumnIcon as k,FilterPanelTrigger as M,GridFilterListIcon as S,GridToolbarExportContainer as I,GridCsvExportMenuItem as F,GridExcelExportMenuItem as P,GridPrintExportMenuItem as N}from"@mui/x-data-grid-premium";import R from"@mui/material/useMediaQuery";import{useTheme as D,styled as z,alpha as O}from"@mui/material/styles";import A from"@emotion/styled";import T from"@mui/material/Button";import L from"@mui/material/Dialog";import G from"@mui/material/DialogTitle";import H from"@mui/material/DialogActions";import V from"@mui/material/DialogContent";import{Icon as $}from"@iconify/react";import U from"@mui/material/Box";import B from"dayjs";import{createPortal as _}from"react-dom";function W(e,t,n){const r=D(),i=R(r.breakpoints.up(t)),o=R(r.breakpoints.down(t)),l=R(r.breakpoints.between(t,n)),a=R(r.breakpoints.only(t));return"up"===e?i:"down"===e?o:"between"===e?l:a}function j({text:t,useSettingsContext:r}){const i=D(),o=r?.()?.themeMode??i.palette.mode??"light",l=A("div")(()=>({display:"flex",alignItems:"center",justifyContent:"center",height:"100%","& .ant-empty-img-1":{fill:"light"===o?"#aeb8c2":"#262626"},"& .ant-empty-img-2":{fill:"light"===o?"#f5f5f7":"#595959"},"& .ant-empty-img-3":{fill:"light"===o?"#dce0e6":"#434343"},"& .ant-empty-img-4":{fill:"light"===o?"#fff":"#1c1c1c"},"& .ant-empty-img-5":{fillOpacity:"light"===o?"0.8":"0.08",fill:"light"===o?"#f5f5f5":"#fff"}}));return e.createElement(l,null,e.createElement(n,{component:"img",alt:"empty content",src:"/assets/icons/empty/ic_content.svg",sx:{width:50,maxWidth:160}}),e.createElement(n,{sx:{mb:0}},t))}const q=()=>"undefined"!=typeof window&&void 0!==window.localStorage,K=e=>{if(!q())return null;try{const t=window.localStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}},X=(e,t)=>{if(q())try{window.localStorage.setItem(e,JSON.stringify(t))}catch{return}};function Y({header:t,rows:o,columns:l,onRowClick:a,onRowDoubleClick:d,pagination:s=!0,pageSize:c=25,slots:g={},slotProps:m={},toolbarProps:u={},initialState:h={},pageSizeOptions:f=[10,25,50,100],sx:b={},cardSx:w={flexGrow:1},boxSx:x={flexGrow:1},columnVisibilityModel:y,onColumnVisibilityModelChange:v,columnVisibilityStorageKey:E,columnOrderStorageKey:C,disableDensitySelector:k=!1,disableRowSelectionOnClick:M=!0,disableColumnFilter:S=!1,disableColumnMenu:I=!1,disableColumnSelector:F=!1,checkboxSelectionVisibleOnly:P=!1,renderHeaderEndContent:N,renderHeaderCenterContent:R,noRowsText:D="No data found within selected parameters.",checkboxSelection:z=!1,onRowSelectionModelChange:O,rowSelectionModel:A,getRowClassName:T,getDetailPanelContent:L,getDetailPanelHeight:G,loading:H=!1,isRowSelectable:V,getRowHeight:$,showToolbar:U=!0,hideFooterRowCount:B=!1,onColumnOrderChange:_,defaultGroupingExpansionDepth:q,pinnedRows:Y,keepNonExistentRowsSelected:J=!0}){const Z=W("down","sm"),ee=e.useMemo(()=>{if(E)return K(E)??void 0},[E]),te=e.useMemo(()=>{if(!C)return;return((e,t)=>{if(!e||0===e.length)return;const n=new Set(t.map(e=>e.field));return e.filter(e=>n.has(e))})(K(C),l)},[C,l]),ne=void 0!==y?y:ee,re=e.useCallback((e,t)=>{E&&X(E,e),v?.(e,t)},[E,v]),ie=e.useCallback((e,t,n)=>{if(C){const e=n.api.getAllColumns().map(e=>e.field);X(C,e)}_?.(e,t,n)},[C,_]),oe={density:"compact",pagination:{paginationModel:{pageSize:c}},filter:{filterModel:{items:[],quickFilterExcludeHiddenColumns:!1}},...h,columns:{...h?.columns,columnVisibilityModel:ne??h?.columns?.columnVisibilityModel,orderedFields:te??h?.columns?.orderedFields}};return e.createElement(r,{sx:{height:"auto",...w}},e.createElement(n,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",pr:1}},e.createElement(i,{title:t,sx:{mb:2}}),R,e.createElement(n,{sx:{display:"flex",gap:Z?1:2,alignItems:"center",flexWrap:"wrap",justifyContent:"flex-end"}},N)),e.createElement(n,{component:"div",sx:{display:"flex",flexDirection:"column",flexGrow:1,...x}},e.createElement(p,{loading:H,onRowClick:a,onRowDoubleClick:d,rows:o,columns:l,pagination:s,disableDensitySelector:k,disableRowSelectionOnClick:M,disableColumnFilter:S,disableColumnMenu:I,disableColumnSelector:F,slots:{noRowsOverlay:j,toolbar:Q,...g},slotProps:{noRowsOverlay:{text:D},toolbar:u,...m},initialState:oe,pageSizeOptions:f,sx:{"& .MuiDataGrid-row:hover":{cursor:a||d?"pointer":"default"},...b},onColumnVisibilityModelChange:re,checkboxSelection:z,onRowSelectionModelChange:O,rowSelectionModel:A,isRowSelectable:V,getRowClassName:T,getDetailPanelContent:L,getDetailPanelHeight:G,checkboxSelectionVisibleOnly:P,disableRowSelectionExcludeModel:!0,showToolbar:U,hideFooterRowCount:B,getRowHeight:$,onColumnOrderChange:ie,defaultGroupingExpansionDepth:q,pinnedRows:Y,keepNonExistentRowsSelected:J})))}function Q({showColumnsButton:t=!0,showFilterButton:n=!0,showExportButton:r=!0,showQuickFilter:i=!0,renderOtherButtons:o,renderDateRange:l,customMenuItem:d,showCsvOption:c=!0}){return e.createElement(E,{style:{display:"flex",justifyContent:"space-between"}},e.createElement("div",null,t&&e.createElement(a,{title:"Columns"},e.createElement(C,{render:e.createElement(f,null)},e.createElement(k,{fontSize:"small"}))),n&&e.createElement(a,{title:"Filters"},e.createElement(M,{render:(t,n)=>e.createElement(f,{...t,color:"default"},e.createElement(s,{badgeContent:n.filterCount,color:"primary",variant:"dot"},e.createElement(S,{fontSize:"small"})))})),r&&e.createElement(J,{customMenuItem:d,showCsvOption:c})),l,e.createElement("div",null,o,i&&e.createElement(Z,null)))}const J=({csvOptions:t={allColumns:!0},excelOptions:n={allColumns:!0},printOptions:r,customMenuItem:i,showCsvOption:o=!0,...l})=>e.createElement(I,{...l},i?.map(e=>e),o&&e.createElement(F,{options:t}),e.createElement(P,{options:n}),e.createElement(N,{options:r}));function Z(){const t=o(h)({display:"grid",alignItems:"center"}),n=o(f)(({theme:e,ownerState:t})=>({gridArea:"1 / 1",width:"min-content",height:"min-content",zIndex:1,opacity:t.expanded?0:1,pointerEvents:t.expanded?"none":"auto",transition:e.transitions.create(["opacity"])})),r=o(l)(({theme:e,ownerState:t})=>({gridArea:"1 / 1",overflowX:"clip",width:t.expanded?260:"var(--trigger-width)",opacity:t.expanded?1:0,transition:e.transitions.create(["width","opacity"])}));return e.createElement(t,null,e.createElement(b,{render:(t,r)=>e.createElement(a,{title:"Search",enterDelay:0},e.createElement(n,{...t,ownerState:{expanded:r.expanded},color:"default","aria-disabled":r.expanded},e.createElement(w,{fontSize:"small"})))}),e.createElement(x,{render:({ref:t,...n},i)=>e.createElement(r,{...n,ownerState:{expanded:i.expanded},inputRef:t,"aria-label":"Search",placeholder:"Search...",size:"small",slotProps:{input:{startAdornment:e.createElement(d,{position:"start"},e.createElement(w,{fontSize:"small"})),endAdornment:i.value?e.createElement(d,{position:"end"},e.createElement(y,{edge:"end",size:"small","aria-label":"Clear search",material:{sx:{marginRight:-.75}}},e.createElement(v,{fontSize:"small"}))):null,...n.slotProps?.input},...n.slotProps}})}))}function ee({csvOptions:t={allColumns:!0},excelOptions:n={allColumns:!0},printOptions:r,customMenuItem:i,...o}){return e.createElement(I,{...o},i,e.createElement(F,{options:t}),e.createElement(P,{options:n}),e.createElement(N,{options:r}))}function te({title:t,content:n,action:r,open:i,onClose:o,...l}){return e.createElement(L,{fullWidth:!0,maxWidth:"xs",open:i,onClose:o,...l},e.createElement(G,{sx:{pb:2}},t),n&&e.createElement(V,{sx:{typography:"body2"}}," ",n," "),e.createElement(H,null,e.createElement(T,{onClick:o},"Cancel"),r))}function ne({open:t,text:n=e.createElement(e.Fragment,null,"Your export is currently being built. Some larger exports can take a couple of minutes to complete. ",e.createElement("br",null),e.createElement("br",null),"Please do not close your browser or refresh the page.")}){return e.createElement(c,{open:t,fullWidth:!0,sx:{p:4}},e.createElement(g,{sx:{p:4,textAlign:"center"}},e.createElement(m,{variant:"subtitle1",sx:{mb:3}},n),e.createElement(u,null)))}const re=t(({icon:t,width:n=20,sx:r,...i},o)=>e.createElement($,{icon:t,style:{width:20,height:n??20,...r}})),ie=z(U)(({ownerState:e})=>{const t=D(),n="light"===t.palette.mode,r="filled"===e.variant,i="outlined"===e.variant,o="soft"===e.variant,l={..."default"===e.color&&{...r&&{color:n?t.palette.common.white:t.palette.grey[800],backgroundColor:t.palette.text.primary},...i&&{backgroundColor:"transparent",color:t.palette.text.primary,border:`2px solid ${t.palette.text.primary}`},...o&&{color:t.palette.text.secondary,backgroundColor:O(t.palette.grey[500],.16)}}},a={..."default"!==e.color&&{...r&&{color:t.palette[e.color].contrastText,backgroundColor:t.palette[e.color].main},...i&&{backgroundColor:"transparent",color:t.palette[e.color].main,border:`2px solid ${t.palette[e.color].main}`},...o&&{color:t.palette[e.color][n?"dark":"light"],backgroundColor:O(t.palette[e.color].main,.16)}}};return{height:24,minWidth:24,lineHeight:0,borderRadius:6,cursor:"default",alignItems:"center",whiteSpace:"nowrap",display:"inline-flex",justifyContent:"center",textTransform:"capitalize",padding:t.spacing(0,.75),fontSize:t.typography.pxToRem(12),fontWeight:t.typography.fontWeightBold,transition:t.transitions.create("all",{duration:t.transitions.duration.shorter}),...l,...a}}),oe=t(({children:t,color:n="default",variant:r="soft",startIcon:i,endIcon:o,sx:l,...a},d)=>{const s={width:16,height:16,"& svg, img":{width:1,height:1,objectFit:"cover"}};return e.createElement(ie,{ref:d,ownerState:{color:n,variant:r},sx:{...i&&{pl:.75},...o&&{pr:.75},...l},...a},i&&e.createElement(U,{sx:{mr:.75,...s}}," ",i," "),t,o&&e.createElement(U,{sx:{ml:.75,...s}}," ",o," "))}),le="__row_group_by_columns_group__",ae="__check__",de="__detail_panel_toggle__",se="__aggregation_footer__",ce=new Set([ae,de]),ge={compact:.7,standard:1,comfortable:1.3},me=52,ue=56,pe=50,he=e=>ce.has(e)||e===le,fe=e=>null==e,be=e=>fe(e)||""===e||Array.isArray(e)&&0===e.length,we=(e,t,n)=>Math.min(Math.max(e,t),n),xe=(...e)=>e.filter(Boolean).join(" "),ye=(()=>{let e=0;return(t="mgh")=>(e+=1,`${t}-${e}`)})(),ve=()=>"undefined"!=typeof window&&void 0!==window.localStorage,Ee=e=>{if(!ve())return null;try{const t=window.localStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}},Ce=(e,t)=>{if(ve())try{window.localStorage.setItem(e,JSON.stringify(t))}catch{}},ke=(e,t)=>t?t(e):e.id,Me=(e,t)=>{if(!e)return{type:"include",ids:new Set};if(Array.isArray(e))return{type:"include",ids:new Set(e)};if(e instanceof Set)return{type:"include",ids:new Set(e)};if("exclude"===e.type&&t){const n=new Set;return t.forEach(t=>{e.ids.has(t)||n.add(t)}),{type:"include",ids:n}}return{type:"include",ids:new Set(e.ids)}},Se=e=>{if(fe(e)||""===e)return null;if(e instanceof Date)return Number.isNaN(e.getTime())?null:e;if(B.isDayjs(e))return e.isValid()?e.toDate():null;if("number"==typeof e){const t=new Date(e);return Number.isNaN(t.getTime())?null:t}if("string"==typeof e){const t=B(e);return t.isValid()?t.toDate():null}return null},Ie=(e,t)=>{const n=Se(e);return n?B(n).format(t?"M/D/YYYY h:mm A":"M/D/YYYY"):""},Fe=(e,t)=>t?B(e).startOf("minute").valueOf():B(e).startOf("day").valueOf(),Pe=e=>"object"==typeof e&&null!==e,Ne=(e,t)=>e.getOptionValue?e.getOptionValue(t):Pe(t)?t.value:t,Re=(e,t)=>e.getOptionLabel?e.getOptionLabel(t):Pe(t)?t.label:String(t),De=(e,t,n)=>e.valueOptions?"function"==typeof e.valueOptions?e.valueOptions({field:e.field,row:t,id:n}):e.valueOptions:[],ze=(e,t,n)=>{const r=e?e[t.field]:void 0;return t.valueGetter?t.valueGetter(r,e,t,n):r},Oe=(e,t,n,r)=>{if(fe(e))return"";switch(t.type){case"date":return Ie(e,!1);case"dateTime":return Ie(e,!0);case"boolean":return e?"Yes":"No";case"singleSelect":{const i=De(t,n,r).find(n=>Ne(t,n)===e);return void 0!==i?Re(t,i):String(e)}case"number":return"number"==typeof e?Number.isFinite(e)?String(e):"":String(e);default:if(e instanceof Date)return Ie(e,!0);if("object"==typeof e)try{return JSON.stringify(e)}catch{return String(e)}return String(e)}},Ae=(e,t,n,r,i)=>n.valueFormatter?n.valueFormatter(e,t,n,r):Oe(e,n,t,i),Te=e=>fe(e)?"":"string"==typeof e?e:"number"==typeof e||"boolean"==typeof e?String(e):e instanceof Date?Ie(e,!0):"object"==typeof e&&"props"in e?"":String(e),Le="undefined"!=typeof Intl?new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"}):null,Ge=(e,t)=>{const n=fe(e)||""===e,r=fe(t)||""===t;return n&&r?0:n?-1:r?1:null},He=(e,t)=>{const n=Ge(e,t);return null!==n?n:Number(e)-Number(t)},Ve=(e,t)=>{const n=Ge(e,t);if(null!==n)return n;const r=String(e),i=String(t);return Le?Le.compare(r,i):r<i?-1:r>i?1:0},$e=(e,t,n,r)=>"number"==typeof e&&"number"==typeof t?He(e,t):Ve(e,t),Ue=(e,t)=>{const n=Se(e),r=Se(t),i=Ge(n,r);return null!==i?i:n.getTime()-r.getTime()},Be=(e,t)=>{const n=Ge(e,t);return null!==n?n:Number(Boolean(e))-Number(Boolean(t))},_e=e=>{switch(e){case"number":return He;case"date":case"dateTime":return Ue;case"boolean":return Be;default:return $e}},We=e=>fe(e)?"":String(e).toLowerCase(),je=e=>!be(e.value),qe=[{value:"contains",label:"contains",inputType:"text",getApplyFilterFn:e=>{if(!je(e))return null;const t=We(e.value);return e=>-1!==We(e).indexOf(t)}},{value:"doesNotContain",label:"does not contain",inputType:"text",getApplyFilterFn:e=>{if(!je(e))return null;const t=We(e.value);return e=>-1===We(e).indexOf(t)}},{value:"equals",label:"equals",inputType:"text",getApplyFilterFn:e=>{if(!je(e))return null;const t=We(e.value);return e=>We(e)===t}},{value:"doesNotEqual",label:"does not equal",inputType:"text",getApplyFilterFn:e=>{if(!je(e))return null;const t=We(e.value);return e=>We(e)!==t}},{value:"startsWith",label:"starts with",inputType:"text",getApplyFilterFn:e=>{if(!je(e))return null;const t=We(e.value);return e=>0===We(e).indexOf(t)}},{value:"endsWith",label:"ends with",inputType:"text",getApplyFilterFn:e=>{if(!je(e))return null;const t=We(e.value);return e=>{const n=We(e);return n.length>=t.length&&n.lastIndexOf(t)===n.length-t.length}}},{value:"isEmpty",label:"is empty",inputType:"none",requiresFilterValue:!1,getApplyFilterFn:()=>e=>be(e)},{value:"isNotEmpty",label:"is not empty",inputType:"none",requiresFilterValue:!1,getApplyFilterFn:()=>e=>!be(e)},{value:"isAnyOf",label:"is any of",inputType:"multiselect",getApplyFilterFn:e=>{if(!Array.isArray(e.value)||0===e.value.length)return null;const t=new Set(e.value.map(We));return e=>t.has(We(e))}}],Ke=(e,t,n)=>({value:e,label:t,inputType:"number",getApplyFilterFn:e=>{if(!je(e))return null;const t=Number(e.value);return Number.isNaN(t)?null:e=>{if(fe(e)||""===e)return!1;const r=Number(e);return!Number.isNaN(r)&&n(r,t)}}}),Xe=[Ke("=","=",(e,t)=>e===t),Ke("!=","!=",(e,t)=>e!==t),Ke(">",">",(e,t)=>e>t),Ke(">=",">=",(e,t)=>e>=t),Ke("<","<",(e,t)=>e<t),Ke("<=","<=",(e,t)=>e<=t),{value:"isEmpty",label:"is empty",inputType:"none",requiresFilterValue:!1,getApplyFilterFn:()=>e=>be(e)},{value:"isNotEmpty",label:"is not empty",inputType:"none",requiresFilterValue:!1,getApplyFilterFn:()=>e=>!be(e)},{value:"isAnyOf",label:"is any of",inputType:"multiselect",getApplyFilterFn:e=>{if(!Array.isArray(e.value)||0===e.value.length)return null;const t=new Set(e.value.map(e=>Number(e)));return e=>!fe(e)&&t.has(Number(e))}}],Ye=(e,t,n,r)=>({value:e,label:t,inputType:n?"datetime-local":"date",getApplyFilterFn:e=>{if(!je(e))return null;const t=Se(e.value);if(!t)return null;const i=Fe(t,n);return e=>{const t=Se(e);return!!t&&r(Fe(t,n),i)}}}),Qe=e=>[Ye("is","is",e,(e,t)=>e===t),Ye("not","is not",e,(e,t)=>e!==t),Ye("after","is after",e,(e,t)=>e>t),Ye("onOrAfter","is on or after",e,(e,t)=>e>=t),Ye("before","is before",e,(e,t)=>e<t),Ye("onOrBefore","is on or before",e,(e,t)=>e<=t),{value:"isEmpty",label:"is empty",inputType:"none",requiresFilterValue:!1,getApplyFilterFn:()=>e=>null===Se(e)},{value:"isNotEmpty",label:"is not empty",inputType:"none",requiresFilterValue:!1,getApplyFilterFn:()=>e=>null!==Se(e)}],Je=[{value:"is",label:"is",inputType:"boolean",getApplyFilterFn:e=>{if(fe(e.value)||""===e.value||"any"===e.value)return null;const t=!0===e.value||"true"===e.value;return e=>Boolean(e)===t}}],Ze=[{value:"is",label:"is",inputType:"select",getApplyFilterFn:e=>fe(e.value)||""===e.value?null:t=>String(t)===String(e.value)},{value:"not",label:"is not",inputType:"select",getApplyFilterFn:e=>fe(e.value)||""===e.value?null:t=>String(t)!==String(e.value)},{value:"isAnyOf",label:"is any of",inputType:"multiselect",getApplyFilterFn:e=>{if(!Array.isArray(e.value)||0===e.value.length)return null;const t=new Set(e.value.map(String));return e=>t.has(String(e))}}],et=e=>e.filterOperators??(e=>{switch(e){case"number":return Xe;case"date":return Qe(!1);case"dateTime":return Qe(!0);case"boolean":return Je;case"singleSelect":return Ze;case"actions":return[];default:return qe}})(e.type),tt=e=>{const t=e.type??"string",n="number"===t,r="boolean"===t,i="actions"===t;return{...e,type:t,headerName:e.headerName??e.field,width:e.width??100,minWidth:e.minWidth??pe,align:e.align??(n?"right":r||i?"center":"left"),headerAlign:e.headerAlign??e.align??(n?"right":r||i?"center":"left"),sortable:!i&&(e.sortable??!0),filterable:!i&&(e.filterable??!0),hideable:e.hideable??!0,resizable:e.resizable??!0,pinnable:e.pinnable??!0,groupable:!i&&(e.groupable??!0),aggregable:!i&&(e.aggregable??!0),editable:e.editable??!1,disableColumnMenu:e.disableColumnMenu??i,disableExport:e.disableExport??i}},nt=(e,t)=>tt({field:e,headerName:"",width:t,minWidth:t,maxWidth:t,sortable:!1,filterable:!1,hideable:!1,resizable:!1,pinnable:!1,groupable:!1,aggregable:!1,disableColumnMenu:!0,disableExport:!0,disableReorder:!0,align:"center",headerAlign:"center"}),rt=nt(ae,50),it=nt(de,50),ot=new Set(["animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth"]),lt=e=>/[&.:#>\[\s*~+,@]/.test(e),at=e=>Object.keys(e).filter(t=>{const n=e[t];return!lt(t)&&("string"==typeof n||"number"==typeof n)}).map(t=>{return`${(e=>{if(0===e.indexOf("--"))return e;const t=e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`);return 0===t.indexOf("ms-")?`-${t}`:t})(t)}:${n=t,r=e[t],"number"!=typeof r||0===r||ot.has(n)||0===n.indexOf("--")?String(r):`${r}px`}`;var n,r}).join(";"),dt=(e,t,n=[])=>t?(Object.keys(t).forEach(r=>{const i=t[r];if(!i||"object"!=typeof i)return;const o=i;if("@"===r.charAt(0)){const t=[],i=at(o);return i&&t.push(`${e}{${i}}`),dt(e,o,t),void(t.length&&n.push(`${r}{${t.join("")}}`))}const l=((e,t)=>t.split(",").map(e=>e.trim()).filter(Boolean).map(t=>-1!==t.indexOf("&")?t.replace(/&/g,e):`${e} ${t}`).join(","))(e,r),a=at(o);a&&n.push(`${l}{${a}}`),dt(l,o,n)}),n):n,st=e=>e.map(e=>"number"==typeof e?e:Number(e)).filter(e=>!Number.isNaN(e)&&null!==e),ct={sum:{label:"sum",columnTypes:["number"],apply:({values:e})=>{const t=st(e.filter(e=>!fe(e)&&""!==e));return 0===t.length?null:t.reduce((e,t)=>e+t,0)}},avg:{label:"avg",columnTypes:["number"],apply:({values:e})=>{const t=st(e.filter(e=>!fe(e)&&""!==e));return 0===t.length?null:t.reduce((e,t)=>e+t,0)/t.length}},min:{label:"min",columnTypes:["number","date","dateTime"],apply:({values:e})=>{const t=e.filter(e=>!fe(e)&&""!==e);if(0===t.length)return null;if(t.every(e=>"number"==typeof e))return Math.min(...t);const n=t.map(Se);return n.every(e=>null!==e)?new Date(Math.min(...n.map(e=>e.getTime()))):t.slice().sort((e,t)=>Ve(e,t))[0]}},max:{label:"max",columnTypes:["number","date","dateTime"],apply:({values:e})=>{const t=e.filter(e=>!fe(e)&&""!==e);if(0===t.length)return null;if(t.every(e=>"number"==typeof e))return Math.max(...t);const n=t.map(Se);if(n.every(e=>null!==e))return new Date(Math.max(...n.map(e=>e.getTime())));const r=t.slice().sort((e,t)=>Ve(e,t));return r[r.length-1]}},size:{label:"size",apply:({values:e})=>e.length}},gt={noRowsLabel:"No rows",loadingLabel:"Loading…",toolbarColumns:"Columns",toolbarFilters:"Filters",toolbarExport:"Export",toolbarDensity:"Density",toolbarQuickFilterPlaceholder:"Search...",toolbarQuickFilterLabel:"Search",toolbarExportCSV:"Download as CSV",toolbarExportExcel:"Download as Excel",toolbarExportPrint:"Print",densityCompact:"Compact",densityStandard:"Standard",densityComfortable:"Comfortable",columnsPanelSearchPlaceholder:"Search",columnsPanelShowAll:"Show all",columnsPanelHideAll:"Hide all",columnsPanelReset:"Reset",filterPanelAddFilter:"Add filter",filterPanelRemoveAll:"Remove all",filterPanelDeleteIcon:"Delete",filterPanelColumns:"Columns",filterPanelOperator:"Operator",filterPanelValue:"Value",filterPanelInputPlaceholder:"Filter value",filterPanelLogicOperator:"Logic operator",filterPanelOperatorAnd:"And",filterPanelOperatorOr:"Or",columnMenuSortAsc:"Sort by ASC",columnMenuSortDesc:"Sort by DESC",columnMenuUnsort:"Unsort",columnMenuFilter:"Filter",columnMenuHideColumn:"Hide column",columnMenuManageColumns:"Manage columns",columnMenuPinLeft:"Pin to left",columnMenuPinRight:"Pin to right",columnMenuUnpin:"Unpin",columnMenuGroup:e=>`Group by ${e}`,columnMenuUngroup:e=>`Stop grouping by ${e}`,columnMenuAggregation:"Aggregation",aggregationMenuItemHeader:"Aggregation",aggregationFunctionLabelNone:"none",aggregationFunctionLabelSum:"sum",aggregationFunctionLabelAvg:"avg",aggregationFunctionLabelMin:"min",aggregationFunctionLabelMax:"max",aggregationFunctionLabelSize:"size",footerRowSelected:e=>1===e?"1 row selected":`${e.toLocaleString()} rows selected`,footerTotalRows:"Total Rows:",footerPaginationRowsPerPage:"Rows per page:",footerPaginationDisplayedRows:(e,t,n)=>`${e}–${t} of ${n.toLocaleString()}`,footerPaginationFirstPage:"First page",footerPaginationPreviousPage:"Previous page",footerPaginationNextPage:"Next page",footerPaginationLastPage:"Last page",checkboxSelectionHeaderName:"Checkbox selection",checkboxSelectionSelectAllRows:"Select all rows",checkboxSelectionUnselectAllRows:"Unselect all rows",checkboxSelectionSelectRow:"Select row",checkboxSelectionUnselectRow:"Unselect row",booleanCellTrueLabel:"yes",booleanCellFalseLabel:"no",detailPanelToggle:"Detail panel toggle",expandDetailPanel:"Expand",collapseDetailPanel:"Collapse",groupingColumnHeaderName:"Group",groupColumn:e=>`Group by ${e}`,unGroupColumn:e=>`Stop grouping by ${e}`,actionsCellMore:"more",columnHeaderSortIconLabel:"Sort",columnMenuLabel:"Menu",clearSearch:"Clear search"};let mt;const ut=(e,t)=>{if("undefined"==typeof document)return 8*e.length;if(void 0===mt){const e=document.createElement("canvas");mt=e.getContext("2d")}return mt?(mt.font=t,mt.measureText(e).width):8*e.length},pt=(e,t)=>{if("undefined"==typeof document)return;const n=URL.createObjectURL(e),r=document.createElement("a");r.href=n,r.download=t,r.style.display="none",document.body.appendChild(r),r.click(),window.setTimeout(()=>{document.body.removeChild(r),URL.revokeObjectURL(n)},0)},ht="mgh-grid-styles",ft='\n.mgh-grid-card {\n --mgh-grid-font-family: inherit;\n --mgh-grid-font-size: 14px;\n --mgh-grid-radius: 16px;\n --mgh-grid-inner-radius: 4px;\n --mgh-grid-paper: #ffffff;\n --mgh-grid-bg: #ffffff;\n --mgh-grid-fg: rgba(0, 0, 0, 0.87);\n --mgh-grid-fg-secondary: rgba(0, 0, 0, 0.6);\n --mgh-grid-fg-disabled: rgba(0, 0, 0, 0.38);\n --mgh-grid-border: rgba(224, 224, 224, 1);\n --mgh-grid-header-bg: #ffffff;\n --mgh-grid-header-fg: rgba(0, 0, 0, 0.87);\n --mgh-grid-hover: rgba(0, 0, 0, 0.04);\n --mgh-grid-hover-strong: rgba(0, 0, 0, 0.08);\n --mgh-grid-selected: rgba(25, 118, 210, 0.08);\n --mgh-grid-selected-hover: rgba(25, 118, 210, 0.12);\n --mgh-grid-primary: #1976d2;\n --mgh-grid-primary-contrast: #ffffff;\n --mgh-grid-focus: #1976d2;\n --mgh-grid-shadow: 0 0 2px rgba(145, 158, 171, 0.2), 0 12px 24px -4px rgba(145, 158, 171, 0.12);\n --mgh-grid-popover-shadow: 0 5px 5px -3px rgba(0,0,0,.2), 0 8px 10px 1px rgba(0,0,0,.14), 0 3px 14px 2px rgba(0,0,0,.12);\n --mgh-grid-overlay: rgba(255, 255, 255, 0.6);\n --mgh-grid-input-bg: transparent;\n --mgh-grid-input-border: rgba(0, 0, 0, 0.23);\n --mgh-grid-pinned-shadow: rgba(0, 0, 0, 0.12);\n --mgh-grid-group-bg: rgba(0, 0, 0, 0.02);\n --mgh-grid-footer-bg: rgba(0, 0, 0, 0.02);\n --mgh-grid-badge: #1976d2;\n --mgh-grid-scrollbar: rgba(0, 0, 0, 0.3);\n\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n background: var(--mgh-grid-paper);\n color: var(--mgh-grid-fg);\n border-radius: var(--mgh-grid-radius);\n box-shadow: var(--mgh-grid-shadow);\n font-family: var(--mgh-grid-font-family);\n font-size: var(--mgh-grid-font-size);\n line-height: 1.5;\n overflow: hidden;\n box-sizing: border-box;\n}\n.mgh-grid-card[data-mgh-theme="dark"] {\n --mgh-grid-paper: #212b36;\n --mgh-grid-bg: #212b36;\n --mgh-grid-fg: #ffffff;\n --mgh-grid-fg-secondary: rgba(255, 255, 255, 0.7);\n --mgh-grid-fg-disabled: rgba(255, 255, 255, 0.5);\n --mgh-grid-border: rgba(81, 81, 81, 1);\n --mgh-grid-header-bg: #212b36;\n --mgh-grid-header-fg: #ffffff;\n --mgh-grid-hover: rgba(255, 255, 255, 0.08);\n --mgh-grid-hover-strong: rgba(255, 255, 255, 0.16);\n --mgh-grid-selected: rgba(144, 202, 249, 0.16);\n --mgh-grid-selected-hover: rgba(144, 202, 249, 0.24);\n --mgh-grid-primary: #90caf9;\n --mgh-grid-primary-contrast: rgba(0, 0, 0, 0.87);\n --mgh-grid-focus: #90caf9;\n --mgh-grid-shadow: 0 0 2px rgba(0, 0, 0, 0.2), 0 12px 24px -4px rgba(0, 0, 0, 0.12);\n --mgh-grid-overlay: rgba(33, 43, 54, 0.6);\n --mgh-grid-input-border: rgba(255, 255, 255, 0.23);\n --mgh-grid-pinned-shadow: rgba(0, 0, 0, 0.5);\n --mgh-grid-group-bg: rgba(255, 255, 255, 0.03);\n --mgh-grid-footer-bg: rgba(255, 255, 255, 0.03);\n --mgh-grid-badge: #90caf9;\n --mgh-grid-scrollbar: rgba(255, 255, 255, 0.3);\n}\n/* Only our own elements get the border-box reset. A blanket descendant reset would leak into\n consumer content rendered through slots (e.g. MUI TextField inputs rely on content-box). */\n[class*="mgh-grid"], [class*="mgh-grid"]::before, [class*="mgh-grid"]::after { box-sizing: border-box; }\n.mgh-grid-card--plain { box-shadow: none; border-radius: 0; background: transparent; }\n\n/* ---- card header ---- */\n/* Title stays on its row; only the end-content group wraps internally (like the legacy MUI card). */\n.mgh-grid-card-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 16px 16px 16px 0; flex-wrap: nowrap; }\n.mgh-grid-card-title { flex: 0 0 auto; padding: 8px 24px; margin: 0; font-size: 1.125rem; font-weight: 700; line-height: 1.5556; }\n/* Children are auto-sized so space-between leaves equal gaps title|center|end (like the legacy MUI card).\n Only the end group shrinks (and wraps internally); the centre content keeps its natural width. */\n.mgh-grid-card-header-center { flex: 0 0 auto; min-width: 0; display: flex; align-items: center; justify-content: center; gap: 16px; flex-wrap: wrap; }\n.mgh-grid-card-header-end { flex: 0 1 auto; min-width: 0; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; justify-content: flex-end; }\n.mgh-grid-card-header-end:first-child { margin-left: auto; }\n@media (max-width: 599.95px) {\n .mgh-grid-card-header { flex-wrap: wrap; }\n .mgh-grid-card-header-end { gap: 8px; }\n}\n\n/* ---- box + root ---- */\n.mgh-grid-box { display: flex; flex-direction: column; flex-grow: 1; min-height: 0; min-width: 0; }\n.mgh-grid {\n position: relative;\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n min-height: 0;\n min-width: 0;\n border: 1px solid var(--mgh-grid-border);\n border-radius: var(--mgh-grid-inner-radius);\n background: var(--mgh-grid-bg);\n color: var(--mgh-grid-fg);\n outline: none;\n}\n.mgh-grid--auto-height { flex: 0 0 auto; }\n\n/* ---- toolbar ---- */\n.mgh-grid-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 45px; padding: 4px 8px; border-bottom: 1px solid var(--mgh-grid-border); flex-wrap: wrap; }\n.mgh-grid-toolbar-group { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }\n.mgh-grid-toolbar-center { display: flex; align-items: center; flex: 1 1 auto; justify-content: center; }\n\n/* ---- buttons ---- */\n.mgh-grid-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 0; margin: 0; background: transparent; color: var(--mgh-grid-fg-secondary); font: inherit; font-size: 0.8125rem; font-weight: 500; line-height: 1.75; letter-spacing: .02em; padding: 4px 8px; border-radius: 4px; cursor: pointer; user-select: none; transition: background-color .15s, color .15s; text-transform: none; white-space: nowrap; }\n.mgh-grid-btn:hover { background: var(--mgh-grid-hover); color: var(--mgh-grid-fg); }\n.mgh-grid-btn:focus-visible { outline: 2px solid var(--mgh-grid-focus); outline-offset: 1px; }\n.mgh-grid-btn:disabled { color: var(--mgh-grid-fg-disabled); cursor: default; background: transparent; }\n.mgh-grid-btn--icon { padding: 6px; border-radius: 50%; width: 32px; height: 32px; }\n.mgh-grid-btn--icon.mgh-grid-btn--small { width: 26px; height: 26px; padding: 3px; }\n.mgh-grid-btn--icon.mgh-grid-btn--small .mgh-grid-icon { width: 18px; height: 18px; }\n.mgh-grid-btn--primary { color: var(--mgh-grid-primary); }\n.mgh-grid-btn--primary:hover { background: var(--mgh-grid-selected); color: var(--mgh-grid-primary); }\n.mgh-grid-btn--contained { background: var(--mgh-grid-primary); color: var(--mgh-grid-primary-contrast); }\n.mgh-grid-btn--contained:hover { background: var(--mgh-grid-primary); color: var(--mgh-grid-primary-contrast); filter: brightness(0.92); }\n.mgh-grid-btn--active { color: var(--mgh-grid-primary); }\n\n/* ---- badge ---- */\n.mgh-grid-badge { position: relative; display: inline-flex; }\n.mgh-grid-badge-dot { position: absolute; top: 0; right: 0; min-width: 8px; height: 8px; border-radius: 4px; background: var(--mgh-grid-badge); transform: translate(50%, -50%); }\n.mgh-grid-badge-count { position: absolute; top: 0; right: 0; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 8px; background: var(--mgh-grid-badge); color: var(--mgh-grid-primary-contrast); font-size: 10px; font-weight: 600; line-height: 16px; text-align: center; transform: translate(50%, -50%); }\n\n/* ---- inputs ---- */\n.mgh-grid-input, .mgh-grid-select { font: inherit; font-size: 0.875rem; color: var(--mgh-grid-fg); background: var(--mgh-grid-input-bg); border: 1px solid var(--mgh-grid-input-border); border-radius: 6px; padding: 6px 10px; height: 36px; min-width: 0; outline: none; transition: border-color .15s, box-shadow .15s; }\n.mgh-grid-input:hover, .mgh-grid-select:hover { border-color: var(--mgh-grid-fg); }\n.mgh-grid-input:focus, .mgh-grid-select:focus { border-color: var(--mgh-grid-focus); box-shadow: 0 0 0 1px var(--mgh-grid-focus); }\n.mgh-grid-input::placeholder { color: var(--mgh-grid-fg-disabled); }\n.mgh-grid-input--small, .mgh-grid-select--small { height: 32px; padding: 4px 8px; font-size: 0.8125rem; }\n.mgh-grid-select { appearance: none; -webkit-appearance: none; padding-right: 28px; background-image: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 24 24\' fill=\'%23888\'><path d=\'M7 10l5 5 5-5z\'/></svg>"); background-repeat: no-repeat; background-position: right 6px center; background-size: 18px; cursor: pointer; }\n.mgh-grid-select option { color: initial; background: initial; }\n.mgh-grid-card[data-mgh-theme="dark"] .mgh-grid-select option, .mgh-grid-popover[data-mgh-theme="dark"] .mgh-grid-select option { color: #fff; background: #212b36; }\n.mgh-grid-select[multiple] { height: auto; min-height: 36px; background-image: none; padding-right: 10px; }\n.mgh-grid-field { display: flex; flex-direction: column; gap: 4px; min-width: 0; }\n.mgh-grid-field-label { font-size: 0.75rem; color: var(--mgh-grid-fg-secondary); }\n.mgh-grid-input-adorned { position: relative; display: flex; align-items: center; }\n.mgh-grid-input-adorned .mgh-grid-input { width: 100%; padding-left: 34px; }\n.mgh-grid-input-adorned--clearable .mgh-grid-input { padding-right: 34px; }\n.mgh-grid-input-adornment { position: absolute; left: 10px; display: inline-flex; color: var(--mgh-grid-fg-secondary); pointer-events: none; }\n.mgh-grid-input-adornment--end { left: auto; right: 4px; pointer-events: auto; }\n\n/* ---- checkbox ---- */\n.mgh-grid-checkbox { appearance: none; -webkit-appearance: none; width: 18px; height: 18px; margin: 0; border: 2px solid var(--mgh-grid-fg-secondary); border-radius: 3px; background: transparent; cursor: pointer; display: inline-grid; place-content: center; position: relative; flex: 0 0 auto; transition: background-color .12s, border-color .12s; }\n.mgh-grid-checkbox:hover { border-color: var(--mgh-grid-fg); }\n.mgh-grid-checkbox:focus-visible { outline: 2px solid var(--mgh-grid-focus); outline-offset: 2px; }\n.mgh-grid-checkbox:checked, .mgh-grid-checkbox:indeterminate { background: var(--mgh-grid-primary); border-color: var(--mgh-grid-primary); }\n.mgh-grid-checkbox:checked::after { content: ""; width: 5px; height: 10px; border: solid var(--mgh-grid-primary-contrast); border-width: 0 2px 2px 0; transform: translateY(-1px) rotate(45deg); }\n.mgh-grid-checkbox:indeterminate::after { content: ""; width: 10px; height: 2px; background: var(--mgh-grid-primary-contrast); }\n.mgh-grid-checkbox:disabled { opacity: 0.4; cursor: default; }\n.mgh-grid-checkbox-label { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; font-size: 0.875rem; padding: 6px 4px; border-radius: 4px; }\n.mgh-grid-checkbox-label:hover { background: var(--mgh-grid-hover); }\n\n/* ---- quick filter ---- */\n.mgh-grid-quick-filter { display: grid; align-items: center; }\n.mgh-grid-quick-filter-trigger { grid-area: 1 / 1; z-index: 1; transition: opacity .2s; }\n.mgh-grid-quick-filter--expanded .mgh-grid-quick-filter-trigger { opacity: 0; pointer-events: none; }\n.mgh-grid-quick-filter-control { grid-area: 1 / 1; width: 32px; opacity: 0; overflow: hidden; transition: width .2s, opacity .2s; }\n.mgh-grid-quick-filter--expanded .mgh-grid-quick-filter-control { width: 260px; opacity: 1; }\n@media (max-width: 599.95px) { .mgh-grid-quick-filter--expanded .mgh-grid-quick-filter-control { width: 180px; } }\n\n/* ---- main / scroller ---- */\n.mgh-grid-main { position: relative; display: flex; flex: 1 1 auto; min-height: 0; min-width: 0; overflow: hidden; }\n.mgh-grid--auto-height .mgh-grid-main { flex: 0 0 auto; }\n.mgh-grid-scroller { position: relative; flex: 1 1 auto; min-height: 0; min-width: 0; overflow: auto; outline: none; scrollbar-width: thin; }\n.mgh-grid--auto-height .mgh-grid-scroller { overflow-y: hidden; }\n.mgh-grid-scroller::-webkit-scrollbar { width: 10px; height: 10px; }\n.mgh-grid-scroller::-webkit-scrollbar-thumb { background: var(--mgh-grid-scrollbar); border-radius: 5px; border: 2px solid transparent; background-clip: content-box; }\n\n/* ---- column headers ---- */\n.mgh-grid-columns { position: sticky; top: 0; z-index: 3; background: var(--mgh-grid-header-bg); border-bottom: 1px solid var(--mgh-grid-border); min-width: 100%; width: max-content; }\n.mgh-grid-header-row { display: flex; min-width: 100%; }\n.mgh-grid-header-cell { position: relative; display: flex; align-items: center; flex: 0 0 auto; height: var(--mgh-grid-header-height); padding: 0 10px; font-weight: 600; font-size: 0.875rem; color: var(--mgh-grid-header-fg); background: var(--mgh-grid-header-bg); white-space: nowrap; overflow: hidden; user-select: none; outline: none; }\n.mgh-grid-header-cell--sortable { cursor: pointer; }\n.mgh-grid-header-cell:focus-visible { outline: 2px solid var(--mgh-grid-focus); outline-offset: -2px; }\n.mgh-grid-header-cell--align-center { justify-content: center; }\n.mgh-grid-header-cell--align-right { justify-content: flex-end; }\n.mgh-grid-header-cell--align-right .mgh-grid-header-title-container { flex-direction: row-reverse; }\n.mgh-grid-header-title-container { display: flex; align-items: center; gap: 2px; min-width: 0; flex: 1 1 auto; overflow: hidden; }\n.mgh-grid-header-cell--align-center .mgh-grid-header-title-container { flex: 0 1 auto; }\n.mgh-grid-header-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n.mgh-grid-sort-icon { display: inline-flex; align-items: center; color: var(--mgh-grid-fg-secondary); opacity: 0; transition: opacity .15s; flex: 0 0 auto; }\n.mgh-grid-header-cell:hover .mgh-grid-sort-icon, .mgh-grid-sort-icon--active { opacity: 1; }\n.mgh-grid-sort-index { font-size: 10px; margin-left: -2px; color: var(--mgh-grid-fg-secondary); }\n.mgh-grid-header-menu-btn { position: absolute; right: 2px; opacity: 0; transition: opacity .15s; background: var(--mgh-grid-header-bg); }\n.mgh-grid-header-cell--align-right .mgh-grid-header-menu-btn { right: auto; left: 2px; }\n.mgh-grid-header-cell:hover .mgh-grid-header-menu-btn, .mgh-grid-header-menu-btn--open, .mgh-grid-header-cell:focus-within .mgh-grid-header-menu-btn { opacity: 1; }\n.mgh-grid-header-cell--menu-open { background: var(--mgh-grid-hover); }\n.mgh-grid-resize-handle { position: absolute; top: 0; right: -4px; width: 9px; height: 100%; cursor: col-resize; z-index: 2; display: flex; justify-content: center; touch-action: none; }\n.mgh-grid-resize-handle::after { content: ""; width: 1px; height: 60%; margin-top: 20%; background: var(--mgh-grid-border); transition: background .15s, width .15s; }\n.mgh-grid-resize-handle:hover::after, .mgh-grid-resize-handle--active::after { background: var(--mgh-grid-primary); width: 2px; }\n.mgh-grid-header-cell--last .mgh-grid-resize-handle { right: 0; }\n.mgh-grid-header-cell--dragging { opacity: 0.5; }\n.mgh-grid-header-cell--drop-left::before, .mgh-grid-header-cell--drop-right::before { content: ""; position: absolute; top: 4px; bottom: 4px; width: 2px; background: var(--mgh-grid-primary); z-index: 3; }\n.mgh-grid-header-cell--drop-left::before { left: 0; }\n.mgh-grid-header-cell--drop-right::before { right: 0; }\n.mgh-grid-header-filler { flex: 1 1 auto; background: var(--mgh-grid-header-bg); }\n\n/* ---- pinned cells ---- */\n.mgh-grid-cell--pinned-left, .mgh-grid-header-cell--pinned-left { position: sticky; z-index: 2; background-color: var(--mgh-grid-bg); }\n.mgh-grid-cell--pinned-right, .mgh-grid-header-cell--pinned-right { position: sticky; z-index: 2; background-color: var(--mgh-grid-bg); }\n.mgh-grid-header-cell--pinned-left, .mgh-grid-header-cell--pinned-right { z-index: 4; background-color: var(--mgh-grid-header-bg); }\n.mgh-grid-cell--pinned-left-last, .mgh-grid-header-cell--pinned-left-last { box-shadow: 2px 0 4px -2px var(--mgh-grid-pinned-shadow); }\n.mgh-grid-cell--pinned-right-first, .mgh-grid-header-cell--pinned-right-first { box-shadow: -2px 0 4px -2px var(--mgh-grid-pinned-shadow); }\n.mgh-grid--no-pinned-shadow .mgh-grid-cell--pinned-left-last, .mgh-grid--no-pinned-shadow .mgh-grid-header-cell--pinned-left-last { box-shadow: none; }\n\n/* ---- body & rows ---- */\n.mgh-grid-body { position: relative; min-width: 100%; width: max-content; }\n.mgh-grid-body--flow { display: flex; flex-direction: column; }\n.mgh-grid-row-block { min-width: 100%; }\n.mgh-grid-body--virtual .mgh-grid-row-block { position: absolute; left: 0; }\n.mgh-grid-row { display: flex; min-width: 100%; border-bottom: 1px solid var(--mgh-grid-border); background: var(--mgh-grid-bg); position: relative; }\n.mgh-grid-row--auto-height { align-items: stretch; }\n.mgh-grid-row:hover { background: var(--mgh-grid-hover); }\n.mgh-grid-row--selected { background: var(--mgh-grid-selected); }\n.mgh-grid-row--selected:hover { background: var(--mgh-grid-selected-hover); }\n.mgh-grid-row--clickable { cursor: pointer; }\n.mgh-grid-row--group { background: var(--mgh-grid-group-bg); }\n.mgh-grid-row--pinned { background: var(--mgh-grid-bg); }\n.mgh-grid-row--footer { background: var(--mgh-grid-footer-bg); font-weight: 600; }\n.mgh-grid-row:hover .mgh-grid-cell--pinned-left, .mgh-grid-row:hover .mgh-grid-cell--pinned-right { background-image: linear-gradient(var(--mgh-grid-hover), var(--mgh-grid-hover)); }\n.mgh-grid-row--selected .mgh-grid-cell--pinned-left, .mgh-grid-row--selected .mgh-grid-cell--pinned-right { background-image: linear-gradient(var(--mgh-grid-selected), var(--mgh-grid-selected)); }\n.mgh-grid-row--selected:hover .mgh-grid-cell--pinned-left, .mgh-grid-row--selected:hover .mgh-grid-cell--pinned-right { background-image: linear-gradient(var(--mgh-grid-selected-hover), var(--mgh-grid-selected-hover)); }\n.mgh-grid-row--group .mgh-grid-cell--pinned-left, .mgh-grid-row--group .mgh-grid-cell--pinned-right { background-image: linear-gradient(var(--mgh-grid-group-bg), var(--mgh-grid-group-bg)); }\n.mgh-grid-row--footer .mgh-grid-cell--pinned-left, .mgh-grid-row--footer .mgh-grid-cell--pinned-right { background-image: linear-gradient(var(--mgh-grid-footer-bg), var(--mgh-grid-footer-bg)); }\n.mgh-grid-row-filler { flex: 1 1 auto; }\n\n.mgh-grid-cell { display: flex; align-items: center; flex: 0 0 auto; padding: 0 10px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 0.875rem; outline: none; min-height: 100%; }\n.mgh-grid-cell > .mgh-grid-cell-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }\n.mgh-grid-row--auto-height .mgh-grid-cell { white-space: normal; align-items: flex-start; padding-top: 8px; padding-bottom: 8px; }\n.mgh-grid-row--auto-height .mgh-grid-cell > .mgh-grid-cell-text { white-space: normal; word-break: break-word; }\n.mgh-grid-cell--align-center { justify-content: center; }\n.mgh-grid-cell--align-right { justify-content: flex-end; }\n.mgh-grid-cell--focused { outline: 1px solid var(--mgh-grid-focus); outline-offset: -1px; }\n.mgh-grid-cell--editable { cursor: text; }\n.mgh-grid-cell--editing { padding: 0 4px; outline: 2px solid var(--mgh-grid-focus); outline-offset: -2px; background: var(--mgh-grid-bg); }\n.mgh-grid-cell--editing .mgh-grid-input, .mgh-grid-cell--editing .mgh-grid-select { width: 100%; height: calc(100% - 6px); border: 0; box-shadow: none; padding: 0 6px; background: transparent; }\n.mgh-grid-cell--checkbox, .mgh-grid-header-cell--checkbox, .mgh-grid-cell--detail-toggle, .mgh-grid-header-cell--detail-toggle { justify-content: center; padding: 0; }\n.mgh-grid-cell--boolean .mgh-grid-icon { color: var(--mgh-grid-fg-secondary); }\n.mgh-grid-cell--actions { gap: 2px; justify-content: center; }\n.mgh-grid-cell--aggregation { flex-direction: column; align-items: stretch; justify-content: center; line-height: 1.2; }\n.mgh-grid-cell--aggregation.mgh-grid-cell--align-right { align-items: flex-end; }\n.mgh-grid-cell--aggregation.mgh-grid-cell--align-center { align-items: center; }\n.mgh-grid-aggregation-label { font-size: 0.65rem; font-weight: 500; text-transform: uppercase; color: var(--mgh-grid-fg-secondary); letter-spacing: .04em; }\n.mgh-grid-group-cell { display: flex; align-items: center; gap: 4px; min-width: 0; }\n.mgh-grid-group-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 500; }\n.mgh-grid-group-count { color: var(--mgh-grid-fg-secondary); margin-left: 2px; }\n.mgh-grid-group-toggle { flex: 0 0 auto; }\n.mgh-grid-group-toggle .mgh-grid-icon { transition: transform .15s; }\n.mgh-grid-group-toggle--expanded .mgh-grid-icon { transform: rotate(90deg); }\n.mgh-grid-detail-toggle .mgh-grid-icon { transition: transform .15s; }\n.mgh-grid-detail-toggle--expanded .mgh-grid-icon { transform: rotate(180deg); }\n\n/* ---- pinned rows ---- */\n.mgh-grid-pinned-rows { position: sticky; z-index: 2; min-width: 100%; width: max-content; background: var(--mgh-grid-bg); }\n.mgh-grid-pinned-rows--top { box-shadow: 0 2px 4px -2px var(--mgh-grid-pinned-shadow); }\n.mgh-grid-pinned-rows--bottom { bottom: 0; box-shadow: 0 -2px 4px -2px var(--mgh-grid-pinned-shadow); }\n.mgh-grid-pinned-rows--bottom .mgh-grid-row { border-bottom: 0; border-top: 1px solid var(--mgh-grid-border); }\n\n/* ---- detail panel ---- */\n.mgh-grid-detail-panel { position: sticky; left: 0; overflow: auto; border-bottom: 1px solid var(--mgh-grid-border); background: var(--mgh-grid-bg); z-index: 1; }\n\n/* ---- overlays ---- */\n.mgh-grid-overlay { position: absolute; left: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 8px; z-index: 5; color: var(--mgh-grid-fg-secondary); font-size: 0.875rem; pointer-events: none; }\n.mgh-grid-overlay--loading { background: var(--mgh-grid-overlay); pointer-events: auto; }\n.mgh-grid-no-rows { display: flex; align-items: center; justify-content: center; gap: 8px; height: 100%; text-align: center; padding: 16px; }\n.mgh-grid-no-rows img, .mgh-grid-no-rows .mgh-grid-icon { width: 50px; height: 50px; color: var(--mgh-grid-fg-disabled); }\n.mgh-grid-spinner { width: 36px; height: 36px; border-radius: 50%; border: 3px solid var(--mgh-grid-selected); border-top-color: var(--mgh-grid-primary); animation: mgh-grid-spin .8s linear infinite; }\n@keyframes mgh-grid-spin { to { transform: rotate(360deg); } }\n\n/* ---- footer ---- */\n.mgh-grid-footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 52px; padding: 0 8px 0 16px; border-top: 1px solid var(--mgh-grid-border); font-size: 0.875rem; color: var(--mgh-grid-fg-secondary); flex-wrap: wrap; }\n.mgh-grid-footer-left { display: flex; align-items: center; gap: 16px; }\n.mgh-grid-pagination { display: flex; align-items: center; gap: 8px; margin-left: auto; flex-wrap: wrap; }\n.mgh-grid-pagination-select { height: 32px; padding: 2px 24px 2px 8px; font-size: 0.875rem; border-color: transparent; }\n.mgh-grid-pagination-select:hover { border-color: transparent; background-color: var(--mgh-grid-hover); }\n.mgh-grid-pagination-actions { display: inline-flex; align-items: center; }\n\n/* ---- popover / menu / panels ---- */\n.mgh-grid-popover {\n --mgh-grid-font-family: inherit; --mgh-grid-font-size: 14px; --mgh-grid-paper: #ffffff; --mgh-grid-bg: #fff; --mgh-grid-fg: rgba(0,0,0,.87); --mgh-grid-fg-secondary: rgba(0,0,0,.6); --mgh-grid-fg-disabled: rgba(0,0,0,.38); --mgh-grid-border: rgba(224,224,224,1); --mgh-grid-hover: rgba(0,0,0,.04); --mgh-grid-selected: rgba(25,118,210,.08); --mgh-grid-primary: #1976d2; --mgh-grid-primary-contrast: #fff; --mgh-grid-focus: #1976d2; --mgh-grid-input-bg: transparent; --mgh-grid-input-border: rgba(0,0,0,.23); --mgh-grid-popover-shadow: 0 5px 5px -3px rgba(0,0,0,.2), 0 8px 10px 1px rgba(0,0,0,.14), 0 3px 14px 2px rgba(0,0,0,.12);\n position: fixed; z-index: 1300; background: var(--mgh-grid-paper); color: var(--mgh-grid-fg); border-radius: 8px; box-shadow: var(--mgh-grid-popover-shadow); font-family: var(--mgh-grid-font-family); font-size: var(--mgh-grid-font-size); line-height: 1.5; outline: none; max-height: calc(100vh - 16px); overflow: auto; animation: mgh-grid-pop .12s ease-out;\n}\n.mgh-grid-popover[data-mgh-theme="dark"] { --mgh-grid-paper: #212b36; --mgh-grid-bg: #212b36; --mgh-grid-fg: #fff; --mgh-grid-fg-secondary: rgba(255,255,255,.7); --mgh-grid-fg-disabled: rgba(255,255,255,.5); --mgh-grid-border: rgba(81,81,81,1); --mgh-grid-hover: rgba(255,255,255,.08); --mgh-grid-selected: rgba(144,202,249,.16); --mgh-grid-primary: #90caf9; --mgh-grid-primary-contrast: rgba(0,0,0,.87); --mgh-grid-focus: #90caf9; --mgh-grid-input-border: rgba(255,255,255,.23); }\n@keyframes mgh-grid-pop { from { opacity: 0; transform: scale(0.96); } to { opacity: 1; transform: scale(1); } }\n.mgh-grid-menu { list-style: none; margin: 0; padding: 6px 0; min-width: 180px; }\n.mgh-grid-menu-item { display: flex; align-items: center; gap: 12px; padding: 6px 16px; min-height: 36px; font-size: 0.875rem; cursor: pointer; white-space: nowrap; color: var(--mgh-grid-fg); background: transparent; border: 0; width: 100%; text-align: left; font-family: inherit; outline: none; }\n.mgh-grid-menu-item:hover, .mgh-grid-menu-item:focus-visible { background: var(--mgh-grid-hover); }\n.mgh-grid-menu-item--disabled { color: var(--mgh-grid-fg-disabled); cursor: default; pointer-events: none; }\n.mgh-grid-menu-item--selected { background: var(--mgh-grid-selected); }\n.mgh-grid-menu-item .mgh-grid-icon { color: var(--mgh-grid-fg-secondary); flex: 0 0 auto; }\n.mgh-grid-menu-divider { height: 1px; margin: 6px 0; background: var(--mgh-grid-border); border: 0; }\n.mgh-grid-menu-header { padding: 6px 16px 2px; font-size: 0.75rem; color: var(--mgh-grid-fg-secondary); text-transform: uppercase; letter-spacing: .04em; }\n.mgh-grid-menu-section { padding: 4px 16px 8px; display: flex; flex-direction: column; gap: 4px; }\n.mgh-grid-panel { display: flex; flex-direction: column; min-width: 300px; max-width: min(640px, calc(100vw - 16px)); }\n.mgh-grid-panel-header { padding: 12px 12px 4px; }\n.mgh-grid-panel-content { padding: 4px 12px; overflow: auto; max-height: 360px; }\n.mgh-grid-panel-footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 12px; }\n.mgh-grid-columns-list { display: flex; flex-direction: column; }\n.mgh-grid-filter-row { display: grid; grid-template-columns: 32px minmax(120px, 1fr) minmax(120px, 1fr) minmax(140px, 1.3fr); gap: 8px; align-items: end; margin-bottom: 8px; }\n.mgh-grid-filter-row--first { grid-template-columns: 32px minmax(120px, 1fr) minmax(120px, 1fr) minmax(140px, 1.3fr); }\n.mgh-grid-filter-row--with-logic { grid-template-columns: 32px 80px minmax(120px, 1fr) minmax(120px, 1fr) minmax(140px, 1.3fr); }\n.mgh-grid-filter-row .mgh-grid-btn--icon { margin-bottom: 4px; }\n.mgh-grid-filter-empty { padding: 8px 4px; color: var(--mgh-grid-fg-secondary); font-size: 0.875rem; }\n@media (max-width: 599.95px) { .mgh-grid-filter-row, .mgh-grid-filter-row--with-logic { grid-template-columns: 1fr; } }\n\n/* ---- misc ---- */\n.mgh-grid-tooltip-anchor { display: inline-flex; }\n.mgh-grid-visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); border: 0; }\n@media print { .mgh-grid-toolbar, .mgh-grid-footer { display: none !important; } }\n';let bt=!1;const wt=e.useInsertionEffect??("undefined"!=typeof window?e.useLayoutEffect:e.useEffect),xt=()=>{wt(()=>{(()=>{if(bt||"undefined"==typeof document)return;if(document.getElementById(ht))return void(bt=!0);const e=document.createElement("style");e.id=ht,e.setAttribute("data-mgh-grid","true"),e.textContent=ft,document.head.appendChild(e),bt=!0})()},[])},yt=e.createContext(null);yt.displayName="MGHGridContext";const vt=()=>{const t=e.useContext(yt);if(!t)throw new Error("MGHGrid: this component must be rendered inside an <MGHGrid /> (e.g. through a slot).");return t},Et=()=>vt().api,Ct=()=>vt().localeText,kt=()=>e.useRef(null);function Mt(t){const n=e.useRef(t);return n.current=t,n}function St(t,n,r){const i=void 0!==t,[o,l]=e.useState(n),a=i?t:o,d=Mt(a),s=Mt(i),c=Mt(r);return[a,e.useCallback(e=>{const t="function"==typeof e?e(d.current):e;Object.is(t,d.current)||(d.current=t,s.current||l(t),c.current?.(t))},[])]}let It=0;const Ft=(e,t)=>{const n=((e,t)=>{const n=e.getAllColumns();let r;if(t.fields){const e=new Map;n.forEach(t=>e.set(t.field,t)),r=t.fields.map(t=>e.get(t)).filter(Boolean)}else r=t.allColumns?n:e.getVisibleColumns();return r.filter(e=>!e.disableExport&&!he(e.field)&&"actions"!==e.type)})(e,t),r=t.getRowsToExport?t.getRowsToExport({api:e}):e.getSortedRowIds(),i=[];return r.forEach(t=>{const r=e.getRow(t);r&&i.push(n.map(n=>{const i=ze(r,n,e);return{raw:i,formatted:Te(Ae(i,r,n,e,t)),col:n}}))}),{columns:n,headers:n.map(e=>e.headerName??e.field),rows:i}},Pt=(e,t,n)=>{const r=e&&e.trim()||t;return r.toLowerCase().endsWith(`.${n}`)?r:`${r}.${n}`},Nt=()=>(("undefined"!=typeof document&&document.title?document.title.trim():"")||"export").replace(/[\\/:*?"<>|]+/g,"-"),Rt=(e,t)=>{let n=e;return/^[=+\-@\t\r]/.test(n)&&(n=`'${n}`),-1!==n.indexOf('"')||-1!==n.indexOf(t)||/[\r\n]/.test(n)?`"${n.replace(/"/g,'""')}"`:n},Dt=(e,t={})=>{const n=t.delimiter??",",r=t.includeHeaders??!0,i=Ft(e,t),o=[];return r&&o.push(i.headers.map(e=>Rt(e,n)).join(n)),i.rows.forEach(e=>{o.push(e.map(e=>{const r=t.useRawValues?fe(e.raw)?"":String(e.raw):e.formatted;return Rt(r,n)}).join(n))}),o.join("\r\n")},zt=String.fromCharCode(65279),Ot=(()=>{const e=new Uint32Array(256);for(let t=0;t<256;t+=1){let n=t;for(let e=0;e<8;e+=1)n=1&n?3988292384^n>>>1:n>>>1;e[t]=n>>>0}return e})(),At="undefined"!=typeof TextEncoder?new TextEncoder:null,Tt=e=>{if(At)return At.encode(e);const t=unescape(encodeURIComponent(e)),n=new Uint8Array(t.length);for(let e=0;e<t.length;e+=1)n[e]=t.charCodeAt(e);return n},Lt=e=>{const t=e.reduce((e,t)=>e+t.length,0),n=new Uint8Array(t);let r=0;return e.forEach(e=>{n.set(e,r),r+=e.length}),n},Gt=e=>{const t=[],n=[];let r=0;e.forEach(e=>{const i=Tt(e.name),o=(e=>{let t=4294967295;for(let n=0;n<e.length;n+=1)t=Ot[255&(t^e[n])]^t>>>8;return(4294967295^t)>>>0})(e.data),l=e.data.length,a=new Uint8Array(30+i.length),d=new DataView(a.buffer);d.setUint32(0,67324752,!0),d.setUint16(4,20,!0),d.setUint16(6,2048,!0),d.setUint16(8,0,!0),d.setUint16(10,0,!0),d.setUint16(12,33,!0),d.setUint32(14,o,!0),d.setUint32(18,l,!0),d.setUint32(22,l,!0),d.setUint16(26,i.length,!0),d.setUint16(28,0,!0),a.set(i,30);const s=new Uint8Array(46+i.length),c=new DataView(s.buffer);c.setUint32(0,33639248,!0),c.setUint16(4,20,!0),c.setUint16(6,20,!0),c.setUint16(8,2048,!0),c.setUint16(10,0,!0),c.setUint16(12,0,!0),c.setUint16(14,33,!0),c.setUint32(16,o,!0),c.setUint32(20,l,!0),c.setUint32(24,l,!0),c.setUint16(28,i.length,!0),c.setUint16(30,0,!0),c.setUint16(32,0,!0),c.setUint16(34,0,!0),c.setUint16(36,0,!0),c.setUint32(38,0,!0),c.setUint32(42,r,!0),s.set(i,46),t.push(a,e.data),n.push(s),r+=a.length+l});const i=Lt(n),o=new Uint8Array(22),l=new DataView(o.buffer);return l.setUint32(0,101010256,!0),l.setUint16(4,0,!0),l.setUint16(6,0,!0),l.setUint16(8,e.length,!0),l.setUint16(10,e.length,!0),l.setUint32(12,i.length,!0),l.setUint32(16,r,!0),l.setUint16(20,0,!0),Lt(t.concat([i,o]))},Ht=new RegExp("["+String.fromCharCode(0)+"-"+String.fromCharCode(8)+String.fromCharCode(11)+String.fromCharCode(12)+String.fromCharCode(14)+"-"+String.fromCharCode(31)+String.fromCharCode(65534)+String.fromCharCode(65535)+"]","g"),Vt=e=>(e=>e.replace(Ht,""))(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;"),$t=e=>{let t=e+1,n="";for(;t>0;){const e=(t-1)%26;n=String.fromCharCode(65+e)+n,t=Math.floor((t-1)/26)}return n},Ut='<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n',Bt=(e,t,n)=>{const r=[];let i=1;const o=(e,t,n)=>`<c r="${e}" t="inlineStr"${n?` s="${n}"`:""}><is><t xml:space="preserve">${Vt(t)}</t></is></c>`;if(t){const t=e.headers.map((e,t)=>o(`${$t(t)}${i}`,e,1)).join("");r.push(`<row r="${i}">${t}</row>`),i+=1}e.rows.forEach(e=>{const t=e.map((e,t)=>{const n=`${$t(t)}${i}`,r=e.col.type;if(fe(e.raw)||""===e.raw)return"";if("number"===r&&"number"==typeof e.raw&&Number.isFinite(e.raw))return`<c r="${n}"><v>${e.raw}</v></c>`;if("boolean"===r)return`<c r="${n}" t="b"><v>${e.raw?1:0}</v></c>`;if(("date"===r||"dateTime"===r)&&Se(e.raw)){const t=Se(e.raw);return`<c r="${n}" s="${"dateTime"===r?3:2}"><v>${Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds())/864e5+25569}</v></c>`}return o(n,e.formatted)}).join("");r.push(`<row r="${i}">${t}</row>`),i+=1});const l=$t(Math.max(e.columns.length-1,0)),a=Math.max(i-1,1),d=n.map((e,t)=>`<col min="${t+1}" max="${t+1}" width="${e}" customWidth="1"/>`).join("");return Ut+'<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">'+`<dimension ref="A1:${l}${a}"/><sheetViews><sheetView workbookViewId="0">`+(t?'<pane ySplit="1" topLeftCell="A2" activePane="bottomLeft" state="frozen"/>':"")+'</sheetView></sheetViews><sheetFormatPr defaultRowHeight="15"/>'+(d?`<cols>${d}</cols>`:"")+`<sheetData>${r.join("")}</sheetData>`+(t&&e.rows.length>0?`<autoFilter ref="A1:${l}${a}"/>`:"")+"</worksheet>"},_t=Ut+'<styleSheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><numFmts count="2"><numFmt numFmtId="164" formatCode="m/d/yyyy"/><numFmt numFmtId="165" formatCode="m/d/yyyy h:mm AM/PM"/></numFmts><fonts count="2"><font><sz val="11"/><name val="Calibri"/></font><font><b/><sz val="11"/><name val="Calibri"/></font></fonts><fills count="2"><fill><patternFill patternType="none"/></fill><fill><patternFill patternType="gray125"/></fill></fills><borders count="1"><border><left/><right/><top/><bottom/><diagonal/></border></borders><cellStyleXfs count="1"><xf numFmtId="0" fontId="0" fillId="0" borderId="0"/></cellStyleXfs><cellXfs count="4"><xf numFmtId="0" fontId="0" fillId="0" borderId="0" xfId="0"/><xf numFmtId="0" fontId="1" fillId="0" borderId="0" xfId="0" applyFont="1"/><xf numFmtId="164" fontId="0" fillId="0" borderId="0" xfId="0" applyNumberFormat="1"/><xf numFmtId="165" fontId="0" fillId="0" borderId="0" xfId="0" applyNumberFormat="1"/></cellXfs><cellStyles count="1"><cellStyle name="Normal" xfId="0" builtinId="0"/></cellStyles></styleSheet>',Wt=Ut+'<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/><Default Extension="xml" ContentType="application/xml"/><Override PartName="/xl/workbook.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"/><Override PartName="/xl/worksheets/sheet1.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"/><Override PartName="/xl/styles.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml"/><Override PartName="/docProps/core.xml" ContentType="application/vnd.openxmlformats-package.core-properties+xml"/><Override PartName="/docProps/app.xml" ContentType="application/vnd.openxmlformats-officedocument.extended-properties+xml"/></Types>',jt=Ut+'<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="xl/workbook.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/><Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/></Relationships>',qt=Ut+'<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="worksheets/sheet1.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles" Target="styles.xml"/></Relationships>',Kt=e=>Ut+'<workbook xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">'+`<sheets><sheet name="${Vt(e)}" sheetId="1" r:id="rId1"/></sheets></workbook>`,Xt=()=>{const e=(new Date).toISOString();return Ut+'<cp:coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dcmitype="http://purl.org/dc/dcmitype/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><dc:creator>MGH Grid</dc:creator>'+`<dcterms:created xsi:type="dcterms:W3CDTF">${e}</dcterms:created>`+`<dcterms:modified xsi:type="dcterms:W3CDTF">${e}</dcterms:modified></cp:coreProperties>`},Yt=Ut+'<Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties" xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"><Application>MGH Grid</Application></Properties>',Qt=(e,t={})=>{const n=t.includeHeaders??!0,r=Ft(e,t),i=r.columns.map((e,n)=>{const i=t.columnsStyles?.[e.field]?.width;if(i)return i;let o=r.headers[n].length;for(let e=0;e<Math.min(r.rows.length,500);e+=1){const t=r.rows[e][n].formatted.length;t>o&&(o=t)}return Math.min(Math.max(o+2,8),60)}),o=(e=>{const t=(e||"Sheet1").replace(/[\[\]:*?/\\]/g," ").trim()||"Sheet1";return t.length>31?t.slice(0,31):t})(t.sheetName),l=[{name:"[Content_Types].xml",data:Tt(Wt)},{name:"_rels/.rels",data:Tt(jt)},{name:"docProps/core.xml",data:Tt(Xt())},{name:"docProps/app.xml",data:Tt(Yt)},{name:"xl/workbook.xml",data:Tt(Kt(o))},{name:"xl/_rels/workbook.xml.rels",data:Tt(qt)},{name:"xl/styles.xml",data:Tt(_t)},{name:"xl/worksheets/sheet1.xml",data:Tt(Bt(r,n,i))}];return Gt(l)},Jt=e=>e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"),Zt=(e,t={})=>{if("undefined"==typeof document)return;const n=t.includeHeaders??!0,r=Ft(e,t),i=t.title??t.fileName??document.title??"",o=n?`<thead><tr>${r.headers.map((e,t)=>`<th class="${r.columns[t].align??"left"}">${Jt(e)}</th>`).join("")}</tr></thead>`:"",l=`<tbody>${r.rows.map(e=>`<tr>${e.map(e=>`<td class="${e.col.align??"left"}">${Jt(e.formatted)}</td>`).join("")}</tr>`).join("")}</tbody>`,a=`<!doctype html><html><head><meta charset="utf-8" /><title>${Jt(i)}</title><style>body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:12px;color:#111;margin:16px;}h1{font-size:16px;margin:0 0 12px;}table{border-collapse:collapse;width:100%;}th,td{border:1px solid #ccc;padding:4px 8px;text-align:left;vertical-align:top;}th{background:#f3f3f3;font-weight:600;}td.right,th.right{text-align:right;} td.center,th.center{text-align:center;}tr{page-break-inside:avoid;} thead{display:table-header-group;}`+(t.pageStyle??"")+"</style></head><body>"+(i?`<h1>${Jt(i)}</h1>`:"")+`<table>${o}${l}</table></body></html>`,d=document.createElement("iframe");d.setAttribute("aria-hidden","true"),d.style.position="fixed",d.style.right="0",d.style.bottom="0",d.style.width="0",d.style.height="0",d.style.border="0",d.style.opacity="0",document.body.appendChild(d);const s=()=>{window.setTimeout(()=>{d.parentNode&&d.parentNode.removeChild(d)},1e3)};d.onload=()=>{const e=d.contentWindow;if(e)try{e.focus(),e.onafterprint=s,e.print()}catch{s()}else s()};const c=d.contentDocument||d.contentWindow?.document;c?(c.open(),c.write(a),c.close()):d.srcdoc=a},en=e=>e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"),tn=e=>{let t=!1;const n=()=>{t||(t=!0,e.onDone())};try{nn({...e,onDone:n})}catch(e){console.error("MGHGrid: print failed",e),n()}},nn=({cardElement:e,options:t,onDone:n})=>{if("undefined"==typeof document)return void n();const r=t.hideToolbar??!0,i=t.hideFooter??!1,o=t.includeHeaders??!0,l=t.copyStyles??!0,a=e.cloneNode(!0);((e,t)=>{const n=Array.from(e.querySelectorAll("input, select, textarea")),r=Array.from(t.querySelectorAll("input, select, textarea"));n.forEach((e,t)=>{const n=r[t];if(n&&n.tagName===e.tagName)if("INPUT"===e.tagName){const t=e,r=n;"checkbox"===t.type||"radio"===t.type?(r.checked=t.checked,t.checked&&r.setAttribute("checked",""),r.indeterminate=t.indeterminate):(r.value=t.value,r.setAttribute("value",t.value))}else"SELECT"===e.tagName?n.value=e.value:"TEXTAREA"===e.tagName&&(n.value=e.value,n.textContent=e.value)});const i=Array.from(e.querySelectorAll("canvas")),o=Array.from(t.querySelectorAll("canvas"));i.forEach((e,t)=>{const n=o[t];if(n)try{const t=n.ownerDocument.createElement("img");t.src=e.toDataURL(),t.width=e.width,t.height=e.height,t.style.cssText=n.style.cssText,n.replaceWith(t)}catch{}})})(e,a),a.querySelectorAll(".mgh-grid-card-header").forEach(e=>e.remove()),r&&a.querySelectorAll(".mgh-grid-toolbar").forEach(e=>e.remove()),i&&a.querySelectorAll(".mgh-grid-footer").forEach(e=>e.remove()),o||a.querySelectorAll(".mgh-grid-columns").forEach(e=>e.remove()),a.classList.add("mgh-grid-card--plain"),a.querySelectorAll("[id]").forEach(e=>e.removeAttribute("id")),a.style.height="auto",a.style.flexGrow="0";const d=t.title??"",{styles:s,links:c}=l?(e=>{const t=[],n=[];return Array.from(e.styleSheets).forEach(e=>{try{const n=Array.from(e.cssRules).map(e=>e.cssText).join("\n");n&&t.push(n)}catch{e.href&&n.push(e.href)}}),{styles:t,links:n}})(document):{styles:[],links:[]},g=document.createElement("iframe");g.setAttribute("aria-hidden","true"),g.setAttribute("data-mgh-grid-print","true"),g.style.cssText="position:fixed;right:0;bottom:0;width:0;height:0;border:0;opacity:0;pointer-events:none;",document.body.appendChild(g);let m=!1;const u=()=>{m||(m=!0,window.setTimeout(()=>{g.parentNode&&g.parentNode.removeChild(g)},500),n())},p=g.contentWindow,h=g.contentDocument||p?.document;if(!p||!h)return void u();h.open(),h.write(`<!doctype html><html><head><meta charset="utf-8" /><title>${en(d||document.title||"Print")}</title>`+c.map(e=>`<link rel="stylesheet" href="${en(e)}" />`).join("")+"</head><body></body></html>"),h.close(),s.forEach(e=>{const t=h.createElement("style");t.textContent=e,h.head.appendChild(t)});const f=h.createElement("style");if(f.textContent='\n@page { margin: 10mm; }\nhtml, body { margin: 0; padding: 0; background: #fff; }\n.mgh-grid-print-title { margin: 0 0 12px; font: 600 16px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }\n.mgh-grid-card { box-shadow: none !important; border-radius: 0 !important; height: auto !important; max-height: none !important; overflow: visible !important; background: transparent !important; }\n.mgh-grid-box { height: auto !important; max-height: none !important; flex: none !important; }\n.mgh-grid { height: auto !important; max-height: none !important; border-radius: 0 !important; }\n.mgh-grid-main, .mgh-grid-scroller { overflow: visible !important; height: auto !important; max-height: none !important; }\n.mgh-grid-columns, .mgh-grid-pinned-rows, .mgh-grid-detail-panel { position: static !important; box-shadow: none !important; }\n.mgh-grid-header-cell, .mgh-grid-cell { position: static !important; box-shadow: none !important; background-image: none !important; }\n.mgh-grid-detail-panel { width: auto !important; }\n.mgh-grid-body { min-height: 0 !important; }\n.mgh-grid-row, .mgh-grid-row-block, .mgh-grid-detail-panel { break-inside: avoid; page-break-inside: avoid; }\n.mgh-grid-columns { break-after: avoid; page-break-after: avoid; }\n.mgh-grid-header-menu-btn, .mgh-grid-resize-handle, .mgh-grid-overlay, .mgh-grid-sort-icon:not(.mgh-grid-sort-icon--active) { display: none !important; }\n.mgh-grid-popover { display: none !important; }\n'+(t.pageStyle??""),h.head.appendChild(f),d){const e=h.createElement("h1");e.className="mgh-grid-print-title",e.textContent=d,h.body.appendChild(e)}h.body.appendChild(h.adoptNode(a));(async()=>{try{await((e,t)=>new Promise(n=>{const r=Array.from(e.images).filter(e=>!e.complete);if(0===r.length)return void n();let i=r.length,o=!1;const l=()=>{o||(o=!0,n())},a=window.setTimeout(l,t);r.forEach(e=>{const t=()=>{i-=1,i<=0&&(window.clearTimeout(a),l())};e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})})}))(h,4e3),t.onBeforePrint&&await t.onBeforePrint(h),p.onafterprint=u,p.focus(),p.print(),window.setTimeout(u,1e3)}catch{u()}})()},rn=e=>fe(e)?"":e instanceof Date?String(e.getTime()):String(e),on=(e,t,n,r,i="(empty)")=>{const o=(e,l,a,d)=>{const s=t[l],c=n.get(s);if(!c)return[];const g=new Map;e.forEach(e=>{const t=((e,t,n)=>t.groupingValueGetter?t.groupingValueGetter(e[t.field],e,t,n):ze(e,t,n))(e.row,c,r),n=rn(t);let o=g.get(n);if(!o){const m=Te(Ae(t,e.row,c,r,e.id))||i;o={id:`auto-generated-row-${d}${s}/${n}`,depth:l,parent:a,groupingField:s,groupingKey:t,groupingLabel:m,childGroups:[],leaves:[],descendants:[]},g.set(n,o)}o.leaves.push(e)});const m=[];return g.forEach(e=>{l<t.length-1?(e.childGroups=o(e.leaves,l+1,e.id,`${d}${s}/${rn(e.groupingKey)}|`),e.descendants=e.leaves,e.leaves=[]):e.descendants=e.leaves,m.push(e)}),m};return o(e,0,null,"")},ln=e=>{const t=[];return e.forEach(e=>e.descendants.forEach(e=>t.push(e))),t},an=(e,t,n,r,i)=>{const o={};return Object.keys(t).forEach(l=>{const a=t[l],d=r[a],s=n.get(l);if(!d||!s||!1===s.aggregable)return;const c=e.map(e=>ze(e,s,i));o[l]={value:d.apply({values:c,field:l}),fn:a}}),o},dn=(t,n)=>{const r=e.forwardRef(({size:n=20,className:r,style:i,...o},l)=>e.createElement("svg",{ref:l,viewBox:"0 0 24 24",width:n,height:n,fill:"currentColor",focusable:"false","aria-hidden":"true",className:["mgh-grid-icon",r].filter(Boolean).join(" "),style:i,...o},t));return r.displayName=n,r},sn=dn(e.createElement("path",{d:"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z"}),"ViewColumnIcon"),cn=dn(e.createElement("path",{d:"M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"}),"FilterListIcon"),gn=dn(e.createElement("path",{d:"M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 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"}),"SearchIcon"),mn=dn(e.createElement("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"CloseIcon"),un=dn(e.createElement("path",{d:"M19 12v7H5v-7H3v7c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-7h-2zm-6 .67 2.59-2.58L17 11.5l-5 5-5-5 1.41-1.41L11 12.67V3h2z"}),"DownloadIcon"),pn=dn(e.createElement("path",{d:"m4 12 1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z"}),"ArrowUpwardIcon"),hn=dn(e.createElement("path",{d:"m20 12-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"}),"ArrowDownwardIcon"),fn=dn(e.createElement("path",{d:"M12 8c1.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"}),"MoreVertIcon"),bn=dn(e.createElement("path",{d:"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"}),"CheckIcon"),wn=dn(e.createElement("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"ExpandMoreIcon"),xn=dn(e.createElement("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"ChevronRightIcon"),yn=dn(e.createElement("path",{d:"M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10.83 12z"}),"ChevronLeftIcon"),vn=dn(e.createElement("path",{d:"M18.41 16.59 13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z"}),"FirstPageIcon"),En=dn(e.createElement("path",{d:"M5.59 7.41 10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z"}),"LastPageIcon"),Cn=dn(e.createElement("path",{d:"M16 9V4h1c.55 0 1-.45 1-1s-.45-1-1-1H7c-.55 0-1 .45-1 1s.45 1 1 1h1v5c0 1.66-1.34 3-3 3v2h5.97v7l1 1 1-1v-7H19v-2c-1.66 0-3-1.34-3-3z"}),"PushPinIcon"),kn=dn(e.createElement("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"}),"DeleteIcon"),Mn=dn(e.createElement("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"}),"AddIcon"),Sn=dn(e.createElement("path",{d:"M3 2h18v2H3zm0 18h18v2H3zm0-6h18v2H3zm0-6h18v2H3z"}),"DensitySmallIcon"),In=dn(e.createElement("path",{d:"M3 3h18v2H3zm0 16h18v2H3zm0-8h18v2H3z"}),"DensityMediumIcon"),Fn=dn(e.createElement("path",{d:"M3 3h18v2H3zm0 16h18v2H3z"}),"DensityLargeIcon"),Pn=dn(e.createElement("path",{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"}),"DragIndicatorIcon"),Nn=dn(e.createElement("path",{d:"M19 8H5c-1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.34-3-3-3zm-3 11H8v-5h8v5zm3-7c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-1-9H6v4h12V3z"}),"PrintIcon"),Rn=dn(e.createElement("path",{d:"M10 10.02h5V21h-5zM17 21h3c1.1 0 2-.9 2-2v-9h-5v11zm3-18H5c-1.1 0-2 .9-2 2v3h19V5c0-1.1-.9-2-2-2zM3 19c0 1.1.9 2 2 2h3V10H3v9z"}),"TableChartIcon"),Dn=dn(e.createElement("path",{d:"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 16H8v-2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z"}),"DescriptionIcon"),zn=dn(e.createElement("path",{d:"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46A11.804 11.804 0 0 0 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"}),"VisibilityOffIcon"),On=dn(e.createElement("path",{d:"M18 4H6v2l6.5 6L6 18v2h12v-3h-7l5-5-5-5h7z"}),"FunctionsIcon"),An=dn(e.createElement("path",{d:"M6 13c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4zm6-10C9.8 3 8 4.8 8 7s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4zm6 10c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4z"}),"WorkspacesIcon"),Tn=dn(e.createElement(e.Fragment,null,e.createElement("path",{d:"M20 6h-2.18c.11-.31.18-.65.18-1a2.996 2.996 0 0 0-5.5-1.65l-.5.67-.5-.68C10.96 2.54 10.05 2 9 2 7.34 2 6 3.34 6 5c0 .35.07.69.18 1H4c-1.11 0-1.99.89-1.99 2L2 19c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2z",opacity:".25"}),e.createElement("path",{d:"M4 8h16v11H4z",opacity:".15"})),"EmptyBoxIcon");var Ln=Object.freeze({__proto__:null,AddIcon:Mn,ArrowDownwardIcon:hn,ArrowUpwardIcon:pn,CheckIcon:bn,ChevronLeftIcon:yn,ChevronRightIcon:xn,CloseIcon:mn,DeleteIcon:kn,DensityLargeIcon:Fn,DensityMediumIcon:In,DensitySmallIcon:Sn,DescriptionIcon:Dn,DownloadIcon:un,DragIndicatorIcon:Pn,EmptyBoxIcon:Tn,ExpandMoreIcon:wn,FilterListIcon:cn,FirstPageIcon:vn,FunctionsIcon:On,LastPageIcon:En,MoreVertIcon:fn,PrintIcon:Nn,PushPinIcon:Cn,SearchIcon:gn,TableChartIcon:Rn,ViewColumnIcon:sn,VisibilityOffIcon:zn,WorkspacesIcon:An});const Gn=e.forwardRef(({variant:t="text",size:n="medium",startIcon:r,endIcon:i,active:o,className:l,children:a,type:d="button",...s},c)=>e.createElement("button",{ref:c,type:d,className:xe("mgh-grid-btn","primary"===t&&"mgh-grid-btn--primary","contained"===t&&"mgh-grid-btn--contained","small"===n&&"mgh-grid-btn--small",o&&"mgh-grid-btn--active",l),...s},r,a,i));Gn.displayName="MGHGridButton";const Hn=e.forwardRef(({size:t="medium",active:n,label:r,className:i,children:o,type:l="button",...a},d)=>e.createElement("button",{ref:d,type:l,title:r,"aria-label":r,className:xe("mgh-grid-btn mgh-grid-btn--icon","small"===t&&"mgh-grid-btn--small",n&&"mgh-grid-btn--active",i),...a},o));Hn.displayName="MGHGridIconButton";const Vn=({count:t=0,variant:n="dot",children:r})=>e.createElement("span",{className:"mgh-grid-badge"},r,t>0&&("dot"===n?e.createElement("span",{className:"mgh-grid-badge-dot"}):e.createElement("span",{className:"mgh-grid-badge-count"},t>99?"99+":t))),$n=e.forwardRef(({size:t="medium",className:n,...r},i)=>e.createElement("input",{ref:i,className:xe("mgh-grid-input","small"===t&&"mgh-grid-input--small",n),...r}));$n.displayName="MGHGridTextInput";const Un=e.forwardRef(({size:t="medium",className:n,...r},i)=>e.createElement("select",{ref:i,className:xe("mgh-grid-select","small"===t&&"mgh-grid-select--small",n),...r}));Un.displayName="MGHGridSelect";const Bn=({label:t,children:n,className:r,htmlFor:i})=>e.createElement("div",{className:xe("mgh-grid-field",r)},t&&e.createElement("label",{className:"mgh-grid-field-label",htmlFor:i},t),n),_n=e.forwardRef(({indeterminate:t=!1,label:n,className:r,...i},o)=>{const l=e.useRef(null),a=e.useCallback(e=>{l.current=e,"function"==typeof o?o(e):o&&(o.current=e)},[o]);return e.useEffect(()=>{l.current&&(l.current.indeterminate=t)},[t]),e.createElement("input",{ref:a,type:"checkbox",title:n,"aria-label":n,className:xe("mgh-grid-checkbox",r),...i})});_n.displayName="MGHGridCheckbox";const Wn=({className:t})=>e.createElement("div",{className:xe("mgh-grid-spinner",t),role:"progressbar","aria-label":"Loading"});function jn({open:t,anchorEl:n,onClose:r,children:i,placement:o="bottom-start",themeMode:l="light",className:a,style:d,offset:s=4,role:c="dialog",autoFocus:g=!1,ignoreOutsideClickOn:m}){const u=e.useRef(null),[p,h]=e.useState({top:0,left:0,ready:!1}),f=e.useCallback(()=>{const e=u.current;if(!e)return;const t=window.innerWidth,r=window.innerHeight,i=e.offsetWidth,l=e.offsetHeight;let a,d;if(n&&n.isConnected){const e=n.getBoundingClientRect();"right-start"===o?(a=e.top,d=e.right+s,d+i>t-8&&(d=e.left-s-i)):(a=e.bottom+s,a+l>r-8&&e.top-s-l>=8&&(a=e.top-s-l),d="bottom-end"===o?e.right-i:"bottom"===o?e.left+e.width/2-i/2:e.left)}else a=r/2-l/2,d=t/2-i/2;a=we(a,8,Math.max(8,r-l-8)),d=we(d,8,Math.max(8,t-i-8)),h(e=>e.ready&&e.top===a&&e.left===d?e:{top:a,left:d,ready:!0})},[n,o,s]);if(e.useLayoutEffect(()=>{if(!t)return void h(e=>e.ready?{...e,ready:!1}:e);f(),window.addEventListener("resize",f),window.addEventListener("scroll",f,!0);let e=null;return"undefined"!=typeof ResizeObserver&&u.current&&(e=new ResizeObserver(()=>f()),e.observe(u.current)),()=>{window.removeEventListener("resize",f),window.removeEventListener("scroll",f,!0),e?.disconnect()}},[t,f]),e.useEffect(()=>{if(!t)return;const e=e=>{const t=e.target;t&&(u.current?.contains(t)||n?.contains(t)||m?.some(e=>e.current?.contains(t))||t.closest?.(".mgh-grid-popover")||r("backdrop"))},i=e=>{"Escape"===e.key&&r("escape")};return document.addEventListener("mousedown",e,!0),document.addEventListener("touchstart",e,!0),document.addEventListener("keydown",i),()=>{document.removeEventListener("mousedown",e,!0),document.removeEventListener("touchstart",e,!0),document.removeEventListener("keydown",i)}},[t,r,n,m]),e.useEffect(()=>{if(t&&g&&u.current){(u.current.querySelector('input, select, textarea, button, [tabindex]:not([tabindex="-1"])')??u.current).focus()}},[t,g]),!t||"undefined"==typeof document)return null;const b=e=>e.stopPropagation();return _(e.createElement("div",{ref:u,role:c,tabIndex:-1,className:xe("mgh-grid-popover",a),"data-mgh-theme":l,style:{top:p.top,left:p.left,visibility:p.ready?"visible":"hidden",...d},onClick:b,onDoubleClick:b,onMouseDown:b,onKeyDown:e=>{if("Escape"===e.key)return e.stopPropagation(),void r("escape");e.stopPropagation()}},i),document.body)}const qn=({children:t,className:n,onKeyDown:r,...i})=>{const o=e.useRef(null);return e.useEffect(()=>{const e=o.current?.querySelector('[role="menuitem"]:not([aria-disabled="true"])');e?.focus()},[]),e.createElement("ul",{ref:o,role:"menu",className:xe("mgh-grid-menu",n),onKeyDown:e=>{if(r?.(e),"ArrowDown"!==e.key&&"ArrowUp"!==e.key&&"Home"!==e.key&&"End"!==e.key)return;const t=Array.from(o.current?.querySelectorAll('[role="menuitem"]:not([aria-disabled="true"])')??[]);if(0===t.length)return;e.preventDefault();const n=t.indexOf(document.activeElement);let i=0;i="ArrowDown"===e.key?n<0?0:(n+1)%t.length:"ArrowUp"===e.key?n<0?t.length-1:(n-1+t.length)%t.length:"Home"===e.key?0:t.length-1,t[i].focus()},...i},t)},Kn=e.forwardRef(({icon:t,selected:n,disabled:r,className:i,children:o,onClick:l,hideMenu:a,...d},s)=>e.createElement("li",{role:"none"},e.createElement("button",{ref:s,type:"button",role:"menuitem","aria-disabled":r||void 0,disabled:r,tabIndex:-1,className:xe("mgh-grid-menu-item",r&&"mgh-grid-menu-item--disabled",n&&"mgh-grid-menu-item--selected",i),onClick:e=>{r||(l?.(e),a?.())},...d},t,e.createElement("span",null,o))));Kn.displayName="MGHGridMenuItem";const Xn=()=>e.createElement("li",{role:"separator",className:"mgh-grid-menu-divider"}),Yn=({children:t})=>e.createElement("li",{role:"presentation",className:"mgh-grid-menu-section"},t);function Qn(){const{api:t,state:n,localeText:r}=vt(),i=n.preferencePanel.open&&"columns"===n.preferencePanel.openedPanelValue;return e.createElement(Hn,{label:r.toolbarColumns,active:i,"aria-haspopup":"dialog","aria-expanded":i,onClick:e=>i?t.hidePreferences():t.showPreferences("columns",e.currentTarget)},e.createElement(sn,null))}function Jn(){const{api:t,state:n,localeText:r}=vt(),i=n.preferencePanel.open&&"filters"===n.preferencePanel.openedPanelValue;return e.createElement(Hn,{label:r.toolbarFilters,active:i,"aria-haspopup":"dialog","aria-expanded":i,onClick:e=>i?t.hidePreferences():t.showPreferences("filters",e.currentTarget)},e.createElement(Vn,{count:n.filterCount,variant:"dot"},e.createElement(cn,null)))}function Zn(){const{api:t,state:n,localeText:r,themeMode:i}=vt(),[o,l]=e.useState(null),a=[{value:"compact",label:r.densityCompact,icon:e.createElement(Sn,null)},{value:"standard",label:r.densityStandard,icon:e.createElement(In,null)},{value:"comfortable",label:r.densityComfortable,icon:e.createElement(Fn,null)}],d=a.find(e=>e.value===n.density)??a[1];return e.createElement(e.Fragment,null,e.createElement(Hn,{label:r.toolbarDensity,active:Boolean(o),"aria-haspopup":"menu",onClick:e=>l(t=>t?null:e.currentTarget)},d.icon),e.createElement(jn,{open:Boolean(o),anchorEl:o,onClose:()=>l(null),themeMode:i,role:"menu"},e.createElement(qn,null,a.map(r=>e.createElement(Kn,{key:r.value,icon:r.icon,selected:r.value===n.density,onClick:()=>t.setDensity(r.value),hideMenu:()=>l(null)},r.label)))))}const er=Kn;function tr({csvOptions:t={allColumns:!0},excelOptions:n={allColumns:!0},printOptions:r,showCsvOption:i=!0,showExcelOption:o=!0,showPrintOption:l=!0,customMenuItem:a}){const{api:d,localeText:s,themeMode:c,rootProps:g}=vt(),[m,u]=e.useState(null),p=()=>u(null),h=e.Children.map(a,t=>e.isValidElement(t)?e.cloneElement(t,{hideMenu:p}):t),f={title:"string"==typeof g.header?g.header:void 0,...r};return e.createElement(e.Fragment,null,e.createElement(Hn,{label:s.toolbarExport,active:Boolean(m),"aria-haspopup":"menu",onClick:e=>u(t=>t?null:e.currentTarget)},e.createElement(un,null)),e.createElement(jn,{open:Boolean(m),anchorEl:m,onClose:p,themeMode:c,role:"menu"},e.createElement(qn,null,h,i&&e.createElement(Kn,{icon:e.createElement(Dn,null),onClick:()=>d.exportDataAsCsv(t),hideMenu:p},s.toolbarExportCSV),o&&e.createElement(Kn,{icon:e.createElement(Rn,null),onClick:()=>{d.exportDataAsExcel(n)},hideMenu:p},s.toolbarExportExcel),l&&e.createElement(Kn,{icon:e.createElement(Nn,null),onClick:()=>d.exportDataAsPrint(f),hideMenu:p},s.toolbarExportPrint))))}function nr({placeholder:t,debounceMs:n,alwaysExpanded:r=!1}){const{api:i,state:o,localeText:l,rootProps:a}=vt(),d=(o.quickFilterValues??[]).join(" "),[s,c]=e.useState(d),[g,m]=e.useState(r||""!==d),u=e.useRef(null),p=e.useRef(null),h=n??a.quickFilterDebounceMs,f=e.useRef(d);e.useEffect(()=>{d!==f.current&&(f.current=d,c(d),""!==d&&m(!0))},[d]),e.useEffect(()=>()=>{null!==p.current&&window.clearTimeout(p.current)},[]);const b=e=>{const t=e.split(/\s+/).filter(e=>""!==e);f.current=t.join(" "),i.setQuickFilterValues(t)},w=()=>{null!==p.current&&window.clearTimeout(p.current),c(""),b(""),u.current?.focus()},x=r||g;return e.createElement("div",{className:xe("mgh-grid-quick-filter",x&&"mgh-grid-quick-filter--expanded")},e.createElement(Hn,{className:"mgh-grid-quick-filter-trigger",label:l.toolbarQuickFilterLabel,"aria-disabled":x,tabIndex:x?-1:0,onClick:()=>{m(!0),window.setTimeout(()=>u.current?.focus(),0)}},e.createElement(gn,null)),e.createElement("div",{className:xe("mgh-grid-quick-filter-control mgh-grid-input-adorned",s&&"mgh-grid-input-adorned--clearable")},e.createElement("span",{className:"mgh-grid-input-adornment"},e.createElement(gn,{size:18})),e.createElement($n,{ref:u,size:"small",type:"search",value:s,tabIndex:x?0:-1,placeholder:t??l.toolbarQuickFilterPlaceholder,"aria-label":l.toolbarQuickFilterLabel,onChange:e=>{return t=e.target.value,c(t),null!==p.current&&window.clearTimeout(p.current),void(p.current=window.setTimeout(()=>b(t),h));var t},onBlur:()=>{r||""!==s.trim()||m(!1)},onKeyDown:e=>{"Escape"===e.key&&(e.stopPropagation(),s?w():r||(m(!1),u.current?.blur())),"Enter"===e.key&&(null!==p.current&&window.clearTimeout(p.current),b(s))}}),s&&e.createElement("span",{className:"mgh-grid-input-adornment mgh-grid-input-adornment--end"},e.createElement(Hn,{size:"small",label:l.clearSearch,onClick:w,tabIndex:-1},e.createElement(mn,null)))))}function rr({showColumnsButton:t=!0,showFilterButton:n=!0,showExportButton:r=!0,showQuickFilter:i=!0,showDensitySelector:o=!1,showCsvOption:l=!0,showExcelOption:a=!0,showPrintOption:d=!0,csvOptions:s,excelOptions:c,printOptions:g,renderOtherButtons:m,renderDateRange:u,customMenuItem:p,quickFilterPlaceholder:h,quickFilterDebounceMs:f}){const{rootProps:b}=vt(),w=t&&!b.disableColumnSelector,x=n&&!b.disableColumnFilter,y=o&&!b.disableDensitySelector;return e.createElement("div",{className:"mgh-grid-toolbar",role:"toolbar"},e.createElement("div",{className:"mgh-grid-toolbar-group"},w&&e.createElement(Qn,null),x&&e.createElement(Jn,null),y&&e.createElement(Zn,null),r&&e.createElement(tr,{csvOptions:s,excelOptions:c,printOptions:g,showCsvOption:l,showExcelOption:a,showPrintOption:d,customMenuItem:p})),u&&e.createElement("div",{className:"mgh-grid-toolbar-center"},u),e.createElement("div",{className:"mgh-grid-toolbar-group"},m,i&&e.createElement(nr,{placeholder:h,debounceMs:f})))}function ir(){const{api:t,state:n,localeText:r,rootProps:i}=vt(),{page:o,pageSize:l}=n.paginationModel,a=n.rowCount,d=n.pageCount,s=0===a?0:o*l+1,c=Math.min(a,(o+1)*l),g=-1===i.pageSizeOptions.indexOf(l)?i.pageSizeOptions.concat([l]).sort((e,t)=>e-t):i.pageSizeOptions;return e.createElement("div",{className:"mgh-grid-pagination",role:"navigation","aria-label":"Pagination"},e.createElement("span",null,r.footerPaginationRowsPerPage),e.createElement(Un,{className:"mgh-grid-pagination-select",value:l,"aria-label":r.footerPaginationRowsPerPage,onChange:e=>t.setPageSize(Number(e.target.value))},g.map(t=>e.createElement("option",{key:t,value:t},t))),e.createElement("span",null,r.footerPaginationDisplayedRows(s,c,a)),e.createElement("div",{className:"mgh-grid-pagination-actions"},e.createElement(Hn,{label:r.footerPaginationFirstPage,disabled:o<=0,onClick:()=>t.setPage(0)},e.createElement(vn,null)),e.createElement(Hn,{label:r.footerPaginationPreviousPage,disabled:o<=0,onClick:()=>t.setPage(o-1)},e.createElement(yn,null)),e.createElement(Hn,{label:r.footerPaginationNextPage,disabled:o>=d-1,onClick:()=>t.setPage(o+1)},e.createElement(xn,null)),e.createElement(Hn,{label:r.footerPaginationLastPage,disabled:o>=d-1,onClick:()=>t.setPage(Math.max(d-1,0))},e.createElement(En,null))))}function or(){const{state:t,localeText:n,rootProps:r}=vt(),i=t.rowSelectionModel.ids.size,o=i>0&&!r.hideFooterSelectedRowCount,l=r.pagination&&!r.hideFooterPagination,a=!l&&!r.hideFooterRowCount;return e.createElement("div",{className:"mgh-grid-footer"},e.createElement("div",{className:"mgh-grid-footer-left"},o&&e.createElement("span",null,n.footerRowSelected(i))),a&&e.createElement("span",null,n.footerTotalRows," ",t.rowCount.toLocaleString()),l&&e.createElement(ir,null))}function lr(){const{api:t,state:n,localeText:r,columns:i,visibleColumns:o}=vt(),l=e.useMemo(()=>new Set(o.map(e=>e.field)),[o]),[a,d]=e.useState(""),s=n.columnVisibilityModel,c=i.filter(e=>!1!==e.hideable),g=a.trim().toLowerCase(),m=g?c.filter(e=>-1!==(e.headerName??e.field).toLowerCase().indexOf(g)):c,u=e=>{const n={...s};c.forEach(t=>{n[t.field]=e}),t.setColumnVisibilityModel(n)};return e.createElement("div",{className:"mgh-grid-panel",role:"group","aria-label":r.toolbarColumns},e.createElement("div",{className:"mgh-grid-panel-header"},e.createElement("div",{className:"mgh-grid-input-adorned"},e.createElement("span",{className:"mgh-grid-input-adornment"},e.createElement(gn,{size:18})),e.createElement($n,{autoFocus:!0,size:"small",value:a,placeholder:r.columnsPanelSearchPlaceholder,"aria-label":r.columnsPanelSearchPlaceholder,onChange:e=>d(e.target.value)}))),e.createElement("div",{className:"mgh-grid-panel-content"},e.createElement("div",{className:"mgh-grid-columns-list"},m.map(n=>{const r=l.has(n.field);return e.createElement("label",{key:n.field,className:"mgh-grid-checkbox-label"},e.createElement(_n,{checked:r,onChange:()=>t.setColumnVisibility(n.field,!r)}),e.createElement("span",null,n.headerName??n.field))}),0===m.length&&e.createElement("div",{className:"mgh-grid-filter-empty"},"No columns"))),e.createElement("div",{className:"mgh-grid-panel-footer"},e.createElement(Gn,{variant:"primary",size:"small",onClick:()=>u(!0)},r.columnsPanelShowAll),e.createElement(Gn,{variant:"primary",size:"small",onClick:()=>u(!1)},r.columnsPanelHideAll),e.createElement(Gn,{size:"small",onClick:()=>t.setColumnVisibilityModel({})},r.columnsPanelReset)))}const ar=(t,n,r=250)=>{const[i,o]=e.useState(t??""),l=e.useRef(null);e.useEffect(()=>{o(t??"")},[t]);return e.useEffect(()=>()=>{null!==l.current&&window.clearTimeout(l.current)},[]),[i,e=>{o(e),null!==l.current&&window.clearTimeout(l.current),l.current=window.setTimeout(()=>n(e),r)}]};function dr({item:t,onChange:n,placeholder:r,type:i}){const[o,l]=ar(t.value,n);return e.createElement($n,{size:"small",type:i,value:o,placeholder:r,"aria-label":r,onChange:e=>l(e.target.value)})}function sr({item:t,column:n,onChange:r,placeholder:i}){const o=Array.isArray(t.value)?t.value.join(", "):t.value??"",[l,a]=ar(o,e=>r(String(e).split(",").map(e=>e.trim()).filter(e=>""!==e)));if("singleSelect"===n.type){const o=De(n),l=Array.isArray(t.value)?t.value.map(String):[];return e.createElement(Un,{multiple:!0,size:"small",value:l,"aria-label":i,onChange:e=>{const t=Array.from(e.target.selectedOptions).map(e=>{const t=o.find(t=>String(Ne(n,t))===e.value);return void 0!==t?Ne(n,t):e.value});r(t)}},o.map(t=>{const r=Ne(n,t);return e.createElement("option",{key:String(r),value:String(r)},Re(n,t))}))}return e.createElement($n,{size:"small",value:l,placeholder:"Comma separated values","aria-label":i,onChange:e=>a(e.target.value)})}function cr(t){const{item:n,column:r,operator:i,onChange:o,placeholder:l}=t,{api:a}=vt(),d=i?.inputType??"text";if(i?.InputComponent){const t=i.InputComponent;return e.createElement(t,{item:n,column:r,applyValue:e=>o(e.value),api:a})}switch(d){case"none":return e.createElement("div",null);case"boolean":return e.createElement(Un,{size:"small",value:void 0===n.value||null===n.value?"":String(n.value),"aria-label":l,onChange:e=>o(""===e.target.value?void 0:e.target.value)},e.createElement("option",{value:""},"any"),e.createElement("option",{value:"true"},"yes"),e.createElement("option",{value:"false"},"no"));case"select":{const t=De(r);return e.createElement(Un,{size:"small",value:void 0===n.value||null===n.value?"":String(n.value),"aria-label":l,onChange:e=>{const n=t.find(t=>String(Ne(r,t))===e.target.value);o(""===e.target.value?void 0:void 0!==n?Ne(r,n):e.target.value)}},e.createElement("option",{value:""}),t.map(t=>{const n=Ne(r,t);return e.createElement("option",{key:String(n),value:String(n)},Re(r,t))}))}case"multiselect":return e.createElement(sr,{...t});case"number":return e.createElement(dr,{...t,type:"number"});case"date":return e.createElement(dr,{...t,type:"date"});case"datetime-local":return e.createElement(dr,{...t,type:"datetime-local"});default:return e.createElement(dr,{...t,type:"text"})}}const gr=e=>({id:ye("filter"),field:e?.field??"",operator:e?et(e)[0]?.value??"contains":"contains",value:void 0});function mr(){const{api:t,state:n,localeText:r,columns:i,rootProps:o}=vt(),l=e.useMemo(()=>i.filter(e=>!1!==e.filterable),[i]),a=e.useMemo(()=>{const e=new Map;return l.forEach(t=>e.set(t.field,t)),e},[l]),d=n.filterModel.items,s=n.filterModel.logicOperator??"and",c=n.preferencePanel.targetField,g=e.useRef(!1);e.useEffect(()=>{if(!g.current)if(g.current=!0,c&&a.has(c)){d.find(e=>e.field===c)||t.upsertFilterItem(gr(a.get(c)))}else 0===d.length&&l.length>0&&t.upsertFilterItem(gr(l[0]))},[t,a,l,d,c]);const m=(e,n)=>{t.upsertFilterItem({...e,...n})},u=!o.disableMultipleColumnsFiltering||0===d.length;return e.createElement("div",{className:"mgh-grid-panel",role:"group","aria-label":r.toolbarFilters},e.createElement("div",{className:"mgh-grid-panel-content",style:{paddingTop:12}},0===d.length&&e.createElement("div",{className:"mgh-grid-filter-empty"},"No filters"),d.map((n,i)=>{const o=a.get(n.field)??l[0],c=o?et(o):[],g=c.find(e=>e.value===n.operator)??c[0],u=d.length>1;return e.createElement("div",{key:String(n.id??i),className:u?"mgh-grid-filter-row mgh-grid-filter-row--with-logic":"mgh-grid-filter-row"},e.createElement(Hn,{size:"small",label:r.filterPanelDeleteIcon,onClick:()=>t.deleteFilterItem(n)},e.createElement(kn,null)),u&&e.createElement(Bn,{label:1===i?r.filterPanelLogicOperator:" "},0===i?e.createElement("div",{style:{height:32}}):e.createElement(Un,{size:"small",value:s,disabled:i>1,"aria-label":r.filterPanelLogicOperator,onChange:e=>t.setFilterLogicOperator(e.target.value)},e.createElement("option",{value:"and"},r.filterPanelOperatorAnd),e.createElement("option",{value:"or"},r.filterPanelOperatorOr))),e.createElement(Bn,{label:r.filterPanelColumns},e.createElement(Un,{size:"small",value:o?.field??"","aria-label":r.filterPanelColumns,onChange:e=>{const t=a.get(e.target.value),r=t?et(t):[],i=r.some(e=>e.value===n.operator);m(n,{field:e.target.value,operator:i?n.operator:r[0]?.value??"contains",value:void 0})}},l.map(t=>e.createElement("option",{key:t.field,value:t.field},t.headerName??t.field)))),e.createElement(Bn,{label:r.filterPanelOperator},e.createElement(Un,{size:"small",value:g?.value??"","aria-label":r.filterPanelOperator,onChange:e=>{const t=c.find(t=>t.value===e.target.value),r="multiselect"===t?.inputType,i="multiselect"===g?.inputType;m(n,{operator:e.target.value,value:r!==i?void 0:n.value})}},c.map(t=>e.createElement("option",{key:t.value,value:t.value},t.label??t.value)))),e.createElement(Bn,{label:r.filterPanelValue},o?e.createElement(cr,{item:n,column:o,operator:g,placeholder:r.filterPanelInputPlaceholder,onChange:e=>m(n,{value:e})}):e.createElement("div",null)))})),e.createElement("div",{className:"mgh-grid-panel-footer"},e.createElement(Gn,{variant:"primary",size:"small",startIcon:e.createElement(Mn,{size:18}),onClick:()=>{t.upsertFilterItem(gr(l[0]))},disabled:!u},r.filterPanelAddFilter),e.createElement(Gn,{size:"small",startIcon:e.createElement(kn,{size:18}),disabled:0===d.length,onClick:()=>t.setFilterModel({...n.filterModel,items:[]})},r.filterPanelRemoveAll)))}function ur({column:t,anchorEl:n,open:r,onClose:i,themeMode:o,panelAnchorEl:l}){const{api:a,state:d,localeText:s,rootProps:c}=vt(),g=t.field,m=g===le,u=d.sortModel.find(e=>e.field===g),p=a.isColumnPinned(g),h=-1!==d.rowGroupingModel.indexOf(g),f=d.aggregationModel[g],b=!1!==t.sortable&&!c.disableColumnSorting,w=!1!==t.filterable&&!c.disableColumnFilter&&!m,x=!1!==t.hideable,y=!1!==t.pinnable&&!c.disableColumnPinning,v=!1!==t.groupable&&!c.disableRowGrouping&&!m,E=Object.keys(c.aggregationFunctions).filter(e=>{const n=c.aggregationFunctions[e];return(!t.availableAggregationFunctions||-1!==t.availableAggregationFunctions.indexOf(e))&&(!n.columnTypes||!t.type||-1!==n.columnTypes.indexOf(t.type))}),C=!1!==t.aggregable&&!c.disableAggregation&&!m&&E.length>0,k=l??n,M=t.headerName??t.field;return e.createElement(jn,{open:r,anchorEl:n,onClose:i,themeMode:o,placement:"bottom-end",role:"menu"},e.createElement(qn,{"aria-label":s.columnMenuLabel},b&&e.createElement(e.Fragment,null,e.createElement(Kn,{icon:e.createElement(pn,null),selected:"asc"===u?.sort,onClick:()=>a.sortColumn(g,"asc"),hideMenu:i},s.columnMenuSortAsc),e.createElement(Kn,{icon:e.createElement(hn,null),selected:"desc"===u?.sort,onClick:()=>a.sortColumn(g,"desc"),hideMenu:i},s.columnMenuSortDesc),u&&e.createElement(Kn,{icon:e.createElement("span",{style:{width:20}}),onClick:()=>a.sortColumn(g,null),hideMenu:i},s.columnMenuUnsort)),w&&e.createElement(e.Fragment,null,b&&e.createElement(Xn,null),e.createElement(Kn,{icon:e.createElement(cn,null),onClick:()=>a.showFilterPanel(g,k),hideMenu:i},s.columnMenuFilter)),(x||!c.disableColumnSelector)&&e.createElement(e.Fragment,null,(b||w)&&e.createElement(Xn,null),x&&e.createElement(Kn,{icon:e.createElement(zn,null),onClick:()=>a.setColumnVisibility(g,!1),hideMenu:i},s.columnMenuHideColumn),!c.disableColumnSelector&&e.createElement(Kn,{icon:e.createElement(sn,null),onClick:()=>a.showPreferences("columns",k),hideMenu:i},s.columnMenuManageColumns)),y&&e.createElement(e.Fragment,null,e.createElement(Xn,null),"left"!==p&&e.createElement(Kn,{icon:e.createElement(Cn,{style:{transform:"rotate(30deg)"}}),onClick:()=>a.pinColumn(g,"left"),hideMenu:i},s.columnMenuPinLeft),"right"!==p&&e.createElement(Kn,{icon:e.createElement(Cn,{style:{transform:"rotate(-30deg)"}}),onClick:()=>a.pinColumn(g,"right"),hideMenu:i},s.columnMenuPinRight),p&&e.createElement(Kn,{icon:e.createElement("span",{style:{width:20}}),onClick:()=>a.unpinColumn(g),hideMenu:i},s.columnMenuUnpin)),v&&e.createElement(e.Fragment,null,e.createElement(Xn,null),e.createElement(Kn,{icon:e.createElement(An,null),onClick:()=>h?a.removeRowGroupingCriteria(g):a.addRowGroupingCriteria(g),hideMenu:i},h?s.columnMenuUngroup(M):s.columnMenuGroup(M))),C&&e.createElement(e.Fragment,null,e.createElement(Xn,null),e.createElement(Yn,null,e.createElement("label",{className:"mgh-grid-field-label",style:{display:"flex",alignItems:"center",gap:6}},e.createElement(On,{size:16})," ",s.columnMenuAggregation),e.createElement(Un,{size:"small",value:f??"","aria-label":s.columnMenuAggregation,onChange:e=>{const t={...d.aggregationModel};""===e.target.value?delete t[g]:t[g]=e.target.value,a.setAggregationModel(t)}},e.createElement("option",{value:""},s.aggregationFunctionLabelNone),E.map(t=>e.createElement("option",{key:t,value:t},c.aggregationFunctions[t].label??t)))))))}function pr({text:t="No rows",imageSrc:n}){return e.createElement("div",{className:"mgh-grid-no-rows",role:"status"},n?e.createElement("img",{alt:"",src:n}):e.createElement(Tn,{size:50}),e.createElement("div",null,t))}function hr({text:t}){return e.createElement(e.Fragment,null,e.createElement(Wn,null),t&&e.createElement("div",null,t))}function fr({icon:t,label:n,onClick:r,showInMenu:i,disabled:o,className:l,...a}){return e.createElement(Hn,{size:"small",label:n,disabled:o,className:l,onClick:e=>{e.stopPropagation(),r?.(e)},...a},t)}function br({actions:t,themeMode:n,moreLabel:r}){const[i,o]=e.useState(null),l=[],a=[];return t.forEach(t=>{e.isValidElement(t)&&(t.props?.showInMenu?a.push(t):l.push(t))}),e.createElement(e.Fragment,null,l.map((t,n)=>e.createElement(e.Fragment,{key:t.key??n},t)),a.length>0&&e.createElement(e.Fragment,null,e.createElement(Hn,{size:"small",label:r,active:Boolean(i),onClick:e=>{e.stopPropagation(),o(t=>t?null:e.currentTarget)}},e.createElement(fn,null)),e.createElement(jn,{open:Boolean(i),anchorEl:i,onClose:()=>o(null),themeMode:n,placement:"bottom-end",role:"menu"},e.createElement(qn,null,a.map((t,n)=>{const r=t.props;return e.createElement(Kn,{key:t.key??n,icon:r.icon,disabled:r.disabled,onClick:e=>{r.onClick?.(e),o(null)}},r.label)})))))}fr.displayName="MGHGridActionsCellItem";const wr=[],xr={},yr=new Map,vr=["asc","desc",null],Er=[10,25,50,100],Cr={items:[],quickFilterExcludeHiddenColumns:!1},kr=e=>{if(!e)return;const t={};return Object.keys(e).forEach(n=>{if(lt(n))return;const r=e[n];"string"!=typeof r&&"number"!=typeof r||(t[n]=r)}),t},Mr=(e,t)=>{const n=Se(e);if(!n)return"";const r=e=>String(e).padStart(2,"0"),i=`${n.getFullYear()}-${r(n.getMonth()+1)}-${r(n.getDate())}`;return t?`${i}T${r(n.getHours())}:${r(n.getMinutes())}`:i};function Sr(t){const{rows:n,columns:r,getRowId:i,loading:o=!1,header:l,renderHeaderEndContent:a,renderHeaderCenterContent:d,disableCard:s=!1,className:c,cardClassName:g,boxClassName:m,cardStyle:u,cardSx:p,boxStyle:h,boxSx:f,style:b,sx:w,themeMode:x="light",themeVars:y,showToolbar:v=!0,toolbarProps:E,slots:C=xr,slotProps:k=xr,noRowsText:M="No data found within selected parameters.",localeText:S,rowHeight:I=me,columnHeaderHeight:F=ue,getRowHeight:P,autoHeight:N=!1,disableVirtualization:R=!1,density:D,onDensityChange:z,disableDensitySelector:O=!1,pagination:A=!0,pageSize:T=25,pageSizeOptions:L=Er,paginationModel:G,onPaginationModelChange:H,hideFooter:V=!1,hideFooterPagination:$=!1,hideFooterRowCount:U=!1,hideFooterSelectedRowCount:B=!1,sortModel:_,onSortModelChange:W,sortingOrder:j=vr,disableMultipleColumnsSorting:q=!1,disableColumnSorting:K=!1,filterModel:X,onFilterModelChange:Y,disableColumnFilter:Q=!1,disableMultipleColumnsFiltering:J=!1,quickFilterDebounceMs:Z=150,columnVisibilityModel:ee,onColumnVisibilityModelChange:te,columnVisibilityStorageKey:ne,columnOrderStorageKey:re,columnWidthStorageKey:ie,pinnedColumnsStorageKey:oe,onColumnOrderChange:ce,onColumnWidthChange:be,disableColumnMenu:ye=!1,disableColumnSelector:ve=!1,disableColumnResize:Ie=!1,disableColumnReorder:Fe=!1,disableColumnPinning:Pe=!1,pinnedColumns:Le,onPinnedColumnsChange:Ge,checkboxSelection:He=!1,checkboxSelectionVisibleOnly:Ve=!1,disableRowSelectionOnClick:$e=!0,disableMultipleRowSelection:Ue=!1,rowSelectionModel:Be,onRowSelectionModelChange:We,isRowSelectable:je,keepNonExistentRowsSelected:qe=!0,getRowClassName:Ke,onRowClick:Xe,onRowDoubleClick:Ye,onCellClick:Qe,onCellDoubleClick:Je,pinnedRows:Ze,getDetailPanelContent:nt,getDetailPanelHeight:ot,detailPanelExpandedRowIds:lt,onDetailPanelExpandedRowIdsChange:at,rowGroupingModel:st,onRowGroupingModelChange:mt,defaultGroupingExpansionDepth:ht=0,groupingColDef:ft,disableRowGrouping:bt=!1,isGroupExpandedByDefault:wt,aggregationModel:vt,onAggregationModelChange:Et,aggregationFunctions:Ct,disableAggregation:kt=!1,aggregationPosition:Mt="both",processRowUpdate:Ft,onProcessRowUpdateError:Rt,onCellEditStop:Ot,isCellEditable:At,initialState:Tt,apiRef:Lt,onStateChange:Gt}=t;xt();const Ht=function(t){const n=e.useId;if(n)return`${t}-${n().replace(/:/g,"")}`;const r=e.useRef(null);return null===r.current&&(It+=1,r.current=`${t}-${It}`),r.current}("mgh-grid"),Vt=e.useRef(null),$t=e.useRef(null),Ut=e.useRef(null),Bt=e.useRef(null),_t=function(){const[,t]=e.useState(0);return e.useCallback(()=>t(e=>e+1),[])}(),Wt=e.useMemo(()=>({...gt,...S}),[S]),jt=e.useRef({}),qt=e.useCallback(()=>({api:jt.current.api}),[]),Kt=e.useMemo(()=>{const e=()=>jt.current,t={getRow:t=>e().rowsById.get(t)??null,getRowModels:()=>new Map(e().rowsById),getAllRowIds:()=>e().rowEntries.map(e=>e.id),getRowNode:t=>e().nodesById.get(t)??null,getSortedRows:()=>e().sortedLeaves.map(e=>e.row),getSortedRowIds:()=>e().sortedLeaves.map(e=>e.id),getVisibleRows:()=>e().pagedRows.filter(e=>"leaf"===e.type&&e.row).map(e=>({id:e.id,model:e.row})),getRowIndexRelativeToVisibleRows:t=>e().pagedRows.findIndex(e=>e.id===t),updateRows:t=>{t.forEach(t=>{const n=ke(t,e().getRowId),r=e().rowsById.get(n);r&&e().setRowOverride(n,{...r,...t})})},getAllColumns:()=>e().orderedUserColumns,getVisibleColumns:()=>e().visibleUserColumns,getColumn:t=>e().getColumn(t),getColumnIndex:(t,n=!0)=>(n?e().visibleUserColumns:e().orderedUserColumns).findIndex(e=>e.field===t),getColumnVisibilityModel:()=>e().columnVisibilityModel,setColumnVisibility:(t,n)=>e().setColumnVisibilityModel({...e().columnVisibilityModel,[t]:n}),setColumnVisibilityModel:t=>e().setColumnVisibilityModel(t),setColumnWidth:(t,n)=>e().setColumnWidth(t,n),setColumnIndex:(t,n)=>e().setColumnIndex(t,n),autosizeColumns:t=>e().autosizeColumns(t),pinColumn:(t,n)=>e().pinColumn(t,n),unpinColumn:t=>e().unpinColumn(t),isColumnPinned:t=>e().isColumnPinned(t),getPinnedColumns:()=>e().pinnedColumns,setPinnedColumns:t=>e().setPinnedColumns(t),getSortModel:()=>e().sortModel,setSortModel:t=>e().setSortModel(t),sortColumn:(t,n,r)=>e().sortColumn(t,n,r),getFilterModel:()=>e().filterModel,setFilterModel:t=>e().setFilterModel(t),upsertFilterItem:t=>e().upsertFilterItems([t]),upsertFilterItems:t=>e().upsertFilterItems(t),deleteFilterItem:t=>e().deleteFilterItem(t),setFilterLogicOperator:t=>e().setFilterModel({...e().filterModel,logicOperator:t}),setQuickFilterValues:t=>e().setFilterModel({...e().filterModel,quickFilterValues:t}),showFilterPanel:(t,n)=>e().showPreferences("filters",n,t),hideFilterPanel:()=>e().hidePreferences(),showPreferences:(t,n,r)=>e().showPreferences(t,n,r),hidePreferences:()=>e().hidePreferences(),getSelectedRows:()=>{const t=new Map;return e().selectedIds.forEach(n=>{const r=e().rowsById.get(n);r&&t.set(n,r)}),t},getRowSelectionModel:()=>({type:"include",ids:e().selectedIds}),setRowSelectionModel:t=>{const n=Me(t,e().rowEntries.map(e=>e.id));e().setSelectedIds(n.ids)},selectRow:(t,n=!0,r=!1)=>e().selectRows([t],n,r),selectRows:(t,n=!0,r=!1)=>e().selectRows(t,n,r),isRowSelected:t=>e().selectedIds.has(t),isRowSelectable:t=>e().isRowSelectableFn(t,e().rowsById.get(t)),setPage:t=>e().setPaginationModel({...e().paginationModel,page:Math.max(0,t)}),setPageSize:t=>e().setPaginationModel({page:0,pageSize:Math.max(1,t)}),setPaginationModel:t=>e().setPaginationModel(t),setDensity:t=>e().setDensity(t),getDataAsCsv:e=>Dt(t,e),exportDataAsCsv:e=>((e,t={})=>{const n=Dt(e,t),r=t.utf8WithBom?zt:"",i=new Blob([r+n],{type:"text/csv;charset=utf-8;"});pt(i,Pt(t.fileName,Nt(),"csv"))})(t,e),exportDataAsExcel:e=>(async(e,t={})=>{const n=Qt(e,t),r=new Blob([n],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});pt(r,Pt(t.fileName,Nt(),"xlsx"))})(t,e),exportDataAsPrint:t=>e().startPrint(t),toggleDetailPanel:t=>e().toggleDetailPanel(t),setExpandedDetailPanels:t=>e().setExpandedDetailPanels(new Set(t)),getExpandedDetailPanels:()=>Array.from(e().expandedDetailPanels),getRowGroupingModel:()=>e().rowGroupingModel,setRowGroupingModel:t=>e().setRowGroupingModel(t),addRowGroupingCriteria:(t,n)=>{const r=e().rowGroupingModel.filter(e=>e!==t);void 0===n?r.push(t):r.splice(we(n,0,r.length),0,t),e().setRowGroupingModel(r)},removeRowGroupingCriteria:t=>e().setRowGroupingModel(e().rowGroupingModel.filter(e=>e!==t)),setRowChildrenExpansion:(t,n)=>e().setRowChildrenExpansion(t,n),getRowGroupChildren:({groupId:t})=>{const n=e().groupsById.get(t);return n?n.descendants.map(e=>e.id):[]},getAggregationModel:()=>e().aggregationModel,setAggregationModel:t=>e().setAggregationModel(t),startCellEditMode:({id:t,field:n})=>e().startCellEditMode(t,n),stopCellEditMode:({id:t,field:n,ignoreModifications:r})=>e().stopCellEditMode(t,n,r,"api"),getCellMode:(t,n)=>{const r=e().editingCell;return r&&r.id===t&&r.field===n?"edit":"view"},setEditCellValue:({id:t,field:n,value:r})=>{const i=e().editingCell;i&&i.id===t&&i.field===n&&e().setEditValue(r)},getCellValue:(n,r)=>{const i=e().rowsById.get(n),o=e().getColumn(r);return i&&o?ze(i,o,t):void 0},getCellParams:(t,n)=>{const r=e().rowsById.get(t);return e().buildCellParams(t,n,r,e().nodesById.get(t)??{type:"leaf",id:t,depth:0,parent:null})},setCellFocus:(t,n)=>{Kn.current=!0,e().setFocusedCell({id:t,field:n})},scrollToIndexes:t=>e().scrollToIndexes(t),scroll:({left:e,top:t})=>{const n=Ut.current;n&&(void 0!==e&&(n.scrollLeft=e),void 0!==t&&(n.scrollTop=t))},getScrollPosition:()=>({left:Ut.current?.scrollLeft??0,top:Ut.current?.scrollTop??0}),get state(){return e().state},forceUpdate:()=>e().forceUpdate(),rootElementRef:Vt};return t},[]);jt.current.api||(jt.current.api=Kt);const Xt=e.useMemo(()=>({visibility:ne?Ee(ne):null,order:re?Ee(re):null,widths:ie?Ee(ie):null,pinned:oe?Ee(oe):null}),[ne,re,ie,oe]),[Yt,Jt]=St(_,Tt?.sorting?.sortModel??wr,e=>W?.(e,qt())),[Zt,en]=St(X,Tt?.filter?.filterModel??Cr,e=>Y?.(e,qt())),[nn,rn]=St(G,{page:Tt?.pagination?.paginationModel?.page??0,pageSize:Tt?.pagination?.paginationModel?.pageSize??T},e=>H?.(e,qt())),[dn,sn]=St(ee,Xt.visibility??Tt?.columns?.columnVisibilityModel??xr,e=>{ne&&Ce(ne,e),te?.(e,qt())}),[cn,gn]=St(D,Tt?.density??"compact",e=>z?.(e,qt())),[un,yn]=St(Le,Xt.pinned??Tt?.pinnedColumns??xr,e=>{oe&&Ce(oe,e),Ge?.(e,qt())}),[vn,En]=St(st,Tt?.rowGrouping?.model??wr,e=>mt?.(e,qt())),[Cn,kn]=St(vt,Tt?.aggregation?.model??xr,e=>Et?.(e,qt())),Mn=e.useMemo(()=>lt?new Set(lt):void 0,[lt]),[Sn,In]=St(Mn,e.useMemo(()=>new Set(Tt?.detailPanel?.expandedRowIds??[]),[]),e=>at?.(Array.from(e),qt())),Fn=e.useMemo(()=>void 0!==Be?Me(Be).ids:void 0,[Be]),[Pn,Nn]=St(Fn,e.useMemo(()=>new Set,[]),e=>We?.({type:"include",ids:e},qt())),[Rn,Dn]=e.useState(()=>Xt.order??Tt?.columns?.orderedFields??null),[zn,On]=e.useState(()=>{if(Xt.widths)return Xt.widths;const e=Tt?.columns?.dimensions;if(!e)return{};const t={};return Object.keys(e).forEach(n=>{e[n].width&&(t[n]=e[n].width)}),t}),[An,Tn]=e.useState(()=>new Map),[Ln,Gn]=e.useState(null),[Vn,Bn]=e.useState(void 0),[Wn,qn]=e.useState(null),Kn=e.useRef(!1),[Xn,Yn]=e.useState({open:!1,anchorEl:null}),[Qn,Jn]=e.useState(null),[Zn,er]=e.useState(null),[tr,nr]=e.useState(null),ir=null!==tr,[ar,dr]=e.useState(null),[sr,cr]=e.useState(0),gr=e.useRef(0),fr=e.useRef(null),[Sr,Ir]=e.useState(()=>({rows:n,map:new Map})),Fr=Sr.rows===n?Sr.map:yr,Pr=e.useCallback((e,t)=>{Ir(r=>{const i=new Map(r.rows===n?r.map:[]);return i.set(e,t),{rows:n,map:i}})},[n]),{width:Nr,height:Rr}=function(t,n=!0){const[r,i]=e.useState({width:0,height:0});return e.useLayoutEffect(()=>{const e=t.current;if(!e||!n)return;const r=()=>{const t=e.clientWidth,n=e.clientHeight;i(e=>e.width===t&&e.height===n?e:{width:t,height:n})};if(r(),"undefined"==typeof ResizeObserver)return window.addEventListener("resize",r),()=>window.removeEventListener("resize",r);const o=new ResizeObserver(r);return o.observe(e),()=>o.disconnect()},[t,n]),r}(Ut),Dr=ge[cn]??1,zr=Math.round(I*Dr),Or=Math.round(F*Dr),Ar=e.useMemo(()=>{const e=[];return n.forEach(t=>{const n=ke(t,i);null!=n&&e.push({id:n,row:Fr.get(n)??t})}),e},[n,i,Fr]),Tr=e.useMemo(()=>{const e=new Map;return Ar.forEach(t=>e.set(t.id,t.row)),(Ze?.top??[]).forEach(t=>e.set(ke(t,i),t)),(Ze?.bottom??[]).forEach(t=>e.set(ke(t,i),t)),e},[Ar,Ze,i]),Lr=e.useMemo(()=>r.map(e=>tt(e)),[r]),Gr=e.useMemo(()=>{const e=new Map;return Lr.forEach(t=>e.set(t.field,t)),e},[Lr]),Hr=e.useMemo(()=>bt?[]:vn.filter(e=>Gr.has(e)),[vn,Gr,bt]),Vr=Hr.length>0,$r=e.useMemo(()=>{if(!Vr)return null;const e=1===Hr.length?Gr.get(Hr[0]):void 0;return tt({field:le,headerName:e?e.headerName??e.field:Wt.groupingColumnHeaderName,width:220,minWidth:120,sortable:!0,filterable:!1,hideable:!1,groupable:!1,aggregable:!1,editable:!1,disableExport:!0,disableReorder:!0,...ft})},[Vr,Hr,Gr,Wt.groupingColumnHeaderName,ft]),Ur=e.useMemo(()=>{if(!Rn||0===Rn.length)return Lr;const e=new Set,t=[];return Rn.forEach(n=>{const r=Gr.get(n);r&&!e.has(n)&&(e.add(n),t.push(r))}),Lr.forEach(n=>{e.has(n.field)||t.push(n)}),t},[Rn,Lr,Gr]),Br=e.useCallback(e=>{const t=dn[e];return!1!==t&&(void 0!==t||-1===Hr.indexOf(e))},[dn,Hr]),_r=e.useMemo(()=>{if(tr){let e=Ur.filter(e=>Br(e.field));if(tr.fields){const t=new Set(tr.fields);e=Ur.filter(e=>t.has(e.field))}else tr.allColumns&&(e=Ur);return e.filter(e=>!e.disableExport)}return Ur.filter(e=>Br(e.field))},[Ur,Br,tr]),Wr=e.useMemo(()=>{const e=[];He&&e.push(rt),nt&&e.push(it);const t=Pe?[]:(un.left??[]).filter(e=>e!==le),n=Pe?[]:(un.right??[]).filter(e=>e!==le),r=new Map;_r.forEach(e=>r.set(e.field,e));const i=e.slice();$r&&i.push($r),t.forEach(e=>{const t=r.get(e);t&&i.push(t)});const o=[];n.forEach(e=>{const n=r.get(e);n&&-1===t.indexOf(e)&&o.push(n)});const l=_r.filter(e=>-1===t.indexOf(e.field)&&-1===n.indexOf(e.field)),a=i.concat(l,o),d=((e,t,n)=>{const r=e.map(e=>{const t=e.minWidth??pe,r=e.maxWidth??1/0,i=n[e.field];return i?we(i,t,r):e.flex&&e.flex>0?null:we(e.width??100,t,r)}),i=[];let o=0;if(r.forEach((e,t)=>{null===e?i.push(t):o+=e}),i.length>0){let n=Math.max(0,t-o),l=i.reduce((t,n)=>t+e[n].flex,0),a=i.slice(),d=!0;for(;d&&a.length>0;){d=!1;for(let t=0;t<a.length;t+=1){const i=a[t],o=e[i],s=o.minWidth??pe,c=o.maxWidth??1/0,g=l>0?n*o.flex/l:0;if(g<s||g>c){const e=g<s?s:c;r[i]=e,n=Math.max(0,n-e),l-=o.flex,a=a.filter(e=>e!==i),d=!0;break}}}a.forEach(t=>{const i=e[t];r[t]=l>0?Math.floor(n*i.flex/l):i.minWidth??50})}return r})(a,Nr,zn),s=i.length>e.length+($r?1:0)||o.length>0,c=[];let g=0,m=0;a.forEach((e,t)=>{const n=d[t],r=t<i.length,o=t>=i.length+l.length;c.push({col:e,width:n,pinned:r?"left":o?"right":null,offset:r?m:0,x:g,isLastLeft:r&&t===i.length-1,isFirstRight:o&&t===i.length+l.length}),r&&(m+=n),g+=n});let u=0;for(let e=c.length-1;e>=0&&"right"===c[e].pinned;e-=1)c[e].offset=u,u+=c[e].width;return{columns:c,totalWidth:g,hasPinning:s,leftCount:i.length,rightCount:o.length}},[He,nt,un,Pe,_r,$r,Nr,zn]),jr=e.useMemo(()=>{const e=new Map;return Wr.columns.forEach(t=>e.set(t.col.field,t.col)),$r&&e.set(le,$r),e},[Wr.columns,$r]),qr=e.useCallback(e=>Gr.get(e)??jr.get(e),[Gr,jr]),Kr=e.useMemo(()=>{const e=[];return Zt.items.forEach(t=>{const n=Gr.get(t.field);if(!n||!1===n.filterable)return;const r=et(n).find(e=>e.value===t.operator);if(!r)return;const i=r.getApplyFilterFn(t,n);i&&e.push({col:n,fn:i})}),e},[Zt.items,Gr]),Xr=e.useMemo(()=>(Zt.quickFilterValues??[]).map(e=>String(e).trim()).filter(e=>""!==e),[Zt.quickFilterValues]),Yr=e.useMemo(()=>(Zt.quickFilterExcludeHiddenColumns?_r:Ur).filter(e=>!1!==e.filterable&&"actions"!==e.type),[Zt.quickFilterExcludeHiddenColumns,_r,Ur]),Qr=e.useMemo(()=>{if(0===Kr.length&&0===Xr.length)return Ar;const e="and"===(Zt.logicOperator??"and"),t="and"===(Zt.quickFilterLogicOperator??"and"),n=jt.current.api,r=Xr.map(e=>{const t=e.toLowerCase(),r=Yr.map(r=>{if(r.getApplyQuickFilterFn){const t=r.getApplyQuickFilterFn(e,r,n);return t?{col:r,fn:t}:null}return{col:r,fn:(e,i)=>{if(fe(e))return!1;if(-1!==Te(Ae(e,i,r,n)).toLowerCase().indexOf(t))return!0;return-1!==("object"==typeof e?"":String(e).toLowerCase()).indexOf(t)}}}).filter(Boolean);return e=>r.some(({col:t,fn:r})=>r(ze(e,t,n),e,t,n))});return Ar.filter(({row:i})=>{if(Kr.length>0){const t=Kr.map(({col:e,fn:t})=>t(ze(i,e,n),i,e,n));if(!(e?t.every(Boolean):t.some(Boolean)))return!1}if(r.length>0){const e=r.map(e=>e(i));return t?e.every(Boolean):e.some(Boolean)}return!0})},[Ar,Kr,Xr,Yr,Zt.logicOperator,Zt.quickFilterLogicOperator]),Jr=e.useMemo(()=>{const e=jt.current.api,t=Yt.filter(e=>e.sort&&e.field!==le).map(e=>{const t=Gr.get(e.field);return t&&!1!==t.sortable?{col:t,dir:"desc"===e.sort?-1:1,comparator:t.sortComparator??_e(t.type)}:null}).filter(Boolean);return 0===t.length?null:(n,r)=>{for(let i=0;i<t.length;i+=1){const{col:o,dir:l,comparator:a}=t[i],d=ze(n.row,o,e),s=ze(r.row,o,e),c=a(d,s,{id:n.id,field:o.field,value:d,row:n.row,api:e},{id:r.id,field:o.field,value:s,row:r.row,api:e});if(0!==c)return c*l}return 0}},[Yt,Gr]),Zr=e.useCallback(e=>Jr?e.map((e,t)=>({entry:e,index:t})).sort((e,t)=>Jr(e.entry,t.entry)||e.index-t.index).map(e=>e.entry):e,[Jr]),ei=e.useMemo(()=>({...ct,...Ct}),[Ct]),ti=!kt&&Object.keys(Cn).length>0,ni=e.useCallback(e=>{const t=An.get(e.id);return void 0!==t?t:wt?wt({type:"group",id:e.id,depth:e.depth,parent:e.parent,groupingField:e.groupingField,groupingKey:e.groupingKey,groupingLabel:e.groupingLabel,children:[],leafIds:[],isExpanded:!1}):-1===ht||e.depth<ht},[An,wt,ht]),ri=e.useMemo(()=>{const e=new Map,t=new Map;if(!Vr){const n=Zr(Qr);return{displayRows:n.map(t=>{const n={type:"leaf",id:t.id,depth:0,parent:null};return e.set(t.id,n),{id:t.id,type:"leaf",row:t.row,node:n,depth:0}}),sortedLeaves:n,nodesById:e,groupsById:t,tree:[]}}const n=jt.current.api;let r=on(Qr,Hr,Gr,n);const i=Yt.find(e=>e.field===le&&e.sort);r=((e,t,n)=>{const r=(e,i)=>{const o=t?t(i):null,l=o?e.map((e,t)=>({node:e,index:t})).sort((e,t)=>o(e.node,t.node)||e.index-t.index).map(e=>e.node):e;return l.forEach(e=>{if(e.childGroups.length>0){e.childGroups=r(e.childGroups,i+1);const t=[];e.childGroups.forEach(e=>e.descendants.forEach(e=>t.push(e))),e.descendants=t}else e.leaves=n(e.leaves),e.descendants=e.leaves}),l};return r(e,0)})(r,e=>{const t=Hr[e],r=Gr.get(t);if(!r)return null;const o=i??Yt.find(e=>e.field===t&&e.sort);if(!o)return null;const l=r.sortComparator??_e(r.type),a="desc"===o.sort?-1:1;return(e,r)=>l(e.groupingKey,r.groupingKey,{id:e.id,field:t,value:e.groupingKey,row:e.descendants[0]?.row,api:n},{id:r.id,field:t,value:r.groupingKey,row:r.descendants[0]?.row,api:n})*a},Zr);const o=((e,t,n,r)=>{const i=[],o=(e,l)=>{e.forEach(e=>{const a=t(e),d=((e,t)=>({type:"group",id:e.id,depth:e.depth,parent:e.parent,groupingField:e.groupingField,groupingKey:e.groupingKey,groupingLabel:e.groupingLabel,children:e.childGroups.length>0?e.childGroups.map(e=>e.id):e.leaves.map(e=>e.id),leafIds:e.descendants.map(e=>e.id),isExpanded:t}))(e,a);n.set(e.id,d),r.set(e.id,e),l&&i.push({id:e.id,type:"group",row:null,node:d,depth:e.depth,group:e});const s=l&&a;e.childGroups.length>0?o(e.childGroups,s):e.leaves.forEach(t=>{const r={type:"leaf",id:t.id,depth:e.depth+1,parent:e.id};n.set(t.id,r),s&&i.push({id:t.id,type:"leaf",row:t.row,node:r,depth:e.depth+1})})})};return o(e,!0),i})(r,ni,e,t);return{displayRows:o,sortedLeaves:ln(r),nodesById:e,groupsById:t,tree:r}},[Vr,Qr,Zr,Hr,Gr,Yt,ni]),{displayRows:ii,sortedLeaves:oi,nodesById:li,groupsById:ai}=ri,di=ii.length,si=A&&!ir,ci=A?Math.max(1,Math.ceil(di/Math.max(nn.pageSize,1))):1,gi=A?we(nn.page,0,ci-1):0;e.useEffect(()=>{A&&nn.page!==gi&&rn({...nn,page:gi})},[A,nn,gi,rn]);const mi=e.useMemo(()=>si?ii.slice(gi*nn.pageSize,(gi+1)*nn.pageSize):ii,[ii,si,gi,nn.pageSize]),ui=e.useMemo(()=>{if(!ti||"inline"===Mt)return null;const e=oi.map(e=>e.row);return an(e,Cn,Gr,ei,jt.current.api)},[ti,Mt,oi,Cn,Gr,ei]),pi=e.useMemo(()=>new Map,[mi,Cn,ei]),hi=e=>{if(!ti||"footer"===Mt)return;let t=pi.get(e.id);return t||(t=an(e.descendants.map(e=>e.row),Cn,Gr,ei,jt.current.api),pi.set(e.id,t)),t},fi=e.useMemo(()=>{const e=[],t=[],n=[];let r=0,i=N||R||ir;return mi.forEach(o=>{let l=zr;if(P&&"leaf"===o.type&&o.row){const e=P({id:o.id,model:o.row,densityFactor:Dr});"auto"===e?i=!0:"number"==typeof e&&e>0&&(l=e)}let a=0;if("leaf"===o.type&&nt&&Sn.has(o.id)&&o.row){const e=ot?ot({id:o.id,row:o.row}):500;"auto"===e?i=!0:a=e}e.push(l),t.push(a),n.push(r),r+=l+a}),{rowHeights:e,detailHeights:t,offsets:n,total:r,hasAuto:i}},[mi,zr,P,Dr,nt,ot,Sn,N,R,ir]),bi=!fi.hasAuto;e.useEffect(()=>{if(!tr)return;const e=window.setTimeout(()=>{$t.current&&tn({cardElement:$t.current,options:tr,onDone:()=>nr(null)})},50);return()=>window.clearTimeout(e)},[tr]);const wi=e.useMemo(()=>{const e=mi.length;if(!bi||0===e)return{start:0,end:e};const t=6*zr,n=Math.max(0,sr-Or-t),r=sr+Math.max(Rr,zr)+t,{offsets:i}=fi;let o=0,l=e-1;for(;o<l;){const e=o+l>>1;i[e]+fi.rowHeights[e]+fi.detailHeights[e]<n?o=e+1:l=e}const a=o;let d=a;for(;d<e&&i[d]<r;)d+=1;return{start:a,end:d}},[bi,mi.length,sr,Rr,zr,Or,fi]),xi=e.useCallback(()=>{jt.current.virtual&&(gr.current||(gr.current=window.requestAnimationFrame(()=>{gr.current=0,Ut.current&&cr(Ut.current.scrollTop)})))},[]);e.useEffect(()=>()=>{gr.current&&window.cancelAnimationFrame(gr.current)},[]);const yi=e.useCallback((e,t)=>!!t&&(!je||je({id:e,row:t,columns:Ur,api:jt.current.api})),[je,Ur]),vi=e.useMemo(()=>(Ve?mi.filter(e=>"leaf"===e.type&&e.row).map(e=>({id:e.id,row:e.row})):oi).filter(e=>yi(e.id,e.row)).map(e=>e.id),[Ve,mi,oi,yi]),Ei=e.useMemo(()=>vi.reduce((e,t)=>e+(Pn.has(t)?1:0),0),[vi,Pn]),Ci=vi.length>0&&Ei===vi.length,ki=Ei>0&&!Ci,Mi=e.useCallback(e=>{Nn(t=>{const n=e(t);return((e,t)=>{if(e.ids.size!==t.ids.size)return!1;let n=!0;return e.ids.forEach(e=>{t.ids.has(e)||(n=!1)}),n})({ids:t},{ids:n})?t:n})},[Nn]),Si=e.useCallback((e,t=!0,n=!1)=>{Mi(r=>{const i=n?new Set:new Set(r);if(e.forEach(e=>{t?yi(e,Tr.get(e))&&i.add(e):i.delete(e)}),Ue&&i.size>1){const n=e[e.length-1];return new Set(t&&i.has(n)?[n]:[])}return i})},[Mi,yi,Tr,Ue]);e.useEffect(()=>{if(qe||0===Pn.size)return;let e=!1;const t=new Set;Pn.forEach(n=>{Tr.has(n)?t.add(n):e=!0}),e&&Nn(t)},[Tr,qe,Pn,Nn]);const Ii=()=>{Si(vi,!Ci)},Fi=(e,t,n=!1)=>{const r=qr(e);if(!r||!1===r.sortable||K)return;const i=Yt.find(t=>t.field===e);let o,l;if(void 0===t){const e=r.sortingOrder??j,t=e.indexOf(i?.sort??null);o=e[(t+1)%e.length]}else o=t;n&&!q?(l=Yt.filter(t=>t.field!==e),o&&(l=i?Yt.map(t=>t.field===e?{field:e,sort:o}:t):l.concat([{field:e,sort:o}]))):l=o?[{field:e,sort:o}]:[],Jt(l)},Pi=e=>{re&&Ce(re,e)},Ni=e=>{ie&&Ce(ie,e)},Ri=(e={})=>{const t=e.includeHeaders??!0,n=Wr.columns.filter(t=>!(he(t.col.field)||e.columns&&-1===e.columns.indexOf(t.col.field)));if(0===n.length)return;const r=Vt.current,i=r&&"undefined"!=typeof window?window.getComputedStyle(r):null,o=i?.fontFamily||"sans-serif",l=`400 14px ${o}`,a=`600 14px ${o}`,d=oi.slice(0,500),s=jt.current.api,c={...zn};n.forEach(({col:e})=>{let n=t?ut(e.headerName??e.field,a)+64:0;d.forEach(t=>{const r=ze(t.row,e,s),i=Te(Ae(r,t.row,e,s,t.id)),o=ut(i,l)+24;o>n&&(n=o)}),c[e.field]=we(Math.ceil(n),e.minWidth??pe,e.maxWidth??1/0)}),On(c),Ni(c)},Di=e.useCallback(()=>{Yn(e=>e.open?{open:!1,anchorEl:null}:e)},[]),zi=e=>!!e.colDef.editable&&("leaf"===e.rowNode.type&&(!At||At(e))),Oi=(e,t)=>{const n=Tr.get(e),r=qr(t);if(!n||!r)return;const i=Vi(e,t,n,li.get(e)??{type:"leaf",id:e,depth:0,parent:null});zi(i)&&(Gn({id:e,field:t}),Bn(i.value),qn({id:e,field:t}))},Ai=(e,t,n=!1,r="api")=>{if(!Ln||Ln.id!==e||Ln.field!==t)return;const i=Tr.get(e),o=qr(t);if(Gn(null),i&&o){if(!n){const n=jt.current.api,r=o.valueParser?o.valueParser(Vn,i,o,n):((e,t)=>{switch(t.type){case"number":{if(""===e||fe(e))return null;const t=Number(e);return Number.isNaN(t)?e:t}case"boolean":return Boolean(e);case"date":case"dateTime":return""===e||fe(e)?null:Se(e)??e;default:return e}})(Vn,o),l=ze(i,o,n);if(!Object.is(r,l)){((e,t,n)=>{Ft?Promise.resolve().then(()=>Ft(t,n,{rowId:e})).then(n=>Pr(e,n??t)).catch(e=>{Rt?Rt(e):console.error("MGHGrid: processRowUpdate failed",e)}):Pr(e,t)})(e,o.valueSetter?o.valueSetter(r,i,o,n):{...i,[t]:r},i)}}Ot?.({id:e,field:t,row:i,reason:r},qt()),Kn.current=!0,qn({id:e,field:t})}},Ti=e=>{In(t=>{const n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},Li=(e,t)=>{Tn(n=>{const r=new Map(n);return r.set(e,t),r})},Gi=Hr.join("|"),Hi=e.useRef(Gi);e.useEffect(()=>{Hi.current!==Gi&&(Hi.current=Gi,Tn(new Map))},[Gi]);const Vi=(e,t,n,r)=>{const i=qr(t),o=jt.current.api,l=ze(n,i,o),a=Ae(l,n,i,o,e),d=Boolean(Wn&&Wn.id===e&&Wn.field===t);return{id:e,field:t,value:l,formattedValue:a,row:n,rowNode:r,colDef:i,api:o,hasFocus:d,tabIndex:d?0:-1,cellMode:Ln&&Ln.id===e&&Ln.field===t?"edit":"view",isEditable:Boolean(i.editable)&&"leaf"===r.type}},$i=(e,t)=>({id:e,row:t,columns:Ur,api:jt.current.api});e.useEffect(()=>{if(!Kn.current||!Wn||!Vt.current)return;Kn.current=!1;const e=`[data-mgh-row-id="${String(Wn.id).replace(/"/g,'\\"')}"] [data-mgh-field="${Wn.field.replace(/"/g,'\\"')}"]`,t=Vt.current.querySelector(e);t&&document.activeElement!==t&&!t.contains(document.activeElement)&&t.focus({preventScroll:!0})},[Wn,wi.start,wi.end]);const Ui=e=>{const t=Ut.current;if(!t)return!1;if(void 0!==e.rowIndex&&bi){const n=we(e.rowIndex,0,Math.max(mi.length-1,0)),r=fi.offsets[n]??0,i=r+(fi.rowHeights[n]??zr),o=t.scrollTop,l=t.scrollTop+t.clientHeight-Or;r<o?t.scrollTop=r:i>l&&(t.scrollTop=i-(t.clientHeight-Or))}else if(void 0!==e.rowIndex){const n=t.querySelector(`[data-mgh-row-index="${e.rowIndex}"]`);n?.scrollIntoView?.({block:"nearest"})}if(void 0!==e.colIndex){const n=Wr.columns[we(e.colIndex,0,Wr.columns.length-1)];if(n&&!n.pinned){const e=Wr.columns.filter(e=>"left"===e.pinned).reduce((e,t)=>e+t.width,0),r=Wr.columns.filter(e=>"right"===e.pinned).reduce((e,t)=>e+t.width,0),i=t.scrollLeft+e,o=t.scrollLeft+t.clientWidth-r;n.x<i?t.scrollLeft=n.x-e:n.x+n.width>o&&(t.scrollLeft=n.x+n.width-t.clientWidth+r)}}return!0},Bi=(e,t,n)=>{if(0===mi.length||0===Wr.columns.length)return;let r=Wn?mi.findIndex(e=>e.id===Wn.id):-1,i=Wn?Wr.columns.findIndex(e=>e.col.field===Wn.field):-1;-1===r&&(r=0),-1===i&&(i=0),r="first"===n?.row?0:"last"===n?.row?mi.length-1:we(r+e,0,mi.length-1),i="first"===n?.col?0:"last"===n?.col?Wr.columns.length-1:we(i+t,0,Wr.columns.length-1);const o={id:mi[r].id,field:Wr.columns[i].col.field};Kn.current=!0,qn(o),Ui({rowIndex:r,colIndex:i})},_i=e=>!Fe&&!e.disableReorder&&!he(e.field),Wi=e.useRef(null),ji=Kr.length,qi=Vr?di:Qr.length,Ki=e.useMemo(()=>({sortModel:Yt,filterModel:Zt,paginationModel:{page:gi,pageSize:nn.pageSize},pageCount:ci,rowCount:qi,totalRowCount:Ar.length,columnVisibilityModel:dn,orderedFields:Ur.map(e=>e.field),columnWidths:zn,pinnedColumns:un,density:cn,densityFactor:Dr,rowSelectionModel:{type:"include",ids:Pn},rowGroupingModel:vn,aggregationModel:Cn,expandedDetailPanels:Sn,preferencePanel:{open:Xn.open,openedPanelValue:Xn.openedPanelValue,targetField:Xn.targetField},filterCount:ji,quickFilterValues:Xr}),[Yt,Zt,gi,nn.pageSize,ci,qi,Ar.length,dn,Ur,zn,un,cn,Dr,Pn,vn,Cn,Sn,Xn.open,Xn.openedPanelValue,Xn.targetField,ji,Xr]);jt.current={api:Kt,state:Ki,rowsById:Tr,rowEntries:Ar,nodesById:li,groupsById:ai,sortedLeaves:oi,pagedRows:mi,getRowId:i,setRowOverride:Pr,orderedUserColumns:Ur,visibleUserColumns:_r,getColumn:qr,columnVisibilityModel:dn,setColumnVisibilityModel:sn,setColumnWidth:(e,t)=>{const n=qr(e);if(!n)return;const r=we(t,n.minWidth??pe,n.maxWidth??1/0);On(t=>{const n={...t,[e]:r};return Ni(n),n}),be?.({colDef:n,width:r},qt())},setColumnIndex:(e,t,n=null)=>{const r=Ur.map(e=>e.field),i=r.indexOf(e);if(-1===i)return;const o=((e,t,n)=>{const r=e.slice(),[i]=r.splice(t,1);return r.splice(n,0,i),r})(r,i,we(t,0,r.length-1));Dn(o),Pi(o);const l=Gr.get(e);l&&ce?.({column:l,targetIndex:t,oldIndex:i},n,qt())},columnWidths:zn,autosizeColumns:Ri,pinColumn:(e,t)=>{if(Pe)return;const n=(un.left??[]).filter(t=>t!==e),r=(un.right??[]).filter(t=>t!==e);"left"===t?n.push(e):r.unshift(e),yn({left:n,right:r})},unpinColumn:e=>{yn({left:(un.left??[]).filter(t=>t!==e),right:(un.right??[]).filter(t=>t!==e)})},isColumnPinned:e=>!Pe&&(-1!==(un.left??[]).indexOf(e)?"left":-1!==(un.right??[]).indexOf(e)&&"right"),pinnedColumns:un,setPinnedColumns:yn,sortModel:Yt,setSortModel:Jt,sortColumn:Fi,filterModel:Zt,setFilterModel:en,upsertFilterItems:e=>{let t=Zt.items.slice();e.forEach(e=>{const n=void 0===e.id?{...e,id:`${Date.now()}-${Math.random().toString(36).slice(2,8)}`}:e,r=t.findIndex(e=>void 0!==e.id&&e.id===n.id);-1===r?t.push(n):t[r]=n}),J&&t.length>1&&(t=t.slice(-1)),en({...Zt,items:t})},deleteFilterItem:e=>{en({...Zt,items:Zt.items.filter(t=>void 0!==e.id?t.id!==e.id:t!==e)})},showPreferences:(e,t,n)=>{Jn(null),Yn({open:!0,openedPanelValue:e,targetField:n,anchorEl:t??Bt.current??Vt.current})},hidePreferences:Di,selectedIds:Pn,setSelectedIds:Nn,selectRows:Si,isRowSelectableFn:yi,paginationModel:{page:gi,pageSize:nn.pageSize},setPaginationModel:rn,setDensity:gn,toggleDetailPanel:Ti,expandedDetailPanels:Sn,setExpandedDetailPanels:In,rowGroupingModel:vn,setRowGroupingModel:En,setRowChildrenExpansion:Li,aggregationModel:Cn,setAggregationModel:kn,startCellEditMode:Oi,stopCellEditMode:Ai,editingCell:Ln,setEditValue:Bn,buildCellParams:Vi,setFocusedCell:qn,scrollToIndexes:Ui,forceUpdate:_t,virtual:bi,startPrint:(e={})=>{if(tr)return;const t={title:"string"==typeof l?l:void 0,...e};$t.current&&"undefined"!=typeof window&&nr(t)}},Lt&&(Lt.current=Kt),e.useEffect(()=>{Gt?.(Ki,{api:Kt})},[Ki,Gt,Kt]);const Xi=e.useMemo(()=>({header:l,pagination:A,pageSizeOptions:L,hideFooterPagination:$,hideFooterRowCount:U,hideFooterSelectedRowCount:B,disableColumnFilter:Q,disableColumnSelector:ve,disableDensitySelector:O,disableColumnPinning:Pe,disableColumnSorting:K,disableMultipleColumnsSorting:q,disableMultipleColumnsFiltering:J,disableRowGrouping:bt,disableAggregation:kt,checkboxSelection:He,aggregationFunctions:ei,quickFilterDebounceMs:Z}),[l,A,L,$,U,B,Q,ve,O,Pe,K,q,J,bt,kt,He,ei,Z]),Yi=e.useMemo(()=>({api:Kt,state:Ki,localeText:Wt,themeMode:x,rootProps:Xi,columns:Ur,visibleColumns:_r}),[Kt,Ki,Wt,x,Xi,Ur,_r]),Qi=(t,n)=>{const{col:r}=t,i=r.field;if(i===ae){if("group"===n.kind&&n.group){const t=n.group.descendants.map(e=>e.id),r=t.reduce((e,t)=>e+(Pn.has(t)?1:0),0);return e.createElement(_n,{checked:t.length>0&&r===t.length,indeterminate:r>0&&r<t.length,label:Wt.checkboxSelectionSelectRow,onClick:e=>e.stopPropagation(),onChange:()=>Si(t,r!==t.length,!1)})}if("leaf"!==n.kind)return null;const t=yi(n.id,n.row),r=Pn.has(n.id);return e.createElement(_n,{checked:r,disabled:!t,label:r?Wt.checkboxSelectionUnselectRow:Wt.checkboxSelectionSelectRow,tabIndex:-1,onClick:e=>e.stopPropagation(),onChange:()=>{fr.current=n.id,Si([n.id],!r,Ue)}})}if(i===de){if("leaf"!==n.kind||!n.row)return null;const t=Sn.has(n.id),r=nt?.($i(n.id,n.row));return null==r||!1===r?null:e.createElement(Hn,{size:"small",className:xe("mgh-grid-detail-toggle",t&&"mgh-grid-detail-toggle--expanded"),label:t?Wt.collapseDetailPanel:Wt.expandDetailPanel,"aria-expanded":t,tabIndex:-1,onClick:e=>{e.stopPropagation(),Ti(n.id)}},e.createElement(wn,null))}if(i===le){if("group"===n.kind&&n.group){const t=n.group,r=ni(t),i=ft?.hideDescendantCount;return e.createElement("div",{className:"mgh-grid-group-cell",style:{paddingLeft:20*n.depth}},e.createElement(Hn,{size:"small",className:xe("mgh-grid-group-toggle",r&&"mgh-grid-group-toggle--expanded"),label:r?Wt.collapseDetailPanel:Wt.expandDetailPanel,"aria-expanded":r,tabIndex:-1,onClick:e=>{e.stopPropagation(),Li(t.id,!r)}},e.createElement(xn,null)),e.createElement("span",{className:"mgh-grid-group-label",title:t.groupingLabel},t.groupingLabel),!i&&e.createElement("span",{className:"mgh-grid-group-count"},"(",t.descendants.length,")"))}return null}if("group"===n.kind||"footer"===n.kind){const t=n.aggregates?.[i];if(!t||fe(t.value))return null;const o=ei[t.fn],l=jt.current.api,a=n.group?.descendants[0]?.row??jt.current.sortedLeaves[0]?.row??{},d=o?.valueFormatter?o.valueFormatter(t.value):r.valueFormatter?r.valueFormatter(t.value,a,r,l):Oe(t.value,r);return e.createElement(e.Fragment,null,e.createElement("span",{className:"mgh-grid-aggregation-label"},o?.label??t.fn),e.createElement("span",{className:"mgh-grid-cell-text"},Te(d)))}if(!n.row)return null;const o=Vi(n.id,i,n.row,n.node);if("edit"===o.cellMode)return(t=>{const n=t.colDef,r=e=>Ai(t.id,t.field,!1,e),i=()=>Ai(t.id,t.field,!0,"escapeKeyDown");if(n.renderEditCell)return n.renderEditCell({...t,editValue:Vn,onValueChange:Bn,commit:()=>r("enterKeyDown"),cancel:i});const o={autoFocus:!0,onKeyDown:e=>{"Enter"===e.key?(e.preventDefault(),e.stopPropagation(),r("enterKeyDown")):"Escape"===e.key?(e.preventDefault(),e.stopPropagation(),i()):"Tab"===e.key?r("tabKeyDown"):e.stopPropagation()},onBlur:()=>r("cellFocusOut"),onClick:e=>e.stopPropagation()};switch(n.type){case"boolean":return e.createElement(_n,{...o,checked:Boolean(Vn),onChange:e=>Bn(e.target.checked)});case"singleSelect":{const r=De(n,t.row,t.id);return e.createElement(Un,{...o,size:"small",value:null==Vn?"":String(Vn),onChange:e=>{const t=r.find(t=>String(Ne(n,t))===e.target.value);Bn(void 0!==t?Ne(n,t):e.target.value)}},e.createElement("option",{value:""}),r.map(t=>{const r=Ne(n,t);return e.createElement("option",{key:String(r),value:String(r)},Re(n,t))}))}case"number":return e.createElement($n,{...o,size:"small",type:"number",value:null==Vn?"":Vn,onChange:e=>Bn(e.target.value)});case"date":case"dateTime":return e.createElement($n,{...o,size:"small",type:"date"===n.type?"date":"datetime-local",value:"string"==typeof Vn&&/^\d{4}-\d{2}-\d{2}/.test(Vn)?Vn:Mr(Vn,"dateTime"===n.type),onChange:e=>Bn(e.target.value)});default:return e.createElement($n,{...o,size:"small",type:"text",value:null==Vn?"":String(Vn),onChange:e=>Bn(e.target.value)})}})(o);if(r.renderCell)return r.renderCell(o);if("actions"===r.type){const t=r.getActions?r.getActions($i(n.id,n.row)):[];return e.createElement(br,{actions:t,themeMode:x,moreLabel:Wt.actionsCellMore})}if("boolean"===r.type)return fe(o.value)?null:o.value?e.createElement(bn,{"aria-label":Wt.booleanCellTrueLabel}):e.createElement(mn,{"aria-label":Wt.booleanCellFalseLabel});const l=o.formattedValue;if(null==l)return null;if(e.isValidElement(l))return l;const a=Te(l);return e.createElement("span",{className:"mgh-grid-cell-text",title:a.length>20?a:void 0},a)},Ji=e=>({width:e.width,minWidth:e.width,maxWidth:e.width,left:"left"===e.pinned?e.offset:void 0,right:"right"===e.pinned?e.offset:void 0}),Zi=(e,t)=>xe("left"===e.pinned&&`${t}--pinned-left`,"right"===e.pinned&&`${t}--pinned-right`,e.isLastLeft&&Wr.hasPinning&&`${t}--pinned-left-last`,e.isFirstRight&&`${t}--pinned-right-first`),eo=Boolean(Xe||Ye||!$e),to=(t,n)=>{const r="leaf"===t.kind&&Pn.has(t.id),i="leaf"===t.kind&&t.row&&Ke?Ke({...$i(t.id,t.row),indexRelativeToCurrentPage:n.index,isFirstVisible:n.isFirst,isLastVisible:n.isLast,rowNode:t.node}):void 0;return e.createElement("div",{role:"row","aria-rowindex":n.index+2,"aria-selected":"leaf"===t.kind?r:void 0,"data-mgh-row-id":String(t.id),"data-mgh-row-index":n.index,className:xe("mgh-grid-row",r&&"mgh-grid-row--selected",eo&&"leaf"===t.kind&&"mgh-grid-row--clickable","group"===t.kind&&"mgh-grid-row--group","pinnedRow"===t.kind&&"mgh-grid-row--pinned","footer"===t.kind&&"mgh-grid-row--footer",n.isAuto&&"mgh-grid-row--auto-height",i),style:{width:Wr.totalWidth,height:n.isAuto?void 0:n.height,minHeight:n.isAuto?zr:void 0},onClick:e=>{"leaf"===t.kind&&t.row?($e||((e,t)=>{if("group"===e.kind&&e.group){const t=e.group.descendants.map(e=>e.id),n=t.every(e=>Pn.has(e));return void Si(t,!n,!1)}if("leaf"!==e.kind)return;const n=e.id;if(!yi(n,e.row))return;const r=!Ue;if(t.shiftKey&&r&&null!==fr.current){const e=mi.filter(e=>"leaf"===e.type).map(e=>e.id),r=e.indexOf(fr.current),i=e.indexOf(n);if(-1!==r&&-1!==i){const[n,o]=r<i?[r,i]:[i,r];return void Si(e.slice(n,o+1),!0,!He&&!t.ctrlKey&&!t.metaKey)}}fr.current=n;const i=Pn.has(n);He||t.ctrlKey||t.metaKey?Si([n],!i,!1):i&&1===Pn.size?Si([n],!1,!0):Si([n],!0,!0)})(t,e),Xe?.($i(t.id,t.row),e,qt())):"group"===t.kind&&t.group&&Li(t.group.id,!ni(t.group))},onDoubleClick:e=>{"leaf"===t.kind&&t.row&&Ye?.($i(t.id,t.row),e,qt())}},Wr.columns.map(r=>((t,n)=>{const{col:r}=t,i=r.field,o=Boolean(Wn&&Wn.id===n.id&&Wn.field===i),l=Boolean(Ln&&Ln.id===n.id&&Ln.field===i),a=("group"===n.kind||"footer"===n.kind)&&Boolean(n.aggregates?.[i]),d="leaf"===n.kind&&n.row?Vi(n.id,i,n.row,n.node):null,s=!!d&&zi(d),c=d&&r.cellClassName?"function"==typeof r.cellClassName?r.cellClassName(d):r.cellClassName:void 0,g=i===ae,m=i===de;return e.createElement("div",{key:i,role:"gridcell","data-mgh-field":i,"data-mgh-colindex":Wr.columns.indexOf(t),tabIndex:o?0:-1,"aria-selected":"leaf"===n.kind?Pn.has(n.id):void 0,className:xe("mgh-grid-cell",`mgh-grid-cell--align-${r.align??"left"}`,Zi(t,"mgh-grid-cell"),o&&!l&&"mgh-grid-cell--focused",l&&"mgh-grid-cell--editing",s&&!l&&"mgh-grid-cell--editable","boolean"===r.type&&"mgh-grid-cell--boolean","actions"===r.type&&"mgh-grid-cell--actions",g&&"mgh-grid-cell--checkbox",m&&"mgh-grid-cell--detail-toggle",a&&"mgh-grid-cell--aggregation",c),style:Ji(t),onMouseDown:()=>{"leaf"!==n.kind&&"group"!==n.kind||o||qn({id:n.id,field:i})},onClick:e=>{d&&Qe&&Qe(d,e,qt())},onDoubleClick:e=>{d&&(Je?.(d,e,qt()),s&&!l&&(e.stopPropagation(),Oi(n.id,i)))}},Qi(t,n))})(r,t,n.isAuto)),e.createElement("div",{className:"mgh-grid-row-filler"}))},no=e=>({id:e.id,kind:e.type,row:e.row,node:e.node,depth:e.depth,group:e.group,aggregates:"group"===e.type&&e.group?hi(e.group):void 0}),ro=(t,n)=>{const r=[];if((t??[]).forEach((t,o)=>{const l=ke(t,i),a={id:l,kind:"pinnedRow",row:t,node:{type:"pinnedRow",id:l,depth:0,parent:null,position:n},depth:0};r.push(e.createElement(e.Fragment,{key:String(l)},to(a,{height:zr,index:o,isFirst:!1,isLast:!1,isAuto:!1})))}),"bottom"===n&&ui){const t={id:se,kind:"footer",row:null,node:{type:"footer",id:se,depth:0,parent:null},depth:0,aggregates:ui};r.push(e.createElement(e.Fragment,{key:se},to(t,{height:zr,index:0,isFirst:!1,isLast:!1,isAuto:!1})))}return r},io=(t,n)=>{const{col:r}=t,i=r.field,o=Yt.findIndex(e=>e.field===i&&e.sort),l=-1!==o?Yt[o]:void 0,a=!1!==r.sortable&&!K&&!he(i)||i===le&&!1!==r.sortable,d=!ye&&!r.disableColumnMenu&&!he(i)||i===le&&!ye,s=!Ie&&!1!==r.resizable&&!he(i)||i===le&&!Ie,c=_i(r),g=ar?.field===i,m=ar&&ar.overField===i&&ar.field!==i,u=Qn?.field===i,p={field:i,colDef:r,api:Kt},h=r.headerClassName?"function"==typeof r.headerClassName?r.headerClassName(p):r.headerClassName:void 0;let f;return f=i===ae?Ue?null:e.createElement(_n,{checked:Ci,indeterminate:ki,disabled:0===vi.length,label:Ci?Wt.checkboxSelectionUnselectAllRows:Wt.checkboxSelectionSelectAllRows,onChange:Ii,onClick:e=>e.stopPropagation()}):i===de?null:r.renderHeader?r.renderHeader(p):e.createElement("span",{className:"mgh-grid-header-title"},r.headerName??i),e.createElement("div",{key:i,role:"columnheader","aria-colindex":n+1,"aria-sort":l?"asc"===l.sort?"ascending":"descending":a?"none":void 0,"data-mgh-field":i,title:r.description,tabIndex:-1,draggable:c,className:xe("mgh-grid-header-cell",`mgh-grid-header-cell--align-${r.headerAlign??"left"}`,Zi(t,"mgh-grid-header-cell"),a&&"mgh-grid-header-cell--sortable",i===ae&&"mgh-grid-header-cell--checkbox",i===de&&"mgh-grid-header-cell--detail-toggle",n===Wr.columns.length-1&&"mgh-grid-header-cell--last",g&&"mgh-grid-header-cell--dragging",m&&"left"===ar?.side&&"mgh-grid-header-cell--drop-left",m&&"right"===ar?.side&&"mgh-grid-header-cell--drop-right",u&&"mgh-grid-header-cell--menu-open",h),style:Ji(t),onClick:e=>{a&&!Zn&&Fi(i,void 0,e.shiftKey)},onDragStart:e=>{if(c){e.dataTransfer.effectAllowed="move";try{e.dataTransfer.setData("text/plain",i)}catch{}dr({field:i,overField:null,side:"left"})}},onDragOver:e=>{if(!ar||ar.field===i)return;const n=Wr.columns.find(e=>e.col.field===ar.field);if(!n||n.pinned!==t.pinned||!_i(r))return;e.preventDefault(),e.dataTransfer.dropEffect="move";const o=e.currentTarget.getBoundingClientRect(),l=e.clientX<o.left+o.width/2?"left":"right";ar.overField===i&&ar.side===l||dr({...ar,overField:i,side:l})},onDragLeave:()=>{ar&&ar.overField===i&&dr({...ar,overField:null})},onDrop:e=>((e,t)=>{t.preventDefault();const n=ar;if(dr(null),!n||n.field===e.col.field)return;const r=Wr.columns.find(e=>e.col.field===n.field);if(!r||r.pinned!==e.pinned||!_i(e.col))return;const i=n.side;if(r.pinned){const t=r.pinned,o=(un[t]??[]).slice(),l=o.indexOf(n.field);let a=o.indexOf(e.col.field);if(-1===l||-1===a)return;return o.splice(l,1),a=o.indexOf(e.col.field),o.splice("right"===i?a+1:a,0,n.field),void yn({...un,[t]:o})}const o=Ur.map(e=>e.field),l=o.indexOf(n.field),a=o.filter(e=>e!==n.field);let d=a.indexOf(e.col.field);"right"===i&&(d+=1),a.splice(d,0,n.field),Dn(a),Pi(a);const s=Gr.get(n.field);s&&ce?.({column:s,targetIndex:d,oldIndex:l},t,qt())})(t,e),onDragEnd:()=>dr(null)},e.createElement("div",{className:"mgh-grid-header-title-container"},f,a&&e.createElement("span",{className:xe("mgh-grid-sort-icon",l&&"mgh-grid-sort-icon--active"),"aria-hidden":"true"},"desc"===l?.sort?e.createElement(hn,{size:18}):e.createElement(pn,{size:18}),l&&Yt.filter(e=>e.sort).length>1&&e.createElement("span",{className:"mgh-grid-sort-index"},o+1))),d&&e.createElement(Hn,{size:"small",className:xe("mgh-grid-header-menu-btn",u&&"mgh-grid-header-menu-btn--open"),label:Wt.columnMenuLabel,"aria-haspopup":"menu","aria-expanded":u,tabIndex:-1,onClick:e=>{e.stopPropagation(),Jn(t=>t?.field===i?null:{field:i,anchorEl:e.currentTarget})},onMouseDown:e=>e.stopPropagation()},e.createElement(fn,null)),s&&e.createElement("div",{className:xe("mgh-grid-resize-handle",Zn===i&&"mgh-grid-resize-handle--active"),role:"separator","aria-orientation":"vertical",onPointerDown:e=>((e,t)=>{t.preventDefault(),t.stopPropagation(),Wi.current={field:e.col.field,startX:t.clientX,startWidth:e.width,lastWidth:e.width,min:e.col.minWidth??pe,max:e.col.maxWidth??1/0},er(e.col.field);const n=e=>{const t=Wi.current;if(!t)return;const n=we(t.startWidth+(e.clientX-t.startX),t.min,t.max);t.lastWidth=n,On(e=>e[t.field]===n?e:{...e,[t.field]:n})},r=()=>{window.removeEventListener("pointermove",n),window.removeEventListener("pointerup",r);const e=Wi.current;if(Wi.current=null,er(null),!e)return;const t={...jt.current.columnWidths,[e.field]:e.lastWidth};On(t),Ni(t);const i=jt.current.getColumn(e.field);i&&e.lastWidth!==e.startWidth&&be?.({colDef:i,width:e.lastWidth},qt())};window.addEventListener("pointermove",n),window.addEventListener("pointerup",r)})(t,e),onClick:e=>e.stopPropagation(),onDoubleClick:e=>{e.stopPropagation(),Ri({columns:[i]})},draggable:!1,onDragStart:e=>{e.preventDefault(),e.stopPropagation()}}))},oo=null===C.toolbar?null:C.toolbar??rr,lo=null===C.footer?null:C.footer??or,ao=C.noRowsOverlay??pr,so=C.loadingOverlay??hr,co={...E,...k.toolbar},go={text:M,...k.noRowsOverlay},mo={...k.loadingOverlay},uo=!o&&0===mi.length,po=Qn?qr(Qn.field):void 0,ho={height:"auto",flexGrow:1,...kr(p),...kr(u),...y},fo={flexGrow:1,...kr(f),...kr(h)},bo={...kr(w),...kr(b),"--mgh-grid-header-height":`${Or}px`,"--mgh-grid-row-height":`${zr}px`},wo=e.useMemo(()=>{const e=[];return dt(`[data-mgh-grid-id="${Ht}"]`,w,e),dt(`[data-mgh-grid-id="${Ht}"]`,b,e),dt(`[data-mgh-grid-card="${Ht}"]`,p,e),dt(`[data-mgh-grid-card="${Ht}"]`,u,e),dt(`[data-mgh-grid-box="${Ht}"]`,f,e),dt(`[data-mgh-grid-box="${Ht}"]`,h,e),e.join("\n")},[Ht,w,b,p,u,f,h]),xo=Nr>0&&Nr<600,yo=e.createElement("div",{ref:Vt,id:Ht,"data-mgh-grid-id":Ht,role:"grid","aria-rowcount":qi+1,"aria-colcount":Wr.columns.length,"aria-multiselectable":!(!He||Ue)||void 0,"aria-busy":o||void 0,className:xe("mgh-grid",(N||ir)&&"mgh-grid--auto-height",ir&&"mgh-grid--printing",!Wr.hasPinning&&"mgh-grid--no-pinned-shadow",c),style:bo,onKeyDown:e=>{if(Ln)return;const t=e.target;if(t&&("INPUT"===t.tagName||"SELECT"===t.tagName||"TEXTAREA"===t.tagName||"BUTTON"===t.tagName))return;const n=Math.max(1,Math.floor(Math.max(Rr-Or,zr)/zr));switch(e.key){case"ArrowDown":e.preventDefault(),Bi(1,0);break;case"ArrowUp":e.preventDefault(),Bi(-1,0);break;case"ArrowLeft":e.preventDefault(),Bi(0,-1);break;case"ArrowRight":e.preventDefault(),Bi(0,1);break;case"PageDown":e.preventDefault(),Bi(n,0);break;case"PageUp":e.preventDefault(),Bi(-n,0);break;case"Home":e.preventDefault(),Bi(0,0,e.ctrlKey||e.metaKey?{row:"first",col:"first"}:{col:"first"});break;case"End":e.preventDefault(),Bi(0,0,e.ctrlKey||e.metaKey?{row:"last",col:"last"}:{col:"last"});break;case"Enter":case"F2":if(Wn){const t=li.get(Wn.id);if("group"===t?.type&&Wn.field===le){const e=ai.get(Wn.id);e&&Li(e.id,!ni(e))}else e.preventDefault(),Oi(Wn.id,Wn.field)}break;case" ":if(Wn&&(He||!$e)){const t=mi.find(e=>e.id===Wn.id);t&&"leaf"===t.type&&t.row&&(e.preventDefault(),Si([t.id],!Pn.has(t.id),!1))}break;case"Escape":Xn.open&&Di(),Qn&&Jn(null);break;default:(e.ctrlKey||e.metaKey)&&"a"===e.key.toLowerCase()&&He&&!Ue&&(e.preventDefault(),Si(vi,!0))}}},v&&oo&&e.createElement("div",{ref:Bt},e.createElement(oo,{...co})),e.createElement("div",{className:"mgh-grid-main"},e.createElement("div",{ref:Ut,className:"mgh-grid-scroller",onScroll:xi,tabIndex:-1},e.createElement("div",{className:"mgh-grid-columns",role:"rowgroup",style:{width:Wr.totalWidth}},e.createElement("div",{className:"mgh-grid-header-row",role:"row","aria-rowindex":1,style:{height:Or}},Wr.columns.map((e,t)=>io(e,t)),e.createElement("div",{className:"mgh-grid-header-filler"}))),Ze?.top&&Ze.top.length>0&&e.createElement("div",{className:"mgh-grid-pinned-rows mgh-grid-pinned-rows--top",role:"rowgroup",style:{top:Or,width:Wr.totalWidth}},ro(Ze.top,"top")),e.createElement("div",{className:xe("mgh-grid-body",bi?"mgh-grid-body--virtual":"mgh-grid-body--flow"),role:"rowgroup",style:bi?{height:fi.total,width:Wr.totalWidth}:{width:Wr.totalWidth,minHeight:uo||o?120:void 0}},(()=>{const{start:t,end:n}=wi,r=[];for(let i=t;i<n;i+=1){const t=mi[i],n=no(t),o=fi.detailHeights[i],l="leaf"===t.type&&Boolean(t.row)&&Boolean(nt)&&Sn.has(t.id),a=l&&t.row?nt?.($i(t.id,t.row)):null,d=!!(l&&t.row&&ot)&&"auto"===ot({id:t.id,row:t.row}),s=!(bi||!P||"leaf"!==t.type||!t.row||"auto"!==P({id:t.id,model:t.row,densityFactor:Dr}));r.push(e.createElement("div",{key:String(t.id),className:"mgh-grid-row-block",style:bi?{top:fi.offsets[i],width:Wr.totalWidth}:{width:Wr.totalWidth}},to(n,{height:fi.rowHeights[i],index:i,isFirst:0===i,isLast:i===mi.length-1,isAuto:s}),l&&null!=a&&!1!==a&&e.createElement("div",{className:"mgh-grid-detail-panel",style:{height:d?void 0:o||void 0,width:Nr||void 0},onClick:e=>e.stopPropagation()},a)))}return r})()),(Ze?.bottom&&Ze.bottom.length>0||ui)&&e.createElement("div",{className:"mgh-grid-pinned-rows mgh-grid-pinned-rows--bottom",role:"rowgroup",style:{width:Wr.totalWidth}},ro(Ze?.bottom,"bottom"))),o&&e.createElement("div",{className:"mgh-grid-overlay mgh-grid-overlay--loading",style:{top:Or}},e.createElement(so,{...mo})),uo&&e.createElement("div",{className:"mgh-grid-overlay",style:{top:Or}},e.createElement(ao,{...go}))),!V&&lo&&e.createElement(lo,{...k.footer}),e.createElement(jn,{open:Xn.open,anchorEl:Xn.anchorEl,onClose:Di,themeMode:x,placement:"bottom-start",autoFocus:!0},"columns"===Xn.openedPanelValue?e.createElement(lr,null):e.createElement(mr,null)),po&&Qn&&e.createElement(ur,{column:po,anchorEl:Qn.anchorEl,open:!0,onClose:()=>Jn(null),themeMode:x,panelAnchorEl:Bt.current}));return e.createElement(yt.Provider,{value:Yi},e.createElement("div",{ref:$t,className:xe("mgh-grid-card",s&&"mgh-grid-card--plain",g),"data-mgh-theme":x,"data-mgh-grid-card":Ht,style:ho},wo&&e.createElement("style",{"data-mgh-grid-sx":Ht},wo),!s&&(void 0!==l||d||a)&&e.createElement("div",{className:"mgh-grid-card-header"},void 0!==l&&e.createElement("h3",{className:"mgh-grid-card-title"},l),d&&e.createElement("div",{className:"mgh-grid-card-header-center"},d),e.createElement("div",{className:"mgh-grid-card-header-end",style:{gap:xo?8:16}},a)),e.createElement("div",{className:xe("mgh-grid-box",m),"data-mgh-grid-box":Ht,style:fo},yo)))}Sr.displayName="MGHGrid";export{te as ConfirmDialog,ee as CustomGridToolbarExport,j as CustomNoRowsOverlay,Z as DataGridQuickFilter,ne as ExportingDialog,rt as GRID_CHECKBOX_SELECTION_COL_DEF,ae as GRID_CHECKBOX_SELECTION_FIELD,it as GRID_DETAIL_PANEL_TOGGLE_COL_DEF,de as GRID_DETAIL_PANEL_TOGGLE_FIELD,le as GRID_ROW_GROUPING_SINGLE_GROUPING_FIELD,re as Iconify,oe as Label,Y as MGHDataGrid,Sr as MGHGrid,fr as MGHGridActionsCellItem,Gn as MGHGridButton,_n as MGHGridCheckbox,ur as MGHGridColumnMenu,Qn as MGHGridColumnsButton,lr as MGHGridColumnsPanel,yt as MGHGridContext,rr as MGHGridDefaultToolbar,Zn as MGHGridDensitySelector,tr as MGHGridExportMenu,er as MGHGridExportMenuItem,mr as MGHGridFilterPanel,Jn as MGHGridFiltersButton,or as MGHGridFooter,Hn as MGHGridIconButton,Ln as MGHGridIcons,hr as MGHGridLoadingOverlay,qn as MGHGridMenu,Xn as MGHGridMenuDivider,Kn as MGHGridMenuItem,pr as MGHGridNoRowsOverlay,ir as MGHGridPagination,jn as MGHGridPopover,nr as MGHGridQuickFilter,Un as MGHGridSelect,$n as MGHGridTextInput,Q as MGHGridToolbar,ct as MGH_GRID_AGGREGATION_FUNCTIONS,ae as MGH_GRID_CHECKBOX_FIELD,rt as MGH_GRID_CHECKBOX_SELECTION_COL_DEF,ft as MGH_GRID_CSS,gt as MGH_GRID_DEFAULT_LOCALE_TEXT,it as MGH_GRID_DETAIL_PANEL_TOGGLE_COL_DEF,de as MGH_GRID_DETAIL_PANEL_TOGGLE_FIELD,le as MGH_GRID_GROUPING_COLUMN_FIELD,ht as MGH_GRID_STYLE_ID,Je as mghGridBooleanFilterOperators,dt as mghGridBuildScopedCss,Qt as mghGridBuildXlsx,Dt as mghGridGetDataAsCsv,Qe as mghGridGetDateFilterOperators,Xe as mghGridNumberFilterOperators,tn as mghGridPrintElement,Zt as mghGridPrintTable,Ze as mghGridSingleSelectFilterOperators,qe as mghGridStringFilterOperators,Et as useMGHGridApiContext,kt as useMGHGridApiRef,vt as useMGHGridContext,Ct as useMGHGridLocaleText,xt as useMGHGridStyles,W as useResponsive};
1
+ import e,{forwardRef as t}from"react";import{Box as r,Card as n,CardHeader as a,styled as o,TextField as l,Tooltip as i,InputAdornment as d,Badge as s,Dialog as c,DialogContent as g,Typography as m,CircularProgress as p}from"@mui/material";import{DataGridPremium as u,QuickFilter as h,ToolbarButton as f,QuickFilterTrigger as b,GridSearchIcon as y,QuickFilterControl as v,QuickFilterClear as x,GridCloseIcon as w,Toolbar as E,ColumnsPanelTrigger as C,GridViewColumnIcon as k,FilterPanelTrigger as M,GridFilterListIcon as S,GridToolbarExportContainer as D,GridCsvExportMenuItem as F,GridExcelExportMenuItem as P,GridPrintExportMenuItem as I}from"@mui/x-data-grid-premium";import N from"@mui/material/useMediaQuery";import{useTheme as R,styled as z,alpha as O}from"@mui/material/styles";import A from"@emotion/styled";import T from"@mui/material/Button";import L from"@mui/material/Dialog";import G from"@mui/material/DialogTitle";import H from"@mui/material/DialogActions";import V from"@mui/material/DialogContent";import{Icon as $}from"@iconify/react";import B from"@mui/material/Box";import U from"dayjs";import{createPortal as W}from"react-dom";import _ from"dayjs/plugin/customParseFormat";function j(e,t,r){const n=R(),a=N(n.breakpoints.up(t)),o=N(n.breakpoints.down(t)),l=N(n.breakpoints.between(t,r)),i=N(n.breakpoints.only(t));return"up"===e?a:"down"===e?o:"between"===e?l:i}function Y({text:t,useSettingsContext:n}){const a=R(),o=n?.()?.themeMode??a.palette.mode??"light",l=A("div")(()=>({display:"flex",alignItems:"center",justifyContent:"center",height:"100%","& .ant-empty-img-1":{fill:"light"===o?"#aeb8c2":"#262626"},"& .ant-empty-img-2":{fill:"light"===o?"#f5f5f7":"#595959"},"& .ant-empty-img-3":{fill:"light"===o?"#dce0e6":"#434343"},"& .ant-empty-img-4":{fill:"light"===o?"#fff":"#1c1c1c"},"& .ant-empty-img-5":{fillOpacity:"light"===o?"0.8":"0.08",fill:"light"===o?"#f5f5f5":"#fff"}}));return e.createElement(l,null,e.createElement(r,{component:"img",alt:"empty content",src:"/assets/icons/empty/ic_content.svg",sx:{width:50,maxWidth:160}}),e.createElement(r,{sx:{mb:0}},t))}const q=()=>"undefined"!=typeof window&&void 0!==window.localStorage,K=e=>{if(!q())return null;try{const t=window.localStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}},X=(e,t)=>{if(q())try{window.localStorage.setItem(e,JSON.stringify(t))}catch{return}};function Q({header:t,rows:o,columns:l,onRowClick:i,onRowDoubleClick:d,pagination:s=!0,pageSize:c=25,slots:g={},slotProps:m={},toolbarProps:p={},initialState:h={},pageSizeOptions:f=[10,25,50,100],sx:b={},cardSx:y={flexGrow:1},boxSx:v={flexGrow:1},columnVisibilityModel:x,onColumnVisibilityModelChange:w,columnVisibilityStorageKey:E,columnOrderStorageKey:C,disableDensitySelector:k=!1,disableRowSelectionOnClick:M=!0,disableColumnFilter:S=!1,disableColumnMenu:D=!1,disableColumnSelector:F=!1,checkboxSelectionVisibleOnly:P=!1,renderHeaderEndContent:I,renderHeaderCenterContent:N,noRowsText:R="No data found within selected parameters.",checkboxSelection:z=!1,onRowSelectionModelChange:O,rowSelectionModel:A,getRowClassName:T,getDetailPanelContent:L,getDetailPanelHeight:G,loading:H=!1,isRowSelectable:V,getRowHeight:$,showToolbar:B=!0,hideFooterRowCount:U=!1,onColumnOrderChange:W,defaultGroupingExpansionDepth:_,pinnedRows:q,keepNonExistentRowsSelected:Q=!0}){const Z=j("down","sm"),ee=e.useMemo(()=>{if(E)return K(E)??void 0},[E]),te=e.useMemo(()=>{if(!C)return;return((e,t)=>{if(!e||0===e.length)return;const r=new Set(t.map(e=>e.field));return e.filter(e=>r.has(e))})(K(C),l)},[C,l]),re=void 0!==x?x:ee,ne=e.useCallback((e,t)=>{E&&X(E,e),w?.(e,t)},[E,w]),ae=e.useCallback((e,t,r)=>{if(C){const e=r.api.getAllColumns().map(e=>e.field);X(C,e)}W?.(e,t,r)},[C,W]),oe={density:"compact",pagination:{paginationModel:{pageSize:c}},filter:{filterModel:{items:[],quickFilterExcludeHiddenColumns:!1}},...h,columns:{...h?.columns,columnVisibilityModel:re??h?.columns?.columnVisibilityModel,orderedFields:te??h?.columns?.orderedFields}};return e.createElement(n,{sx:{height:"auto",...y}},e.createElement(r,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",pr:1}},e.createElement(a,{title:t,sx:{mb:2}}),N,e.createElement(r,{sx:{display:"flex",gap:Z?1:2,alignItems:"center",flexWrap:"wrap",justifyContent:"flex-end"}},I)),e.createElement(r,{component:"div",sx:{display:"flex",flexDirection:"column",flexGrow:1,...v}},e.createElement(u,{loading:H,onRowClick:i,onRowDoubleClick:d,rows:o,columns:l,pagination:s,disableDensitySelector:k,disableRowSelectionOnClick:M,disableColumnFilter:S,disableColumnMenu:D,disableColumnSelector:F,slots:{noRowsOverlay:Y,toolbar:J,...g},slotProps:{noRowsOverlay:{text:R},toolbar:p,...m},initialState:oe,pageSizeOptions:f,sx:{"& .MuiDataGrid-row:hover":{cursor:i||d?"pointer":"default"},...b},onColumnVisibilityModelChange:ne,checkboxSelection:z,onRowSelectionModelChange:O,rowSelectionModel:A,isRowSelectable:V,getRowClassName:T,getDetailPanelContent:L,getDetailPanelHeight:G,checkboxSelectionVisibleOnly:P,disableRowSelectionExcludeModel:!0,showToolbar:B,hideFooterRowCount:U,getRowHeight:$,onColumnOrderChange:ae,defaultGroupingExpansionDepth:_,pinnedRows:q,keepNonExistentRowsSelected:Q})))}function J({showColumnsButton:t=!0,showFilterButton:r=!0,showExportButton:n=!0,showQuickFilter:a=!0,renderOtherButtons:o,renderDateRange:l,customMenuItem:d,showCsvOption:c=!0}){return e.createElement(E,{style:{display:"flex",justifyContent:"space-between"}},e.createElement("div",null,t&&e.createElement(i,{title:"Columns"},e.createElement(C,{render:e.createElement(f,null)},e.createElement(k,{fontSize:"small"}))),r&&e.createElement(i,{title:"Filters"},e.createElement(M,{render:(t,r)=>e.createElement(f,{...t,color:"default"},e.createElement(s,{badgeContent:r.filterCount,color:"primary",variant:"dot"},e.createElement(S,{fontSize:"small"})))})),n&&e.createElement(Z,{customMenuItem:d,showCsvOption:c})),l,e.createElement("div",null,o,a&&e.createElement(ee,null)))}const Z=({csvOptions:t={allColumns:!0},excelOptions:r={allColumns:!0},printOptions:n,customMenuItem:a,showCsvOption:o=!0,...l})=>e.createElement(D,{...l},a?.map(e=>e),o&&e.createElement(F,{options:t}),e.createElement(P,{options:r}),e.createElement(I,{options:n}));function ee(){const t=o(h)({display:"grid",alignItems:"center"}),r=o(f)(({theme:e,ownerState:t})=>({gridArea:"1 / 1",width:"min-content",height:"min-content",zIndex:1,opacity:t.expanded?0:1,pointerEvents:t.expanded?"none":"auto",transition:e.transitions.create(["opacity"])})),n=o(l)(({theme:e,ownerState:t})=>({gridArea:"1 / 1",overflowX:"clip",width:t.expanded?260:"var(--trigger-width)",opacity:t.expanded?1:0,transition:e.transitions.create(["width","opacity"])}));return e.createElement(t,null,e.createElement(b,{render:(t,n)=>e.createElement(i,{title:"Search",enterDelay:0},e.createElement(r,{...t,ownerState:{expanded:n.expanded},color:"default","aria-disabled":n.expanded},e.createElement(y,{fontSize:"small"})))}),e.createElement(v,{render:({ref:t,...r},a)=>e.createElement(n,{...r,ownerState:{expanded:a.expanded},inputRef:t,"aria-label":"Search",placeholder:"Search...",size:"small",slotProps:{input:{startAdornment:e.createElement(d,{position:"start"},e.createElement(y,{fontSize:"small"})),endAdornment:a.value?e.createElement(d,{position:"end"},e.createElement(x,{edge:"end",size:"small","aria-label":"Clear search",material:{sx:{marginRight:-.75}}},e.createElement(w,{fontSize:"small"}))):null,...r.slotProps?.input},...r.slotProps}})}))}function te({csvOptions:t={allColumns:!0},excelOptions:r={allColumns:!0},printOptions:n,customMenuItem:a,...o}){return e.createElement(D,{...o},a,e.createElement(F,{options:t}),e.createElement(P,{options:r}),e.createElement(I,{options:n}))}function re({title:t,content:r,action:n,open:a,onClose:o,...l}){return e.createElement(L,{fullWidth:!0,maxWidth:"xs",open:a,onClose:o,...l},e.createElement(G,{sx:{pb:2}},t),r&&e.createElement(V,{sx:{typography:"body2"}}," ",r," "),e.createElement(H,null,e.createElement(T,{onClick:o},"Cancel"),n))}function ne({open:t,text:r=e.createElement(e.Fragment,null,"Your export is currently being built. Some larger exports can take a couple of minutes to complete. ",e.createElement("br",null),e.createElement("br",null),"Please do not close your browser or refresh the page.")}){return e.createElement(c,{open:t,fullWidth:!0,sx:{p:4}},e.createElement(g,{sx:{p:4,textAlign:"center"}},e.createElement(m,{variant:"subtitle1",sx:{mb:3}},r),e.createElement(p,null)))}const ae=t(({icon:t,width:r=20,sx:n,...a},o)=>e.createElement($,{icon:t,style:{width:20,height:r??20,...n}})),oe=z(B)(({ownerState:e})=>{const t=R(),r="light"===t.palette.mode,n="filled"===e.variant,a="outlined"===e.variant,o="soft"===e.variant,l={..."default"===e.color&&{...n&&{color:r?t.palette.common.white:t.palette.grey[800],backgroundColor:t.palette.text.primary},...a&&{backgroundColor:"transparent",color:t.palette.text.primary,border:`2px solid ${t.palette.text.primary}`},...o&&{color:t.palette.text.secondary,backgroundColor:O(t.palette.grey[500],.16)}}},i={..."default"!==e.color&&{...n&&{color:t.palette[e.color].contrastText,backgroundColor:t.palette[e.color].main},...a&&{backgroundColor:"transparent",color:t.palette[e.color].main,border:`2px solid ${t.palette[e.color].main}`},...o&&{color:t.palette[e.color][r?"dark":"light"],backgroundColor:O(t.palette[e.color].main,.16)}}};return{height:24,minWidth:24,lineHeight:0,borderRadius:6,cursor:"default",alignItems:"center",whiteSpace:"nowrap",display:"inline-flex",justifyContent:"center",textTransform:"capitalize",padding:t.spacing(0,.75),fontSize:t.typography.pxToRem(12),fontWeight:t.typography.fontWeightBold,transition:t.transitions.create("all",{duration:t.transitions.duration.shorter}),...l,...i}}),le=t(({children:t,color:r="default",variant:n="soft",startIcon:a,endIcon:o,sx:l,...i},d)=>{const s={width:16,height:16,"& svg, img":{width:1,height:1,objectFit:"cover"}};return e.createElement(oe,{ref:d,ownerState:{color:r,variant:n},sx:{...a&&{pl:.75},...o&&{pr:.75},...l},...i},a&&e.createElement(B,{sx:{mr:.75,...s}}," ",a," "),t,o&&e.createElement(B,{sx:{ml:.75,...s}}," ",o," "))}),ie="__row_group_by_columns_group__",de="__check__",se="__detail_panel_toggle__",ce="__aggregation_footer__",ge=new Set([de,se]),me={compact:.7,standard:1,comfortable:1.3},pe=52,ue=56,he=50,fe=e=>ge.has(e)||e===ie,be=e=>null==e,ye=e=>be(e)||""===e||Array.isArray(e)&&0===e.length,ve=(e,t,r)=>Math.min(Math.max(e,t),r),xe=(...e)=>e.filter(Boolean).join(" "),we=(()=>{let e=0;return(t="mgh")=>(e+=1,`${t}-${e}`)})(),Ee=()=>"undefined"!=typeof window&&void 0!==window.localStorage,Ce=e=>{if(!Ee())return null;try{const t=window.localStorage.getItem(e);return t?JSON.parse(t):null}catch{return null}},ke=(e,t)=>{if(Ee())try{window.localStorage.setItem(e,JSON.stringify(t))}catch{}},Me=(e,t)=>t?t(e):e.id,Se=(e,t)=>{if(!e)return{type:"include",ids:new Set};if(Array.isArray(e))return{type:"include",ids:new Set(e)};if(e instanceof Set)return{type:"include",ids:new Set(e)};if("exclude"===e.type&&t){const r=new Set;return t.forEach(t=>{e.ids.has(t)||r.add(t)}),{type:"include",ids:r}}return{type:"include",ids:new Set(e.ids)}},De=e=>{if(be(e)||""===e)return null;if(e instanceof Date)return Number.isNaN(e.getTime())?null:e;if(U.isDayjs(e))return e.isValid()?e.toDate():null;if("number"==typeof e){const t=new Date(e);return Number.isNaN(t.getTime())?null:t}if("string"==typeof e){const t=U(e);return t.isValid()?t.toDate():null}return null},Fe=(e,t)=>{const r=De(e);return r?U(r).format(t?"M/D/YYYY h:mm A":"M/D/YYYY"):""},Pe=(e,t)=>t?U(e).startOf("minute").valueOf():U(e).startOf("day").valueOf(),Ie=e=>"object"==typeof e&&null!==e,Ne=(e,t)=>e.getOptionValue?e.getOptionValue(t):Ie(t)?t.value:t,Re=(e,t)=>e.getOptionLabel?e.getOptionLabel(t):Ie(t)?t.label:String(t),ze=(e,t,r)=>e.valueOptions?"function"==typeof e.valueOptions?e.valueOptions({field:e.field,row:t,id:r}):e.valueOptions:[],Oe=(e,t,r)=>{const n=e?e[t.field]:void 0;return t.valueGetter?t.valueGetter(n,e,t,r):n},Ae=(e,t,r,n)=>{if(be(e))return"";switch(t.type){case"date":return Fe(e,!1);case"dateTime":return Fe(e,!0);case"boolean":return e?"Yes":"No";case"singleSelect":{const a=ze(t,r,n).find(r=>Ne(t,r)===e);return void 0!==a?Re(t,a):String(e)}case"number":return"number"==typeof e?Number.isFinite(e)?String(e):"":String(e);default:if(e instanceof Date)return Fe(e,!0);if("object"==typeof e)try{return JSON.stringify(e)}catch{return String(e)}return String(e)}},Te=(e,t,r,n,a)=>r.valueFormatter?r.valueFormatter(e,t,r,n):Ae(e,r,t,a),Le=e=>be(e)?"":"string"==typeof e?e:"number"==typeof e||"boolean"==typeof e?String(e):e instanceof Date?Fe(e,!0):"object"==typeof e&&"props"in e?"":String(e),Ge="undefined"!=typeof Intl?new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"}):null,He=(e,t)=>{const r=be(e)||""===e,n=be(t)||""===t;return r&&n?0:r?-1:n?1:null},Ve=(e,t)=>{const r=He(e,t);return null!==r?r:Number(e)-Number(t)},$e=(e,t)=>{const r=He(e,t);if(null!==r)return r;const n=String(e),a=String(t);return Ge?Ge.compare(n,a):n<a?-1:n>a?1:0},Be=(e,t,r,n)=>"number"==typeof e&&"number"==typeof t?Ve(e,t):$e(e,t),Ue=(e,t)=>{const r=De(e),n=De(t),a=He(r,n);return null!==a?a:r.getTime()-n.getTime()},We=(e,t)=>{const r=He(e,t);return null!==r?r:Number(Boolean(e))-Number(Boolean(t))},_e=e=>{switch(e){case"number":return Ve;case"date":case"dateTime":return Ue;case"boolean":return We;default:return Be}},je=e=>be(e)?"":String(e).toLowerCase(),Ye=e=>!ye(e.value),qe=[{value:"contains",label:"contains",inputType:"text",getApplyFilterFn:e=>{if(!Ye(e))return null;const t=je(e.value);return e=>-1!==je(e).indexOf(t)}},{value:"doesNotContain",label:"does not contain",inputType:"text",getApplyFilterFn:e=>{if(!Ye(e))return null;const t=je(e.value);return e=>-1===je(e).indexOf(t)}},{value:"equals",label:"equals",inputType:"text",getApplyFilterFn:e=>{if(!Ye(e))return null;const t=je(e.value);return e=>je(e)===t}},{value:"doesNotEqual",label:"does not equal",inputType:"text",getApplyFilterFn:e=>{if(!Ye(e))return null;const t=je(e.value);return e=>je(e)!==t}},{value:"startsWith",label:"starts with",inputType:"text",getApplyFilterFn:e=>{if(!Ye(e))return null;const t=je(e.value);return e=>0===je(e).indexOf(t)}},{value:"endsWith",label:"ends with",inputType:"text",getApplyFilterFn:e=>{if(!Ye(e))return null;const t=je(e.value);return e=>{const r=je(e);return r.length>=t.length&&r.lastIndexOf(t)===r.length-t.length}}},{value:"isEmpty",label:"is empty",inputType:"none",requiresFilterValue:!1,getApplyFilterFn:()=>e=>ye(e)},{value:"isNotEmpty",label:"is not empty",inputType:"none",requiresFilterValue:!1,getApplyFilterFn:()=>e=>!ye(e)},{value:"isAnyOf",label:"is any of",inputType:"multiselect",getApplyFilterFn:e=>{if(!Array.isArray(e.value)||0===e.value.length)return null;const t=new Set(e.value.map(je));return e=>t.has(je(e))}}],Ke=(e,t,r)=>({value:e,label:t,inputType:"number",getApplyFilterFn:e=>{if(!Ye(e))return null;const t=Number(e.value);return Number.isNaN(t)?null:e=>{if(be(e)||""===e)return!1;const n=Number(e);return!Number.isNaN(n)&&r(n,t)}}}),Xe=[Ke("=","=",(e,t)=>e===t),Ke("!=","!=",(e,t)=>e!==t),Ke(">",">",(e,t)=>e>t),Ke(">=",">=",(e,t)=>e>=t),Ke("<","<",(e,t)=>e<t),Ke("<=","<=",(e,t)=>e<=t),{value:"isEmpty",label:"is empty",inputType:"none",requiresFilterValue:!1,getApplyFilterFn:()=>e=>ye(e)},{value:"isNotEmpty",label:"is not empty",inputType:"none",requiresFilterValue:!1,getApplyFilterFn:()=>e=>!ye(e)},{value:"isAnyOf",label:"is any of",inputType:"multiselect",getApplyFilterFn:e=>{if(!Array.isArray(e.value)||0===e.value.length)return null;const t=new Set(e.value.map(e=>Number(e)));return e=>!be(e)&&t.has(Number(e))}}],Qe=(e,t,r,n)=>({value:e,label:t,inputType:r?"datetime-local":"date",getApplyFilterFn:e=>{if(!Ye(e))return null;const t=De(e.value);if(!t)return null;const a=Pe(t,r);return e=>{const t=De(e);return!!t&&n(Pe(t,r),a)}}}),Je=e=>[Qe("is","is",e,(e,t)=>e===t),Qe("not","is not",e,(e,t)=>e!==t),Qe("after","is after",e,(e,t)=>e>t),Qe("onOrAfter","is on or after",e,(e,t)=>e>=t),Qe("before","is before",e,(e,t)=>e<t),Qe("onOrBefore","is on or before",e,(e,t)=>e<=t),{value:"isEmpty",label:"is empty",inputType:"none",requiresFilterValue:!1,getApplyFilterFn:()=>e=>null===De(e)},{value:"isNotEmpty",label:"is not empty",inputType:"none",requiresFilterValue:!1,getApplyFilterFn:()=>e=>null!==De(e)}],Ze=[{value:"is",label:"is",inputType:"boolean",getApplyFilterFn:e=>{if(be(e.value)||""===e.value||"any"===e.value)return null;const t=!0===e.value||"true"===e.value;return e=>Boolean(e)===t}}],et=[{value:"is",label:"is",inputType:"select",getApplyFilterFn:e=>be(e.value)||""===e.value?null:t=>String(t)===String(e.value)},{value:"not",label:"is not",inputType:"select",getApplyFilterFn:e=>be(e.value)||""===e.value?null:t=>String(t)!==String(e.value)},{value:"isAnyOf",label:"is any of",inputType:"multiselect",getApplyFilterFn:e=>{if(!Array.isArray(e.value)||0===e.value.length)return null;const t=new Set(e.value.map(String));return e=>t.has(String(e))}}],tt=e=>e.filterOperators??(e=>{switch(e){case"number":return Xe;case"date":return Je(!1);case"dateTime":return Je(!0);case"boolean":return Ze;case"singleSelect":return et;case"actions":return[];default:return qe}})(e.type),rt=e=>{const t=e.type??"string",r="number"===t,n="boolean"===t,a="actions"===t;return{...e,type:t,headerName:e.headerName??e.field,width:e.width??100,minWidth:e.minWidth??he,align:e.align??(r?"right":n||a?"center":"left"),headerAlign:e.headerAlign??e.align??(r?"right":n||a?"center":"left"),sortable:!a&&(e.sortable??!0),filterable:!a&&(e.filterable??!0),hideable:e.hideable??!0,resizable:e.resizable??!0,pinnable:e.pinnable??!0,groupable:!a&&(e.groupable??!0),aggregable:!a&&(e.aggregable??!0),editable:e.editable??!1,disableColumnMenu:e.disableColumnMenu??a,disableExport:e.disableExport??a}},nt=(e,t)=>rt({field:e,headerName:"",width:t,minWidth:t,maxWidth:t,sortable:!1,filterable:!1,hideable:!1,resizable:!1,pinnable:!1,groupable:!1,aggregable:!1,disableColumnMenu:!0,disableExport:!0,disableReorder:!0,align:"center",headerAlign:"center"}),at=nt(de,50),ot=nt(se,50),lt=new Set(["animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth"]),it=e=>/[&.:#>\[\s*~+,@]/.test(e),dt=e=>Object.keys(e).filter(t=>{const r=e[t];return!it(t)&&("string"==typeof r||"number"==typeof r)}).map(t=>{return`${(e=>{if(0===e.indexOf("--"))return e;const t=e.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`);return 0===t.indexOf("ms-")?`-${t}`:t})(t)}:${r=t,n=e[t],"number"!=typeof n||0===n||lt.has(r)||0===r.indexOf("--")?String(n):`${n}px`}`;var r,n}).join(";"),st=(e,t,r=[])=>t?(Object.keys(t).forEach(n=>{const a=t[n];if(!a||"object"!=typeof a)return;const o=a;if("@"===n.charAt(0)){const t=[],a=dt(o);return a&&t.push(`${e}{${a}}`),st(e,o,t),void(t.length&&r.push(`${n}{${t.join("")}}`))}const l=((e,t)=>t.split(",").map(e=>e.trim()).filter(Boolean).map(t=>-1!==t.indexOf("&")?t.replace(/&/g,e):`${e} ${t}`).join(","))(e,n),i=dt(o);i&&r.push(`${l}{${i}}`),st(l,o,r)}),r):r,ct=e=>e.map(e=>"number"==typeof e?e:Number(e)).filter(e=>!Number.isNaN(e)&&null!==e),gt={sum:{label:"sum",columnTypes:["number"],apply:({values:e})=>{const t=ct(e.filter(e=>!be(e)&&""!==e));return 0===t.length?null:t.reduce((e,t)=>e+t,0)}},avg:{label:"avg",columnTypes:["number"],apply:({values:e})=>{const t=ct(e.filter(e=>!be(e)&&""!==e));return 0===t.length?null:t.reduce((e,t)=>e+t,0)/t.length}},min:{label:"min",columnTypes:["number","date","dateTime"],apply:({values:e})=>{const t=e.filter(e=>!be(e)&&""!==e);if(0===t.length)return null;if(t.every(e=>"number"==typeof e))return Math.min(...t);const r=t.map(De);return r.every(e=>null!==e)?new Date(Math.min(...r.map(e=>e.getTime()))):t.slice().sort((e,t)=>$e(e,t))[0]}},max:{label:"max",columnTypes:["number","date","dateTime"],apply:({values:e})=>{const t=e.filter(e=>!be(e)&&""!==e);if(0===t.length)return null;if(t.every(e=>"number"==typeof e))return Math.max(...t);const r=t.map(De);if(r.every(e=>null!==e))return new Date(Math.max(...r.map(e=>e.getTime())));const n=t.slice().sort((e,t)=>$e(e,t));return n[n.length-1]}},size:{label:"size",apply:({values:e})=>e.length}},mt={noRowsLabel:"No rows",loadingLabel:"Loading…",toolbarColumns:"Columns",toolbarFilters:"Filters",toolbarExport:"Export",toolbarDensity:"Density",toolbarQuickFilterPlaceholder:"Search...",toolbarQuickFilterLabel:"Search",toolbarExportCSV:"Download as CSV",toolbarExportExcel:"Download as Excel",toolbarExportPrint:"Print",densityCompact:"Compact",densityStandard:"Standard",densityComfortable:"Comfortable",columnsPanelSearchPlaceholder:"Search",columnsPanelShowAll:"Show all",columnsPanelHideAll:"Hide all",columnsPanelReset:"Reset",filterPanelAddFilter:"Add filter",filterPanelRemoveAll:"Remove all",filterPanelDeleteIcon:"Delete",filterPanelColumns:"Columns",filterPanelOperator:"Operator",filterPanelValue:"Value",filterPanelInputPlaceholder:"Filter value",filterPanelLogicOperator:"Logic operator",filterPanelOperatorAnd:"And",filterPanelOperatorOr:"Or",columnMenuSortAsc:"Sort by ASC",columnMenuSortDesc:"Sort by DESC",columnMenuUnsort:"Unsort",columnMenuFilter:"Filter",columnMenuHideColumn:"Hide column",columnMenuManageColumns:"Manage columns",columnMenuPinLeft:"Pin to left",columnMenuPinRight:"Pin to right",columnMenuUnpin:"Unpin",columnMenuGroup:e=>`Group by ${e}`,columnMenuUngroup:e=>`Stop grouping by ${e}`,columnMenuAggregation:"Aggregation",aggregationMenuItemHeader:"Aggregation",aggregationFunctionLabelNone:"none",aggregationFunctionLabelSum:"sum",aggregationFunctionLabelAvg:"avg",aggregationFunctionLabelMin:"min",aggregationFunctionLabelMax:"max",aggregationFunctionLabelSize:"size",footerRowSelected:e=>1===e?"1 row selected":`${e.toLocaleString()} rows selected`,footerTotalRows:"Total Rows:",footerPaginationRowsPerPage:"Rows per page:",footerPaginationDisplayedRows:(e,t,r)=>`${e}–${t} of ${r.toLocaleString()}`,footerPaginationFirstPage:"First page",footerPaginationPreviousPage:"Previous page",footerPaginationNextPage:"Next page",footerPaginationLastPage:"Last page",checkboxSelectionHeaderName:"Checkbox selection",checkboxSelectionSelectAllRows:"Select all rows",checkboxSelectionUnselectAllRows:"Unselect all rows",checkboxSelectionSelectRow:"Select row",checkboxSelectionUnselectRow:"Unselect row",booleanCellTrueLabel:"yes",booleanCellFalseLabel:"no",detailPanelToggle:"Detail panel toggle",expandDetailPanel:"Expand",collapseDetailPanel:"Collapse",groupingColumnHeaderName:"Group",groupColumn:e=>`Group by ${e}`,unGroupColumn:e=>`Stop grouping by ${e}`,actionsCellMore:"more",columnHeaderSortIconLabel:"Sort",columnMenuLabel:"Menu",clearSearch:"Clear search"};let pt;const ut=(e,t)=>{if("undefined"==typeof document)return 8*e.length;if(void 0===pt){const e=document.createElement("canvas");pt=e.getContext("2d")}return pt?(pt.font=t,pt.measureText(e).width):8*e.length},ht=(e,t)=>{if("undefined"==typeof document)return;const r=URL.createObjectURL(e),n=document.createElement("a");n.href=r,n.download=t,n.style.display="none",document.body.appendChild(n),n.click(),window.setTimeout(()=>{document.body.removeChild(n),URL.revokeObjectURL(r)},0)},ft="mgh-grid-styles",bt='\n.mgh-grid-card {\n --mgh-grid-font-family: inherit;\n --mgh-grid-font-size: 14px;\n --mgh-grid-radius: 16px;\n --mgh-grid-inner-radius: 4px;\n --mgh-grid-paper: #ffffff;\n --mgh-grid-bg: #ffffff;\n --mgh-grid-fg: rgba(0, 0, 0, 0.87);\n --mgh-grid-fg-secondary: rgba(0, 0, 0, 0.6);\n --mgh-grid-fg-disabled: rgba(0, 0, 0, 0.38);\n --mgh-grid-border: rgba(224, 224, 224, 1);\n --mgh-grid-header-bg: #ffffff;\n --mgh-grid-header-fg: rgba(0, 0, 0, 0.87);\n --mgh-grid-hover: rgba(0, 0, 0, 0.04);\n --mgh-grid-hover-strong: rgba(0, 0, 0, 0.08);\n --mgh-grid-selected: rgba(25, 118, 210, 0.08);\n --mgh-grid-selected-hover: rgba(25, 118, 210, 0.12);\n --mgh-grid-primary: #1976d2;\n --mgh-grid-primary-contrast: #ffffff;\n --mgh-grid-focus: #1976d2;\n --mgh-grid-shadow: 0 0 2px rgba(145, 158, 171, 0.2), 0 12px 24px -4px rgba(145, 158, 171, 0.12);\n --mgh-grid-popover-shadow: 0 5px 5px -3px rgba(0,0,0,.2), 0 8px 10px 1px rgba(0,0,0,.14), 0 3px 14px 2px rgba(0,0,0,.12);\n --mgh-grid-overlay: rgba(255, 255, 255, 0.6);\n --mgh-grid-input-bg: transparent;\n --mgh-grid-input-border: rgba(0, 0, 0, 0.23);\n --mgh-grid-pinned-shadow: rgba(0, 0, 0, 0.12);\n --mgh-grid-group-bg: rgba(0, 0, 0, 0.02);\n --mgh-grid-footer-bg: rgba(0, 0, 0, 0.02);\n --mgh-grid-badge: #1976d2;\n --mgh-grid-scrollbar: rgba(0, 0, 0, 0.3);\n\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n background: var(--mgh-grid-paper);\n color: var(--mgh-grid-fg);\n border-radius: var(--mgh-grid-radius);\n box-shadow: var(--mgh-grid-shadow);\n font-family: var(--mgh-grid-font-family);\n font-size: var(--mgh-grid-font-size);\n line-height: 1.5;\n overflow: hidden;\n box-sizing: border-box;\n}\n.mgh-grid-card[data-mgh-theme="dark"] {\n --mgh-grid-paper: #212b36;\n --mgh-grid-bg: #212b36;\n --mgh-grid-fg: #ffffff;\n --mgh-grid-fg-secondary: rgba(255, 255, 255, 0.7);\n --mgh-grid-fg-disabled: rgba(255, 255, 255, 0.5);\n --mgh-grid-border: rgba(81, 81, 81, 1);\n --mgh-grid-header-bg: #212b36;\n --mgh-grid-header-fg: #ffffff;\n --mgh-grid-hover: rgba(255, 255, 255, 0.08);\n --mgh-grid-hover-strong: rgba(255, 255, 255, 0.16);\n --mgh-grid-selected: rgba(144, 202, 249, 0.16);\n --mgh-grid-selected-hover: rgba(144, 202, 249, 0.24);\n --mgh-grid-primary: #90caf9;\n --mgh-grid-primary-contrast: rgba(0, 0, 0, 0.87);\n --mgh-grid-focus: #90caf9;\n --mgh-grid-shadow: 0 0 2px rgba(0, 0, 0, 0.2), 0 12px 24px -4px rgba(0, 0, 0, 0.12);\n --mgh-grid-overlay: rgba(33, 43, 54, 0.6);\n --mgh-grid-input-border: rgba(255, 255, 255, 0.23);\n --mgh-grid-pinned-shadow: rgba(0, 0, 0, 0.5);\n --mgh-grid-group-bg: rgba(255, 255, 255, 0.03);\n --mgh-grid-footer-bg: rgba(255, 255, 255, 0.03);\n --mgh-grid-badge: #90caf9;\n --mgh-grid-scrollbar: rgba(255, 255, 255, 0.3);\n}\n/* Only our own elements get the border-box reset. A blanket descendant reset would leak into\n consumer content rendered through slots (e.g. MUI TextField inputs rely on content-box). */\n[class*="mgh-grid"], [class*="mgh-grid"]::before, [class*="mgh-grid"]::after { box-sizing: border-box; }\n.mgh-grid-card--plain { box-shadow: none; border-radius: 0; background: transparent; }\n\n/* ---- card header ---- */\n/* Title stays on its row; only the end-content group wraps internally (like the legacy MUI card). */\n.mgh-grid-card-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 16px 16px 16px 0; flex-wrap: nowrap; }\n.mgh-grid-card-title { flex: 0 0 auto; padding: 8px 24px; margin: 0; font-size: 1.125rem; font-weight: 700; line-height: 1.5556; }\n/* Children are auto-sized so space-between leaves equal gaps title|center|end (like the legacy MUI card).\n Only the end group shrinks (and wraps internally); the centre content keeps its natural width. */\n.mgh-grid-card-header-center { flex: 0 0 auto; min-width: 0; display: flex; align-items: center; justify-content: center; gap: 16px; flex-wrap: wrap; }\n.mgh-grid-card-header-end { flex: 0 1 auto; min-width: 0; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; justify-content: flex-end; }\n.mgh-grid-card-header-end:first-child { margin-left: auto; }\n@media (max-width: 599.95px) {\n .mgh-grid-card-header { flex-wrap: wrap; }\n .mgh-grid-card-header-end { gap: 8px; }\n}\n\n/* ---- box + root ---- */\n.mgh-grid-box { display: flex; flex-direction: column; flex-grow: 1; min-height: 0; min-width: 0; }\n.mgh-grid {\n position: relative;\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n min-height: 0;\n min-width: 0;\n border: 1px solid var(--mgh-grid-border);\n border-radius: var(--mgh-grid-inner-radius);\n background: var(--mgh-grid-bg);\n color: var(--mgh-grid-fg);\n outline: none;\n}\n.mgh-grid--auto-height { flex: 0 0 auto; }\n\n/* ---- toolbar ---- */\n.mgh-grid-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 45px; padding: 4px 8px; border-bottom: 1px solid var(--mgh-grid-border); flex-wrap: wrap; }\n.mgh-grid-toolbar-group { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }\n.mgh-grid-toolbar-center { display: flex; align-items: center; flex: 1 1 auto; justify-content: center; }\n\n/* ---- buttons ---- */\n.mgh-grid-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 0; margin: 0; background: transparent; color: var(--mgh-grid-fg-secondary); font: inherit; font-size: 0.8125rem; font-weight: 500; line-height: 1.75; letter-spacing: .02em; padding: 4px 8px; border-radius: 4px; cursor: pointer; user-select: none; transition: background-color .15s, color .15s; text-transform: none; white-space: nowrap; }\n.mgh-grid-btn:hover { background: var(--mgh-grid-hover); color: var(--mgh-grid-fg); }\n.mgh-grid-btn:focus-visible { outline: 2px solid var(--mgh-grid-focus); outline-offset: 1px; }\n.mgh-grid-btn:disabled { color: var(--mgh-grid-fg-disabled); cursor: default; background: transparent; }\n.mgh-grid-btn--icon { padding: 6px; border-radius: 50%; width: 32px; height: 32px; }\n.mgh-grid-btn--icon.mgh-grid-btn--small { width: 26px; height: 26px; padding: 3px; }\n.mgh-grid-btn--icon.mgh-grid-btn--small .mgh-grid-icon { width: 18px; height: 18px; }\n.mgh-grid-btn--primary { color: var(--mgh-grid-primary); }\n.mgh-grid-btn--primary:hover { background: var(--mgh-grid-selected); color: var(--mgh-grid-primary); }\n.mgh-grid-btn--contained { background: var(--mgh-grid-primary); color: var(--mgh-grid-primary-contrast); }\n.mgh-grid-btn--contained:hover { background: var(--mgh-grid-primary); color: var(--mgh-grid-primary-contrast); filter: brightness(0.92); }\n.mgh-grid-btn--active { color: var(--mgh-grid-primary); }\n\n/* ---- badge ---- */\n.mgh-grid-badge { position: relative; display: inline-flex; }\n.mgh-grid-badge-dot { position: absolute; top: 0; right: 0; min-width: 8px; height: 8px; border-radius: 4px; background: var(--mgh-grid-badge); transform: translate(50%, -50%); }\n.mgh-grid-badge-count { position: absolute; top: 0; right: 0; min-width: 16px; height: 16px; padding: 0 4px; border-radius: 8px; background: var(--mgh-grid-badge); color: var(--mgh-grid-primary-contrast); font-size: 10px; font-weight: 600; line-height: 16px; text-align: center; transform: translate(50%, -50%); }\n\n/* ---- inputs ---- */\n.mgh-grid-input, .mgh-grid-select { font: inherit; font-size: 0.875rem; color: var(--mgh-grid-fg); background: var(--mgh-grid-input-bg); border: 1px solid var(--mgh-grid-input-border); border-radius: 6px; padding: 6px 10px; height: 36px; min-width: 0; outline: none; transition: border-color .15s, box-shadow .15s; }\n.mgh-grid-input:hover, .mgh-grid-select:hover { border-color: var(--mgh-grid-fg); }\n.mgh-grid-input:focus, .mgh-grid-select:focus { border-color: var(--mgh-grid-focus); box-shadow: 0 0 0 1px var(--mgh-grid-focus); }\n.mgh-grid-input::placeholder { color: var(--mgh-grid-fg-disabled); }\n.mgh-grid-input--small, .mgh-grid-select--small { height: 32px; padding: 4px 8px; font-size: 0.8125rem; }\n.mgh-grid-select { appearance: none; -webkit-appearance: none; padding-right: 28px; background-image: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 24 24\' fill=\'%23888\'><path d=\'M7 10l5 5 5-5z\'/></svg>"); background-repeat: no-repeat; background-position: right 6px center; background-size: 18px; cursor: pointer; }\n.mgh-grid-select option { color: initial; background: initial; }\n.mgh-grid-card[data-mgh-theme="dark"] .mgh-grid-select option, .mgh-grid-popover[data-mgh-theme="dark"] .mgh-grid-select option { color: #fff; background: #212b36; }\n.mgh-grid-select[multiple] { height: auto; min-height: 36px; background-image: none; padding-right: 10px; }\n.mgh-grid-field { display: flex; flex-direction: column; gap: 4px; min-width: 0; }\n.mgh-grid-field-label { font-size: 0.75rem; color: var(--mgh-grid-fg-secondary); }\n.mgh-grid-input-adorned { position: relative; display: flex; align-items: center; }\n.mgh-grid-input-adorned .mgh-grid-input { width: 100%; padding-left: 34px; }\n.mgh-grid-input-adorned--clearable .mgh-grid-input { padding-right: 34px; }\n.mgh-grid-input-adornment { position: absolute; left: 10px; display: inline-flex; color: var(--mgh-grid-fg-secondary); pointer-events: none; }\n.mgh-grid-input-adornment--end { left: auto; right: 4px; pointer-events: auto; }\n\n/* ---- checkbox ---- */\n.mgh-grid-checkbox { appearance: none; -webkit-appearance: none; width: 18px; height: 18px; margin: 0; border: 2px solid var(--mgh-grid-fg-secondary); border-radius: 3px; background: transparent; cursor: pointer; display: inline-grid; place-content: center; position: relative; flex: 0 0 auto; transition: background-color .12s, border-color .12s; }\n.mgh-grid-checkbox:hover { border-color: var(--mgh-grid-fg); }\n.mgh-grid-checkbox:focus-visible { outline: 2px solid var(--mgh-grid-focus); outline-offset: 2px; }\n.mgh-grid-checkbox:checked, .mgh-grid-checkbox:indeterminate { background: var(--mgh-grid-primary); border-color: var(--mgh-grid-primary); }\n.mgh-grid-checkbox:checked::after { content: ""; width: 5px; height: 10px; border: solid var(--mgh-grid-primary-contrast); border-width: 0 2px 2px 0; transform: translateY(-1px) rotate(45deg); }\n.mgh-grid-checkbox:indeterminate::after { content: ""; width: 10px; height: 2px; background: var(--mgh-grid-primary-contrast); }\n.mgh-grid-checkbox:disabled { opacity: 0.4; cursor: default; }\n.mgh-grid-checkbox-label { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; font-size: 0.875rem; padding: 6px 4px; border-radius: 4px; }\n.mgh-grid-checkbox-label:hover { background: var(--mgh-grid-hover); }\n\n/* ---- quick filter ---- */\n.mgh-grid-quick-filter { display: grid; align-items: center; }\n.mgh-grid-quick-filter-trigger { grid-area: 1 / 1; z-index: 1; transition: opacity .2s; }\n.mgh-grid-quick-filter--expanded .mgh-grid-quick-filter-trigger { opacity: 0; pointer-events: none; }\n.mgh-grid-quick-filter-control { grid-area: 1 / 1; width: 32px; opacity: 0; overflow: hidden; transition: width .2s, opacity .2s; }\n.mgh-grid-quick-filter--expanded .mgh-grid-quick-filter-control { width: 260px; opacity: 1; }\n@media (max-width: 599.95px) { .mgh-grid-quick-filter--expanded .mgh-grid-quick-filter-control { width: 180px; } }\n\n/* ---- main / scroller ---- */\n.mgh-grid-main { position: relative; display: flex; flex: 1 1 auto; min-height: 0; min-width: 0; overflow: hidden; }\n.mgh-grid--auto-height .mgh-grid-main { flex: 0 0 auto; }\n.mgh-grid-scroller { position: relative; flex: 1 1 auto; min-height: 0; min-width: 0; overflow: auto; outline: none; scrollbar-width: thin; }\n.mgh-grid--auto-height .mgh-grid-scroller { overflow-y: hidden; }\n.mgh-grid-scroller::-webkit-scrollbar { width: 10px; height: 10px; }\n.mgh-grid-scroller::-webkit-scrollbar-thumb { background: var(--mgh-grid-scrollbar); border-radius: 5px; border: 2px solid transparent; background-clip: content-box; }\n\n/* ---- column headers ---- */\n.mgh-grid-columns { position: sticky; top: 0; z-index: 3; background: var(--mgh-grid-header-bg); border-bottom: 1px solid var(--mgh-grid-border); min-width: 100%; width: max-content; }\n.mgh-grid-header-row { display: flex; min-width: 100%; }\n.mgh-grid-header-cell { position: relative; display: flex; align-items: center; flex: 0 0 auto; height: var(--mgh-grid-header-height); padding: 0 10px; font-weight: 600; font-size: 0.875rem; color: var(--mgh-grid-header-fg); background: var(--mgh-grid-header-bg); white-space: nowrap; overflow: hidden; user-select: none; outline: none; }\n.mgh-grid-header-cell--sortable { cursor: pointer; }\n.mgh-grid-header-cell:focus-visible { outline: 2px solid var(--mgh-grid-focus); outline-offset: -2px; }\n.mgh-grid-header-cell--align-center { justify-content: center; }\n.mgh-grid-header-cell--align-right { justify-content: flex-end; }\n.mgh-grid-header-cell--align-right .mgh-grid-header-title-container { flex-direction: row-reverse; }\n.mgh-grid-header-title-container { display: flex; align-items: center; gap: 2px; min-width: 0; flex: 1 1 auto; overflow: hidden; }\n.mgh-grid-header-cell--align-center .mgh-grid-header-title-container { flex: 0 1 auto; }\n.mgh-grid-header-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n.mgh-grid-sort-icon { display: inline-flex; align-items: center; color: var(--mgh-grid-fg-secondary); opacity: 0; transition: opacity .15s; flex: 0 0 auto; }\n.mgh-grid-header-cell:hover .mgh-grid-sort-icon, .mgh-grid-sort-icon--active { opacity: 1; }\n.mgh-grid-sort-index { font-size: 10px; margin-left: -2px; color: var(--mgh-grid-fg-secondary); }\n.mgh-grid-header-menu-btn { position: absolute; right: 2px; opacity: 0; transition: opacity .15s; background: var(--mgh-grid-header-bg); }\n.mgh-grid-header-cell--align-right .mgh-grid-header-menu-btn { right: auto; left: 2px; }\n.mgh-grid-header-cell:hover .mgh-grid-header-menu-btn, .mgh-grid-header-menu-btn--open, .mgh-grid-header-cell:focus-within .mgh-grid-header-menu-btn { opacity: 1; }\n.mgh-grid-header-cell--menu-open { background: var(--mgh-grid-hover); }\n.mgh-grid-resize-handle { position: absolute; top: 0; right: -4px; width: 9px; height: 100%; cursor: col-resize; z-index: 2; display: flex; justify-content: center; touch-action: none; }\n.mgh-grid-resize-handle::after { content: ""; width: 1px; height: 60%; margin-top: 20%; background: var(--mgh-grid-border); transition: background .15s, width .15s; }\n.mgh-grid-resize-handle:hover::after, .mgh-grid-resize-handle--active::after { background: var(--mgh-grid-primary); width: 2px; }\n.mgh-grid-header-cell--last .mgh-grid-resize-handle { right: 0; }\n.mgh-grid-header-cell--dragging { opacity: 0.5; }\n.mgh-grid-header-cell--drop-left::before, .mgh-grid-header-cell--drop-right::before { content: ""; position: absolute; top: 4px; bottom: 4px; width: 2px; background: var(--mgh-grid-primary); z-index: 3; }\n.mgh-grid-header-cell--drop-left::before { left: 0; }\n.mgh-grid-header-cell--drop-right::before { right: 0; }\n.mgh-grid-header-filler { flex: 1 1 auto; background: var(--mgh-grid-header-bg); }\n\n/* ---- pinned cells ---- */\n.mgh-grid-cell--pinned-left, .mgh-grid-header-cell--pinned-left { position: sticky; z-index: 2; background-color: var(--mgh-grid-bg); }\n.mgh-grid-cell--pinned-right, .mgh-grid-header-cell--pinned-right { position: sticky; z-index: 2; background-color: var(--mgh-grid-bg); }\n.mgh-grid-header-cell--pinned-left, .mgh-grid-header-cell--pinned-right { z-index: 4; background-color: var(--mgh-grid-header-bg); }\n.mgh-grid-cell--pinned-left-last, .mgh-grid-header-cell--pinned-left-last { box-shadow: 2px 0 4px -2px var(--mgh-grid-pinned-shadow); }\n.mgh-grid-cell--pinned-right-first, .mgh-grid-header-cell--pinned-right-first { box-shadow: -2px 0 4px -2px var(--mgh-grid-pinned-shadow); }\n.mgh-grid--no-pinned-shadow .mgh-grid-cell--pinned-left-last, .mgh-grid--no-pinned-shadow .mgh-grid-header-cell--pinned-left-last { box-shadow: none; }\n\n/* ---- body & rows ---- */\n.mgh-grid-body { position: relative; min-width: 100%; width: max-content; }\n.mgh-grid-body--flow { display: flex; flex-direction: column; }\n.mgh-grid-row-block { min-width: 100%; }\n.mgh-grid-body--virtual .mgh-grid-row-block { position: absolute; left: 0; }\n.mgh-grid-row { display: flex; min-width: 100%; border-bottom: 1px solid var(--mgh-grid-border); background: var(--mgh-grid-bg); position: relative; }\n.mgh-grid-row--auto-height { align-items: stretch; }\n.mgh-grid-row:hover { background: var(--mgh-grid-hover); }\n.mgh-grid-row--selected { background: var(--mgh-grid-selected); }\n.mgh-grid-row--selected:hover { background: var(--mgh-grid-selected-hover); }\n.mgh-grid-row--clickable { cursor: pointer; }\n.mgh-grid-row--group { background: var(--mgh-grid-group-bg); }\n.mgh-grid-row--pinned { background: var(--mgh-grid-bg); }\n.mgh-grid-row--footer { background: var(--mgh-grid-footer-bg); font-weight: 600; }\n.mgh-grid-row:hover .mgh-grid-cell--pinned-left, .mgh-grid-row:hover .mgh-grid-cell--pinned-right { background-image: linear-gradient(var(--mgh-grid-hover), var(--mgh-grid-hover)); }\n.mgh-grid-row--selected .mgh-grid-cell--pinned-left, .mgh-grid-row--selected .mgh-grid-cell--pinned-right { background-image: linear-gradient(var(--mgh-grid-selected), var(--mgh-grid-selected)); }\n.mgh-grid-row--selected:hover .mgh-grid-cell--pinned-left, .mgh-grid-row--selected:hover .mgh-grid-cell--pinned-right { background-image: linear-gradient(var(--mgh-grid-selected-hover), var(--mgh-grid-selected-hover)); }\n.mgh-grid-row--group .mgh-grid-cell--pinned-left, .mgh-grid-row--group .mgh-grid-cell--pinned-right { background-image: linear-gradient(var(--mgh-grid-group-bg), var(--mgh-grid-group-bg)); }\n.mgh-grid-row--footer .mgh-grid-cell--pinned-left, .mgh-grid-row--footer .mgh-grid-cell--pinned-right { background-image: linear-gradient(var(--mgh-grid-footer-bg), var(--mgh-grid-footer-bg)); }\n.mgh-grid-row-filler { flex: 1 1 auto; }\n\n.mgh-grid-cell { display: flex; align-items: center; flex: 0 0 auto; padding: 0 10px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 0.875rem; outline: none; min-height: 100%; }\n.mgh-grid-cell > .mgh-grid-cell-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }\n.mgh-grid-row--auto-height .mgh-grid-cell { white-space: normal; align-items: flex-start; padding-top: 8px; padding-bottom: 8px; }\n.mgh-grid-row--auto-height .mgh-grid-cell > .mgh-grid-cell-text { white-space: normal; word-break: break-word; }\n.mgh-grid-cell--align-center { justify-content: center; }\n.mgh-grid-cell--align-right { justify-content: flex-end; }\n.mgh-grid-cell--focused { outline: 1px solid var(--mgh-grid-focus); outline-offset: -1px; }\n.mgh-grid-cell--editable { cursor: text; }\n.mgh-grid-cell--editing { padding: 0 4px; outline: 2px solid var(--mgh-grid-focus); outline-offset: -2px; background: var(--mgh-grid-bg); }\n.mgh-grid-cell--editing .mgh-grid-input, .mgh-grid-cell--editing .mgh-grid-select { width: 100%; height: calc(100% - 6px); border: 0; box-shadow: none; padding: 0 6px; background: transparent; }\n.mgh-grid-cell--checkbox, .mgh-grid-header-cell--checkbox, .mgh-grid-cell--detail-toggle, .mgh-grid-header-cell--detail-toggle { justify-content: center; padding: 0; }\n.mgh-grid-cell--boolean .mgh-grid-icon { color: var(--mgh-grid-fg-secondary); }\n.mgh-grid-cell--actions { gap: 2px; justify-content: center; }\n.mgh-grid-cell--aggregation { flex-direction: column; align-items: stretch; justify-content: center; line-height: 1.2; }\n.mgh-grid-cell--aggregation.mgh-grid-cell--align-right { align-items: flex-end; }\n.mgh-grid-cell--aggregation.mgh-grid-cell--align-center { align-items: center; }\n.mgh-grid-aggregation-label { font-size: 0.65rem; font-weight: 500; text-transform: uppercase; color: var(--mgh-grid-fg-secondary); letter-spacing: .04em; }\n.mgh-grid-group-cell { display: flex; align-items: center; gap: 4px; min-width: 0; }\n.mgh-grid-group-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 500; }\n.mgh-grid-group-count { color: var(--mgh-grid-fg-secondary); margin-left: 2px; }\n.mgh-grid-group-toggle { flex: 0 0 auto; }\n.mgh-grid-group-toggle .mgh-grid-icon { transition: transform .15s; }\n.mgh-grid-group-toggle--expanded .mgh-grid-icon { transform: rotate(90deg); }\n.mgh-grid-detail-toggle .mgh-grid-icon { transition: transform .15s; }\n.mgh-grid-detail-toggle--expanded .mgh-grid-icon { transform: rotate(180deg); }\n\n/* ---- pinned rows ---- */\n.mgh-grid-pinned-rows { position: sticky; z-index: 2; min-width: 100%; width: max-content; background: var(--mgh-grid-bg); }\n.mgh-grid-pinned-rows--top { box-shadow: 0 2px 4px -2px var(--mgh-grid-pinned-shadow); }\n.mgh-grid-pinned-rows--bottom { bottom: 0; box-shadow: 0 -2px 4px -2px var(--mgh-grid-pinned-shadow); }\n.mgh-grid-pinned-rows--bottom .mgh-grid-row { border-bottom: 0; border-top: 1px solid var(--mgh-grid-border); }\n\n/* ---- detail panel ---- */\n.mgh-grid-detail-panel { position: sticky; left: 0; overflow: auto; border-bottom: 1px solid var(--mgh-grid-border); background: var(--mgh-grid-bg); z-index: 1; }\n\n/* ---- overlays ---- */\n.mgh-grid-overlay { position: absolute; left: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 8px; z-index: 5; color: var(--mgh-grid-fg-secondary); font-size: 0.875rem; pointer-events: none; }\n.mgh-grid-overlay--loading { background: var(--mgh-grid-overlay); pointer-events: auto; }\n.mgh-grid-no-rows { display: flex; align-items: center; justify-content: center; gap: 8px; height: 100%; text-align: center; padding: 16px; }\n.mgh-grid-no-rows img, .mgh-grid-no-rows .mgh-grid-icon { width: 50px; height: 50px; color: var(--mgh-grid-fg-disabled); }\n.mgh-grid-spinner { width: 36px; height: 36px; border-radius: 50%; border: 3px solid var(--mgh-grid-selected); border-top-color: var(--mgh-grid-primary); animation: mgh-grid-spin .8s linear infinite; }\n@keyframes mgh-grid-spin { to { transform: rotate(360deg); } }\n\n/* ---- footer ---- */\n.mgh-grid-footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 52px; padding: 0 8px 0 16px; border-top: 1px solid var(--mgh-grid-border); font-size: 0.875rem; color: var(--mgh-grid-fg-secondary); flex-wrap: wrap; }\n.mgh-grid-footer-left { display: flex; align-items: center; gap: 16px; }\n.mgh-grid-pagination { display: flex; align-items: center; gap: 8px; margin-left: auto; flex-wrap: wrap; }\n.mgh-grid-pagination-select { height: 32px; padding: 2px 24px 2px 8px; font-size: 0.875rem; border-color: transparent; }\n.mgh-grid-pagination-select:hover { border-color: transparent; background-color: var(--mgh-grid-hover); }\n.mgh-grid-pagination-actions { display: inline-flex; align-items: center; }\n\n/* ---- popover / menu / panels ---- */\n.mgh-grid-popover {\n --mgh-grid-font-family: inherit; --mgh-grid-font-size: 14px; --mgh-grid-paper: #ffffff; --mgh-grid-bg: #fff; --mgh-grid-fg: rgba(0,0,0,.87); --mgh-grid-fg-secondary: rgba(0,0,0,.6); --mgh-grid-fg-disabled: rgba(0,0,0,.38); --mgh-grid-border: rgba(224,224,224,1); --mgh-grid-hover: rgba(0,0,0,.04); --mgh-grid-selected: rgba(25,118,210,.08); --mgh-grid-primary: #1976d2; --mgh-grid-primary-contrast: #fff; --mgh-grid-focus: #1976d2; --mgh-grid-input-bg: transparent; --mgh-grid-input-border: rgba(0,0,0,.23); --mgh-grid-popover-shadow: 0 5px 5px -3px rgba(0,0,0,.2), 0 8px 10px 1px rgba(0,0,0,.14), 0 3px 14px 2px rgba(0,0,0,.12);\n position: fixed; z-index: 1300; background: var(--mgh-grid-paper); color: var(--mgh-grid-fg); border-radius: 8px; box-shadow: var(--mgh-grid-popover-shadow); font-family: var(--mgh-grid-font-family); font-size: var(--mgh-grid-font-size); line-height: 1.5; outline: none; max-height: calc(100vh - 16px); overflow: auto; animation: mgh-grid-pop .12s ease-out;\n}\n.mgh-grid-popover[data-mgh-theme="dark"] { --mgh-grid-paper: #212b36; --mgh-grid-bg: #212b36; --mgh-grid-fg: #fff; --mgh-grid-fg-secondary: rgba(255,255,255,.7); --mgh-grid-fg-disabled: rgba(255,255,255,.5); --mgh-grid-border: rgba(81,81,81,1); --mgh-grid-hover: rgba(255,255,255,.08); --mgh-grid-selected: rgba(144,202,249,.16); --mgh-grid-primary: #90caf9; --mgh-grid-primary-contrast: rgba(0,0,0,.87); --mgh-grid-focus: #90caf9; --mgh-grid-input-border: rgba(255,255,255,.23); }\n@keyframes mgh-grid-pop { from { opacity: 0; transform: scale(0.96); } to { opacity: 1; transform: scale(1); } }\n.mgh-grid-menu { list-style: none; margin: 0; padding: 6px 0; min-width: 180px; }\n.mgh-grid-menu-item { display: flex; align-items: center; gap: 12px; padding: 6px 16px; min-height: 36px; font-size: 0.875rem; cursor: pointer; white-space: nowrap; color: var(--mgh-grid-fg); background: transparent; border: 0; width: 100%; text-align: left; font-family: inherit; outline: none; }\n.mgh-grid-menu-item:hover, .mgh-grid-menu-item:focus-visible { background: var(--mgh-grid-hover); }\n.mgh-grid-menu-item--disabled { color: var(--mgh-grid-fg-disabled); cursor: default; pointer-events: none; }\n.mgh-grid-menu-item--selected { background: var(--mgh-grid-selected); }\n.mgh-grid-menu-item .mgh-grid-icon { color: var(--mgh-grid-fg-secondary); flex: 0 0 auto; }\n.mgh-grid-menu-divider { height: 1px; margin: 6px 0; background: var(--mgh-grid-border); border: 0; }\n.mgh-grid-menu-header { padding: 6px 16px 2px; font-size: 0.75rem; color: var(--mgh-grid-fg-secondary); text-transform: uppercase; letter-spacing: .04em; }\n.mgh-grid-menu-section { padding: 4px 16px 8px; display: flex; flex-direction: column; gap: 4px; }\n.mgh-grid-panel { display: flex; flex-direction: column; min-width: 300px; max-width: min(640px, calc(100vw - 16px)); }\n.mgh-grid-panel-header { padding: 12px 12px 4px; }\n.mgh-grid-panel-content { padding: 4px 12px; overflow: auto; max-height: 360px; }\n.mgh-grid-panel-footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 12px; }\n.mgh-grid-columns-list { display: flex; flex-direction: column; }\n.mgh-grid-filter-row { display: grid; grid-template-columns: 32px minmax(120px, 1fr) minmax(120px, 1fr) minmax(140px, 1.3fr); gap: 8px; align-items: end; margin-bottom: 8px; }\n.mgh-grid-filter-row--first { grid-template-columns: 32px minmax(120px, 1fr) minmax(120px, 1fr) minmax(140px, 1.3fr); }\n.mgh-grid-filter-row--with-logic { grid-template-columns: 32px 80px minmax(120px, 1fr) minmax(120px, 1fr) minmax(140px, 1.3fr); }\n.mgh-grid-filter-row .mgh-grid-btn--icon { margin-bottom: 4px; }\n.mgh-grid-filter-empty { padding: 8px 4px; color: var(--mgh-grid-fg-secondary); font-size: 0.875rem; }\n@media (max-width: 599.95px) { .mgh-grid-filter-row, .mgh-grid-filter-row--with-logic { grid-template-columns: 1fr; } }\n\n/* ---- misc ---- */\n.mgh-grid-tooltip-anchor { display: inline-flex; }\n.mgh-grid-visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); border: 0; }\n@media print { .mgh-grid-toolbar, .mgh-grid-footer { display: none !important; } }\n';let yt=!1;const vt=e.useInsertionEffect??("undefined"!=typeof window?e.useLayoutEffect:e.useEffect),xt=()=>{vt(()=>{(()=>{if(yt||"undefined"==typeof document)return;if(document.getElementById(ft))return void(yt=!0);const e=document.createElement("style");e.id=ft,e.setAttribute("data-mgh-grid","true"),e.textContent=bt,document.head.appendChild(e),yt=!0})()},[])},wt=e.createContext(null);wt.displayName="MGHGridContext";const Et=()=>{const t=e.useContext(wt);if(!t)throw new Error("MGHGrid: this component must be rendered inside an <MGHGrid /> (e.g. through a slot).");return t},Ct=()=>Et().api,kt=()=>Et().localeText,Mt=()=>e.useRef(null);function St(t){const r=e.useRef(t);return r.current=t,r}function Dt(t,r,n){const a=void 0!==t,[o,l]=e.useState(r),i=a?t:o,d=St(i),s=St(a),c=St(n);return[i,e.useCallback(e=>{const t="function"==typeof e?e(d.current):e;Object.is(t,d.current)||(d.current=t,s.current||l(t),c.current?.(t))},[])]}let Ft=0;const Pt=(e,t)=>{const r=((e,t)=>{const r=e.getAllColumns();let n;if(t.fields){const e=new Map;r.forEach(t=>e.set(t.field,t)),n=t.fields.map(t=>e.get(t)).filter(Boolean)}else n=t.allColumns?r:e.getVisibleColumns();return n.filter(e=>!e.disableExport&&!fe(e.field)&&"actions"!==e.type)})(e,t),n=t.getRowsToExport?t.getRowsToExport({api:e}):e.getSortedRowIds(),a=[];return n.forEach(t=>{const n=e.getRow(t);n&&a.push(r.map(r=>{const a=Oe(n,r,e);return{raw:a,formatted:Le(Te(a,n,r,e,t)),col:r}}))}),{columns:r,headers:r.map(e=>e.headerName??e.field),rows:a}},It=(e,t,r)=>{const n=e&&e.trim()||t;return n.toLowerCase().endsWith(`.${r}`)?n:`${n}.${r}`},Nt=()=>(("undefined"!=typeof document&&document.title?document.title.trim():"")||"export").replace(/[\\/:*?"<>|]+/g,"-"),Rt=(e,t)=>{let r=e;return/^[=+\-@\t\r]/.test(r)&&(r=`'${r}`),-1!==r.indexOf('"')||-1!==r.indexOf(t)||/[\r\n]/.test(r)?`"${r.replace(/"/g,'""')}"`:r},zt=(e,t={})=>{const r=t.delimiter??",",n=t.includeHeaders??!0,a=Pt(e,t),o=[];return n&&o.push(a.headers.map(e=>Rt(e,r)).join(r)),a.rows.forEach(e=>{o.push(e.map(e=>{const n=t.useRawValues?be(e.raw)?"":String(e.raw):e.formatted;return Rt(n,r)}).join(r))}),o.join("\r\n")},Ot=String.fromCharCode(65279),At=(()=>{const e=new Uint32Array(256);for(let t=0;t<256;t+=1){let r=t;for(let e=0;e<8;e+=1)r=1&r?3988292384^r>>>1:r>>>1;e[t]=r>>>0}return e})(),Tt="undefined"!=typeof TextEncoder?new TextEncoder:null,Lt=e=>{if(Tt)return Tt.encode(e);const t=unescape(encodeURIComponent(e)),r=new Uint8Array(t.length);for(let e=0;e<t.length;e+=1)r[e]=t.charCodeAt(e);return r},Gt=e=>{const t=e.reduce((e,t)=>e+t.length,0),r=new Uint8Array(t);let n=0;return e.forEach(e=>{r.set(e,n),n+=e.length}),r},Ht=e=>{const t=[],r=[];let n=0;e.forEach(e=>{const a=Lt(e.name),o=(e=>{let t=4294967295;for(let r=0;r<e.length;r+=1)t=At[255&(t^e[r])]^t>>>8;return(4294967295^t)>>>0})(e.data),l=e.data.length,i=new Uint8Array(30+a.length),d=new DataView(i.buffer);d.setUint32(0,67324752,!0),d.setUint16(4,20,!0),d.setUint16(6,2048,!0),d.setUint16(8,0,!0),d.setUint16(10,0,!0),d.setUint16(12,33,!0),d.setUint32(14,o,!0),d.setUint32(18,l,!0),d.setUint32(22,l,!0),d.setUint16(26,a.length,!0),d.setUint16(28,0,!0),i.set(a,30);const s=new Uint8Array(46+a.length),c=new DataView(s.buffer);c.setUint32(0,33639248,!0),c.setUint16(4,20,!0),c.setUint16(6,20,!0),c.setUint16(8,2048,!0),c.setUint16(10,0,!0),c.setUint16(12,0,!0),c.setUint16(14,33,!0),c.setUint32(16,o,!0),c.setUint32(20,l,!0),c.setUint32(24,l,!0),c.setUint16(28,a.length,!0),c.setUint16(30,0,!0),c.setUint16(32,0,!0),c.setUint16(34,0,!0),c.setUint16(36,0,!0),c.setUint32(38,0,!0),c.setUint32(42,n,!0),s.set(a,46),t.push(i,e.data),r.push(s),n+=i.length+l});const a=Gt(r),o=new Uint8Array(22),l=new DataView(o.buffer);return l.setUint32(0,101010256,!0),l.setUint16(4,0,!0),l.setUint16(6,0,!0),l.setUint16(8,e.length,!0),l.setUint16(10,e.length,!0),l.setUint32(12,a.length,!0),l.setUint32(16,n,!0),l.setUint16(20,0,!0),Gt(t.concat([a,o]))},Vt=new RegExp("["+String.fromCharCode(0)+"-"+String.fromCharCode(8)+String.fromCharCode(11)+String.fromCharCode(12)+String.fromCharCode(14)+"-"+String.fromCharCode(31)+String.fromCharCode(65534)+String.fromCharCode(65535)+"]","g"),$t=e=>(e=>e.replace(Vt,""))(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;"),Bt=e=>{let t=e+1,r="";for(;t>0;){const e=(t-1)%26;r=String.fromCharCode(65+e)+r,t=Math.floor((t-1)/26)}return r},Ut='<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n',Wt=(e,t,r)=>{const n=[];let a=1;const o=(e,t,r)=>`<c r="${e}" t="inlineStr"${r?` s="${r}"`:""}><is><t xml:space="preserve">${$t(t)}</t></is></c>`;if(t){const t=e.headers.map((e,t)=>o(`${Bt(t)}${a}`,e,1)).join("");n.push(`<row r="${a}">${t}</row>`),a+=1}e.rows.forEach(e=>{const t=e.map((e,t)=>{const r=`${Bt(t)}${a}`,n=e.col.type;if(be(e.raw)||""===e.raw)return"";if("number"===n&&"number"==typeof e.raw&&Number.isFinite(e.raw))return`<c r="${r}"><v>${e.raw}</v></c>`;if("boolean"===n)return`<c r="${r}" t="b"><v>${e.raw?1:0}</v></c>`;if(("date"===n||"dateTime"===n)&&De(e.raw)){const t=De(e.raw);return`<c r="${r}" s="${"dateTime"===n?3:2}"><v>${Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds())/864e5+25569}</v></c>`}return o(r,e.formatted)}).join("");n.push(`<row r="${a}">${t}</row>`),a+=1});const l=Bt(Math.max(e.columns.length-1,0)),i=Math.max(a-1,1),d=r.map((e,t)=>`<col min="${t+1}" max="${t+1}" width="${e}" customWidth="1"/>`).join("");return Ut+'<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">'+`<dimension ref="A1:${l}${i}"/><sheetViews><sheetView workbookViewId="0">`+(t?'<pane ySplit="1" topLeftCell="A2" activePane="bottomLeft" state="frozen"/>':"")+'</sheetView></sheetViews><sheetFormatPr defaultRowHeight="15"/>'+(d?`<cols>${d}</cols>`:"")+`<sheetData>${n.join("")}</sheetData>`+(t&&e.rows.length>0?`<autoFilter ref="A1:${l}${i}"/>`:"")+"</worksheet>"},_t=Ut+'<styleSheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><numFmts count="2"><numFmt numFmtId="164" formatCode="m/d/yyyy"/><numFmt numFmtId="165" formatCode="m/d/yyyy h:mm AM/PM"/></numFmts><fonts count="2"><font><sz val="11"/><name val="Calibri"/></font><font><b/><sz val="11"/><name val="Calibri"/></font></fonts><fills count="2"><fill><patternFill patternType="none"/></fill><fill><patternFill patternType="gray125"/></fill></fills><borders count="1"><border><left/><right/><top/><bottom/><diagonal/></border></borders><cellStyleXfs count="1"><xf numFmtId="0" fontId="0" fillId="0" borderId="0"/></cellStyleXfs><cellXfs count="4"><xf numFmtId="0" fontId="0" fillId="0" borderId="0" xfId="0"/><xf numFmtId="0" fontId="1" fillId="0" borderId="0" xfId="0" applyFont="1"/><xf numFmtId="164" fontId="0" fillId="0" borderId="0" xfId="0" applyNumberFormat="1"/><xf numFmtId="165" fontId="0" fillId="0" borderId="0" xfId="0" applyNumberFormat="1"/></cellXfs><cellStyles count="1"><cellStyle name="Normal" xfId="0" builtinId="0"/></cellStyles></styleSheet>',jt=Ut+'<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/><Default Extension="xml" ContentType="application/xml"/><Override PartName="/xl/workbook.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml"/><Override PartName="/xl/worksheets/sheet1.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"/><Override PartName="/xl/styles.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml"/><Override PartName="/docProps/core.xml" ContentType="application/vnd.openxmlformats-package.core-properties+xml"/><Override PartName="/docProps/app.xml" ContentType="application/vnd.openxmlformats-officedocument.extended-properties+xml"/></Types>',Yt=Ut+'<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="xl/workbook.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/><Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/></Relationships>',qt=Ut+'<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="worksheets/sheet1.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles" Target="styles.xml"/></Relationships>',Kt=e=>Ut+'<workbook xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">'+`<sheets><sheet name="${$t(e)}" sheetId="1" r:id="rId1"/></sheets></workbook>`,Xt=()=>{const e=(new Date).toISOString();return Ut+'<cp:coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dcmitype="http://purl.org/dc/dcmitype/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><dc:creator>MGH Grid</dc:creator>'+`<dcterms:created xsi:type="dcterms:W3CDTF">${e}</dcterms:created>`+`<dcterms:modified xsi:type="dcterms:W3CDTF">${e}</dcterms:modified></cp:coreProperties>`},Qt=Ut+'<Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties" xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"><Application>MGH Grid</Application></Properties>',Jt=(e,t={})=>{const r=t.includeHeaders??!0,n=Pt(e,t),a=n.columns.map((e,r)=>{const a=t.columnsStyles?.[e.field]?.width;if(a)return a;let o=n.headers[r].length;for(let e=0;e<Math.min(n.rows.length,500);e+=1){const t=n.rows[e][r].formatted.length;t>o&&(o=t)}return Math.min(Math.max(o+2,8),60)}),o=(e=>{const t=(e||"Sheet1").replace(/[\[\]:*?/\\]/g," ").trim()||"Sheet1";return t.length>31?t.slice(0,31):t})(t.sheetName),l=[{name:"[Content_Types].xml",data:Lt(jt)},{name:"_rels/.rels",data:Lt(Yt)},{name:"docProps/core.xml",data:Lt(Xt())},{name:"docProps/app.xml",data:Lt(Qt)},{name:"xl/workbook.xml",data:Lt(Kt(o))},{name:"xl/_rels/workbook.xml.rels",data:Lt(qt)},{name:"xl/styles.xml",data:Lt(_t)},{name:"xl/worksheets/sheet1.xml",data:Lt(Wt(n,r,a))}];return Ht(l)},Zt=e=>e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"),er=(e,t={})=>{if("undefined"==typeof document)return;const r=t.includeHeaders??!0,n=Pt(e,t),a=t.title??t.fileName??document.title??"",o=r?`<thead><tr>${n.headers.map((e,t)=>`<th class="${n.columns[t].align??"left"}">${Zt(e)}</th>`).join("")}</tr></thead>`:"",l=`<tbody>${n.rows.map(e=>`<tr>${e.map(e=>`<td class="${e.col.align??"left"}">${Zt(e.formatted)}</td>`).join("")}</tr>`).join("")}</tbody>`,i=`<!doctype html><html><head><meta charset="utf-8" /><title>${Zt(a)}</title><style>body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:12px;color:#111;margin:16px;}h1{font-size:16px;margin:0 0 12px;}table{border-collapse:collapse;width:100%;}th,td{border:1px solid #ccc;padding:4px 8px;text-align:left;vertical-align:top;}th{background:#f3f3f3;font-weight:600;}td.right,th.right{text-align:right;} td.center,th.center{text-align:center;}tr{page-break-inside:avoid;} thead{display:table-header-group;}`+(t.pageStyle??"")+"</style></head><body>"+(a?`<h1>${Zt(a)}</h1>`:"")+`<table>${o}${l}</table></body></html>`,d=document.createElement("iframe");d.setAttribute("aria-hidden","true"),d.style.position="fixed",d.style.right="0",d.style.bottom="0",d.style.width="0",d.style.height="0",d.style.border="0",d.style.opacity="0",document.body.appendChild(d);const s=()=>{window.setTimeout(()=>{d.parentNode&&d.parentNode.removeChild(d)},1e3)};d.onload=()=>{const e=d.contentWindow;if(e)try{e.focus(),e.onafterprint=s,e.print()}catch{s()}else s()};const c=d.contentDocument||d.contentWindow?.document;c?(c.open(),c.write(i),c.close()):d.srcdoc=i},tr=e=>e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"),rr=e=>{let t=!1;const r=()=>{t||(t=!0,e.onDone())};try{nr({...e,onDone:r})}catch(e){console.error("MGHGrid: print failed",e),r()}},nr=({cardElement:e,options:t,onDone:r})=>{if("undefined"==typeof document)return void r();const n=t.hideToolbar??!0,a=t.hideFooter??!1,o=t.includeHeaders??!0,l=t.copyStyles??!0,i=e.cloneNode(!0);((e,t)=>{const r=Array.from(e.querySelectorAll("input, select, textarea")),n=Array.from(t.querySelectorAll("input, select, textarea"));r.forEach((e,t)=>{const r=n[t];if(r&&r.tagName===e.tagName)if("INPUT"===e.tagName){const t=e,n=r;"checkbox"===t.type||"radio"===t.type?(n.checked=t.checked,t.checked&&n.setAttribute("checked",""),n.indeterminate=t.indeterminate):(n.value=t.value,n.setAttribute("value",t.value))}else"SELECT"===e.tagName?r.value=e.value:"TEXTAREA"===e.tagName&&(r.value=e.value,r.textContent=e.value)});const a=Array.from(e.querySelectorAll("canvas")),o=Array.from(t.querySelectorAll("canvas"));a.forEach((e,t)=>{const r=o[t];if(r)try{const t=r.ownerDocument.createElement("img");t.src=e.toDataURL(),t.width=e.width,t.height=e.height,t.style.cssText=r.style.cssText,r.replaceWith(t)}catch{}})})(e,i),i.querySelectorAll(".mgh-grid-card-header").forEach(e=>e.remove()),n&&i.querySelectorAll(".mgh-grid-toolbar").forEach(e=>e.remove()),a&&i.querySelectorAll(".mgh-grid-footer").forEach(e=>e.remove()),o||i.querySelectorAll(".mgh-grid-columns").forEach(e=>e.remove()),i.classList.add("mgh-grid-card--plain"),i.querySelectorAll("[id]").forEach(e=>e.removeAttribute("id")),i.style.height="auto",i.style.flexGrow="0";const d=t.title??"",{styles:s,links:c}=l?(e=>{const t=[],r=[];return Array.from(e.styleSheets).forEach(e=>{try{const r=Array.from(e.cssRules).map(e=>e.cssText).join("\n");r&&t.push(r)}catch{e.href&&r.push(e.href)}}),{styles:t,links:r}})(document):{styles:[],links:[]},g=document.createElement("iframe");g.setAttribute("aria-hidden","true"),g.setAttribute("data-mgh-grid-print","true"),g.style.cssText="position:fixed;right:0;bottom:0;width:0;height:0;border:0;opacity:0;pointer-events:none;",document.body.appendChild(g);let m=!1;const p=()=>{m||(m=!0,window.setTimeout(()=>{g.parentNode&&g.parentNode.removeChild(g)},500),r())},u=g.contentWindow,h=g.contentDocument||u?.document;if(!u||!h)return void p();h.open(),h.write(`<!doctype html><html><head><meta charset="utf-8" /><title>${tr(d||document.title||"Print")}</title>`+c.map(e=>`<link rel="stylesheet" href="${tr(e)}" />`).join("")+"</head><body></body></html>"),h.close(),s.forEach(e=>{const t=h.createElement("style");t.textContent=e,h.head.appendChild(t)});const f=h.createElement("style");if(f.textContent='\n@page { margin: 10mm; }\nhtml, body { margin: 0; padding: 0; background: #fff; }\n.mgh-grid-print-title { margin: 0 0 12px; font: 600 16px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }\n.mgh-grid-card { box-shadow: none !important; border-radius: 0 !important; height: auto !important; max-height: none !important; overflow: visible !important; background: transparent !important; }\n.mgh-grid-box { height: auto !important; max-height: none !important; flex: none !important; }\n.mgh-grid { height: auto !important; max-height: none !important; border-radius: 0 !important; }\n.mgh-grid-main, .mgh-grid-scroller { overflow: visible !important; height: auto !important; max-height: none !important; }\n.mgh-grid-columns, .mgh-grid-pinned-rows, .mgh-grid-detail-panel { position: static !important; box-shadow: none !important; }\n.mgh-grid-header-cell, .mgh-grid-cell { position: static !important; box-shadow: none !important; background-image: none !important; }\n.mgh-grid-detail-panel { width: auto !important; }\n.mgh-grid-body { min-height: 0 !important; }\n.mgh-grid-row, .mgh-grid-row-block, .mgh-grid-detail-panel { break-inside: avoid; page-break-inside: avoid; }\n.mgh-grid-columns { break-after: avoid; page-break-after: avoid; }\n.mgh-grid-header-menu-btn, .mgh-grid-resize-handle, .mgh-grid-overlay, .mgh-grid-sort-icon:not(.mgh-grid-sort-icon--active) { display: none !important; }\n.mgh-grid-popover { display: none !important; }\n'+(t.pageStyle??""),h.head.appendChild(f),d){const e=h.createElement("h1");e.className="mgh-grid-print-title",e.textContent=d,h.body.appendChild(e)}h.body.appendChild(h.adoptNode(i));(async()=>{try{await((e,t)=>new Promise(r=>{const n=Array.from(e.images).filter(e=>!e.complete);if(0===n.length)return void r();let a=n.length,o=!1;const l=()=>{o||(o=!0,r())},i=window.setTimeout(l,t);n.forEach(e=>{const t=()=>{a-=1,a<=0&&(window.clearTimeout(i),l())};e.addEventListener("load",t,{once:!0}),e.addEventListener("error",t,{once:!0})})}))(h,4e3),t.onBeforePrint&&await t.onBeforePrint(h),u.onafterprint=p,u.focus(),u.print(),window.setTimeout(p,1e3)}catch{p()}})()},ar=e=>be(e)?"":e instanceof Date?String(e.getTime()):String(e),or=(e,t,r,n,a="(empty)")=>{const o=(e,l,i,d)=>{const s=t[l],c=r.get(s);if(!c)return[];const g=new Map;e.forEach(e=>{const t=((e,t,r)=>t.groupingValueGetter?t.groupingValueGetter(e[t.field],e,t,r):Oe(e,t,r))(e.row,c,n),r=ar(t);let o=g.get(r);if(!o){const m=Le(Te(t,e.row,c,n,e.id))||a;o={id:`auto-generated-row-${d}${s}/${r}`,depth:l,parent:i,groupingField:s,groupingKey:t,groupingLabel:m,childGroups:[],leaves:[],descendants:[]},g.set(r,o)}o.leaves.push(e)});const m=[];return g.forEach(e=>{l<t.length-1?(e.childGroups=o(e.leaves,l+1,e.id,`${d}${s}/${ar(e.groupingKey)}|`),e.descendants=e.leaves,e.leaves=[]):e.descendants=e.leaves,m.push(e)}),m};return o(e,0,null,"")},lr=e=>{const t=[];return e.forEach(e=>e.descendants.forEach(e=>t.push(e))),t},ir=(e,t,r,n,a)=>{const o={};return Object.keys(t).forEach(l=>{const i=t[l],d=n[i],s=r.get(l);if(!d||!s||!1===s.aggregable)return;const c=e.map(e=>Oe(e,s,a));o[l]={value:d.apply({values:c,field:l}),fn:i}}),o},dr=(t,r)=>{const n=e.forwardRef(({size:r=20,className:n,style:a,...o},l)=>e.createElement("svg",{ref:l,viewBox:"0 0 24 24",width:r,height:r,fill:"currentColor",focusable:"false","aria-hidden":"true",className:["mgh-grid-icon",n].filter(Boolean).join(" "),style:a,...o},t));return n.displayName=r,n},sr=dr(e.createElement("path",{d:"M14.67 5v14H9.33V5h5.34zm1 14H21V5h-5.33v14zm-7.34 0V5H3v14h5.33z"}),"ViewColumnIcon"),cr=dr(e.createElement("path",{d:"M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"}),"FilterListIcon"),gr=dr(e.createElement("path",{d:"M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 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"}),"SearchIcon"),mr=dr(e.createElement("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"CloseIcon"),pr=dr(e.createElement("path",{d:"M19 12v7H5v-7H3v7c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-7h-2zm-6 .67 2.59-2.58L17 11.5l-5 5-5-5 1.41-1.41L11 12.67V3h2z"}),"DownloadIcon"),ur=dr(e.createElement("path",{d:"m4 12 1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z"}),"ArrowUpwardIcon"),hr=dr(e.createElement("path",{d:"m20 12-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"}),"ArrowDownwardIcon"),fr=dr(e.createElement("path",{d:"M12 8c1.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"}),"MoreVertIcon"),br=dr(e.createElement("path",{d:"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"}),"CheckIcon"),yr=dr(e.createElement("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"ExpandMoreIcon"),vr=dr(e.createElement("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"ChevronRightIcon"),xr=dr(e.createElement("path",{d:"M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10.83 12z"}),"ChevronLeftIcon"),wr=dr(e.createElement("path",{d:"M18.41 16.59 13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z"}),"FirstPageIcon"),Er=dr(e.createElement("path",{d:"M5.59 7.41 10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z"}),"LastPageIcon"),Cr=dr(e.createElement("path",{d:"M16 9V4h1c.55 0 1-.45 1-1s-.45-1-1-1H7c-.55 0-1 .45-1 1s.45 1 1 1h1v5c0 1.66-1.34 3-3 3v2h5.97v7l1 1 1-1v-7H19v-2c-1.66 0-3-1.34-3-3z"}),"PushPinIcon"),kr=dr(e.createElement("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"}),"DeleteIcon"),Mr=dr(e.createElement("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"}),"AddIcon"),Sr=dr(e.createElement("path",{d:"M3 2h18v2H3zm0 18h18v2H3zm0-6h18v2H3zm0-6h18v2H3z"}),"DensitySmallIcon"),Dr=dr(e.createElement("path",{d:"M3 3h18v2H3zm0 16h18v2H3zm0-8h18v2H3z"}),"DensityMediumIcon"),Fr=dr(e.createElement("path",{d:"M3 3h18v2H3zm0 16h18v2H3z"}),"DensityLargeIcon"),Pr=dr(e.createElement("path",{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"}),"DragIndicatorIcon"),Ir=dr(e.createElement("path",{d:"M19 8H5c-1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.34-3-3-3zm-3 11H8v-5h8v5zm3-7c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-1-9H6v4h12V3z"}),"PrintIcon"),Nr=dr(e.createElement("path",{d:"M10 10.02h5V21h-5zM17 21h3c1.1 0 2-.9 2-2v-9h-5v11zm3-18H5c-1.1 0-2 .9-2 2v3h19V5c0-1.1-.9-2-2-2zM3 19c0 1.1.9 2 2 2h3V10H3v9z"}),"TableChartIcon"),Rr=dr(e.createElement("path",{d:"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 16H8v-2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z"}),"DescriptionIcon"),zr=dr(e.createElement("path",{d:"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46A11.804 11.804 0 0 0 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"}),"VisibilityOffIcon"),Or=dr(e.createElement("path",{d:"M18 4H6v2l6.5 6L6 18v2h12v-3h-7l5-5-5-5h7z"}),"FunctionsIcon"),Ar=dr(e.createElement("path",{d:"M6 13c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4zm6-10C9.8 3 8 4.8 8 7s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4zm6 10c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4z"}),"WorkspacesIcon"),Tr=dr(e.createElement(e.Fragment,null,e.createElement("path",{d:"M20 6h-2.18c.11-.31.18-.65.18-1a2.996 2.996 0 0 0-5.5-1.65l-.5.67-.5-.68C10.96 2.54 10.05 2 9 2 7.34 2 6 3.34 6 5c0 .35.07.69.18 1H4c-1.11 0-1.99.89-1.99 2L2 19c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2z",opacity:".25"}),e.createElement("path",{d:"M4 8h16v11H4z",opacity:".15"})),"EmptyBoxIcon");var Lr=Object.freeze({__proto__:null,AddIcon:Mr,ArrowDownwardIcon:hr,ArrowUpwardIcon:ur,CheckIcon:br,ChevronLeftIcon:xr,ChevronRightIcon:vr,CloseIcon:mr,DeleteIcon:kr,DensityLargeIcon:Fr,DensityMediumIcon:Dr,DensitySmallIcon:Sr,DescriptionIcon:Rr,DownloadIcon:pr,DragIndicatorIcon:Pr,EmptyBoxIcon:Tr,ExpandMoreIcon:yr,FilterListIcon:cr,FirstPageIcon:wr,FunctionsIcon:Or,LastPageIcon:Er,MoreVertIcon:fr,PrintIcon:Ir,PushPinIcon:Cr,SearchIcon:gr,TableChartIcon:Nr,ViewColumnIcon:sr,VisibilityOffIcon:zr,WorkspacesIcon:Ar});const Gr=e.forwardRef(({variant:t="text",size:r="medium",startIcon:n,endIcon:a,active:o,className:l,children:i,type:d="button",...s},c)=>e.createElement("button",{ref:c,type:d,className:xe("mgh-grid-btn","primary"===t&&"mgh-grid-btn--primary","contained"===t&&"mgh-grid-btn--contained","small"===r&&"mgh-grid-btn--small",o&&"mgh-grid-btn--active",l),...s},n,i,a));Gr.displayName="MGHGridButton";const Hr=e.forwardRef(({size:t="medium",active:r,label:n,className:a,children:o,type:l="button",...i},d)=>e.createElement("button",{ref:d,type:l,title:n,"aria-label":n,className:xe("mgh-grid-btn mgh-grid-btn--icon","small"===t&&"mgh-grid-btn--small",r&&"mgh-grid-btn--active",a),...i},o));Hr.displayName="MGHGridIconButton";const Vr=({count:t=0,variant:r="dot",children:n})=>e.createElement("span",{className:"mgh-grid-badge"},n,t>0&&("dot"===r?e.createElement("span",{className:"mgh-grid-badge-dot"}):e.createElement("span",{className:"mgh-grid-badge-count"},t>99?"99+":t))),$r=e.forwardRef(({size:t="medium",className:r,...n},a)=>e.createElement("input",{ref:a,className:xe("mgh-grid-input","small"===t&&"mgh-grid-input--small",r),...n}));$r.displayName="MGHGridTextInput";const Br=e.forwardRef(({size:t="medium",className:r,...n},a)=>e.createElement("select",{ref:a,className:xe("mgh-grid-select","small"===t&&"mgh-grid-select--small",r),...n}));Br.displayName="MGHGridSelect";const Ur=({label:t,children:r,className:n,htmlFor:a})=>e.createElement("div",{className:xe("mgh-grid-field",n)},t&&e.createElement("label",{className:"mgh-grid-field-label",htmlFor:a},t),r),Wr=e.forwardRef(({indeterminate:t=!1,label:r,className:n,...a},o)=>{const l=e.useRef(null),i=e.useCallback(e=>{l.current=e,"function"==typeof o?o(e):o&&(o.current=e)},[o]);return e.useEffect(()=>{l.current&&(l.current.indeterminate=t)},[t]),e.createElement("input",{ref:i,type:"checkbox",title:r,"aria-label":r,className:xe("mgh-grid-checkbox",n),...a})});Wr.displayName="MGHGridCheckbox";const _r=({className:t})=>e.createElement("div",{className:xe("mgh-grid-spinner",t),role:"progressbar","aria-label":"Loading"});function jr({open:t,anchorEl:r,onClose:n,children:a,placement:o="bottom-start",themeMode:l="light",className:i,style:d,offset:s=4,role:c="dialog",autoFocus:g=!1,ignoreOutsideClickOn:m}){const p=e.useRef(null),[u,h]=e.useState({top:0,left:0,ready:!1}),f=e.useCallback(()=>{const e=p.current;if(!e)return;const t=window.innerWidth,n=window.innerHeight,a=e.offsetWidth,l=e.offsetHeight;let i,d;if(r&&r.isConnected){const e=r.getBoundingClientRect();"right-start"===o?(i=e.top,d=e.right+s,d+a>t-8&&(d=e.left-s-a)):(i=e.bottom+s,i+l>n-8&&e.top-s-l>=8&&(i=e.top-s-l),d="bottom-end"===o?e.right-a:"bottom"===o?e.left+e.width/2-a/2:e.left)}else i=n/2-l/2,d=t/2-a/2;i=ve(i,8,Math.max(8,n-l-8)),d=ve(d,8,Math.max(8,t-a-8)),h(e=>e.ready&&e.top===i&&e.left===d?e:{top:i,left:d,ready:!0})},[r,o,s]);if(e.useLayoutEffect(()=>{if(!t)return void h(e=>e.ready?{...e,ready:!1}:e);f(),window.addEventListener("resize",f),window.addEventListener("scroll",f,!0);let e=null;return"undefined"!=typeof ResizeObserver&&p.current&&(e=new ResizeObserver(()=>f()),e.observe(p.current)),()=>{window.removeEventListener("resize",f),window.removeEventListener("scroll",f,!0),e?.disconnect()}},[t,f]),e.useEffect(()=>{if(!t)return;const e=e=>{const t=e.target;t&&(p.current?.contains(t)||r?.contains(t)||m?.some(e=>e.current?.contains(t))||t.closest?.(".mgh-grid-popover")||n("backdrop"))},a=e=>{"Escape"===e.key&&n("escape")};return document.addEventListener("mousedown",e,!0),document.addEventListener("touchstart",e,!0),document.addEventListener("keydown",a),()=>{document.removeEventListener("mousedown",e,!0),document.removeEventListener("touchstart",e,!0),document.removeEventListener("keydown",a)}},[t,n,r,m]),e.useEffect(()=>{if(t&&g&&p.current){(p.current.querySelector('input, select, textarea, button, [tabindex]:not([tabindex="-1"])')??p.current).focus()}},[t,g]),!t||"undefined"==typeof document)return null;const b=e=>e.stopPropagation();return W(e.createElement("div",{ref:p,role:c,tabIndex:-1,className:xe("mgh-grid-popover",i),"data-mgh-theme":l,style:{top:u.top,left:u.left,visibility:u.ready?"visible":"hidden",...d},onClick:b,onDoubleClick:b,onMouseDown:b,onKeyDown:e=>{if("Escape"===e.key)return e.stopPropagation(),void n("escape");e.stopPropagation()}},a),document.body)}const Yr=({children:t,className:r,onKeyDown:n,...a})=>{const o=e.useRef(null);return e.useEffect(()=>{const e=o.current?.querySelector('[role="menuitem"]:not([aria-disabled="true"])');e?.focus()},[]),e.createElement("ul",{ref:o,role:"menu",className:xe("mgh-grid-menu",r),onKeyDown:e=>{if(n?.(e),"ArrowDown"!==e.key&&"ArrowUp"!==e.key&&"Home"!==e.key&&"End"!==e.key)return;const t=Array.from(o.current?.querySelectorAll('[role="menuitem"]:not([aria-disabled="true"])')??[]);if(0===t.length)return;e.preventDefault();const r=t.indexOf(document.activeElement);let a=0;a="ArrowDown"===e.key?r<0?0:(r+1)%t.length:"ArrowUp"===e.key?r<0?t.length-1:(r-1+t.length)%t.length:"Home"===e.key?0:t.length-1,t[a].focus()},...a},t)},qr=e.forwardRef(({icon:t,selected:r,disabled:n,className:a,children:o,onClick:l,hideMenu:i,...d},s)=>e.createElement("li",{role:"none"},e.createElement("button",{ref:s,type:"button",role:"menuitem","aria-disabled":n||void 0,disabled:n,tabIndex:-1,className:xe("mgh-grid-menu-item",n&&"mgh-grid-menu-item--disabled",r&&"mgh-grid-menu-item--selected",a),onClick:e=>{n||(l?.(e),i?.())},...d},t,e.createElement("span",null,o))));qr.displayName="MGHGridMenuItem";const Kr=()=>e.createElement("li",{role:"separator",className:"mgh-grid-menu-divider"}),Xr=({children:t})=>e.createElement("li",{role:"presentation",className:"mgh-grid-menu-section"},t);function Qr(){const{api:t,state:r,localeText:n}=Et(),a=r.preferencePanel.open&&"columns"===r.preferencePanel.openedPanelValue;return e.createElement(Hr,{label:n.toolbarColumns,active:a,"aria-haspopup":"dialog","aria-expanded":a,onClick:e=>a?t.hidePreferences():t.showPreferences("columns",e.currentTarget)},e.createElement(sr,null))}function Jr(){const{api:t,state:r,localeText:n}=Et(),a=r.preferencePanel.open&&"filters"===r.preferencePanel.openedPanelValue;return e.createElement(Hr,{label:n.toolbarFilters,active:a,"aria-haspopup":"dialog","aria-expanded":a,onClick:e=>a?t.hidePreferences():t.showPreferences("filters",e.currentTarget)},e.createElement(Vr,{count:r.filterCount,variant:"dot"},e.createElement(cr,null)))}function Zr(){const{api:t,state:r,localeText:n,themeMode:a}=Et(),[o,l]=e.useState(null),i=[{value:"compact",label:n.densityCompact,icon:e.createElement(Sr,null)},{value:"standard",label:n.densityStandard,icon:e.createElement(Dr,null)},{value:"comfortable",label:n.densityComfortable,icon:e.createElement(Fr,null)}],d=i.find(e=>e.value===r.density)??i[1];return e.createElement(e.Fragment,null,e.createElement(Hr,{label:n.toolbarDensity,active:Boolean(o),"aria-haspopup":"menu",onClick:e=>l(t=>t?null:e.currentTarget)},d.icon),e.createElement(jr,{open:Boolean(o),anchorEl:o,onClose:()=>l(null),themeMode:a,role:"menu"},e.createElement(Yr,null,i.map(n=>e.createElement(qr,{key:n.value,icon:n.icon,selected:n.value===r.density,onClick:()=>t.setDensity(n.value),hideMenu:()=>l(null)},n.label)))))}const en=qr;function tn({csvOptions:t={allColumns:!0},excelOptions:r={allColumns:!0},printOptions:n,showCsvOption:a=!0,showExcelOption:o=!0,showPrintOption:l=!0,customMenuItem:i}){const{api:d,localeText:s,themeMode:c,rootProps:g}=Et(),[m,p]=e.useState(null),u=()=>p(null),h=e.Children.map(i,t=>e.isValidElement(t)?e.cloneElement(t,{hideMenu:u}):t),f={title:"string"==typeof g.header?g.header:void 0,...n};return e.createElement(e.Fragment,null,e.createElement(Hr,{label:s.toolbarExport,active:Boolean(m),"aria-haspopup":"menu",onClick:e=>p(t=>t?null:e.currentTarget)},e.createElement(pr,null)),e.createElement(jr,{open:Boolean(m),anchorEl:m,onClose:u,themeMode:c,role:"menu"},e.createElement(Yr,null,h,a&&e.createElement(qr,{icon:e.createElement(Rr,null),onClick:()=>d.exportDataAsCsv(t),hideMenu:u},s.toolbarExportCSV),o&&e.createElement(qr,{icon:e.createElement(Nr,null),onClick:()=>{d.exportDataAsExcel(r)},hideMenu:u},s.toolbarExportExcel),l&&e.createElement(qr,{icon:e.createElement(Ir,null),onClick:()=>d.exportDataAsPrint(f),hideMenu:u},s.toolbarExportPrint))))}function rn({placeholder:t,debounceMs:r,alwaysExpanded:n=!1}){const{api:a,state:o,localeText:l,rootProps:i}=Et(),d=(o.quickFilterValues??[]).join(" "),[s,c]=e.useState(d),[g,m]=e.useState(n||""!==d),p=e.useRef(null),u=e.useRef(null),h=r??i.quickFilterDebounceMs,f=e.useRef(d);e.useEffect(()=>{d!==f.current&&(f.current=d,c(d),""!==d&&m(!0))},[d]),e.useEffect(()=>()=>{null!==u.current&&window.clearTimeout(u.current)},[]);const b=e=>{const t=e.split(/\s+/).filter(e=>""!==e);f.current=t.join(" "),a.setQuickFilterValues(t)},y=()=>{null!==u.current&&window.clearTimeout(u.current),c(""),b(""),p.current?.focus()},v=n||g;return e.createElement("div",{className:xe("mgh-grid-quick-filter",v&&"mgh-grid-quick-filter--expanded")},e.createElement(Hr,{className:"mgh-grid-quick-filter-trigger",label:l.toolbarQuickFilterLabel,"aria-disabled":v,tabIndex:v?-1:0,onClick:()=>{m(!0),window.setTimeout(()=>p.current?.focus(),0)}},e.createElement(gr,null)),e.createElement("div",{className:xe("mgh-grid-quick-filter-control mgh-grid-input-adorned",s&&"mgh-grid-input-adorned--clearable")},e.createElement("span",{className:"mgh-grid-input-adornment"},e.createElement(gr,{size:18})),e.createElement($r,{ref:p,size:"small",type:"search",value:s,tabIndex:v?0:-1,placeholder:t??l.toolbarQuickFilterPlaceholder,"aria-label":l.toolbarQuickFilterLabel,onChange:e=>{return t=e.target.value,c(t),null!==u.current&&window.clearTimeout(u.current),void(u.current=window.setTimeout(()=>b(t),h));var t},onBlur:()=>{n||""!==s.trim()||m(!1)},onKeyDown:e=>{"Escape"===e.key&&(e.stopPropagation(),s?y():n||(m(!1),p.current?.blur())),"Enter"===e.key&&(null!==u.current&&window.clearTimeout(u.current),b(s))}}),s&&e.createElement("span",{className:"mgh-grid-input-adornment mgh-grid-input-adornment--end"},e.createElement(Hr,{size:"small",label:l.clearSearch,onClick:y,tabIndex:-1},e.createElement(mr,null)))))}function nn({showColumnsButton:t=!0,showFilterButton:r=!0,showExportButton:n=!0,showQuickFilter:a=!0,showDensitySelector:o=!1,showCsvOption:l=!0,showExcelOption:i=!0,showPrintOption:d=!0,csvOptions:s,excelOptions:c,printOptions:g,renderOtherButtons:m,renderDateRange:p,customMenuItem:u,quickFilterPlaceholder:h,quickFilterDebounceMs:f}){const{rootProps:b}=Et(),y=t&&!b.disableColumnSelector,v=r&&!b.disableColumnFilter,x=o&&!b.disableDensitySelector;return e.createElement("div",{className:"mgh-grid-toolbar",role:"toolbar"},e.createElement("div",{className:"mgh-grid-toolbar-group"},y&&e.createElement(Qr,null),v&&e.createElement(Jr,null),x&&e.createElement(Zr,null),n&&e.createElement(tn,{csvOptions:s,excelOptions:c,printOptions:g,showCsvOption:l,showExcelOption:i,showPrintOption:d,customMenuItem:u})),p&&e.createElement("div",{className:"mgh-grid-toolbar-center"},p),e.createElement("div",{className:"mgh-grid-toolbar-group"},m,a&&e.createElement(rn,{placeholder:h,debounceMs:f})))}function an(){const{api:t,state:r,localeText:n,rootProps:a}=Et(),{page:o,pageSize:l}=r.paginationModel,i=r.rowCount,d=r.pageCount,s=0===i?0:o*l+1,c=Math.min(i,(o+1)*l),g=-1===a.pageSizeOptions.indexOf(l)?a.pageSizeOptions.concat([l]).sort((e,t)=>e-t):a.pageSizeOptions;return e.createElement("div",{className:"mgh-grid-pagination",role:"navigation","aria-label":"Pagination"},e.createElement("span",null,n.footerPaginationRowsPerPage),e.createElement(Br,{className:"mgh-grid-pagination-select",value:l,"aria-label":n.footerPaginationRowsPerPage,onChange:e=>t.setPageSize(Number(e.target.value))},g.map(t=>e.createElement("option",{key:t,value:t},t))),e.createElement("span",null,n.footerPaginationDisplayedRows(s,c,i)),e.createElement("div",{className:"mgh-grid-pagination-actions"},e.createElement(Hr,{label:n.footerPaginationFirstPage,disabled:o<=0,onClick:()=>t.setPage(0)},e.createElement(wr,null)),e.createElement(Hr,{label:n.footerPaginationPreviousPage,disabled:o<=0,onClick:()=>t.setPage(o-1)},e.createElement(xr,null)),e.createElement(Hr,{label:n.footerPaginationNextPage,disabled:o>=d-1,onClick:()=>t.setPage(o+1)},e.createElement(vr,null)),e.createElement(Hr,{label:n.footerPaginationLastPage,disabled:o>=d-1,onClick:()=>t.setPage(Math.max(d-1,0))},e.createElement(Er,null))))}function on(){const{state:t,localeText:r,rootProps:n}=Et(),a=t.rowSelectionModel.ids.size,o=a>0&&!n.hideFooterSelectedRowCount,l=n.pagination&&!n.hideFooterPagination,i=!l&&!n.hideFooterRowCount;return e.createElement("div",{className:"mgh-grid-footer"},e.createElement("div",{className:"mgh-grid-footer-left"},o&&e.createElement("span",null,r.footerRowSelected(a))),i&&e.createElement("span",null,r.footerTotalRows," ",t.rowCount.toLocaleString()),l&&e.createElement(an,null))}function ln(){const{api:t,state:r,localeText:n,columns:a,visibleColumns:o}=Et(),l=e.useMemo(()=>new Set(o.map(e=>e.field)),[o]),[i,d]=e.useState(""),s=r.columnVisibilityModel,c=a.filter(e=>!1!==e.hideable),g=i.trim().toLowerCase(),m=g?c.filter(e=>-1!==(e.headerName??e.field).toLowerCase().indexOf(g)):c,p=e=>{const r={...s};c.forEach(t=>{r[t.field]=e}),t.setColumnVisibilityModel(r)};return e.createElement("div",{className:"mgh-grid-panel",role:"group","aria-label":n.toolbarColumns},e.createElement("div",{className:"mgh-grid-panel-header"},e.createElement("div",{className:"mgh-grid-input-adorned"},e.createElement("span",{className:"mgh-grid-input-adornment"},e.createElement(gr,{size:18})),e.createElement($r,{autoFocus:!0,size:"small",value:i,placeholder:n.columnsPanelSearchPlaceholder,"aria-label":n.columnsPanelSearchPlaceholder,onChange:e=>d(e.target.value)}))),e.createElement("div",{className:"mgh-grid-panel-content"},e.createElement("div",{className:"mgh-grid-columns-list"},m.map(r=>{const n=l.has(r.field);return e.createElement("label",{key:r.field,className:"mgh-grid-checkbox-label"},e.createElement(Wr,{checked:n,onChange:()=>t.setColumnVisibility(r.field,!n)}),e.createElement("span",null,r.headerName??r.field))}),0===m.length&&e.createElement("div",{className:"mgh-grid-filter-empty"},"No columns"))),e.createElement("div",{className:"mgh-grid-panel-footer"},e.createElement(Gr,{variant:"primary",size:"small",onClick:()=>p(!0)},n.columnsPanelShowAll),e.createElement(Gr,{variant:"primary",size:"small",onClick:()=>p(!1)},n.columnsPanelHideAll),e.createElement(Gr,{size:"small",onClick:()=>t.setColumnVisibilityModel({})},n.columnsPanelReset)))}const dn=(t,r,n=250)=>{const[a,o]=e.useState(t??""),l=e.useRef(null);e.useEffect(()=>{o(t??"")},[t]);return e.useEffect(()=>()=>{null!==l.current&&window.clearTimeout(l.current)},[]),[a,e=>{o(e),null!==l.current&&window.clearTimeout(l.current),l.current=window.setTimeout(()=>r(e),n)}]};function sn({item:t,onChange:r,placeholder:n,type:a}){const[o,l]=dn(t.value,r);return e.createElement($r,{size:"small",type:a,value:o,placeholder:n,"aria-label":n,onChange:e=>l(e.target.value)})}function cn({item:t,column:r,onChange:n,placeholder:a}){const o=Array.isArray(t.value)?t.value.join(", "):t.value??"",[l,i]=dn(o,e=>n(String(e).split(",").map(e=>e.trim()).filter(e=>""!==e)));if("singleSelect"===r.type){const o=ze(r),l=Array.isArray(t.value)?t.value.map(String):[];return e.createElement(Br,{multiple:!0,size:"small",value:l,"aria-label":a,onChange:e=>{const t=Array.from(e.target.selectedOptions).map(e=>{const t=o.find(t=>String(Ne(r,t))===e.value);return void 0!==t?Ne(r,t):e.value});n(t)}},o.map(t=>{const n=Ne(r,t);return e.createElement("option",{key:String(n),value:String(n)},Re(r,t))}))}return e.createElement($r,{size:"small",value:l,placeholder:"Comma separated values","aria-label":a,onChange:e=>i(e.target.value)})}function gn(t){const{item:r,column:n,operator:a,onChange:o,placeholder:l}=t,{api:i}=Et(),d=a?.inputType??"text";if(a?.InputComponent){const t=a.InputComponent;return e.createElement(t,{item:r,column:n,applyValue:e=>o(e.value),api:i})}switch(d){case"none":return e.createElement("div",null);case"boolean":return e.createElement(Br,{size:"small",value:void 0===r.value||null===r.value?"":String(r.value),"aria-label":l,onChange:e=>o(""===e.target.value?void 0:e.target.value)},e.createElement("option",{value:""},"any"),e.createElement("option",{value:"true"},"yes"),e.createElement("option",{value:"false"},"no"));case"select":{const t=ze(n);return e.createElement(Br,{size:"small",value:void 0===r.value||null===r.value?"":String(r.value),"aria-label":l,onChange:e=>{const r=t.find(t=>String(Ne(n,t))===e.target.value);o(""===e.target.value?void 0:void 0!==r?Ne(n,r):e.target.value)}},e.createElement("option",{value:""}),t.map(t=>{const r=Ne(n,t);return e.createElement("option",{key:String(r),value:String(r)},Re(n,t))}))}case"multiselect":return e.createElement(cn,{...t});case"number":return e.createElement(sn,{...t,type:"number"});case"date":return e.createElement(sn,{...t,type:"date"});case"datetime-local":return e.createElement(sn,{...t,type:"datetime-local"});default:return e.createElement(sn,{...t,type:"text"})}}const mn=e=>({id:we("filter"),field:e?.field??"",operator:e?tt(e)[0]?.value??"contains":"contains",value:void 0});function pn(){const{api:t,state:r,localeText:n,columns:a,rootProps:o}=Et(),l=e.useMemo(()=>a.filter(e=>!1!==e.filterable),[a]),i=e.useMemo(()=>{const e=new Map;return l.forEach(t=>e.set(t.field,t)),e},[l]),d=r.filterModel.items,s=r.filterModel.logicOperator??"and",c=r.preferencePanel.targetField,g=e.useRef(!1);e.useEffect(()=>{if(!g.current)if(g.current=!0,c&&i.has(c)){d.find(e=>e.field===c)||t.upsertFilterItem(mn(i.get(c)))}else 0===d.length&&l.length>0&&t.upsertFilterItem(mn(l[0]))},[t,i,l,d,c]);const m=(e,r)=>{t.upsertFilterItem({...e,...r})},p=!o.disableMultipleColumnsFiltering||0===d.length;return e.createElement("div",{className:"mgh-grid-panel",role:"group","aria-label":n.toolbarFilters},e.createElement("div",{className:"mgh-grid-panel-content",style:{paddingTop:12}},0===d.length&&e.createElement("div",{className:"mgh-grid-filter-empty"},"No filters"),d.map((r,a)=>{const o=i.get(r.field)??l[0],c=o?tt(o):[],g=c.find(e=>e.value===r.operator)??c[0],p=d.length>1;return e.createElement("div",{key:String(r.id??a),className:p?"mgh-grid-filter-row mgh-grid-filter-row--with-logic":"mgh-grid-filter-row"},e.createElement(Hr,{size:"small",label:n.filterPanelDeleteIcon,onClick:()=>t.deleteFilterItem(r)},e.createElement(kr,null)),p&&e.createElement(Ur,{label:1===a?n.filterPanelLogicOperator:" "},0===a?e.createElement("div",{style:{height:32}}):e.createElement(Br,{size:"small",value:s,disabled:a>1,"aria-label":n.filterPanelLogicOperator,onChange:e=>t.setFilterLogicOperator(e.target.value)},e.createElement("option",{value:"and"},n.filterPanelOperatorAnd),e.createElement("option",{value:"or"},n.filterPanelOperatorOr))),e.createElement(Ur,{label:n.filterPanelColumns},e.createElement(Br,{size:"small",value:o?.field??"","aria-label":n.filterPanelColumns,onChange:e=>{const t=i.get(e.target.value),n=t?tt(t):[],a=n.some(e=>e.value===r.operator);m(r,{field:e.target.value,operator:a?r.operator:n[0]?.value??"contains",value:void 0})}},l.map(t=>e.createElement("option",{key:t.field,value:t.field},t.headerName??t.field)))),e.createElement(Ur,{label:n.filterPanelOperator},e.createElement(Br,{size:"small",value:g?.value??"","aria-label":n.filterPanelOperator,onChange:e=>{const t=c.find(t=>t.value===e.target.value),n="multiselect"===t?.inputType,a="multiselect"===g?.inputType;m(r,{operator:e.target.value,value:n!==a?void 0:r.value})}},c.map(t=>e.createElement("option",{key:t.value,value:t.value},t.label??t.value)))),e.createElement(Ur,{label:n.filterPanelValue},o?e.createElement(gn,{item:r,column:o,operator:g,placeholder:n.filterPanelInputPlaceholder,onChange:e=>m(r,{value:e})}):e.createElement("div",null)))})),e.createElement("div",{className:"mgh-grid-panel-footer"},e.createElement(Gr,{variant:"primary",size:"small",startIcon:e.createElement(Mr,{size:18}),onClick:()=>{t.upsertFilterItem(mn(l[0]))},disabled:!p},n.filterPanelAddFilter),e.createElement(Gr,{size:"small",startIcon:e.createElement(kr,{size:18}),disabled:0===d.length,onClick:()=>t.setFilterModel({...r.filterModel,items:[]})},n.filterPanelRemoveAll)))}function un({column:t,anchorEl:r,open:n,onClose:a,themeMode:o,panelAnchorEl:l}){const{api:i,state:d,localeText:s,rootProps:c}=Et(),g=t.field,m=g===ie,p=d.sortModel.find(e=>e.field===g),u=i.isColumnPinned(g),h=-1!==d.rowGroupingModel.indexOf(g),f=d.aggregationModel[g],b=!1!==t.sortable&&!c.disableColumnSorting,y=!1!==t.filterable&&!c.disableColumnFilter&&!m,v=!1!==t.hideable,x=!1!==t.pinnable&&!c.disableColumnPinning,w=!1!==t.groupable&&!c.disableRowGrouping&&!m,E=Object.keys(c.aggregationFunctions).filter(e=>{const r=c.aggregationFunctions[e];return(!t.availableAggregationFunctions||-1!==t.availableAggregationFunctions.indexOf(e))&&(!r.columnTypes||!t.type||-1!==r.columnTypes.indexOf(t.type))}),C=!1!==t.aggregable&&!c.disableAggregation&&!m&&E.length>0,k=l??r,M=t.headerName??t.field;return e.createElement(jr,{open:n,anchorEl:r,onClose:a,themeMode:o,placement:"bottom-end",role:"menu"},e.createElement(Yr,{"aria-label":s.columnMenuLabel},b&&e.createElement(e.Fragment,null,e.createElement(qr,{icon:e.createElement(ur,null),selected:"asc"===p?.sort,onClick:()=>i.sortColumn(g,"asc"),hideMenu:a},s.columnMenuSortAsc),e.createElement(qr,{icon:e.createElement(hr,null),selected:"desc"===p?.sort,onClick:()=>i.sortColumn(g,"desc"),hideMenu:a},s.columnMenuSortDesc),p&&e.createElement(qr,{icon:e.createElement("span",{style:{width:20}}),onClick:()=>i.sortColumn(g,null),hideMenu:a},s.columnMenuUnsort)),y&&e.createElement(e.Fragment,null,b&&e.createElement(Kr,null),e.createElement(qr,{icon:e.createElement(cr,null),onClick:()=>i.showFilterPanel(g,k),hideMenu:a},s.columnMenuFilter)),(v||!c.disableColumnSelector)&&e.createElement(e.Fragment,null,(b||y)&&e.createElement(Kr,null),v&&e.createElement(qr,{icon:e.createElement(zr,null),onClick:()=>i.setColumnVisibility(g,!1),hideMenu:a},s.columnMenuHideColumn),!c.disableColumnSelector&&e.createElement(qr,{icon:e.createElement(sr,null),onClick:()=>i.showPreferences("columns",k),hideMenu:a},s.columnMenuManageColumns)),x&&e.createElement(e.Fragment,null,e.createElement(Kr,null),"left"!==u&&e.createElement(qr,{icon:e.createElement(Cr,{style:{transform:"rotate(30deg)"}}),onClick:()=>i.pinColumn(g,"left"),hideMenu:a},s.columnMenuPinLeft),"right"!==u&&e.createElement(qr,{icon:e.createElement(Cr,{style:{transform:"rotate(-30deg)"}}),onClick:()=>i.pinColumn(g,"right"),hideMenu:a},s.columnMenuPinRight),u&&e.createElement(qr,{icon:e.createElement("span",{style:{width:20}}),onClick:()=>i.unpinColumn(g),hideMenu:a},s.columnMenuUnpin)),w&&e.createElement(e.Fragment,null,e.createElement(Kr,null),e.createElement(qr,{icon:e.createElement(Ar,null),onClick:()=>h?i.removeRowGroupingCriteria(g):i.addRowGroupingCriteria(g),hideMenu:a},h?s.columnMenuUngroup(M):s.columnMenuGroup(M))),C&&e.createElement(e.Fragment,null,e.createElement(Kr,null),e.createElement(Xr,null,e.createElement("label",{className:"mgh-grid-field-label",style:{display:"flex",alignItems:"center",gap:6}},e.createElement(Or,{size:16})," ",s.columnMenuAggregation),e.createElement(Br,{size:"small",value:f??"","aria-label":s.columnMenuAggregation,onChange:e=>{const t={...d.aggregationModel};""===e.target.value?delete t[g]:t[g]=e.target.value,i.setAggregationModel(t)}},e.createElement("option",{value:""},s.aggregationFunctionLabelNone),E.map(t=>e.createElement("option",{key:t,value:t},c.aggregationFunctions[t].label??t)))))))}function hn({text:t="No rows",imageSrc:r}){return e.createElement("div",{className:"mgh-grid-no-rows",role:"status"},r?e.createElement("img",{alt:"",src:r}):e.createElement(Tr,{size:50}),e.createElement("div",null,t))}function fn({text:t}){return e.createElement(e.Fragment,null,e.createElement(_r,null),t&&e.createElement("div",null,t))}function bn({icon:t,label:r,onClick:n,showInMenu:a,disabled:o,className:l,...i}){return e.createElement(Hr,{size:"small",label:r,disabled:o,className:l,onClick:e=>{e.stopPropagation(),n?.(e)},...i},t)}function yn({actions:t,themeMode:r,moreLabel:n}){const[a,o]=e.useState(null),l=[],i=[];return t.forEach(t=>{e.isValidElement(t)&&(t.props?.showInMenu?i.push(t):l.push(t))}),e.createElement(e.Fragment,null,l.map((t,r)=>e.createElement(e.Fragment,{key:t.key??r},t)),i.length>0&&e.createElement(e.Fragment,null,e.createElement(Hr,{size:"small",label:n,active:Boolean(a),onClick:e=>{e.stopPropagation(),o(t=>t?null:e.currentTarget)}},e.createElement(fr,null)),e.createElement(jr,{open:Boolean(a),anchorEl:a,onClose:()=>o(null),themeMode:r,placement:"bottom-end",role:"menu"},e.createElement(Yr,null,i.map((t,r)=>{const n=t.props;return e.createElement(qr,{key:t.key??r,icon:n.icon,disabled:n.disabled,onClick:e=>{n.onClick?.(e),o(null)}},n.label)})))))}bn.displayName="MGHGridActionsCellItem";const vn=[],xn={},wn=new Map,En=["asc","desc",null],Cn=[10,25,50,100],kn={items:[],quickFilterExcludeHiddenColumns:!1},Mn=e=>{if(!e)return;const t={};return Object.keys(e).forEach(r=>{if(it(r))return;const n=e[r];"string"!=typeof n&&"number"!=typeof n||(t[r]=n)}),t},Sn=(e,t)=>{const r=De(e);if(!r)return"";const n=e=>String(e).padStart(2,"0"),a=`${r.getFullYear()}-${n(r.getMonth()+1)}-${n(r.getDate())}`;return t?`${a}T${n(r.getHours())}:${n(r.getMinutes())}`:a};function Dn(t){const{rows:r,columns:n,getRowId:a,loading:o=!1,header:l,renderHeaderEndContent:i,renderHeaderCenterContent:d,disableCard:s=!1,className:c,cardClassName:g,boxClassName:m,cardStyle:p,cardSx:u,boxStyle:h,boxSx:f,style:b,sx:y,themeMode:v="light",themeVars:x,showToolbar:w=!0,toolbarProps:E,slots:C=xn,slotProps:k=xn,noRowsText:M="No data found within selected parameters.",localeText:S,rowHeight:D=pe,columnHeaderHeight:F=ue,getRowHeight:P,autoHeight:I=!1,disableVirtualization:N=!1,density:R,onDensityChange:z,disableDensitySelector:O=!1,pagination:A=!0,pageSize:T=25,pageSizeOptions:L=Cn,paginationModel:G,onPaginationModelChange:H,hideFooter:V=!1,hideFooterPagination:$=!1,hideFooterRowCount:B=!1,hideFooterSelectedRowCount:U=!1,sortModel:W,onSortModelChange:_,sortingOrder:j=En,disableMultipleColumnsSorting:Y=!1,disableColumnSorting:q=!1,filterModel:K,onFilterModelChange:X,disableColumnFilter:Q=!1,disableMultipleColumnsFiltering:J=!1,quickFilterDebounceMs:Z=150,columnVisibilityModel:ee,onColumnVisibilityModelChange:te,columnVisibilityStorageKey:re,columnOrderStorageKey:ne,columnWidthStorageKey:ae,pinnedColumnsStorageKey:oe,onColumnOrderChange:le,onColumnWidthChange:ge,disableColumnMenu:ye=!1,disableColumnSelector:we=!1,disableColumnResize:Ee=!1,disableColumnReorder:Fe=!1,disableColumnPinning:Pe=!1,pinnedColumns:Ie,onPinnedColumnsChange:Ge,checkboxSelection:He=!1,checkboxSelectionVisibleOnly:Ve=!1,disableRowSelectionOnClick:$e=!0,disableMultipleRowSelection:Be=!1,rowSelectionModel:Ue,onRowSelectionModelChange:We,isRowSelectable:je,keepNonExistentRowsSelected:Ye=!0,getRowClassName:qe,onRowClick:Ke,onRowDoubleClick:Xe,onCellClick:Qe,onCellDoubleClick:Je,pinnedRows:Ze,getDetailPanelContent:et,getDetailPanelHeight:nt,detailPanelExpandedRowIds:lt,onDetailPanelExpandedRowIdsChange:it,rowGroupingModel:dt,onRowGroupingModelChange:ct,defaultGroupingExpansionDepth:pt=0,groupingColDef:ft,disableRowGrouping:bt=!1,isGroupExpandedByDefault:yt,aggregationModel:vt,onAggregationModelChange:Et,aggregationFunctions:Ct,disableAggregation:kt=!1,aggregationPosition:Mt="both",processRowUpdate:St,onProcessRowUpdateError:Pt,onCellEditStop:Rt,isCellEditable:At,initialState:Tt,apiRef:Lt,onStateChange:Gt}=t;xt();const Ht=function(t){const r=e.useId;if(r)return`${t}-${r().replace(/:/g,"")}`;const n=e.useRef(null);return null===n.current&&(Ft+=1,n.current=`${t}-${Ft}`),n.current}("mgh-grid"),Vt=e.useRef(null),$t=e.useRef(null),Bt=e.useRef(null),Ut=e.useRef(null),Wt=function(){const[,t]=e.useState(0);return e.useCallback(()=>t(e=>e+1),[])}(),_t=e.useMemo(()=>({...mt,...S}),[S]),jt=e.useRef({}),Yt=e.useCallback(()=>({api:jt.current.api}),[]),qt=e.useMemo(()=>{const e=()=>jt.current,t={getRow:t=>e().rowsById.get(t)??null,getRowModels:()=>new Map(e().rowsById),getAllRowIds:()=>e().rowEntries.map(e=>e.id),getRowNode:t=>e().nodesById.get(t)??null,getSortedRows:()=>e().sortedLeaves.map(e=>e.row),getSortedRowIds:()=>e().sortedLeaves.map(e=>e.id),getVisibleRows:()=>e().pagedRows.filter(e=>"leaf"===e.type&&e.row).map(e=>({id:e.id,model:e.row})),getRowIndexRelativeToVisibleRows:t=>e().pagedRows.findIndex(e=>e.id===t),updateRows:t=>{t.forEach(t=>{const r=Me(t,e().getRowId),n=e().rowsById.get(r);n&&e().setRowOverride(r,{...n,...t})})},getAllColumns:()=>e().orderedUserColumns,getVisibleColumns:()=>e().visibleUserColumns,getColumn:t=>e().getColumn(t),getColumnIndex:(t,r=!0)=>(r?e().visibleUserColumns:e().orderedUserColumns).findIndex(e=>e.field===t),getColumnVisibilityModel:()=>e().columnVisibilityModel,setColumnVisibility:(t,r)=>e().setColumnVisibilityModel({...e().columnVisibilityModel,[t]:r}),setColumnVisibilityModel:t=>e().setColumnVisibilityModel(t),setColumnWidth:(t,r)=>e().setColumnWidth(t,r),setColumnIndex:(t,r)=>e().setColumnIndex(t,r),autosizeColumns:t=>e().autosizeColumns(t),pinColumn:(t,r)=>e().pinColumn(t,r),unpinColumn:t=>e().unpinColumn(t),isColumnPinned:t=>e().isColumnPinned(t),getPinnedColumns:()=>e().pinnedColumns,setPinnedColumns:t=>e().setPinnedColumns(t),getSortModel:()=>e().sortModel,setSortModel:t=>e().setSortModel(t),sortColumn:(t,r,n)=>e().sortColumn(t,r,n),getFilterModel:()=>e().filterModel,setFilterModel:t=>e().setFilterModel(t),upsertFilterItem:t=>e().upsertFilterItems([t]),upsertFilterItems:t=>e().upsertFilterItems(t),deleteFilterItem:t=>e().deleteFilterItem(t),setFilterLogicOperator:t=>e().setFilterModel({...e().filterModel,logicOperator:t}),setQuickFilterValues:t=>e().setFilterModel({...e().filterModel,quickFilterValues:t}),showFilterPanel:(t,r)=>e().showPreferences("filters",r,t),hideFilterPanel:()=>e().hidePreferences(),showPreferences:(t,r,n)=>e().showPreferences(t,r,n),hidePreferences:()=>e().hidePreferences(),getSelectedRows:()=>{const t=new Map;return e().selectedIds.forEach(r=>{const n=e().rowsById.get(r);n&&t.set(r,n)}),t},getRowSelectionModel:()=>({type:"include",ids:e().selectedIds}),setRowSelectionModel:t=>{const r=Se(t,e().rowEntries.map(e=>e.id));e().setSelectedIds(r.ids)},selectRow:(t,r=!0,n=!1)=>e().selectRows([t],r,n),selectRows:(t,r=!0,n=!1)=>e().selectRows(t,r,n),isRowSelected:t=>e().selectedIds.has(t),isRowSelectable:t=>e().isRowSelectableFn(t,e().rowsById.get(t)),setPage:t=>e().setPaginationModel({...e().paginationModel,page:Math.max(0,t)}),setPageSize:t=>e().setPaginationModel({page:0,pageSize:Math.max(1,t)}),setPaginationModel:t=>e().setPaginationModel(t),setDensity:t=>e().setDensity(t),getDataAsCsv:e=>zt(t,e),exportDataAsCsv:e=>((e,t={})=>{const r=zt(e,t),n=t.utf8WithBom?Ot:"",a=new Blob([n+r],{type:"text/csv;charset=utf-8;"});ht(a,It(t.fileName,Nt(),"csv"))})(t,e),exportDataAsExcel:e=>(async(e,t={})=>{const r=Jt(e,t),n=new Blob([r],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});ht(n,It(t.fileName,Nt(),"xlsx"))})(t,e),exportDataAsPrint:t=>e().startPrint(t),toggleDetailPanel:t=>e().toggleDetailPanel(t),setExpandedDetailPanels:t=>e().setExpandedDetailPanels(new Set(t)),getExpandedDetailPanels:()=>Array.from(e().expandedDetailPanels),getRowGroupingModel:()=>e().rowGroupingModel,setRowGroupingModel:t=>e().setRowGroupingModel(t),addRowGroupingCriteria:(t,r)=>{const n=e().rowGroupingModel.filter(e=>e!==t);void 0===r?n.push(t):n.splice(ve(r,0,n.length),0,t),e().setRowGroupingModel(n)},removeRowGroupingCriteria:t=>e().setRowGroupingModel(e().rowGroupingModel.filter(e=>e!==t)),setRowChildrenExpansion:(t,r)=>e().setRowChildrenExpansion(t,r),getRowGroupChildren:({groupId:t})=>{const r=e().groupsById.get(t);return r?r.descendants.map(e=>e.id):[]},getAggregationModel:()=>e().aggregationModel,setAggregationModel:t=>e().setAggregationModel(t),startCellEditMode:({id:t,field:r})=>e().startCellEditMode(t,r),stopCellEditMode:({id:t,field:r,ignoreModifications:n})=>e().stopCellEditMode(t,r,n,"api"),getCellMode:(t,r)=>{const n=e().editingCell;return n&&n.id===t&&n.field===r?"edit":"view"},setEditCellValue:({id:t,field:r,value:n})=>{const a=e().editingCell;a&&a.id===t&&a.field===r&&e().setEditValue(n)},getCellValue:(r,n)=>{const a=e().rowsById.get(r),o=e().getColumn(n);return a&&o?Oe(a,o,t):void 0},getCellParams:(t,r)=>{const n=e().rowsById.get(t);return e().buildCellParams(t,r,n,e().nodesById.get(t)??{type:"leaf",id:t,depth:0,parent:null})},setCellFocus:(t,r)=>{Yr.current=!0,e().setFocusedCell({id:t,field:r})},scrollToIndexes:t=>e().scrollToIndexes(t),scroll:({left:e,top:t})=>{const r=Bt.current;r&&(void 0!==e&&(r.scrollLeft=e),void 0!==t&&(r.scrollTop=t))},getScrollPosition:()=>({left:Bt.current?.scrollLeft??0,top:Bt.current?.scrollTop??0}),get state(){return e().state},forceUpdate:()=>e().forceUpdate(),rootElementRef:Vt};return t},[]);jt.current.api||(jt.current.api=qt);const Kt=e.useMemo(()=>({visibility:re?Ce(re):null,order:ne?Ce(ne):null,widths:ae?Ce(ae):null,pinned:oe?Ce(oe):null}),[re,ne,ae,oe]),[Xt,Qt]=Dt(W,Tt?.sorting?.sortModel??vn,e=>_?.(e,Yt())),[Zt,er]=Dt(K,Tt?.filter?.filterModel??kn,e=>X?.(e,Yt())),[tr,nr]=Dt(G,{page:Tt?.pagination?.paginationModel?.page??0,pageSize:Tt?.pagination?.paginationModel?.pageSize??T},e=>H?.(e,Yt())),[ar,dr]=Dt(ee,Kt.visibility??Tt?.columns?.columnVisibilityModel??xn,e=>{re&&ke(re,e),te?.(e,Yt())}),[sr,cr]=Dt(R,Tt?.density??"compact",e=>z?.(e,Yt())),[gr,pr]=Dt(Ie,Kt.pinned??Tt?.pinnedColumns??xn,e=>{oe&&ke(oe,e),Ge?.(e,Yt())}),[xr,wr]=Dt(dt,Tt?.rowGrouping?.model??vn,e=>ct?.(e,Yt())),[Er,Cr]=Dt(vt,Tt?.aggregation?.model??xn,e=>Et?.(e,Yt())),kr=e.useMemo(()=>lt?new Set(lt):void 0,[lt]),[Mr,Sr]=Dt(kr,e.useMemo(()=>new Set(Tt?.detailPanel?.expandedRowIds??[]),[]),e=>it?.(Array.from(e),Yt())),Dr=e.useMemo(()=>void 0!==Ue?Se(Ue).ids:void 0,[Ue]),[Fr,Pr]=Dt(Dr,e.useMemo(()=>new Set,[]),e=>We?.({type:"include",ids:e},Yt())),[Ir,Nr]=e.useState(()=>Kt.order??Tt?.columns?.orderedFields??null),[Rr,zr]=e.useState(()=>{if(Kt.widths)return Kt.widths;const e=Tt?.columns?.dimensions;if(!e)return{};const t={};return Object.keys(e).forEach(r=>{e[r].width&&(t[r]=e[r].width)}),t}),[Or,Ar]=e.useState(()=>new Map),[Tr,Lr]=e.useState(null),[Gr,Vr]=e.useState(void 0),[Ur,_r]=e.useState(null),Yr=e.useRef(!1),[qr,Kr]=e.useState({open:!1,anchorEl:null}),[Xr,Qr]=e.useState(null),[Jr,Zr]=e.useState(null),[en,tn]=e.useState(null),rn=null!==en,[an,dn]=e.useState(null),[sn,cn]=e.useState(0),gn=e.useRef(0),mn=e.useRef(null),[bn,Dn]=e.useState(()=>({rows:r,map:new Map})),Fn=bn.rows===r?bn.map:wn,Pn=e.useCallback((e,t)=>{Dn(n=>{const a=new Map(n.rows===r?n.map:[]);return a.set(e,t),{rows:r,map:a}})},[r]),{width:In,height:Nn}=function(t,r=!0){const[n,a]=e.useState({width:0,height:0});return e.useLayoutEffect(()=>{const e=t.current;if(!e||!r)return;const n=()=>{const t=e.clientWidth,r=e.clientHeight;a(e=>e.width===t&&e.height===r?e:{width:t,height:r})};if(n(),"undefined"==typeof ResizeObserver)return window.addEventListener("resize",n),()=>window.removeEventListener("resize",n);const o=new ResizeObserver(n);return o.observe(e),()=>o.disconnect()},[t,r]),n}(Bt),Rn=me[sr]??1,zn=Math.round(D*Rn),On=Math.round(F*Rn),An=e.useMemo(()=>{const e=[];return r.forEach(t=>{const r=Me(t,a);null!=r&&e.push({id:r,row:Fn.get(r)??t})}),e},[r,a,Fn]),Tn=e.useMemo(()=>{const e=new Map;return An.forEach(t=>e.set(t.id,t.row)),(Ze?.top??[]).forEach(t=>e.set(Me(t,a),t)),(Ze?.bottom??[]).forEach(t=>e.set(Me(t,a),t)),e},[An,Ze,a]),Ln=e.useMemo(()=>n.map(e=>rt(e)),[n]),Gn=e.useMemo(()=>{const e=new Map;return Ln.forEach(t=>e.set(t.field,t)),e},[Ln]),Hn=e.useMemo(()=>bt?[]:xr.filter(e=>Gn.has(e)),[xr,Gn,bt]),Vn=Hn.length>0,$n=e.useMemo(()=>{if(!Vn)return null;const e=1===Hn.length?Gn.get(Hn[0]):void 0;return rt({field:ie,headerName:e?e.headerName??e.field:_t.groupingColumnHeaderName,width:220,minWidth:120,sortable:!0,filterable:!1,hideable:!1,groupable:!1,aggregable:!1,editable:!1,disableExport:!0,disableReorder:!0,...ft})},[Vn,Hn,Gn,_t.groupingColumnHeaderName,ft]),Bn=e.useMemo(()=>{if(!Ir||0===Ir.length)return Ln;const e=new Set,t=[];return Ir.forEach(r=>{const n=Gn.get(r);n&&!e.has(r)&&(e.add(r),t.push(n))}),Ln.forEach(r=>{e.has(r.field)||t.push(r)}),t},[Ir,Ln,Gn]),Un=e.useCallback(e=>{const t=ar[e];return!1!==t&&(void 0!==t||-1===Hn.indexOf(e))},[ar,Hn]),Wn=e.useMemo(()=>{if(en){let e=Bn.filter(e=>Un(e.field));if(en.fields){const t=new Set(en.fields);e=Bn.filter(e=>t.has(e.field))}else en.allColumns&&(e=Bn);return e.filter(e=>!e.disableExport)}return Bn.filter(e=>Un(e.field))},[Bn,Un,en]),_n=e.useMemo(()=>{const e=[];He&&e.push(at),et&&e.push(ot);const t=Pe?[]:(gr.left??[]).filter(e=>e!==ie),r=Pe?[]:(gr.right??[]).filter(e=>e!==ie),n=new Map;Wn.forEach(e=>n.set(e.field,e));const a=e.slice();$n&&a.push($n),t.forEach(e=>{const t=n.get(e);t&&a.push(t)});const o=[];r.forEach(e=>{const r=n.get(e);r&&-1===t.indexOf(e)&&o.push(r)});const l=Wn.filter(e=>-1===t.indexOf(e.field)&&-1===r.indexOf(e.field)),i=a.concat(l,o),d=((e,t,r)=>{const n=e.map(e=>{const t=e.minWidth??he,n=e.maxWidth??1/0,a=r[e.field];return a?ve(a,t,n):e.flex&&e.flex>0?null:ve(e.width??100,t,n)}),a=[];let o=0;if(n.forEach((e,t)=>{null===e?a.push(t):o+=e}),a.length>0){let r=Math.max(0,t-o),l=a.reduce((t,r)=>t+e[r].flex,0),i=a.slice(),d=!0;for(;d&&i.length>0;){d=!1;for(let t=0;t<i.length;t+=1){const a=i[t],o=e[a],s=o.minWidth??he,c=o.maxWidth??1/0,g=l>0?r*o.flex/l:0;if(g<s||g>c){const e=g<s?s:c;n[a]=e,r=Math.max(0,r-e),l-=o.flex,i=i.filter(e=>e!==a),d=!0;break}}}i.forEach(t=>{const a=e[t];n[t]=l>0?Math.floor(r*a.flex/l):a.minWidth??50})}return n})(i,In,Rr),s=a.length>e.length+($n?1:0)||o.length>0,c=[];let g=0,m=0;i.forEach((e,t)=>{const r=d[t],n=t<a.length,o=t>=a.length+l.length;c.push({col:e,width:r,pinned:n?"left":o?"right":null,offset:n?m:0,x:g,isLastLeft:n&&t===a.length-1,isFirstRight:o&&t===a.length+l.length}),n&&(m+=r),g+=r});let p=0;for(let e=c.length-1;e>=0&&"right"===c[e].pinned;e-=1)c[e].offset=p,p+=c[e].width;return{columns:c,totalWidth:g,hasPinning:s,leftCount:a.length,rightCount:o.length}},[He,et,gr,Pe,Wn,$n,In,Rr]),jn=e.useMemo(()=>{const e=new Map;return _n.columns.forEach(t=>e.set(t.col.field,t.col)),$n&&e.set(ie,$n),e},[_n.columns,$n]),Yn=e.useCallback(e=>Gn.get(e)??jn.get(e),[Gn,jn]),qn=e.useMemo(()=>{const e=[];return Zt.items.forEach(t=>{const r=Gn.get(t.field);if(!r||!1===r.filterable)return;const n=tt(r).find(e=>e.value===t.operator);if(!n)return;const a=n.getApplyFilterFn(t,r);a&&e.push({col:r,fn:a})}),e},[Zt.items,Gn]),Kn=e.useMemo(()=>(Zt.quickFilterValues??[]).map(e=>String(e).trim()).filter(e=>""!==e),[Zt.quickFilterValues]),Xn=e.useMemo(()=>(Zt.quickFilterExcludeHiddenColumns?Wn:Bn).filter(e=>!1!==e.filterable&&"actions"!==e.type),[Zt.quickFilterExcludeHiddenColumns,Wn,Bn]),Qn=e.useMemo(()=>{if(0===qn.length&&0===Kn.length)return An;const e="and"===(Zt.logicOperator??"and"),t="and"===(Zt.quickFilterLogicOperator??"and"),r=jt.current.api,n=Kn.map(e=>{const t=e.toLowerCase(),n=Xn.map(n=>{if(n.getApplyQuickFilterFn){const t=n.getApplyQuickFilterFn(e,n,r);return t?{col:n,fn:t}:null}return{col:n,fn:(e,a)=>{if(be(e))return!1;if(-1!==Le(Te(e,a,n,r)).toLowerCase().indexOf(t))return!0;return-1!==("object"==typeof e?"":String(e).toLowerCase()).indexOf(t)}}}).filter(Boolean);return e=>n.some(({col:t,fn:n})=>n(Oe(e,t,r),e,t,r))});return An.filter(({row:a})=>{if(qn.length>0){const t=qn.map(({col:e,fn:t})=>t(Oe(a,e,r),a,e,r));if(!(e?t.every(Boolean):t.some(Boolean)))return!1}if(n.length>0){const e=n.map(e=>e(a));return t?e.every(Boolean):e.some(Boolean)}return!0})},[An,qn,Kn,Xn,Zt.logicOperator,Zt.quickFilterLogicOperator]),Jn=e.useMemo(()=>{const e=jt.current.api,t=Xt.filter(e=>e.sort&&e.field!==ie).map(e=>{const t=Gn.get(e.field);return t&&!1!==t.sortable?{col:t,dir:"desc"===e.sort?-1:1,comparator:t.sortComparator??_e(t.type)}:null}).filter(Boolean);return 0===t.length?null:(r,n)=>{for(let a=0;a<t.length;a+=1){const{col:o,dir:l,comparator:i}=t[a],d=Oe(r.row,o,e),s=Oe(n.row,o,e),c=i(d,s,{id:r.id,field:o.field,value:d,row:r.row,api:e},{id:n.id,field:o.field,value:s,row:n.row,api:e});if(0!==c)return c*l}return 0}},[Xt,Gn]),Zn=e.useCallback(e=>Jn?e.map((e,t)=>({entry:e,index:t})).sort((e,t)=>Jn(e.entry,t.entry)||e.index-t.index).map(e=>e.entry):e,[Jn]),ea=e.useMemo(()=>({...gt,...Ct}),[Ct]),ta=!kt&&Object.keys(Er).length>0,ra=e.useCallback(e=>{const t=Or.get(e.id);return void 0!==t?t:yt?yt({type:"group",id:e.id,depth:e.depth,parent:e.parent,groupingField:e.groupingField,groupingKey:e.groupingKey,groupingLabel:e.groupingLabel,children:[],leafIds:[],isExpanded:!1}):-1===pt||e.depth<pt},[Or,yt,pt]),na=e.useMemo(()=>{const e=new Map,t=new Map;if(!Vn){const r=Zn(Qn);return{displayRows:r.map(t=>{const r={type:"leaf",id:t.id,depth:0,parent:null};return e.set(t.id,r),{id:t.id,type:"leaf",row:t.row,node:r,depth:0}}),sortedLeaves:r,nodesById:e,groupsById:t,tree:[]}}const r=jt.current.api;let n=or(Qn,Hn,Gn,r);const a=Xt.find(e=>e.field===ie&&e.sort);n=((e,t,r)=>{const n=(e,a)=>{const o=t?t(a):null,l=o?e.map((e,t)=>({node:e,index:t})).sort((e,t)=>o(e.node,t.node)||e.index-t.index).map(e=>e.node):e;return l.forEach(e=>{if(e.childGroups.length>0){e.childGroups=n(e.childGroups,a+1);const t=[];e.childGroups.forEach(e=>e.descendants.forEach(e=>t.push(e))),e.descendants=t}else e.leaves=r(e.leaves),e.descendants=e.leaves}),l};return n(e,0)})(n,e=>{const t=Hn[e],n=Gn.get(t);if(!n)return null;const o=a??Xt.find(e=>e.field===t&&e.sort);if(!o)return null;const l=n.sortComparator??_e(n.type),i="desc"===o.sort?-1:1;return(e,n)=>l(e.groupingKey,n.groupingKey,{id:e.id,field:t,value:e.groupingKey,row:e.descendants[0]?.row,api:r},{id:n.id,field:t,value:n.groupingKey,row:n.descendants[0]?.row,api:r})*i},Zn);const o=((e,t,r,n)=>{const a=[],o=(e,l)=>{e.forEach(e=>{const i=t(e),d=((e,t)=>({type:"group",id:e.id,depth:e.depth,parent:e.parent,groupingField:e.groupingField,groupingKey:e.groupingKey,groupingLabel:e.groupingLabel,children:e.childGroups.length>0?e.childGroups.map(e=>e.id):e.leaves.map(e=>e.id),leafIds:e.descendants.map(e=>e.id),isExpanded:t}))(e,i);r.set(e.id,d),n.set(e.id,e),l&&a.push({id:e.id,type:"group",row:null,node:d,depth:e.depth,group:e});const s=l&&i;e.childGroups.length>0?o(e.childGroups,s):e.leaves.forEach(t=>{const n={type:"leaf",id:t.id,depth:e.depth+1,parent:e.id};r.set(t.id,n),s&&a.push({id:t.id,type:"leaf",row:t.row,node:n,depth:e.depth+1})})})};return o(e,!0),a})(n,ra,e,t);return{displayRows:o,sortedLeaves:lr(n),nodesById:e,groupsById:t,tree:n}},[Vn,Qn,Zn,Hn,Gn,Xt,ra]),{displayRows:aa,sortedLeaves:oa,nodesById:la,groupsById:ia}=na,da=aa.length,sa=A&&!rn,ca=A?Math.max(1,Math.ceil(da/Math.max(tr.pageSize,1))):1,ga=A?ve(tr.page,0,ca-1):0;e.useEffect(()=>{A&&tr.page!==ga&&nr({...tr,page:ga})},[A,tr,ga,nr]);const ma=e.useMemo(()=>sa?aa.slice(ga*tr.pageSize,(ga+1)*tr.pageSize):aa,[aa,sa,ga,tr.pageSize]),pa=e.useMemo(()=>{if(!ta||"inline"===Mt)return null;const e=oa.map(e=>e.row);return ir(e,Er,Gn,ea,jt.current.api)},[ta,Mt,oa,Er,Gn,ea]),ua=e.useMemo(()=>new Map,[ma,Er,ea]),ha=e=>{if(!ta||"footer"===Mt)return;let t=ua.get(e.id);return t||(t=ir(e.descendants.map(e=>e.row),Er,Gn,ea,jt.current.api),ua.set(e.id,t)),t},fa=e.useMemo(()=>{const e=[],t=[],r=[];let n=0,a=I||N||rn;return ma.forEach(o=>{let l=zn;if(P&&"leaf"===o.type&&o.row){const e=P({id:o.id,model:o.row,densityFactor:Rn});"auto"===e?a=!0:"number"==typeof e&&e>0&&(l=e)}let i=0;if("leaf"===o.type&&et&&Mr.has(o.id)&&o.row){const e=nt?nt({id:o.id,row:o.row}):500;"auto"===e?a=!0:i=e}e.push(l),t.push(i),r.push(n),n+=l+i}),{rowHeights:e,detailHeights:t,offsets:r,total:n,hasAuto:a}},[ma,zn,P,Rn,et,nt,Mr,I,N,rn]),ba=!fa.hasAuto;e.useEffect(()=>{if(!en)return;const e=window.setTimeout(()=>{$t.current&&rr({cardElement:$t.current,options:en,onDone:()=>tn(null)})},50);return()=>window.clearTimeout(e)},[en]);const ya=e.useMemo(()=>{const e=ma.length;if(!ba||0===e)return{start:0,end:e};const t=6*zn,r=Math.max(0,sn-On-t),n=sn+Math.max(Nn,zn)+t,{offsets:a}=fa;let o=0,l=e-1;for(;o<l;){const e=o+l>>1;a[e]+fa.rowHeights[e]+fa.detailHeights[e]<r?o=e+1:l=e}const i=o;let d=i;for(;d<e&&a[d]<n;)d+=1;return{start:i,end:d}},[ba,ma.length,sn,Nn,zn,On,fa]),va=e.useCallback(()=>{jt.current.virtual&&(gn.current||(gn.current=window.requestAnimationFrame(()=>{gn.current=0,Bt.current&&cn(Bt.current.scrollTop)})))},[]);e.useEffect(()=>()=>{gn.current&&window.cancelAnimationFrame(gn.current)},[]);const xa=e.useCallback((e,t)=>!!t&&(!je||je({id:e,row:t,columns:Bn,api:jt.current.api})),[je,Bn]),wa=e.useMemo(()=>(Ve?ma.filter(e=>"leaf"===e.type&&e.row).map(e=>({id:e.id,row:e.row})):oa).filter(e=>xa(e.id,e.row)).map(e=>e.id),[Ve,ma,oa,xa]),Ea=e.useMemo(()=>wa.reduce((e,t)=>e+(Fr.has(t)?1:0),0),[wa,Fr]),Ca=wa.length>0&&Ea===wa.length,ka=Ea>0&&!Ca,Ma=e.useCallback(e=>{Pr(t=>{const r=e(t);return((e,t)=>{if(e.ids.size!==t.ids.size)return!1;let r=!0;return e.ids.forEach(e=>{t.ids.has(e)||(r=!1)}),r})({ids:t},{ids:r})?t:r})},[Pr]),Sa=e.useCallback((e,t=!0,r=!1)=>{Ma(n=>{const a=r?new Set:new Set(n);if(e.forEach(e=>{t?xa(e,Tn.get(e))&&a.add(e):a.delete(e)}),Be&&a.size>1){const r=e[e.length-1];return new Set(t&&a.has(r)?[r]:[])}return a})},[Ma,xa,Tn,Be]);e.useEffect(()=>{if(Ye||0===Fr.size)return;let e=!1;const t=new Set;Fr.forEach(r=>{Tn.has(r)?t.add(r):e=!0}),e&&Pr(t)},[Tn,Ye,Fr,Pr]);const Da=()=>{Sa(wa,!Ca)},Fa=(e,t,r=!1)=>{const n=Yn(e);if(!n||!1===n.sortable||q)return;const a=Xt.find(t=>t.field===e);let o,l;if(void 0===t){const e=n.sortingOrder??j,t=e.indexOf(a?.sort??null);o=e[(t+1)%e.length]}else o=t;r&&!Y?(l=Xt.filter(t=>t.field!==e),o&&(l=a?Xt.map(t=>t.field===e?{field:e,sort:o}:t):l.concat([{field:e,sort:o}]))):l=o?[{field:e,sort:o}]:[],Qt(l)},Pa=e=>{ne&&ke(ne,e)},Ia=e=>{ae&&ke(ae,e)},Na=(e={})=>{const t=e.includeHeaders??!0,r=_n.columns.filter(t=>!(fe(t.col.field)||e.columns&&-1===e.columns.indexOf(t.col.field)));if(0===r.length)return;const n=Vt.current,a=n&&"undefined"!=typeof window?window.getComputedStyle(n):null,o=a?.fontFamily||"sans-serif",l=`400 14px ${o}`,i=`600 14px ${o}`,d=oa.slice(0,500),s=jt.current.api,c={...Rr};r.forEach(({col:e})=>{let r=t?ut(e.headerName??e.field,i)+64:0;d.forEach(t=>{const n=Oe(t.row,e,s),a=Le(Te(n,t.row,e,s,t.id)),o=ut(a,l)+24;o>r&&(r=o)}),c[e.field]=ve(Math.ceil(r),e.minWidth??he,e.maxWidth??1/0)}),zr(c),Ia(c)},Ra=e.useCallback(()=>{Kr(e=>e.open?{open:!1,anchorEl:null}:e)},[]),za=e=>!!e.colDef.editable&&("leaf"===e.rowNode.type&&(!At||At(e))),Oa=(e,t)=>{const r=Tn.get(e),n=Yn(t);if(!r||!n)return;const a=Va(e,t,r,la.get(e)??{type:"leaf",id:e,depth:0,parent:null});za(a)&&(Lr({id:e,field:t}),Vr(a.value),_r({id:e,field:t}))},Aa=(e,t,r=!1,n="api")=>{if(!Tr||Tr.id!==e||Tr.field!==t)return;const a=Tn.get(e),o=Yn(t);if(Lr(null),a&&o){if(!r){const r=jt.current.api,n=o.valueParser?o.valueParser(Gr,a,o,r):((e,t)=>{switch(t.type){case"number":{if(""===e||be(e))return null;const t=Number(e);return Number.isNaN(t)?e:t}case"boolean":return Boolean(e);case"date":case"dateTime":return""===e||be(e)?null:De(e)??e;default:return e}})(Gr,o),l=Oe(a,o,r);if(!Object.is(n,l)){((e,t,r)=>{St?Promise.resolve().then(()=>St(t,r,{rowId:e})).then(r=>Pn(e,r??t)).catch(e=>{Pt?Pt(e):console.error("MGHGrid: processRowUpdate failed",e)}):Pn(e,t)})(e,o.valueSetter?o.valueSetter(n,a,o,r):{...a,[t]:n},a)}}Rt?.({id:e,field:t,row:a,reason:n},Yt()),Yr.current=!0,_r({id:e,field:t})}},Ta=e=>{Sr(t=>{const r=new Set(t);return r.has(e)?r.delete(e):r.add(e),r})},La=(e,t)=>{Ar(r=>{const n=new Map(r);return n.set(e,t),n})},Ga=Hn.join("|"),Ha=e.useRef(Ga);e.useEffect(()=>{Ha.current!==Ga&&(Ha.current=Ga,Ar(new Map))},[Ga]);const Va=(e,t,r,n)=>{const a=Yn(t),o=jt.current.api,l=Oe(r,a,o),i=Te(l,r,a,o,e),d=Boolean(Ur&&Ur.id===e&&Ur.field===t);return{id:e,field:t,value:l,formattedValue:i,row:r,rowNode:n,colDef:a,api:o,hasFocus:d,tabIndex:d?0:-1,cellMode:Tr&&Tr.id===e&&Tr.field===t?"edit":"view",isEditable:Boolean(a.editable)&&"leaf"===n.type}},$a=(e,t)=>({id:e,row:t,columns:Bn,api:jt.current.api});e.useEffect(()=>{if(!Yr.current||!Ur||!Vt.current)return;Yr.current=!1;const e=`[data-mgh-row-id="${String(Ur.id).replace(/"/g,'\\"')}"] [data-mgh-field="${Ur.field.replace(/"/g,'\\"')}"]`,t=Vt.current.querySelector(e);t&&document.activeElement!==t&&!t.contains(document.activeElement)&&t.focus({preventScroll:!0})},[Ur,ya.start,ya.end]);const Ba=e=>{const t=Bt.current;if(!t)return!1;if(void 0!==e.rowIndex&&ba){const r=ve(e.rowIndex,0,Math.max(ma.length-1,0)),n=fa.offsets[r]??0,a=n+(fa.rowHeights[r]??zn),o=t.scrollTop,l=t.scrollTop+t.clientHeight-On;n<o?t.scrollTop=n:a>l&&(t.scrollTop=a-(t.clientHeight-On))}else if(void 0!==e.rowIndex){const r=t.querySelector(`[data-mgh-row-index="${e.rowIndex}"]`);r?.scrollIntoView?.({block:"nearest"})}if(void 0!==e.colIndex){const r=_n.columns[ve(e.colIndex,0,_n.columns.length-1)];if(r&&!r.pinned){const e=_n.columns.filter(e=>"left"===e.pinned).reduce((e,t)=>e+t.width,0),n=_n.columns.filter(e=>"right"===e.pinned).reduce((e,t)=>e+t.width,0),a=t.scrollLeft+e,o=t.scrollLeft+t.clientWidth-n;r.x<a?t.scrollLeft=r.x-e:r.x+r.width>o&&(t.scrollLeft=r.x+r.width-t.clientWidth+n)}}return!0},Ua=(e,t,r)=>{if(0===ma.length||0===_n.columns.length)return;let n=Ur?ma.findIndex(e=>e.id===Ur.id):-1,a=Ur?_n.columns.findIndex(e=>e.col.field===Ur.field):-1;-1===n&&(n=0),-1===a&&(a=0),n="first"===r?.row?0:"last"===r?.row?ma.length-1:ve(n+e,0,ma.length-1),a="first"===r?.col?0:"last"===r?.col?_n.columns.length-1:ve(a+t,0,_n.columns.length-1);const o={id:ma[n].id,field:_n.columns[a].col.field};Yr.current=!0,_r(o),Ba({rowIndex:n,colIndex:a})},Wa=e=>!Fe&&!e.disableReorder&&!fe(e.field),_a=e.useRef(null),ja=qn.length,Ya=Vn?da:Qn.length,qa=e.useMemo(()=>({sortModel:Xt,filterModel:Zt,paginationModel:{page:ga,pageSize:tr.pageSize},pageCount:ca,rowCount:Ya,totalRowCount:An.length,columnVisibilityModel:ar,orderedFields:Bn.map(e=>e.field),columnWidths:Rr,pinnedColumns:gr,density:sr,densityFactor:Rn,rowSelectionModel:{type:"include",ids:Fr},rowGroupingModel:xr,aggregationModel:Er,expandedDetailPanels:Mr,preferencePanel:{open:qr.open,openedPanelValue:qr.openedPanelValue,targetField:qr.targetField},filterCount:ja,quickFilterValues:Kn}),[Xt,Zt,ga,tr.pageSize,ca,Ya,An.length,ar,Bn,Rr,gr,sr,Rn,Fr,xr,Er,Mr,qr.open,qr.openedPanelValue,qr.targetField,ja,Kn]);jt.current={api:qt,state:qa,rowsById:Tn,rowEntries:An,nodesById:la,groupsById:ia,sortedLeaves:oa,pagedRows:ma,getRowId:a,setRowOverride:Pn,orderedUserColumns:Bn,visibleUserColumns:Wn,getColumn:Yn,columnVisibilityModel:ar,setColumnVisibilityModel:dr,setColumnWidth:(e,t)=>{const r=Yn(e);if(!r)return;const n=ve(t,r.minWidth??he,r.maxWidth??1/0);zr(t=>{const r={...t,[e]:n};return Ia(r),r}),ge?.({colDef:r,width:n},Yt())},setColumnIndex:(e,t,r=null)=>{const n=Bn.map(e=>e.field),a=n.indexOf(e);if(-1===a)return;const o=((e,t,r)=>{const n=e.slice(),[a]=n.splice(t,1);return n.splice(r,0,a),n})(n,a,ve(t,0,n.length-1));Nr(o),Pa(o);const l=Gn.get(e);l&&le?.({column:l,targetIndex:t,oldIndex:a},r,Yt())},columnWidths:Rr,autosizeColumns:Na,pinColumn:(e,t)=>{if(Pe)return;const r=(gr.left??[]).filter(t=>t!==e),n=(gr.right??[]).filter(t=>t!==e);"left"===t?r.push(e):n.unshift(e),pr({left:r,right:n})},unpinColumn:e=>{pr({left:(gr.left??[]).filter(t=>t!==e),right:(gr.right??[]).filter(t=>t!==e)})},isColumnPinned:e=>!Pe&&(-1!==(gr.left??[]).indexOf(e)?"left":-1!==(gr.right??[]).indexOf(e)&&"right"),pinnedColumns:gr,setPinnedColumns:pr,sortModel:Xt,setSortModel:Qt,sortColumn:Fa,filterModel:Zt,setFilterModel:er,upsertFilterItems:e=>{let t=Zt.items.slice();e.forEach(e=>{const r=void 0===e.id?{...e,id:`${Date.now()}-${Math.random().toString(36).slice(2,8)}`}:e,n=t.findIndex(e=>void 0!==e.id&&e.id===r.id);-1===n?t.push(r):t[n]=r}),J&&t.length>1&&(t=t.slice(-1)),er({...Zt,items:t})},deleteFilterItem:e=>{er({...Zt,items:Zt.items.filter(t=>void 0!==e.id?t.id!==e.id:t!==e)})},showPreferences:(e,t,r)=>{Qr(null),Kr({open:!0,openedPanelValue:e,targetField:r,anchorEl:t??Ut.current??Vt.current})},hidePreferences:Ra,selectedIds:Fr,setSelectedIds:Pr,selectRows:Sa,isRowSelectableFn:xa,paginationModel:{page:ga,pageSize:tr.pageSize},setPaginationModel:nr,setDensity:cr,toggleDetailPanel:Ta,expandedDetailPanels:Mr,setExpandedDetailPanels:Sr,rowGroupingModel:xr,setRowGroupingModel:wr,setRowChildrenExpansion:La,aggregationModel:Er,setAggregationModel:Cr,startCellEditMode:Oa,stopCellEditMode:Aa,editingCell:Tr,setEditValue:Vr,buildCellParams:Va,setFocusedCell:_r,scrollToIndexes:Ba,forceUpdate:Wt,virtual:ba,startPrint:(e={})=>{if(en)return;const t={title:"string"==typeof l?l:void 0,...e};$t.current&&"undefined"!=typeof window&&tn(t)}},Lt&&(Lt.current=qt),e.useEffect(()=>{Gt?.(qa,{api:qt})},[qa,Gt,qt]);const Ka=e.useMemo(()=>({header:l,pagination:A,pageSizeOptions:L,hideFooterPagination:$,hideFooterRowCount:B,hideFooterSelectedRowCount:U,disableColumnFilter:Q,disableColumnSelector:we,disableDensitySelector:O,disableColumnPinning:Pe,disableColumnSorting:q,disableMultipleColumnsSorting:Y,disableMultipleColumnsFiltering:J,disableRowGrouping:bt,disableAggregation:kt,checkboxSelection:He,aggregationFunctions:ea,quickFilterDebounceMs:Z}),[l,A,L,$,B,U,Q,we,O,Pe,q,Y,J,bt,kt,He,ea,Z]),Xa=e.useMemo(()=>({api:qt,state:qa,localeText:_t,themeMode:v,rootProps:Ka,columns:Bn,visibleColumns:Wn}),[qt,qa,_t,v,Ka,Bn,Wn]),Qa=(t,r)=>{const{col:n}=t,a=n.field;if(a===de){if("group"===r.kind&&r.group){const t=r.group.descendants.map(e=>e.id),n=t.reduce((e,t)=>e+(Fr.has(t)?1:0),0);return e.createElement(Wr,{checked:t.length>0&&n===t.length,indeterminate:n>0&&n<t.length,label:_t.checkboxSelectionSelectRow,onClick:e=>e.stopPropagation(),onChange:()=>Sa(t,n!==t.length,!1)})}if("leaf"!==r.kind)return null;const t=xa(r.id,r.row),n=Fr.has(r.id);return e.createElement(Wr,{checked:n,disabled:!t,label:n?_t.checkboxSelectionUnselectRow:_t.checkboxSelectionSelectRow,tabIndex:-1,onClick:e=>e.stopPropagation(),onChange:()=>{mn.current=r.id,Sa([r.id],!n,Be)}})}if(a===se){if("leaf"!==r.kind||!r.row)return null;const t=Mr.has(r.id),n=et?.($a(r.id,r.row));return null==n||!1===n?null:e.createElement(Hr,{size:"small",className:xe("mgh-grid-detail-toggle",t&&"mgh-grid-detail-toggle--expanded"),label:t?_t.collapseDetailPanel:_t.expandDetailPanel,"aria-expanded":t,tabIndex:-1,onClick:e=>{e.stopPropagation(),Ta(r.id)}},e.createElement(yr,null))}if(a===ie){if("group"===r.kind&&r.group){const t=r.group,n=ra(t),a=ft?.hideDescendantCount;return e.createElement("div",{className:"mgh-grid-group-cell",style:{paddingLeft:20*r.depth}},e.createElement(Hr,{size:"small",className:xe("mgh-grid-group-toggle",n&&"mgh-grid-group-toggle--expanded"),label:n?_t.collapseDetailPanel:_t.expandDetailPanel,"aria-expanded":n,tabIndex:-1,onClick:e=>{e.stopPropagation(),La(t.id,!n)}},e.createElement(vr,null)),e.createElement("span",{className:"mgh-grid-group-label",title:t.groupingLabel},t.groupingLabel),!a&&e.createElement("span",{className:"mgh-grid-group-count"},"(",t.descendants.length,")"))}return null}if("group"===r.kind||"footer"===r.kind){const t=r.aggregates?.[a];if(!t||be(t.value))return null;const o=ea[t.fn],l=jt.current.api,i=r.group?.descendants[0]?.row??jt.current.sortedLeaves[0]?.row??{},d=o?.valueFormatter?o.valueFormatter(t.value):n.valueFormatter?n.valueFormatter(t.value,i,n,l):Ae(t.value,n);return e.createElement(e.Fragment,null,e.createElement("span",{className:"mgh-grid-aggregation-label"},o?.label??t.fn),e.createElement("span",{className:"mgh-grid-cell-text"},Le(d)))}if(!r.row)return null;const o=Va(r.id,a,r.row,r.node);if("edit"===o.cellMode)return(t=>{const r=t.colDef,n=e=>Aa(t.id,t.field,!1,e),a=()=>Aa(t.id,t.field,!0,"escapeKeyDown");if(r.renderEditCell)return r.renderEditCell({...t,editValue:Gr,onValueChange:Vr,commit:()=>n("enterKeyDown"),cancel:a});const o={autoFocus:!0,onKeyDown:e=>{"Enter"===e.key?(e.preventDefault(),e.stopPropagation(),n("enterKeyDown")):"Escape"===e.key?(e.preventDefault(),e.stopPropagation(),a()):"Tab"===e.key?n("tabKeyDown"):e.stopPropagation()},onBlur:()=>n("cellFocusOut"),onClick:e=>e.stopPropagation()};switch(r.type){case"boolean":return e.createElement(Wr,{...o,checked:Boolean(Gr),onChange:e=>Vr(e.target.checked)});case"singleSelect":{const n=ze(r,t.row,t.id);return e.createElement(Br,{...o,size:"small",value:null==Gr?"":String(Gr),onChange:e=>{const t=n.find(t=>String(Ne(r,t))===e.target.value);Vr(void 0!==t?Ne(r,t):e.target.value)}},e.createElement("option",{value:""}),n.map(t=>{const n=Ne(r,t);return e.createElement("option",{key:String(n),value:String(n)},Re(r,t))}))}case"number":return e.createElement($r,{...o,size:"small",type:"number",value:null==Gr?"":Gr,onChange:e=>Vr(e.target.value)});case"date":case"dateTime":return e.createElement($r,{...o,size:"small",type:"date"===r.type?"date":"datetime-local",value:"string"==typeof Gr&&/^\d{4}-\d{2}-\d{2}/.test(Gr)?Gr:Sn(Gr,"dateTime"===r.type),onChange:e=>Vr(e.target.value)});default:return e.createElement($r,{...o,size:"small",type:"text",value:null==Gr?"":String(Gr),onChange:e=>Vr(e.target.value)})}})(o);if(n.renderCell)return n.renderCell(o);if("actions"===n.type){const t=n.getActions?n.getActions($a(r.id,r.row)):[];return e.createElement(yn,{actions:t,themeMode:v,moreLabel:_t.actionsCellMore})}if("boolean"===n.type)return be(o.value)?null:o.value?e.createElement(br,{"aria-label":_t.booleanCellTrueLabel}):e.createElement(mr,{"aria-label":_t.booleanCellFalseLabel});const l=o.formattedValue;if(null==l)return null;if(e.isValidElement(l))return l;const i=Le(l);return e.createElement("span",{className:"mgh-grid-cell-text",title:i.length>20?i:void 0},i)},Ja=e=>({width:e.width,minWidth:e.width,maxWidth:e.width,left:"left"===e.pinned?e.offset:void 0,right:"right"===e.pinned?e.offset:void 0}),Za=(e,t)=>xe("left"===e.pinned&&`${t}--pinned-left`,"right"===e.pinned&&`${t}--pinned-right`,e.isLastLeft&&_n.hasPinning&&`${t}--pinned-left-last`,e.isFirstRight&&`${t}--pinned-right-first`),eo=Boolean(Ke||Xe||!$e),to=(t,r)=>{const n="leaf"===t.kind&&Fr.has(t.id),a="leaf"===t.kind&&t.row&&qe?qe({...$a(t.id,t.row),indexRelativeToCurrentPage:r.index,isFirstVisible:r.isFirst,isLastVisible:r.isLast,rowNode:t.node}):void 0;return e.createElement("div",{role:"row","aria-rowindex":r.index+2,"aria-selected":"leaf"===t.kind?n:void 0,"data-mgh-row-id":String(t.id),"data-mgh-row-index":r.index,className:xe("mgh-grid-row",n&&"mgh-grid-row--selected",eo&&"leaf"===t.kind&&"mgh-grid-row--clickable","group"===t.kind&&"mgh-grid-row--group","pinnedRow"===t.kind&&"mgh-grid-row--pinned","footer"===t.kind&&"mgh-grid-row--footer",r.isAuto&&"mgh-grid-row--auto-height",a),style:{width:_n.totalWidth,height:r.isAuto?void 0:r.height,minHeight:r.isAuto?zn:void 0},onClick:e=>{"leaf"===t.kind&&t.row?($e||((e,t)=>{if("group"===e.kind&&e.group){const t=e.group.descendants.map(e=>e.id),r=t.every(e=>Fr.has(e));return void Sa(t,!r,!1)}if("leaf"!==e.kind)return;const r=e.id;if(!xa(r,e.row))return;const n=!Be;if(t.shiftKey&&n&&null!==mn.current){const e=ma.filter(e=>"leaf"===e.type).map(e=>e.id),n=e.indexOf(mn.current),a=e.indexOf(r);if(-1!==n&&-1!==a){const[r,o]=n<a?[n,a]:[a,n];return void Sa(e.slice(r,o+1),!0,!He&&!t.ctrlKey&&!t.metaKey)}}mn.current=r;const a=Fr.has(r);He||t.ctrlKey||t.metaKey?Sa([r],!a,!1):a&&1===Fr.size?Sa([r],!1,!0):Sa([r],!0,!0)})(t,e),Ke?.($a(t.id,t.row),e,Yt())):"group"===t.kind&&t.group&&La(t.group.id,!ra(t.group))},onDoubleClick:e=>{"leaf"===t.kind&&t.row&&Xe?.($a(t.id,t.row),e,Yt())}},_n.columns.map(n=>((t,r)=>{const{col:n}=t,a=n.field,o=Boolean(Ur&&Ur.id===r.id&&Ur.field===a),l=Boolean(Tr&&Tr.id===r.id&&Tr.field===a),i=("group"===r.kind||"footer"===r.kind)&&Boolean(r.aggregates?.[a]),d="leaf"===r.kind&&r.row?Va(r.id,a,r.row,r.node):null,s=!!d&&za(d),c=d&&n.cellClassName?"function"==typeof n.cellClassName?n.cellClassName(d):n.cellClassName:void 0,g=a===de,m=a===se;return e.createElement("div",{key:a,role:"gridcell","data-mgh-field":a,"data-mgh-colindex":_n.columns.indexOf(t),tabIndex:o?0:-1,"aria-selected":"leaf"===r.kind?Fr.has(r.id):void 0,className:xe("mgh-grid-cell",`mgh-grid-cell--align-${n.align??"left"}`,Za(t,"mgh-grid-cell"),o&&!l&&"mgh-grid-cell--focused",l&&"mgh-grid-cell--editing",s&&!l&&"mgh-grid-cell--editable","boolean"===n.type&&"mgh-grid-cell--boolean","actions"===n.type&&"mgh-grid-cell--actions",g&&"mgh-grid-cell--checkbox",m&&"mgh-grid-cell--detail-toggle",i&&"mgh-grid-cell--aggregation",c),style:Ja(t),onMouseDown:()=>{"leaf"!==r.kind&&"group"!==r.kind||o||_r({id:r.id,field:a})},onClick:e=>{d&&Qe&&Qe(d,e,Yt())},onDoubleClick:e=>{d&&(Je?.(d,e,Yt()),s&&!l&&(e.stopPropagation(),Oa(r.id,a)))}},Qa(t,r))})(n,t,r.isAuto)),e.createElement("div",{className:"mgh-grid-row-filler"}))},ro=e=>({id:e.id,kind:e.type,row:e.row,node:e.node,depth:e.depth,group:e.group,aggregates:"group"===e.type&&e.group?ha(e.group):void 0}),no=(t,r)=>{const n=[];if((t??[]).forEach((t,o)=>{const l=Me(t,a),i={id:l,kind:"pinnedRow",row:t,node:{type:"pinnedRow",id:l,depth:0,parent:null,position:r},depth:0};n.push(e.createElement(e.Fragment,{key:String(l)},to(i,{height:zn,index:o,isFirst:!1,isLast:!1,isAuto:!1})))}),"bottom"===r&&pa){const t={id:ce,kind:"footer",row:null,node:{type:"footer",id:ce,depth:0,parent:null},depth:0,aggregates:pa};n.push(e.createElement(e.Fragment,{key:ce},to(t,{height:zn,index:0,isFirst:!1,isLast:!1,isAuto:!1})))}return n},ao=(t,r)=>{const{col:n}=t,a=n.field,o=Xt.findIndex(e=>e.field===a&&e.sort),l=-1!==o?Xt[o]:void 0,i=!1!==n.sortable&&!q&&!fe(a)||a===ie&&!1!==n.sortable,d=!ye&&!n.disableColumnMenu&&!fe(a)||a===ie&&!ye,s=!Ee&&!1!==n.resizable&&!fe(a)||a===ie&&!Ee,c=Wa(n),g=an?.field===a,m=an&&an.overField===a&&an.field!==a,p=Xr?.field===a,u={field:a,colDef:n,api:qt},h=n.headerClassName?"function"==typeof n.headerClassName?n.headerClassName(u):n.headerClassName:void 0;let f;return f=a===de?Be?null:e.createElement(Wr,{checked:Ca,indeterminate:ka,disabled:0===wa.length,label:Ca?_t.checkboxSelectionUnselectAllRows:_t.checkboxSelectionSelectAllRows,onChange:Da,onClick:e=>e.stopPropagation()}):a===se?null:n.renderHeader?n.renderHeader(u):e.createElement("span",{className:"mgh-grid-header-title"},n.headerName??a),e.createElement("div",{key:a,role:"columnheader","aria-colindex":r+1,"aria-sort":l?"asc"===l.sort?"ascending":"descending":i?"none":void 0,"data-mgh-field":a,title:n.description,tabIndex:-1,draggable:c,className:xe("mgh-grid-header-cell",`mgh-grid-header-cell--align-${n.headerAlign??"left"}`,Za(t,"mgh-grid-header-cell"),i&&"mgh-grid-header-cell--sortable",a===de&&"mgh-grid-header-cell--checkbox",a===se&&"mgh-grid-header-cell--detail-toggle",r===_n.columns.length-1&&"mgh-grid-header-cell--last",g&&"mgh-grid-header-cell--dragging",m&&"left"===an?.side&&"mgh-grid-header-cell--drop-left",m&&"right"===an?.side&&"mgh-grid-header-cell--drop-right",p&&"mgh-grid-header-cell--menu-open",h),style:Ja(t),onClick:e=>{i&&!Jr&&Fa(a,void 0,e.shiftKey)},onDragStart:e=>{if(c){e.dataTransfer.effectAllowed="move";try{e.dataTransfer.setData("text/plain",a)}catch{}dn({field:a,overField:null,side:"left"})}},onDragOver:e=>{if(!an||an.field===a)return;const r=_n.columns.find(e=>e.col.field===an.field);if(!r||r.pinned!==t.pinned||!Wa(n))return;e.preventDefault(),e.dataTransfer.dropEffect="move";const o=e.currentTarget.getBoundingClientRect(),l=e.clientX<o.left+o.width/2?"left":"right";an.overField===a&&an.side===l||dn({...an,overField:a,side:l})},onDragLeave:()=>{an&&an.overField===a&&dn({...an,overField:null})},onDrop:e=>((e,t)=>{t.preventDefault();const r=an;if(dn(null),!r||r.field===e.col.field)return;const n=_n.columns.find(e=>e.col.field===r.field);if(!n||n.pinned!==e.pinned||!Wa(e.col))return;const a=r.side;if(n.pinned){const t=n.pinned,o=(gr[t]??[]).slice(),l=o.indexOf(r.field);let i=o.indexOf(e.col.field);if(-1===l||-1===i)return;return o.splice(l,1),i=o.indexOf(e.col.field),o.splice("right"===a?i+1:i,0,r.field),void pr({...gr,[t]:o})}const o=Bn.map(e=>e.field),l=o.indexOf(r.field),i=o.filter(e=>e!==r.field);let d=i.indexOf(e.col.field);"right"===a&&(d+=1),i.splice(d,0,r.field),Nr(i),Pa(i);const s=Gn.get(r.field);s&&le?.({column:s,targetIndex:d,oldIndex:l},t,Yt())})(t,e),onDragEnd:()=>dn(null)},e.createElement("div",{className:"mgh-grid-header-title-container"},f,i&&e.createElement("span",{className:xe("mgh-grid-sort-icon",l&&"mgh-grid-sort-icon--active"),"aria-hidden":"true"},"desc"===l?.sort?e.createElement(hr,{size:18}):e.createElement(ur,{size:18}),l&&Xt.filter(e=>e.sort).length>1&&e.createElement("span",{className:"mgh-grid-sort-index"},o+1))),d&&e.createElement(Hr,{size:"small",className:xe("mgh-grid-header-menu-btn",p&&"mgh-grid-header-menu-btn--open"),label:_t.columnMenuLabel,"aria-haspopup":"menu","aria-expanded":p,tabIndex:-1,onClick:e=>{e.stopPropagation(),Qr(t=>t?.field===a?null:{field:a,anchorEl:e.currentTarget})},onMouseDown:e=>e.stopPropagation()},e.createElement(fr,null)),s&&e.createElement("div",{className:xe("mgh-grid-resize-handle",Jr===a&&"mgh-grid-resize-handle--active"),role:"separator","aria-orientation":"vertical",onPointerDown:e=>((e,t)=>{t.preventDefault(),t.stopPropagation(),_a.current={field:e.col.field,startX:t.clientX,startWidth:e.width,lastWidth:e.width,min:e.col.minWidth??he,max:e.col.maxWidth??1/0},Zr(e.col.field);const r=e=>{const t=_a.current;if(!t)return;const r=ve(t.startWidth+(e.clientX-t.startX),t.min,t.max);t.lastWidth=r,zr(e=>e[t.field]===r?e:{...e,[t.field]:r})},n=()=>{window.removeEventListener("pointermove",r),window.removeEventListener("pointerup",n);const e=_a.current;if(_a.current=null,Zr(null),!e)return;const t={...jt.current.columnWidths,[e.field]:e.lastWidth};zr(t),Ia(t);const a=jt.current.getColumn(e.field);a&&e.lastWidth!==e.startWidth&&ge?.({colDef:a,width:e.lastWidth},Yt())};window.addEventListener("pointermove",r),window.addEventListener("pointerup",n)})(t,e),onClick:e=>e.stopPropagation(),onDoubleClick:e=>{e.stopPropagation(),Na({columns:[a]})},draggable:!1,onDragStart:e=>{e.preventDefault(),e.stopPropagation()}}))},oo=null===C.toolbar?null:C.toolbar??nn,lo=null===C.footer?null:C.footer??on,io=C.noRowsOverlay??hn,so=C.loadingOverlay??fn,co={...E,...k.toolbar},go={text:M,...k.noRowsOverlay},mo={...k.loadingOverlay},po=!o&&0===ma.length,uo=Xr?Yn(Xr.field):void 0,ho={height:"auto",flexGrow:1,...Mn(u),...Mn(p),...x},fo={flexGrow:1,...Mn(f),...Mn(h)},bo={...Mn(y),...Mn(b),"--mgh-grid-header-height":`${On}px`,"--mgh-grid-row-height":`${zn}px`},yo=e.useMemo(()=>{const e=[];return st(`[data-mgh-grid-id="${Ht}"]`,y,e),st(`[data-mgh-grid-id="${Ht}"]`,b,e),st(`[data-mgh-grid-card="${Ht}"]`,u,e),st(`[data-mgh-grid-card="${Ht}"]`,p,e),st(`[data-mgh-grid-box="${Ht}"]`,f,e),st(`[data-mgh-grid-box="${Ht}"]`,h,e),e.join("\n")},[Ht,y,b,u,p,f,h]),vo=In>0&&In<600,xo=e.createElement("div",{ref:Vt,id:Ht,"data-mgh-grid-id":Ht,role:"grid","aria-rowcount":Ya+1,"aria-colcount":_n.columns.length,"aria-multiselectable":!(!He||Be)||void 0,"aria-busy":o||void 0,className:xe("mgh-grid",(I||rn)&&"mgh-grid--auto-height",rn&&"mgh-grid--printing",!_n.hasPinning&&"mgh-grid--no-pinned-shadow",c),style:bo,onKeyDown:e=>{if(Tr)return;const t=e.target;if(t&&("INPUT"===t.tagName||"SELECT"===t.tagName||"TEXTAREA"===t.tagName||"BUTTON"===t.tagName))return;const r=Math.max(1,Math.floor(Math.max(Nn-On,zn)/zn));switch(e.key){case"ArrowDown":e.preventDefault(),Ua(1,0);break;case"ArrowUp":e.preventDefault(),Ua(-1,0);break;case"ArrowLeft":e.preventDefault(),Ua(0,-1);break;case"ArrowRight":e.preventDefault(),Ua(0,1);break;case"PageDown":e.preventDefault(),Ua(r,0);break;case"PageUp":e.preventDefault(),Ua(-r,0);break;case"Home":e.preventDefault(),Ua(0,0,e.ctrlKey||e.metaKey?{row:"first",col:"first"}:{col:"first"});break;case"End":e.preventDefault(),Ua(0,0,e.ctrlKey||e.metaKey?{row:"last",col:"last"}:{col:"last"});break;case"Enter":case"F2":if(Ur){const t=la.get(Ur.id);if("group"===t?.type&&Ur.field===ie){const e=ia.get(Ur.id);e&&La(e.id,!ra(e))}else e.preventDefault(),Oa(Ur.id,Ur.field)}break;case" ":if(Ur&&(He||!$e)){const t=ma.find(e=>e.id===Ur.id);t&&"leaf"===t.type&&t.row&&(e.preventDefault(),Sa([t.id],!Fr.has(t.id),!1))}break;case"Escape":qr.open&&Ra(),Xr&&Qr(null);break;default:(e.ctrlKey||e.metaKey)&&"a"===e.key.toLowerCase()&&He&&!Be&&(e.preventDefault(),Sa(wa,!0))}}},w&&oo&&e.createElement("div",{ref:Ut},e.createElement(oo,{...co})),e.createElement("div",{className:"mgh-grid-main"},e.createElement("div",{ref:Bt,className:"mgh-grid-scroller",onScroll:va,tabIndex:-1},e.createElement("div",{className:"mgh-grid-columns",role:"rowgroup",style:{width:_n.totalWidth}},e.createElement("div",{className:"mgh-grid-header-row",role:"row","aria-rowindex":1,style:{height:On}},_n.columns.map((e,t)=>ao(e,t)),e.createElement("div",{className:"mgh-grid-header-filler"}))),Ze?.top&&Ze.top.length>0&&e.createElement("div",{className:"mgh-grid-pinned-rows mgh-grid-pinned-rows--top",role:"rowgroup",style:{top:On,width:_n.totalWidth}},no(Ze.top,"top")),e.createElement("div",{className:xe("mgh-grid-body",ba?"mgh-grid-body--virtual":"mgh-grid-body--flow"),role:"rowgroup",style:ba?{height:fa.total,width:_n.totalWidth}:{width:_n.totalWidth,minHeight:po||o?120:void 0}},(()=>{const{start:t,end:r}=ya,n=[];for(let a=t;a<r;a+=1){const t=ma[a],r=ro(t),o=fa.detailHeights[a],l="leaf"===t.type&&Boolean(t.row)&&Boolean(et)&&Mr.has(t.id),i=l&&t.row?et?.($a(t.id,t.row)):null,d=!!(l&&t.row&&nt)&&"auto"===nt({id:t.id,row:t.row}),s=!(ba||!P||"leaf"!==t.type||!t.row||"auto"!==P({id:t.id,model:t.row,densityFactor:Rn}));n.push(e.createElement("div",{key:String(t.id),className:"mgh-grid-row-block",style:ba?{top:fa.offsets[a],width:_n.totalWidth}:{width:_n.totalWidth}},to(r,{height:fa.rowHeights[a],index:a,isFirst:0===a,isLast:a===ma.length-1,isAuto:s}),l&&null!=i&&!1!==i&&e.createElement("div",{className:"mgh-grid-detail-panel",style:{height:d?void 0:o||void 0,width:In||void 0},onClick:e=>e.stopPropagation()},i)))}return n})()),(Ze?.bottom&&Ze.bottom.length>0||pa)&&e.createElement("div",{className:"mgh-grid-pinned-rows mgh-grid-pinned-rows--bottom",role:"rowgroup",style:{width:_n.totalWidth}},no(Ze?.bottom,"bottom"))),o&&e.createElement("div",{className:"mgh-grid-overlay mgh-grid-overlay--loading",style:{top:On}},e.createElement(so,{...mo})),po&&e.createElement("div",{className:"mgh-grid-overlay",style:{top:On}},e.createElement(io,{...go}))),!V&&lo&&e.createElement(lo,{...k.footer}),e.createElement(jr,{open:qr.open,anchorEl:qr.anchorEl,onClose:Ra,themeMode:v,placement:"bottom-start",autoFocus:!0},"columns"===qr.openedPanelValue?e.createElement(ln,null):e.createElement(pn,null)),uo&&Xr&&e.createElement(un,{column:uo,anchorEl:Xr.anchorEl,open:!0,onClose:()=>Qr(null),themeMode:v,panelAnchorEl:Ut.current}));return e.createElement(wt.Provider,{value:Xa},e.createElement("div",{ref:$t,className:xe("mgh-grid-card",s&&"mgh-grid-card--plain",g),"data-mgh-theme":v,"data-mgh-grid-card":Ht,style:ho},yo&&e.createElement("style",{"data-mgh-grid-sx":Ht},yo),!s&&(void 0!==l||d||i)&&e.createElement("div",{className:"mgh-grid-card-header"},void 0!==l&&e.createElement("h3",{className:"mgh-grid-card-title"},l),d&&e.createElement("div",{className:"mgh-grid-card-header-center"},d),e.createElement("div",{className:"mgh-grid-card-header-end",style:{gap:vo?8:16}},i)),e.createElement("div",{className:xe("mgh-grid-box",m),"data-mgh-grid-box":Ht,style:fo},xo)))}Dn.displayName="MGHGrid";const Fn="mgh-drp-styles",Pn='\n.mgh-drp, .mgh-drp-popover, .mgh-drp-calendars {\n --mgh-drp-font-family: var(--mgh-grid-font-family, inherit);\n --mgh-drp-font-size: var(--mgh-grid-font-size, 14px);\n --mgh-drp-paper: var(--mgh-grid-paper, #ffffff);\n --mgh-drp-fg: var(--mgh-grid-fg, rgba(0, 0, 0, 0.87));\n --mgh-drp-fg-secondary: var(--mgh-grid-fg-secondary, rgba(0, 0, 0, 0.6));\n --mgh-drp-fg-disabled: var(--mgh-grid-fg-disabled, rgba(0, 0, 0, 0.38));\n --mgh-drp-border: var(--mgh-grid-border, rgba(224, 224, 224, 1));\n --mgh-drp-input-border: var(--mgh-grid-input-border, rgba(0, 0, 0, 0.23));\n --mgh-drp-hover: var(--mgh-grid-hover, rgba(0, 0, 0, 0.04));\n --mgh-drp-primary: var(--mgh-grid-primary, #1976d2);\n --mgh-drp-primary-contrast: var(--mgh-grid-primary-contrast, #ffffff);\n --mgh-drp-focus: var(--mgh-grid-focus, #1976d2);\n --mgh-drp-selected: var(--mgh-grid-selected, rgba(25, 118, 210, 0.12));\n --mgh-drp-preview: rgba(0, 0, 0, 0.06);\n --mgh-drp-error: #d32f2f;\n --mgh-drp-radius: 4px;\n --mgh-drp-popover-radius: 8px;\n --mgh-drp-popover-shadow: var(--mgh-grid-popover-shadow, 0 5px 5px -3px rgba(0,0,0,.2), 0 8px 10px 1px rgba(0,0,0,.14), 0 3px 14px 2px rgba(0,0,0,.12));\n --mgh-drp-day-size: 36px;\n --mgh-drp-day-margin: 2px;\n font-family: var(--mgh-drp-font-family);\n font-size: var(--mgh-drp-font-size);\n color: var(--mgh-drp-fg);\n line-height: 1.5;\n}\n/* Dark values also apply to a calendar nested inside a dark picker / popover, so the calendar\'s own\n defaults (declared above for standalone use) never reset the colours back to light. */\n.mgh-drp[data-mgh-theme="dark"], .mgh-drp-popover[data-mgh-theme="dark"], .mgh-drp-calendars[data-mgh-theme="dark"],\n.mgh-drp[data-mgh-theme="dark"] .mgh-drp-calendars, .mgh-drp-popover[data-mgh-theme="dark"] .mgh-drp-calendars {\n --mgh-drp-paper: #212b36;\n --mgh-drp-fg: #ffffff;\n --mgh-drp-fg-secondary: rgba(255, 255, 255, 0.7);\n --mgh-drp-fg-disabled: rgba(255, 255, 255, 0.5);\n --mgh-drp-border: rgba(81, 81, 81, 1);\n --mgh-drp-input-border: rgba(255, 255, 255, 0.23);\n --mgh-drp-hover: rgba(255, 255, 255, 0.08);\n --mgh-drp-primary: #90caf9;\n --mgh-drp-primary-contrast: rgba(0, 0, 0, 0.87);\n --mgh-drp-focus: #90caf9;\n --mgh-drp-selected: rgba(144, 202, 249, 0.16);\n --mgh-drp-preview: rgba(255, 255, 255, 0.08);\n --mgh-drp-error: #f44336;\n}\n[class*="mgh-drp"], [class*="mgh-drp"]::before, [class*="mgh-drp"]::after { box-sizing: border-box; }\n\n/* ---- root / multi-input layout ---- */\n.mgh-drp { display: inline-flex; flex-direction: column; vertical-align: top; min-width: 0; }\n.mgh-drp--full-width { display: flex; width: 100%; }\n.mgh-drp-fields { display: flex; align-items: flex-start; gap: 8px; min-width: 0; }\n.mgh-drp-fields .mgh-drp-field { flex: 1 1 0; min-width: 0; }\n.mgh-drp-fields-separator { align-self: center; color: var(--mgh-drp-fg-secondary); padding: 0 2px; }\n\n/* ---- outlined text field (MUI TextField look-alike) ---- */\n.mgh-drp-field { position: relative; display: inline-flex; align-items: center; min-width: 0; width: 100%; border-radius: var(--mgh-drp-radius); color: var(--mgh-drp-fg); }\n.mgh-drp-field--medium { height: 56px; }\n.mgh-drp-field--small { height: 40px; }\n.mgh-drp-field:not(.mgh-drp-field--full-width) { width: 260px; }\n.mgh-drp-field--multi:not(.mgh-drp-field--full-width) { width: 170px; }\n.mgh-drp-field--full-width { width: 100%; }\n.mgh-drp-input { flex: 1 1 auto; min-width: 0; width: 100%; height: 100%; margin: 0; border: 0; outline: none; background: transparent; color: inherit; font: inherit; font-size: 1rem; letter-spacing: inherit; padding: 16.5px 14px; }\n.mgh-drp-field--small .mgh-drp-input { padding: 8.5px 14px; }\n.mgh-drp-field--adorned .mgh-drp-input { padding-right: 0; }\n.mgh-drp-input::placeholder { color: var(--mgh-drp-fg-disabled); opacity: 1; }\n.mgh-drp-input::-webkit-calendar-picker-indicator { display: none; }\n.mgh-drp-field--disabled .mgh-drp-input { color: var(--mgh-drp-fg-disabled); -webkit-text-fill-color: var(--mgh-drp-fg-disabled); }\n.mgh-drp-field--disabled { cursor: default; }\n.mgh-drp-field--clickable .mgh-drp-input { cursor: pointer; }\n.mgh-drp-adornment { display: flex; align-items: center; gap: 0; margin-right: 6px; flex: 0 0 auto; color: var(--mgh-drp-fg-secondary); }\n.mgh-drp-field--small .mgh-drp-adornment { margin-right: 4px; }\n\n/* notched outline */\n.mgh-drp-outline { position: absolute; inset: -5px 0 0 0; margin: 0; padding: 0 8px; pointer-events: none; border: 1px solid var(--mgh-drp-input-border); border-radius: inherit; min-width: 0; overflow: hidden; text-align: left; transition: border-color .15s; }\n.mgh-drp-outline legend { float: unset; width: auto; padding: 0; height: 11px; font-size: 0.75em; visibility: hidden; max-width: 0.01px; white-space: nowrap; transition: max-width 50ms cubic-bezier(0.0, 0, 0.2, 1) 0ms; overflow: hidden; display: block; line-height: 11px; }\n.mgh-drp-outline legend > span { padding-left: 5px; padding-right: 5px; display: inline-block; opacity: 0; visibility: visible; }\n.mgh-drp-field--shrink .mgh-drp-outline legend { max-width: 100%; transition: max-width 100ms cubic-bezier(0.0, 0, 0.2, 1) 50ms; }\n.mgh-drp-field--no-label .mgh-drp-outline legend { display: none; }\n.mgh-drp-field:hover:not(.mgh-drp-field--disabled) .mgh-drp-outline { border-color: var(--mgh-drp-fg); }\n.mgh-drp-field--focused .mgh-drp-outline, .mgh-drp-field--focused:hover .mgh-drp-outline { border-color: var(--mgh-drp-focus); border-width: 2px; }\n.mgh-drp-field--error .mgh-drp-outline, .mgh-drp-field--error:hover .mgh-drp-outline { border-color: var(--mgh-drp-error); }\n.mgh-drp-field--disabled .mgh-drp-outline { border-color: var(--mgh-drp-fg-disabled); }\n\n/* floating label */\n.mgh-drp-label { position: absolute; left: 0; top: 0; transform-origin: top left; transform: translate(14px, 16px) scale(1); color: var(--mgh-drp-fg-secondary); font-size: 1rem; line-height: 1.4375em; pointer-events: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: calc(100% - 24px); transition: color .15s, transform .15s cubic-bezier(0.0, 0, 0.2, 1), max-width .15s; z-index: 1; }\n.mgh-drp-field--small .mgh-drp-label { transform: translate(14px, 9px) scale(1); }\n.mgh-drp-field--shrink .mgh-drp-label, .mgh-drp-field--small.mgh-drp-field--shrink .mgh-drp-label { transform: translate(14px, -9px) scale(0.75); max-width: calc(133% - 32px); }\n.mgh-drp-field--focused .mgh-drp-label { color: var(--mgh-drp-focus); }\n.mgh-drp-field--error .mgh-drp-label { color: var(--mgh-drp-error); }\n.mgh-drp-field--disabled .mgh-drp-label { color: var(--mgh-drp-fg-disabled); }\n.mgh-drp-label-asterisk { margin-left: 2px; }\n\n.mgh-drp-helper { margin: 3px 14px 0; font-size: 0.75rem; line-height: 1.66; color: var(--mgh-drp-fg-secondary); }\n.mgh-drp-helper--error { color: var(--mgh-drp-error); }\n\n/* ---- buttons ---- */\n.mgh-drp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 0; margin: 0; background: transparent; color: var(--mgh-drp-fg-secondary); font: inherit; font-size: 0.8125rem; font-weight: 500; line-height: 1.75; letter-spacing: .02em; padding: 4px 8px; border-radius: 4px; cursor: pointer; user-select: none; transition: background-color .15s, color .15s; white-space: nowrap; text-transform: uppercase; }\n.mgh-drp-btn:hover { background: var(--mgh-drp-hover); color: var(--mgh-drp-fg); }\n.mgh-drp-btn:focus-visible { outline: 2px solid var(--mgh-drp-focus); outline-offset: 1px; }\n.mgh-drp-btn:disabled { color: var(--mgh-drp-fg-disabled); cursor: default; background: transparent; }\n.mgh-drp-btn--primary { color: var(--mgh-drp-primary); }\n.mgh-drp-btn--primary:hover { background: var(--mgh-drp-selected); color: var(--mgh-drp-primary); }\n.mgh-drp-btn--icon { padding: 8px; border-radius: 50%; width: 40px; height: 40px; text-transform: none; }\n.mgh-drp-btn--icon.mgh-drp-btn--small { width: 32px; height: 32px; padding: 4px; }\n.mgh-drp-icon { flex: 0 0 auto; }\n\n/* ---- popover ---- */\n.mgh-drp-popover { position: fixed; z-index: 1300; display: flex; flex-direction: column; background: var(--mgh-drp-paper); color: var(--mgh-drp-fg); border-radius: var(--mgh-drp-popover-radius); box-shadow: var(--mgh-drp-popover-shadow); outline: none; max-height: calc(100vh - 16px); max-width: calc(100vw - 16px); overflow: auto; animation: mgh-drp-pop .12s ease-out; }\n@keyframes mgh-drp-pop { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }\n.mgh-drp-layout { display: flex; flex-direction: row; align-items: stretch; }\n.mgh-drp-layout--with-toolbar { flex-direction: column; }\n.mgh-drp-layout-main { display: flex; flex-direction: row; align-items: stretch; }\n.mgh-drp-toolbar { padding: 16px 24px 0; }\n.mgh-drp-toolbar-title { font-size: 0.75rem; text-transform: uppercase; letter-spacing: .08em; color: var(--mgh-drp-fg-secondary); margin: 0 0 8px; }\n.mgh-drp-toolbar-range { display: flex; align-items: center; gap: 8px; font-size: 1.5rem; font-weight: 400; line-height: 1.334; }\n.mgh-drp-toolbar-range button { border: 0; background: transparent; padding: 0 2px; font: inherit; color: var(--mgh-drp-fg-secondary); cursor: pointer; border-radius: 4px; }\n.mgh-drp-toolbar-range button.mgh-drp-toolbar-range--active { color: var(--mgh-drp-fg); }\n.mgh-drp-toolbar-range button:hover { background: var(--mgh-drp-hover); }\n\n/* shortcuts (left column) */\n.mgh-drp-shortcuts { list-style: none; margin: 0; padding: 8px 0; min-width: 140px; max-height: 340px; overflow: auto; border-right: 1px solid var(--mgh-drp-border); display: flex; flex-direction: column; gap: 4px; padding-left: 8px; padding-right: 8px; }\n.mgh-drp-shortcut { display: inline-flex; align-items: center; height: 32px; padding: 0 12px; border-radius: 16px; border: 1px solid var(--mgh-drp-input-border); background: transparent; color: var(--mgh-drp-fg); font: inherit; font-size: 0.8125rem; cursor: pointer; white-space: nowrap; justify-content: flex-start; transition: background-color .15s; }\n.mgh-drp-shortcut:hover { background: var(--mgh-drp-hover); }\n.mgh-drp-shortcut:focus-visible { outline: 2px solid var(--mgh-drp-focus); outline-offset: 1px; }\n.mgh-drp-shortcut:disabled { color: var(--mgh-drp-fg-disabled); cursor: default; }\n.mgh-drp-shortcut--selected { background: var(--mgh-drp-selected); border-color: var(--mgh-drp-primary); color: var(--mgh-drp-primary); }\n\n/* ---- calendars ---- */\n.mgh-drp-calendars { display: flex; flex-direction: row; align-items: flex-start; }\n.mgh-drp-calendar { display: flex; flex-direction: column; width: calc(7 * (var(--mgh-drp-day-size) + 2 * var(--mgh-drp-day-margin)) + 24px); padding: 0 12px 8px; }\n.mgh-drp-calendar + .mgh-drp-calendar { border-left: 1px solid var(--mgh-drp-border); }\n.mgh-drp-calendar-header { display: flex; align-items: center; justify-content: space-between; min-height: 40px; margin: 12px 0 8px; padding: 0 4px; }\n.mgh-drp-calendar-label { flex: 1 1 auto; text-align: center; font-size: 1rem; font-weight: 500; }\n.mgh-drp-calendar-header .mgh-drp-btn--icon { color: var(--mgh-drp-fg-secondary); }\n.mgh-drp-calendar-nav-spacer { width: 40px; height: 40px; flex: 0 0 auto; }\n.mgh-drp-weekdays, .mgh-drp-week { display: flex; justify-content: center; }\n.mgh-drp-weekday { width: var(--mgh-drp-day-size); height: 40px; margin: 0 var(--mgh-drp-day-margin); display: flex; align-items: center; justify-content: center; font-size: 0.75rem; color: var(--mgh-drp-fg-secondary); font-weight: 400; }\n.mgh-drp-weeks { display: flex; flex-direction: column; min-height: calc(6 * (var(--mgh-drp-day-size) + 2 * var(--mgh-drp-day-margin))); }\n.mgh-drp-week { margin: var(--mgh-drp-day-margin) 0; }\n\n/* day cell: the outer wrapper carries the range highlight, the inner button the day itself */\n.mgh-drp-day-wrap { position: relative; width: calc(var(--mgh-drp-day-size) + 2 * var(--mgh-drp-day-margin)); height: var(--mgh-drp-day-size); display: flex; align-items: center; justify-content: center; }\n.mgh-drp-day-wrap--in-range { background: var(--mgh-drp-selected); }\n.mgh-drp-day-wrap--range-start { border-top-left-radius: 50%; border-bottom-left-radius: 50%; }\n.mgh-drp-day-wrap--range-end { border-top-right-radius: 50%; border-bottom-right-radius: 50%; }\n.mgh-drp-day-wrap--preview { border-top: 1px dashed var(--mgh-drp-fg-secondary); border-bottom: 1px dashed var(--mgh-drp-fg-secondary); }\n.mgh-drp-day-wrap--preview-start { border-left: 1px dashed var(--mgh-drp-fg-secondary); border-top-left-radius: 50%; border-bottom-left-radius: 50%; }\n.mgh-drp-day-wrap--preview-end { border-right: 1px dashed var(--mgh-drp-fg-secondary); border-top-right-radius: 50%; border-bottom-right-radius: 50%; }\n.mgh-drp-day-wrap--first-visible.mgh-drp-day-wrap--in-range:not(.mgh-drp-day-wrap--range-start) { border-top-left-radius: 50%; border-bottom-left-radius: 50%; }\n.mgh-drp-day-wrap--last-visible.mgh-drp-day-wrap--in-range:not(.mgh-drp-day-wrap--range-end) { border-top-right-radius: 50%; border-bottom-right-radius: 50%; }\n.mgh-drp-day-wrap--first-visible.mgh-drp-day-wrap--preview:not(.mgh-drp-day-wrap--preview-start) { border-top-left-radius: 50%; border-bottom-left-radius: 50%; border-left: 1px dashed var(--mgh-drp-fg-secondary); }\n.mgh-drp-day-wrap--last-visible.mgh-drp-day-wrap--preview:not(.mgh-drp-day-wrap--preview-end) { border-top-right-radius: 50%; border-bottom-right-radius: 50%; border-right: 1px dashed var(--mgh-drp-fg-secondary); }\n.mgh-drp-day { width: var(--mgh-drp-day-size); height: var(--mgh-drp-day-size); border-radius: 50%; border: 0; margin: 0; padding: 0; background: transparent; color: var(--mgh-drp-fg); font: inherit; font-size: 0.75rem; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: background-color .15s, color .15s; position: relative; }\n.mgh-drp-day:hover { background: var(--mgh-drp-hover); }\n.mgh-drp-day:focus-visible { outline: 2px solid var(--mgh-drp-focus); outline-offset: -1px; }\n.mgh-drp-day--today:not(.mgh-drp-day--selected) { border: 1px solid var(--mgh-drp-fg-secondary); }\n.mgh-drp-day--outside { color: var(--mgh-drp-fg-secondary); opacity: .6; }\n.mgh-drp-day--hidden { visibility: hidden; pointer-events: none; }\n.mgh-drp-day--disabled, .mgh-drp-day--disabled:hover { color: var(--mgh-drp-fg-disabled); cursor: default; background: transparent; }\n.mgh-drp-day--selected, .mgh-drp-day--selected:hover { background: var(--mgh-drp-primary); color: var(--mgh-drp-primary-contrast); font-weight: 500; }\n.mgh-drp-day--selected:focus-visible { outline-offset: 2px; }\n.mgh-drp-calendar--read-only .mgh-drp-day, .mgh-drp-calendar--disabled .mgh-drp-day { cursor: default; }\n.mgh-drp-calendar--disabled .mgh-drp-day { color: var(--mgh-drp-fg-disabled); }\n.mgh-drp-calendar--disabled .mgh-drp-day--selected { opacity: .6; }\n\n/* ---- action bar ---- */\n.mgh-drp-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding: 8px; border-top: 1px solid var(--mgh-drp-border); }\n.mgh-drp-actions--spread { justify-content: space-between; }\n.mgh-drp-actions-group { display: flex; gap: 8px; }\n\n@media (max-width: 599.95px) {\n .mgh-drp-layout-main { flex-direction: column; }\n .mgh-drp-shortcuts { flex-direction: row; flex-wrap: wrap; border-right: 0; border-bottom: 1px solid var(--mgh-drp-border); max-height: none; }\n .mgh-drp-calendars { flex-direction: column; align-items: center; }\n .mgh-drp-calendar + .mgh-drp-calendar { border-left: 0; border-top: 1px solid var(--mgh-drp-border); }\n}\n';let In=!1;const Nn=e.useInsertionEffect??("undefined"!=typeof window?e.useLayoutEffect:e.useEffect),Rn=()=>{Nn(()=>{(()=>{if(In||"undefined"==typeof document)return;if(document.getElementById(Fn))return void(In=!0);const e=document.createElement("style");e.id=Fn,e.setAttribute("data-mgh-drp","true"),e.textContent=Pn,document.head.appendChild(e),In=!0})()},[])},zn=(t,r)=>{const n=e.forwardRef(({size:r=24,className:n,style:a,...o},l)=>e.createElement("svg",{ref:l,viewBox:"0 0 24 24",width:r,height:r,fill:"currentColor",focusable:"false","aria-hidden":"true",className:["mgh-drp-icon",n].filter(Boolean).join(" "),style:a,...o},t));return n.displayName=r,n},On=zn(e.createElement("path",{d:"M9 11H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2zm2-7h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11z"}),"DateRangeIcon"),An=zn(e.createElement("path",{d:"M15.41 16.59 10.83 12l4.58-4.59L14 6l-6 6 6 6 1.41-1.41z"}),"ChevronLeftIcon"),Tn=zn(e.createElement("path",{d:"M8.59 16.59 13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z"}),"ChevronRightIcon"),Ln=zn(e.createElement("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"CloseIcon");var Gn=Object.freeze({__proto__:null,ChevronLeftIcon:An,ChevronRightIcon:Tn,CloseIcon:Ln,DateRangeIcon:On});U.extend(_);const Hn=(...e)=>e.filter(Boolean).join(" "),Vn=(e,t,r)=>Math.min(Math.max(e,t),r),$n=[null,null],Bn=e=>{if(null==e||""===e)return null;if(U.isDayjs(e))return e.isValid()?e:null;if(e instanceof Date||"number"==typeof e||"string"==typeof e){const t=U(e);return t.isValid()?t:null}return null},Un=(e,t)=>!!e&&!!t&&e.isSame(t,"day"),Wn=(e,t)=>e.isBefore(t,"day"),_n=(e,t)=>e.isAfter(t,"day"),jn=(e,t,r)=>!(!t||!r||Wn(e,t)||_n(e,r)),Yn=(e,t)=>{if(e===t)return!0;if(!e||!t)return!1;const r=(e,t)=>null==e&&null==t||!!e&&!!t&&e.isSame(t,"day");return r(e[0],t[0])&&r(e[1],t[1])},qn=e=>Array.isArray(e)?[Bn(e[0]),Bn(e[1])]:$n,Kn=(e,t)=>{const r=e.trim();if(!r)return null;const n=U(r,t,!0);if(n.isValid())return n;const a=[t.replace(/MM/g,"M").replace(/DD/g,"D"),"M/D/YYYY","M/D/YY","YYYY-MM-DD","MM-DD-YYYY","M-D-YYYY"];for(const e of a){const t=U(r,e,!0);if(t.isValid())return t}return null},Xn=(e,t)=>e&&e.isValid()?e.format(t):"",Qn=(e,t,r,n=U())=>null==e?null:e.isValid()?r.disablePast&&Wn(e,n)?"disablePast":r.disableFuture&&_n(e,n)?"disableFuture":r.minDate&&Wn(e,r.minDate)?"minDate":r.maxDate&&_n(e,r.maxDate)?"maxDate":r.shouldDisableDate?.(e,t)?"shouldDisableDate":null:"invalidDate",Jn=(e,t)=>{const r=U(),n=Qn(e[0],"start",t,r),a=Qn(e[1],"end",t,r);return!n&&!a&&e[0]&&e[1]&&_n(e[0],e[1])?["invalidRange","invalidRange"]:[n,a]},Zn=(e,t,r)=>null!=Qn(e,t,r),ea=[{label:"This Week",getValue:()=>{const e=U();return[e.startOf("week"),e.endOf("week")]}},{label:"Last Week",getValue:()=>{const e=U().subtract(7,"day");return[e.startOf("week"),e.endOf("week")]}},{label:"Last 7 Days",getValue:()=>{const e=U();return[e.subtract(7,"day"),e]}},{label:"Current Month",getValue:()=>{const e=U();return[e.startOf("month"),e.endOf("month")]}},{label:"Next Month",getValue:()=>{const e=U().add(1,"month");return[e.startOf("month"),e.endOf("month")]}},{label:"Reset",getValue:()=>[null,null]}],ta=e=>e.format("dd").charAt(0).toUpperCase();function ra({value:t,defaultValue:r,onChange:n,rangePosition:a,onRangePositionChange:o,calendars:l=2,referenceDate:i,minDate:d,maxDate:s,disablePast:c,disableFuture:g,shouldDisableDate:m,disabled:p=!1,readOnly:u=!1,showDaysOutsideCurrentMonth:h=!1,fixedWeekNumber:f,dayOfWeekFormatter:b=ta,disableHighlightToday:y=!1,showRangePreview:v=!0,autoFocus:x=!1,onMonthChange:w,localeText:E,themeMode:C,className:k,style:M}){Rn();const S=void 0!==t,[D,F]=e.useState(()=>qn(r??$n)),P=e.useMemo(()=>S?qn(t):D,[S,t,D]),[I,N]=P,[R,z]=e.useState("start"),O=a??R,A=e.useCallback(e=>{void 0===a&&z(e),o?.(e)},[a,o]),T=e.useMemo(()=>({minDate:d,maxDate:s,disablePast:c,disableFuture:g,shouldDisableDate:m}),[d,s,c,g,m]),[L,G]=e.useState(()=>(I??N??i??U()).startOf("month")),H=e.useMemo(()=>Array.from({length:l},(e,t)=>L.add(t,"month")),[L,l]),V=H[H.length-1],$=e.useCallback(e=>{const t=e.startOf("month");G(e=>e.isSame(t,"month")?e:(w?.(t),t))},[w]),B=e.useCallback(e=>{Wn(e,L.startOf("month"))?$(e):_n(e,V.endOf("month"))&&$(e.subtract(l-1,"month"))},[L,V,l,$]),W=e.useRef(P);e.useEffect(()=>{const e=W.current;W.current=P;const t="end"===O?N??I:I??N;if(!t)return;(!Un(e[0],I)||!Un(e[1],N))&&B(t)},[I,N]);const _=!d||L.isAfter(d,"month"),j=!s||V.isBefore(s,"month"),[Y,q]=e.useState(null),K=e.useMemo(()=>!v||!Y||p||u?$n:"end"===O&&I&&!N?Wn(Y,I)?$n:[I,Y]:"start"===O&&N&&!I?_n(Y,N)?$n:[Y,N]:$n,[v,Y,O,I,N,p,u]),X=e.useCallback(e=>{if(p||u)return;if(Zn(e,O,T))return;let t,r;"start"===O?(t=[e,N&&_n(e,N)?null:N],r="end"):I&&Wn(e,I)?(t=[e,null],r="end"):(t=[I,e],r="start"),S||F(t),n?.(t,e,O),A(r)},[p,u,O,T,N,I,S,n,A]),[Q,J]=e.useState(()=>I??N??i??U()),Z=e.useRef(null),ee=e.useRef(x),te=e.useCallback(e=>{const t=e.format("YYYY-MM-DD"),r=Z.current?.querySelector(`[data-day="${t}"]`);r?.focus()},[]);e.useEffect(()=>{if(!ee.current)return;ee.current=!1;const e=Q;B(e);const t=window.setTimeout(()=>te(e),0);return()=>window.clearTimeout(t)},[]);const re=(e,t)=>{let r=null;switch(e.key){case"ArrowLeft":r=t.subtract(1,"day");break;case"ArrowRight":r=t.add(1,"day");break;case"ArrowUp":r=t.subtract(7,"day");break;case"ArrowDown":r=t.add(7,"day");break;case"Home":r=t.startOf("week");break;case"End":r=t.endOf("week");break;case"PageUp":r=e.shiftKey?t.subtract(1,"year"):t.subtract(1,"month");break;case"PageDown":r=e.shiftKey?t.add(1,"year"):t.add(1,"month");break;case"Enter":case" ":return e.preventDefault(),void X(t);default:return}e.preventDefault(),r&&(e=>{J(e),B(e),window.setTimeout(()=>te(e),0)})(r)},ne=e.useMemo(()=>(e=>{const t=U().startOf("week");return Array.from({length:7},(r,n)=>{const a=t.add(n,"day");return{key:a.format("dd"),label:e(a),full:a.format("dddd")}})})(b),[b]),ae=U(),oe=K[0],le=K[1],ie=!!I&&!!N;return e.createElement("div",{ref:Z,className:Hn("mgh-drp-calendars",p&&"mgh-drp-calendar--disabled",u&&"mgh-drp-calendar--read-only",k),"data-mgh-theme":C,"data-range-position":O,style:M,onMouseLeave:()=>q(null)},H.map((t,r)=>{const n=((e,t)=>{const r=e.startOf("month"),n=r.startOf("week"),a=Math.ceil(r.endOf("month").diff(n,"day")/7+1/7),o=t&&t>0?t:Math.max(a,1),l=[];for(let e=0;e<o;e+=1){const t=n.add(7*e,"day");l.push({key:t.format("YYYY-MM-DD"),days:Array.from({length:7},(e,n)=>{const a=t.add(n,"day");return{day:a,outsideMonth:!a.isSame(r,"month")}})})}return l})(t,f),a=0===r,o=r===H.length-1,l=(Q.isSame(t,"month")?Q:null)??(I&&I.isSame(t,"month")?I:null)??(N&&N.isSame(t,"month")?N:null)??(a&&!H.some(e=>Q.isSame(e,"month"))?t.startOf("month"):null);return e.createElement("div",{key:t.format("YYYY-MM"),className:"mgh-drp-calendar",role:"group","aria-label":t.format("MMMM YYYY")},e.createElement("div",{className:"mgh-drp-calendar-header"},a?e.createElement("button",{type:"button",className:"mgh-drp-btn mgh-drp-btn--icon","aria-label":E?.previousMonth??"Previous month",title:E?.previousMonth??"Previous month",disabled:p||!_,onClick:()=>$(L.subtract(1,"month"))},e.createElement(An,null)):e.createElement("span",{className:"mgh-drp-calendar-nav-spacer"}),e.createElement("div",{className:"mgh-drp-calendar-label","aria-live":"polite"},t.format("MMMM YYYY")),o?e.createElement("button",{type:"button",className:"mgh-drp-btn mgh-drp-btn--icon","aria-label":E?.nextMonth??"Next month",title:E?.nextMonth??"Next month",disabled:p||!j,onClick:()=>$(L.add(1,"month"))},e.createElement(Tn,null)):e.createElement("span",{className:"mgh-drp-calendar-nav-spacer"})),e.createElement("div",{className:"mgh-drp-weekdays",role:"row"},ne.map(t=>e.createElement("span",{key:t.key,className:"mgh-drp-weekday",role:"columnheader","aria-label":t.full},t.label))),e.createElement("div",{className:"mgh-drp-weeks",role:"grid","aria-label":t.format("MMMM YYYY")},n.map(t=>e.createElement("div",{key:t.key,className:"mgh-drp-week",role:"row"},t.days.map(({day:t,outsideMonth:r},n)=>{const a=r&&!h,o=Un(t,I),i=Un(t,N),d=o||i,s=!a&&ie&&jn(t,I,N),c=!a&&!!oe&&!!le&&jn(t,oe,le),g=p||Zn(t,O,T),m=!!l&&Un(t,l)&&!a,u=0===n||!h&&1===t.date(),f=6===n||!h&&t.date()===t.daysInMonth();return e.createElement("div",{key:t.format("YYYY-MM-DD"),role:"gridcell","aria-selected":d||void 0,className:Hn("mgh-drp-day-wrap",s&&"mgh-drp-day-wrap--in-range",s&&o&&"mgh-drp-day-wrap--range-start",s&&i&&"mgh-drp-day-wrap--range-end",c&&"mgh-drp-day-wrap--preview",c&&Un(t,oe)&&"mgh-drp-day-wrap--preview-start",c&&Un(t,le)&&"mgh-drp-day-wrap--preview-end",u&&"mgh-drp-day-wrap--first-visible",f&&"mgh-drp-day-wrap--last-visible")},e.createElement("button",{type:"button","data-day":t.format("YYYY-MM-DD"),tabIndex:m?0:-1,"aria-label":t.format("dddd, MMMM D, YYYY"),"aria-current":!y&&Un(t,ae)?"date":void 0,"aria-disabled":g||void 0,disabled:a,className:Hn("mgh-drp-day",a&&"mgh-drp-day--hidden",r&&!a&&"mgh-drp-day--outside",d&&"mgh-drp-day--selected",!y&&Un(t,ae)&&"mgh-drp-day--today",g&&"mgh-drp-day--disabled"),onClick:()=>X(t),onMouseEnter:()=>q(t),onMouseLeave:()=>q(e=>e&&Un(e,t)?null:e),onFocus:()=>J(t),onKeyDown:e=>re(e,t)},t.date()))})))))}))}const na={start:"Start",end:"End",fieldSeparator:"–",openPicker:"Choose date range",clear:"Clear",today:"Today",cancel:"Cancel",accept:"OK",previousMonth:"Previous month",nextMonth:"Next month",toolbarTitle:"Select date range"};function aa({open:t,anchorEl:r,placement:n,onDismiss:a,themeMode:o,className:l,style:i,labelledBy:d,children:s}){const c=e.useRef(null),[g,m]=e.useState({top:0,left:0,ready:!1}),p=e.useCallback(()=>{const e=c.current;if(!e)return;const t=window.innerWidth,a=window.innerHeight,o=e.offsetWidth,l=e.offsetHeight;let i,d;if(r&&r.isConnected){const e=r.getBoundingClientRect();i=e.bottom+4,i+l>a-8&&e.top-4-l>=8&&(i=e.top-4-l),d="bottom-end"===n?e.right-o:"bottom"===n?e.left+e.width/2-o/2:e.left}else i=a/2-l/2,d=t/2-o/2;i=Vn(i,8,Math.max(8,a-l-8)),d=Vn(d,8,Math.max(8,t-o-8)),m(e=>e.ready&&e.top===i&&e.left===d?e:{top:i,left:d,ready:!0})},[r,n]);return e.useLayoutEffect(()=>{if(!t)return void m(e=>e.ready?{...e,ready:!1}:e);p(),window.addEventListener("resize",p),window.addEventListener("scroll",p,!0);let e=null;return"undefined"!=typeof ResizeObserver&&c.current&&(e=new ResizeObserver(()=>p()),e.observe(c.current)),()=>{window.removeEventListener("resize",p),window.removeEventListener("scroll",p,!0),e?.disconnect()}},[t,p]),e.useEffect(()=>{if(!t)return;const e=e=>{const t=e.target;t&&(c.current?.contains(t)||r?.contains(t)||a("backdrop"))},n=e=>{"Escape"===e.key&&a("escape")};return document.addEventListener("mousedown",e,!0),document.addEventListener("touchstart",e,!0),document.addEventListener("keydown",n),()=>{document.removeEventListener("mousedown",e,!0),document.removeEventListener("touchstart",e,!0),document.removeEventListener("keydown",n)}},[t,a,r]),t&&"undefined"!=typeof document?W(e.createElement("div",{ref:c,role:"dialog","aria-modal":"false","aria-labelledby":d,tabIndex:-1,className:Hn("mgh-drp-popover",l),"data-mgh-theme":o,style:{top:g.top,left:g.left,visibility:g.ready?"visible":"hidden",...i},onMouseDown:e=>e.stopPropagation()},s),document.body):null}const oa=e.forwardRef(function({id:t,label:r,value:n,placeholder:a,size:o,fullWidth:l,multi:i,disabled:d,readOnly:s,required:c,error:g,focused:m,clickable:p,name:u,autoFocus:h,inputRef:f,adornment:b,ariaLabel:y,onChange:v,onFocus:x,onBlur:w,onClick:E,onKeyDown:C},k){const M=null!=r&&""!==r,S=m||""!==n||!M;return e.createElement("div",{ref:k,className:Hn("mgh-drp-field",`mgh-drp-field--${o}`,l&&"mgh-drp-field--full-width",i&&"mgh-drp-field--multi",S&&"mgh-drp-field--shrink",m&&"mgh-drp-field--focused",d&&"mgh-drp-field--disabled",g&&"mgh-drp-field--error",p&&"mgh-drp-field--clickable",!M&&"mgh-drp-field--no-label",!!b&&"mgh-drp-field--adorned"),onClick:E},M&&e.createElement("label",{className:"mgh-drp-label",htmlFor:t},r,c&&e.createElement("span",{className:"mgh-drp-label-asterisk","aria-hidden":"true"},"*")),e.createElement("input",{id:t,ref:f,name:u,className:"mgh-drp-input",type:"text",inputMode:"numeric",autoComplete:"off",spellCheck:!1,value:n,placeholder:S?a:void 0,disabled:d,readOnly:s,required:c,autoFocus:h,"aria-label":y,"aria-invalid":g||void 0,onChange:e=>v(e.target.value),onFocus:x,onBlur:w,onKeyDown:C}),b&&e.createElement("div",{className:"mgh-drp-adornment"},b),e.createElement("fieldset",{"aria-hidden":"true",className:"mgh-drp-outline"},e.createElement("legend",null,e.createElement("span",null,M?r:"",M&&c?" *":""))))}),la=e.forwardRef(function({value:t,defaultValue:r,onChange:n,onAccept:a,onError:o,open:l,onOpen:i,onClose:d,rangePosition:s,onRangePositionChange:c,label:g,format:m="MM/DD/YYYY",fieldVariant:p="single",size:u="small",fullWidth:h=!1,clearable:f=!1,openOnClick:b,disableOpenPicker:y=!1,closeOnSelect:v,shortcuts:x,actions:w=[],showToolbar:E=!1,localeText:C,calendars:k=2,referenceDate:M,minDate:S,maxDate:D,disablePast:F,disableFuture:P,shouldDisableDate:I,disabled:N=!1,readOnly:R=!1,showDaysOutsideCurrentMonth:z,fixedWeekNumber:O,dayOfWeekFormatter:A,disableHighlightToday:T,showRangePreview:L,onMonthChange:G,name:H,id:V,placeholder:$,required:B,error:W,helperText:_,autoFocus:j,inputRef:Y,themeMode:q,themeVars:K,className:X,style:Q,popoverClassName:J,popoverStyle:Z,placement:ee="bottom-start"},te){Rn();const re=e.useMemo(()=>({...na,...C}),[C]),ne=re.datePlaceholder??m,ae="multi"===p,oe=b??ae,le=v??!w.includes("accept"),ie=e.useId(),de=V??`mgh-drp-${ie.replace(/:/g,"")}`,se=ae?`${de}-start`:de,ce=`${de}-end`,ge=`${de}-title`,me=void 0!==t,[pe,ue]=e.useState(()=>qn(r??$n)),he=e.useMemo(()=>me?qn(t):pe,[me,t,pe]),[fe,be]=he,ye=e.useMemo(()=>({minDate:S,maxDate:D,disablePast:F,disableFuture:P,shouldDisableDate:I}),[S,D,F,P,I]),ve=e.useMemo(()=>Jn(he,ye),[he,ye]),xe=e.useCallback(e=>Jn(e,ye).every(e=>null==e),[ye]),we=e.useRef(null);e.useEffect(()=>{const e=we.current;e&&e[0]===ve[0]&&e[1]===ve[1]||((null!==e||ve[0]||ve[1])&&o?.(ve,he),we.current=ve)},[ve,he,o]);const Ee=e.useCallback((e,t)=>{me||ue(e);const r={validationError:Jn(e,ye)};t&&(r.shortcut=t),n?.(e,r)},[me,n,ye]),[Ce,ke]=e.useState("start"),Me=s??Ce,Se=e.useCallback(e=>{void 0===s&&ke(e),c?.(e)},[s,c]),De=void 0!==l,[Fe,Pe]=e.useState(!1),Ie=De?!!l:Fe,Ne=e.useRef(he),Re=e.useRef(he),ze=e.useCallback((e,t=!1)=>{!t&&Yn(e,Re.current)||(Re.current=e,a?.(e))},[a]),Oe=e.useRef(null),Ae=e.useRef(null),Te=e.useRef(null),[Le,Ge]=e.useState(void 0);e.useEffect(()=>{if(void 0!==q)return;const e=Oe.current?.parentElement?.closest("[data-mgh-theme]")?.getAttribute("data-mgh-theme");Ge("dark"===e?"dark":"light"===e?"light":void 0)});const He=q??Le,Ve=e.useCallback(e=>{Oe.current=e,"function"==typeof te?te(e):te&&(te.current=e)},[te]),$e=e.useCallback(e=>{N||R||Ie||(Ne.current=he,Te.current=document.activeElement??null,Se(e??(fe&&!be?"end":"start")),De||Pe(!0),i?.())},[N,R,Ie,he,fe,be,Se,De,i]),Be=e.useCallback(()=>{if(!Ie)return;De||Pe(!1),d?.();const e=Ae.current??Te.current;window.setTimeout(()=>e?.focus?.(),0)},[Ie,De,d]),Ue=e.useCallback(e=>{ze(e,!0),Be()},[ze,Be]),We=e.useCallback(()=>{ze(he),Be()},[he,ze,Be]),_e=e.useCallback((e,t,r)=>{Ee(e),"end"===r&&e[0]&&e[1]&&le&&Ue(e)},[Ee,le,Ue]),[je,Ye]=e.useState(null),qe=e.useCallback(e=>{const[t,r]=e;return t||r?`${t?Xn(t,m):ne} ${re.fieldSeparator} ${r?Xn(r,m):ne}`:""},[m,ne,re.fieldSeparator]),[Ke,Xe]=e.useState(()=>qe(he)),[Qe,Je]=e.useState(()=>Xn(fe,m)),[Ze,et]=e.useState(()=>Xn(be,m)),[tt,rt]=e.useState({single:!1,start:!1,end:!1});e.useEffect(()=>{"single"!==je&&(Xe(qe(he)),rt(e=>e.single?{...e,single:!1}:e)),"start"!==je&&(Je(Xn(fe,m)),rt(e=>e.start?{...e,start:!1}:e)),"end"!==je&&(et(Xn(be,m)),rt(e=>e.end?{...e,end:!1}:e))},[he,fe,be,je,m,qe]);const nt=e=>{const t=e.trim();if(!t||t.toUpperCase()===ne.toUpperCase())return{date:null,invalid:!1};const r=Kn(t,m);return{date:r,invalid:null==r}},at=(e,t)=>{"start"===e?Je(t):et(t);const r=nt(t);if(rt(t=>({...t,[e]:r.invalid})),r.invalid)return;const n="start"===e?[r.date,be]:[fe,r.date];Yn(n,he)||Ee(n)},ot=e=>{Ye(t=>t===e?null:t),"single"!==e||tt.single||Xe(qe(he)),"start"!==e||tt.start||Je(Xn(fe,m)),"end"!==e||tt.end||et(Xn(be,m)),Ie||ze(he)},lt=(e,t)=>{"ArrowDown"!==e.key||e.altKey?"Enter"===e.key&&(e.preventDefault(),Ie||ze(he)):(e.preventDefault(),$e(t))},it=!!fe||!!be,dt=ve.some(e=>null!=e),st=!!W||dt||tt.single||tt.start||tt.end,ct=!y&&e.createElement("button",{ref:Ae,type:"button",className:Hn("mgh-drp-btn mgh-drp-btn--icon","small"===u&&"mgh-drp-btn--small"),"aria-label":re.openPicker,title:re.openPicker,"aria-haspopup":"dialog","aria-expanded":Ie,disabled:N,onClick:e=>{e.stopPropagation(),Ie?We():$e()}},e.createElement(On,{size:"small"===u?20:24})),gt=f&&it&&!N&&!R&&e.createElement("button",{type:"button",className:Hn("mgh-drp-btn mgh-drp-btn--icon","small"===u&&"mgh-drp-btn--small"),"aria-label":re.clear,title:re.clear,onClick:e=>{e.stopPropagation(),Ee($n),Se("start"),ze($n)}},e.createElement(Ln,{size:"small"===u?18:20})),mt=e.useMemo(()=>({...K,...Q}),[K,Q]),pt=e.useMemo(()=>({...K,...Z}),[K,Z]),ut=e.useMemo(()=>(x??[]).map((e,t)=>{let r=$n;try{r=qn(e.getValue({isValid:xe}))}catch{}return{shortcut:e,key:e.id??`${e.label}-${t}`,value:r}}),[x,xe]),ht=e.createElement(ra,{value:he,onChange:_e,rangePosition:Me,onRangePositionChange:Se,calendars:k,referenceDate:M,minDate:S,maxDate:D,disablePast:F,disableFuture:P,shouldDisableDate:I,showDaysOutsideCurrentMonth:z,fixedWeekNumber:O,dayOfWeekFormatter:A,disableHighlightToday:T,showRangePreview:L,onMonthChange:G,localeText:re,themeMode:He,autoFocus:!0}),ft={size:u,fullWidth:h,disabled:N,readOnly:R,required:B,error:st};return e.createElement("div",{ref:Ve,className:Hn("mgh-drp",h&&"mgh-drp--full-width",ae&&"mgh-drp--multi",X),"data-mgh-theme":He,style:mt},ae?e.createElement("div",{className:"mgh-drp-fields"},e.createElement(oa,{...ft,multi:!0,id:se,name:H?`${H}-start`:void 0,label:re.start,value:Qe,placeholder:$??ne,focused:"start"===je,clickable:oe,autoFocus:j,inputRef:Y,onChange:e=>at("start",e),onFocus:()=>{Ye("start"),Se("start")},onBlur:()=>ot("start"),onClick:()=>oe&&$e("start"),onKeyDown:e=>lt(e,"start")}),e.createElement("span",{className:"mgh-drp-fields-separator","aria-hidden":"true"},re.fieldSeparator),e.createElement(oa,{...ft,multi:!0,id:ce,name:H?`${H}-end`:void 0,label:re.end,value:Ze,placeholder:$??ne,focused:"end"===je,clickable:oe,adornment:e.createElement(e.Fragment,null,gt,ct),onChange:e=>at("end",e),onFocus:()=>{Ye("end"),Se("end")},onBlur:()=>ot("end"),onClick:()=>oe&&$e("end"),onKeyDown:e=>lt(e,"end")})):e.createElement(oa,{...ft,id:se,name:H,label:g,value:Ke,placeholder:$??`${ne} ${re.fieldSeparator} ${ne}`,focused:"single"===je,clickable:oe,autoFocus:j,inputRef:Y,ariaLabel:null==g?re.toolbarTitle:void 0,adornment:e.createElement(e.Fragment,null,gt,ct),onChange:e=>{Xe(e);const[t,r]=(e=>{const t=e.split(/\s+[–—-]\s+|\s*–\s*|\s*—\s*|\s+to\s+/i);return t.length>=2?[t[0],t.slice(1).join(" ")]:[e,""]})(e),n=nt(t),a=nt(r),o=n.invalid||a.invalid;if(rt(e=>({...e,single:o})),o)return;const l=[n.date,a.date];Yn(l,he)||Ee(l)},onFocus:()=>Ye("single"),onBlur:()=>ot("single"),onClick:()=>oe&&$e(),onKeyDown:e=>lt(e,"start")}),null!=_&&""!==_&&e.createElement("div",{className:Hn("mgh-drp-helper",st&&"mgh-drp-helper--error")},_),e.createElement(aa,{open:Ie,anchorEl:Oe.current,placement:ee,onDismiss:We,themeMode:He,className:J,style:pt,labelledBy:E?ge:void 0},e.createElement("div",{className:Hn("mgh-drp-layout",E&&"mgh-drp-layout--with-toolbar")},E&&e.createElement("div",{className:"mgh-drp-toolbar"},e.createElement("p",{className:"mgh-drp-toolbar-title",id:ge},re.toolbarTitle),e.createElement("div",{className:"mgh-drp-toolbar-range"},e.createElement("button",{type:"button",className:Hn("start"===Me&&"mgh-drp-toolbar-range--active"),onClick:()=>Se("start")},fe?Xn(fe,m):re.start),e.createElement("span",null,re.fieldSeparator),e.createElement("button",{type:"button",className:Hn("end"===Me&&"mgh-drp-toolbar-range--active"),onClick:()=>Se("end")},be?Xn(be,m):re.end))),e.createElement("div",{className:"mgh-drp-layout-main"},ut.length>0&&e.createElement("ul",{className:"mgh-drp-shortcuts","aria-label":"Shortcuts"},ut.map(({shortcut:t,key:r,value:n})=>e.createElement("li",{key:r},e.createElement("button",{type:"button",className:Hn("mgh-drp-shortcut",it&&Yn(n,he)&&"mgh-drp-shortcut--selected"),disabled:N||R,onClick:()=>(e=>{const t=qn(e.getValue({isValid:xe}));Ee(t,e),Se("start"),Ue(t)})(t)},t.label)))),ht),w.length>0&&e.createElement("div",{className:"mgh-drp-actions"},w.map(t=>e.createElement("button",{key:t,type:"button",className:Hn("mgh-drp-btn",("accept"===t||"today"===t)&&"mgh-drp-btn--primary"),onClick:()=>(e=>{switch(e){case"clear":Ee($n),Se("start"),Ue($n);break;case"today":{const e=U().startOf("day"),t=[e,e];Ee(t),Se("start"),le&&Ue(t);break}case"cancel":Yn(he,Ne.current)||Ee(Ne.current),Be();break;default:Ue(he)}})(t)},re[t]))))))});la.displayName="MGHDateRangePicker";export{re as ConfirmDialog,te as CustomGridToolbarExport,Y as CustomNoRowsOverlay,ee as DataGridQuickFilter,ne as ExportingDialog,at as GRID_CHECKBOX_SELECTION_COL_DEF,de as GRID_CHECKBOX_SELECTION_FIELD,ot as GRID_DETAIL_PANEL_TOGGLE_COL_DEF,se as GRID_DETAIL_PANEL_TOGGLE_FIELD,ie as GRID_ROW_GROUPING_SINGLE_GROUPING_FIELD,ae as Iconify,le as Label,Q as MGHDataGrid,ra as MGHDateRangeCalendar,Gn as MGHDateRangeIcons,la as MGHDateRangePicker,Dn as MGHGrid,bn as MGHGridActionsCellItem,Gr as MGHGridButton,Wr as MGHGridCheckbox,un as MGHGridColumnMenu,Qr as MGHGridColumnsButton,ln as MGHGridColumnsPanel,wt as MGHGridContext,nn as MGHGridDefaultToolbar,Zr as MGHGridDensitySelector,tn as MGHGridExportMenu,en as MGHGridExportMenuItem,pn as MGHGridFilterPanel,Jr as MGHGridFiltersButton,on as MGHGridFooter,Hr as MGHGridIconButton,Lr as MGHGridIcons,fn as MGHGridLoadingOverlay,Yr as MGHGridMenu,Kr as MGHGridMenuDivider,qr as MGHGridMenuItem,hn as MGHGridNoRowsOverlay,an as MGHGridPagination,jr as MGHGridPopover,rn as MGHGridQuickFilter,Br as MGHGridSelect,$r as MGHGridTextInput,J as MGHGridToolbar,ea as MGH_DATE_RANGE_DEFAULT_SHORTCUTS,Pn as MGH_DATE_RANGE_PICKER_CSS,na as MGH_DATE_RANGE_PICKER_DEFAULT_LOCALE_TEXT,Fn as MGH_DATE_RANGE_PICKER_STYLE_ID,gt as MGH_GRID_AGGREGATION_FUNCTIONS,de as MGH_GRID_CHECKBOX_FIELD,at as MGH_GRID_CHECKBOX_SELECTION_COL_DEF,bt as MGH_GRID_CSS,mt as MGH_GRID_DEFAULT_LOCALE_TEXT,ot as MGH_GRID_DETAIL_PANEL_TOGGLE_COL_DEF,se as MGH_GRID_DETAIL_PANEL_TOGGLE_FIELD,ie as MGH_GRID_GROUPING_COLUMN_FIELD,ft as MGH_GRID_STYLE_ID,Yn as mghDateRangeIsEqual,Kn as mghDateRangeParseDate,Jn as mghDateRangeValidate,Ze as mghGridBooleanFilterOperators,st as mghGridBuildScopedCss,Jt as mghGridBuildXlsx,zt as mghGridGetDataAsCsv,Je as mghGridGetDateFilterOperators,Xe as mghGridNumberFilterOperators,rr as mghGridPrintElement,er as mghGridPrintTable,et as mghGridSingleSelectFilterOperators,qe as mghGridStringFilterOperators,Rn as useMGHDateRangePickerStyles,Ct as useMGHGridApiContext,Mt as useMGHGridApiRef,Et as useMGHGridContext,kt as useMGHGridLocaleText,xt as useMGHGridStyles,j as useResponsive};
2
2
  //# sourceMappingURL=index.esm.js.map