@alaarab/ogrid-react-material 2.7.2 → 2.7.3
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/esm/index.js +2 -2
- package/package.json +2 -2
package/dist/esm/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import*as ye from'react';import {useMemo,useCallback,useState,useRef,useEffect}from'react';import {Box,Tooltip,Typography,IconButton,Popover,useTheme,TextField,InputAdornment,Button,CircularProgress,FormControlLabel,Checkbox,Avatar,Table,TableHead,TableRow,TableCell,Select,MenuItem,Menu,Divider}from'@mui/material';import {createBaseFilterRenderers,useColumnHeaderFilterState,getColumnHeaderFilterStateParams,renderFilterContent,areGridRowPropsEqual,PaginationControlsBase,createOGrid,useListVirtualizer,CHECKBOX_COLUMN_WIDTH,STOP_PROPAGATION,PREVENT_DEFAULT,ROW_NUMBER_COLUMN_WIDTH,getGridCellSurfaceState,useDataGridTableOrchestration,useColumnMeta,getCellRenderDescriptor,buildInlineEditorProps,buildPopoverEditorProps,resolveCellDisplayContent,resolveCellStyle,handleBooleanCellPointerDown,getCellInteractionProps,CellErrorBoundary,indexToColumnLetter,ROW_NUMBER_COLUMN_ID,getHeaderFilterConfig,MarchingAntsOverlay,FormulaRefOverlay,NOOP,getColumnHeaderMenuProps,useColumnChooserState,ColumnChooserContent,BaseInlineCellEditor,partitionColumnsForVirtualization,getContextMenuHandlers,GRID_CONTEXT_MENU_ITEMS,formatShortcut,getColumnHeaderMenuItems,getStatusBarParts}from'@alaarab/ogrid-react';export{BaseColumnHeaderMenu,BaseDropIndicator,BaseEmptyState,BaseInlineCellEditor,BaseLoadingOverlay,CELL_PADDING,CHECKBOX_COLUMN_WIDTH,COLUMN_HEADER_MENU_ITEMS,CURSOR_CELL_STYLE,CellErrorBoundary,DEFAULT_MIN_COLUMN_WIDTH,DateFilterContent,EmptyState,GRID_BORDER_RADIUS,GRID_CONTEXT_MENU_ITEMS,GRID_ROOT_STYLE,GridContextMenu,MAX_PAGE_BUTTONS,MarchingAntsOverlay,NOOP,OGridLayout,PAGE_SIZE_OPTIONS,POPOVER_ANCHOR_STYLE,PREVENT_DEFAULT,ROW_NUMBER_COLUMN_WIDTH,STOP_PROPAGATION,SideBar,StatusBar,UndoRedoStack,areGridRowPropsEqual,booleanParser,buildCsvHeader,buildCsvRows,buildHeaderRows,buildInlineEditorProps,buildPopoverEditorProps,clampSelectionToBounds,computeAggregations,computeAutoScrollSpeed,computeTabNavigation,createOGrid,currencyParser,dateParser,deriveFilterOptionsFromData,editorInputStyle,editorWrapperStyle,emailParser,escapeCsvValue,exportToCsv,findCtrlArrowTarget,flattenColumns,formatCellValueForTsv,formatSelectionAsTsv,formatShortcut,getCellInteractionProps,getCellRenderDescriptor,getCellValue,getColumnHeaderFilterStateParams,getColumnHeaderMenuItems,getContextMenuHandlers,getDataGridStatusBarConfig,getDateFilterContentProps,getFilterField,getHeaderFilterConfig,getMultiSelectFilterFields,getPaginationViewModel,getStatusBarParts,isInSelectionRange,isRowInRange,mergeFilter,normalizeSelectionRange,numberParser,parseTsvClipboard,parseValue,processClientSideData,rangesEqual,renderFilterContent,resolveCellDisplayContent,resolveCellStyle,richSelectDropdownStyle,richSelectNoMatchesStyle,richSelectOptionHighlightedStyle,richSelectOptionStyle,richSelectWrapperStyle,selectChevronStyle,selectDisplayStyle,selectEditorStyle,toUserLike,triggerCsvDownload,useActiveCell,useCellEditing,useCellSelection,useClipboard,useColumnChooserState,useColumnHeaderFilterState,useColumnMeta,useColumnReorder,useColumnResize,useContextMenu,useDataGridState,useDataGridTableOrchestration,useDateFilterState,useDebounce,useFillHandle,useFilterOptions,useInlineCellEditorState,useKeyboardNavigation,useLatestRef,useListVirtualizer,useMultiSelectFilterState,useOGrid,usePaginationControls,usePeopleFilterState,useRichSelectState,useRowSelection,useSelectState,useSideBarState,useTableLayout,useTextFilterState,useUndoRedo,useVirtualScroll}from'@alaarab/ogrid-react';import {createPortal}from'react-dom';import {FilterList,LastPage,ChevronRight,ChevronLeft,FirstPage,Search,Clear,ExpandLess,ExpandMore,ViewColumn}from'@mui/icons-material';import {jsxs,jsx,Fragment}from'react/jsx-runtime';var
|
|
1
|
+
import*as ye from'react';import {useMemo,useCallback,useState,useRef,useEffect}from'react';import {Box,Tooltip,Typography,IconButton,Popover,useTheme,TextField,InputAdornment,Button,CircularProgress,FormControlLabel,Checkbox,Avatar,Table,TableHead,TableRow,TableCell,Select,MenuItem,Menu,Divider}from'@mui/material';import {createBaseFilterRenderers,useColumnHeaderFilterState,getColumnHeaderFilterStateParams,renderFilterContent,areGridRowPropsEqual,PaginationControlsBase,createOGrid,useListVirtualizer,CHECKBOX_COLUMN_WIDTH,STOP_PROPAGATION,PREVENT_DEFAULT,ROW_NUMBER_COLUMN_WIDTH,getGridCellSurfaceState,useDataGridTableOrchestration,useColumnMeta,getCellRenderDescriptor,buildInlineEditorProps,buildPopoverEditorProps,resolveCellDisplayContent,resolveCellStyle,handleBooleanCellPointerDown,getCellInteractionProps,CellErrorBoundary,indexToColumnLetter,ROW_NUMBER_COLUMN_ID,getHeaderFilterConfig,MarchingAntsOverlay,FormulaRefOverlay,NOOP,getColumnHeaderMenuProps,useColumnChooserState,ColumnChooserContent,BaseInlineCellEditor,partitionColumnsForVirtualization,getContextMenuHandlers,GRID_CONTEXT_MENU_ITEMS,formatShortcut,getColumnHeaderMenuItems,getStatusBarParts}from'@alaarab/ogrid-react';export{BaseColumnHeaderMenu,BaseDropIndicator,BaseEmptyState,BaseInlineCellEditor,BaseLoadingOverlay,CELL_PADDING,CHECKBOX_COLUMN_WIDTH,COLUMN_HEADER_MENU_ITEMS,CURSOR_CELL_STYLE,CellErrorBoundary,DEFAULT_MIN_COLUMN_WIDTH,DateFilterContent,EmptyState,GRID_BORDER_RADIUS,GRID_CONTEXT_MENU_ITEMS,GRID_ROOT_STYLE,GridContextMenu,MAX_PAGE_BUTTONS,MarchingAntsOverlay,NOOP,OGridLayout,PAGE_SIZE_OPTIONS,POPOVER_ANCHOR_STYLE,PREVENT_DEFAULT,ROW_NUMBER_COLUMN_WIDTH,STOP_PROPAGATION,SideBar,StatusBar,UndoRedoStack,areGridRowPropsEqual,booleanParser,buildCsvHeader,buildCsvRows,buildHeaderRows,buildInlineEditorProps,buildPopoverEditorProps,clampSelectionToBounds,computeAggregations,computeAutoScrollSpeed,computeTabNavigation,createOGrid,currencyParser,dateParser,deriveFilterOptionsFromData,editorInputStyle,editorWrapperStyle,emailParser,escapeCsvValue,exportToCsv,findCtrlArrowTarget,flattenColumns,formatCellValueForTsv,formatSelectionAsTsv,formatShortcut,getCellInteractionProps,getCellRenderDescriptor,getCellValue,getColumnHeaderFilterStateParams,getColumnHeaderMenuItems,getContextMenuHandlers,getDataGridStatusBarConfig,getDateFilterContentProps,getFilterField,getHeaderFilterConfig,getMultiSelectFilterFields,getPaginationViewModel,getStatusBarParts,isInSelectionRange,isRowInRange,mergeFilter,normalizeSelectionRange,numberParser,parseTsvClipboard,parseValue,processClientSideData,rangesEqual,renderFilterContent,resolveCellDisplayContent,resolveCellStyle,richSelectDropdownStyle,richSelectNoMatchesStyle,richSelectOptionHighlightedStyle,richSelectOptionStyle,richSelectWrapperStyle,selectChevronStyle,selectDisplayStyle,selectEditorStyle,toUserLike,triggerCsvDownload,useActiveCell,useCellEditing,useCellSelection,useClipboard,useColumnChooserState,useColumnHeaderFilterState,useColumnMeta,useColumnReorder,useColumnResize,useContextMenu,useDataGridState,useDataGridTableOrchestration,useDateFilterState,useDebounce,useFillHandle,useFilterOptions,useInlineCellEditorState,useKeyboardNavigation,useLatestRef,useListVirtualizer,useMultiSelectFilterState,useOGrid,usePaginationControls,usePeopleFilterState,useRichSelectState,useRowSelection,useSelectState,useSideBarState,useTableLayout,useTextFilterState,useUndoRedo,useVirtualScroll}from'@alaarab/ogrid-react';import {createPortal}from'react-dom';import {FilterList,LastPage,ChevronRight,ChevronLeft,FirstPage,Search,Clear,ExpandLess,ExpandMore,ViewColumn}from'@mui/icons-material';import {jsxs,jsx,Fragment}from'react/jsx-runtime';var yt=`
|
|
2
2
|
.ogrid-mat-row:hover > td { background-color: var(--ogrid-hover-bg); }
|
|
3
3
|
.ogrid-mat-row:hover > td.ogrid-mat-row-number { background-color: var(--ogrid-header-bg, #f5f5f5); }
|
|
4
4
|
.ogrid-mat-row--selected > td { background-color: var(--ogrid-selection-bg, rgba(25, 118, 210, 0.08)); }
|
|
@@ -39,4 +39,4 @@ table:not([data-virtual-scroll]) .ogrid-mat-tbody tr { content-visibility: auto;
|
|
|
39
39
|
|
|
40
40
|
.ogrid-mat-wrapper [data-drag-range] { background-color: rgba(33,115,70,0.12); }
|
|
41
41
|
.ogrid-mat-wrapper [data-drag-anchor] { background-color: var(--ogrid-paper-bg, #fff); }
|
|
42
|
-
`,Ro=false;function So(){if(Ro||typeof document>"u")return;Ro=true;let e=document.createElement("style");e.setAttribute("data-ogrid-mat",""),e.textContent=Rt,document.head.appendChild(e);}var Ve=({value:e,onValueChange:r,onApply:t,onClear:o})=>jsxs(Box,{sx:{width:260},children:[jsx(Box,{sx:{p:1.5},children:jsx(TextField,{placeholder:"Enter search term...",value:e,onChange:i=>r(i.target.value),onKeyDown:i=>{i.stopPropagation(),i.key==="Enter"&&(i.preventDefault(),t());},autoComplete:"off",size:"small",fullWidth:true,slotProps:{input:{startAdornment:jsx(InputAdornment,{position:"start",children:jsx(Search,{fontSize:"small"})})}}})}),jsxs(Box,{sx:{display:"flex",justifyContent:"flex-end",gap:1,p:1.5,pt:0},children:[jsx(Button,{size:"small",disabled:!e,onClick:o,children:"Clear"}),jsx(Button,{size:"small",variant:"contained",onClick:t,children:"Apply"})]})]});Ve.displayName="TextFilterPopover";var Po=40,Ke=({searchText:e,onSearchChange:r,options:t,filteredOptions:o,selected:i,onOptionToggle:s,onSelectAll:l,onClearSelection:g,onApply:d,isLoading:c})=>{let C=useListVirtualizer({count:o.length,itemHeight:Po,containerHeight:240});return jsxs(Box,{sx:{width:280},children:[jsxs(Box,{sx:{p:1.5,pb:.5},children:[jsx(TextField,{placeholder:"Search...",value:e,onChange:f=>r(f.target.value),onKeyDown:f=>f.stopPropagation(),autoComplete:"off",size:"small",fullWidth:true,slotProps:{input:{startAdornment:jsx(InputAdornment,{position:"start",children:jsx(Search,{fontSize:"small"})})}}}),jsxs(Typography,{variant:"caption",color:"text.secondary",sx:{mt:.5,display:"block"},children:[o.length," of ",t.length," options"]})]}),jsxs(Box,{sx:{display:"flex",justifyContent:"space-between",px:1.5,py:.5},children:[jsxs(Button,{size:"small",onClick:l,children:["Select All (",o.length,")"]}),jsx(Button,{size:"small",onClick:g,children:"Clear"})]}),jsx(Box,{ref:C.containerRef,onScroll:C.onScroll,sx:{maxHeight:240,overflowY:"auto",px:.5},children:c?jsx(Box,{sx:{display:"flex",justifyContent:"center",py:2},children:jsx(CircularProgress,{size:24})}):o.length===0?jsx(Typography,{variant:"body2",color:"text.secondary",sx:{py:2,textAlign:"center"},children:"No options found"}):jsx(Box,{sx:{height:C.totalHeight,position:"relative"},children:C.visibleItems.map(({index:f,offsetTop:I})=>{let x=o[f];return jsx(FormControlLabel,{control:jsx(Checkbox,{size:"small",checked:i.has(x),onChange:S=>s(x,S.target.checked)}),label:jsx(Typography,{variant:"body2",children:x}),sx:{position:"absolute",top:I,width:"100%",height:Po,boxSizing:"border-box",display:"flex",alignItems:"center",mx:0,"& .MuiFormControlLabel-label":{flex:1,minWidth:0}}},x)})})}),jsxs(Box,{sx:{display:"flex",justifyContent:"flex-end",gap:1,p:1.5,pt:1,borderTop:1,borderColor:"divider"},children:[jsx(Button,{size:"small",onClick:g,children:"Clear"}),jsx(Button,{size:"small",variant:"contained",onClick:d,children:"Apply"})]})]})};Ke.displayName="MultiSelectFilterPopover";var Ye=({selectedUser:e,searchText:r,onSearchChange:t,suggestions:o,isLoading:i,onUserSelect:s,onClearUser:l,inputRef:g})=>jsxs(Box,{sx:{width:300},children:[e&&jsxs(Box,{sx:{p:1.5,pb:1,borderBottom:1,borderColor:"divider"},children:[jsx(Typography,{variant:"caption",color:"text.secondary",children:"Currently filtered by:"}),jsxs(Box,{sx:{display:"flex",alignItems:"center",gap:1,mt:.5},children:[jsx(Avatar,{src:e.photo,alt:e.displayName,sx:{width:32,height:32},children:e.displayName?.[0]}),jsxs(Box,{sx:{flex:1,minWidth:0},children:[jsx(Typography,{variant:"body2",noWrap:true,children:e.displayName}),jsx(Typography,{variant:"caption",color:"text.secondary",noWrap:true,children:e.email})]}),jsx(IconButton,{size:"small",onClick:l,"aria-label":"Remove filter",children:jsx(Clear,{fontSize:"small"})})]})]}),jsx(Box,{sx:{p:1.5,pb:.5},children:jsx(TextField,{inputRef:g,placeholder:"Search for a person...",value:r,onChange:d=>t(d.target.value),onKeyDown:d=>d.stopPropagation(),autoComplete:"off",size:"small",fullWidth:true,slotProps:{input:{startAdornment:jsx(InputAdornment,{position:"start",children:jsx(Search,{fontSize:"small"})})}}})}),jsx(Box,{sx:{maxHeight:240,overflowY:"auto"},children:i&&r.trim()?jsx(Box,{sx:{display:"flex",justifyContent:"center",py:2},children:jsx(CircularProgress,{size:24})}):o.length===0&&r.trim()?jsx(Typography,{variant:"body2",color:"text.secondary",sx:{py:2,textAlign:"center"},children:"No results found"}):r.trim()?o.map(d=>jsxs(Box,{onClick:()=>s(d),sx:{display:"flex",alignItems:"center",gap:1,px:1.5,py:1,cursor:"pointer","&:hover":{bgcolor:"action.hover"}},children:[jsx(Avatar,{src:d.photo,alt:d.displayName,sx:{width:32,height:32},children:d.displayName?.[0]}),jsxs(Box,{sx:{flex:1,minWidth:0},children:[jsx(Typography,{variant:"body2",noWrap:true,children:d.displayName}),jsx(Typography,{variant:"caption",color:"text.secondary",noWrap:true,children:d.email})]})]},d.id||d.email||d.displayName)):jsx(Typography,{variant:"body2",color:"text.secondary",sx:{py:2,textAlign:"center"},children:"Type to search..."})}),e&&jsx(Box,{sx:{p:1.5,pt:1,borderTop:1,borderColor:"divider"},children:jsx(Button,{size:"small",fullWidth:true,onClick:l,children:"Clear Filter"})})]});Ye.displayName="PeopleFilterPopover";var Yt=createBaseFilterRenderers({MultiSelectFilterPopover:Ke,TextFilterPopover:Ve,PeopleFilterPopover:Ye}),xe=ye.memo(e=>{let{columnName:r,filterType:t,options:o=[],isLoadingOptions:i=false,selectedUser:s}=e,l=useColumnHeaderFilterState(getColumnHeaderFilterStateParams(e)),{headerRef:g,isFilterOpen:d,setFilterOpen:c,hasActiveFilter:C,popoverPosition:f,handlers:I}=l;return jsxs(Box,{ref:g,sx:{display:"flex",alignItems:"center",width:"100%",minWidth:0},children:[jsx(Box,{sx:{flex:1,minWidth:0,overflow:"hidden"},children:jsx(Tooltip,{title:r,arrow:true,children:jsx(Typography,{variant:"body2",fontWeight:600,noWrap:true,"data-header-label":true,sx:{lineHeight:1.4},children:r})})}),jsx(Box,{sx:{display:"flex",alignItems:"center",ml:.5,flexShrink:0},children:t!=="none"&&jsxs(IconButton,{size:"small",onClick:I.handleFilterIconClick,"aria-label":`Filter ${r}`,"aria-expanded":d,"aria-haspopup":"dialog",title:`Filter ${r}`,color:C||d?"primary":"default",sx:{p:.25,position:"relative"},children:[jsx(FilterList,{sx:{fontSize:16}}),C&&jsx(Box,{sx:{position:"absolute",top:2,right:2,width:6,height:6,borderRadius:"50%",bgcolor:"primary.main"}})]})}),jsxs(Popover,{open:d&&t!=="none",onClose:()=>c(false),anchorReference:"anchorPosition",anchorPosition:f??{top:0,left:0},anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},slotProps:{paper:{sx:{mt:.5,overflow:"visible"},onClick:x=>x.stopPropagation()}},children:[jsx(Box,{sx:{borderBottom:1,borderColor:"divider",px:1.5,py:1},children:jsxs(Typography,{variant:"subtitle2",children:["Filter: ",r]})}),renderFilterContent(t,l,o??[],i,s,Yt)]})]})});xe.displayName="ColumnHeaderFilter";function Te(e){let{isOpen:r,anchorElement:t,onClose:o,onPinLeft:i,onPinRight:s,onUnpin:l,onSortAsc:g,onSortDesc:d,onClearSort:c,onAutosizeThis:C,onAutosizeAll:f,canPinLeft:I,canPinRight:x,canUnpin:S,currentSort:P,isSortable:B,isResizable:M}=e,[H,W]=useState(void 0);useEffect(()=>{if(r&&t){let y=t.getBoundingClientRect();W({top:y.bottom+4,left:y.left});}else W(void 0);},[r,t]);let D=useMemo(()=>({canPinLeft:I,canPinRight:x,canUnpin:S,currentSort:P,isSortable:B,isResizable:M}),[I,x,S,P,B,M]),m=useMemo(()=>getColumnHeaderMenuItems(D),[D]),U=useMemo(()=>({pinLeft:i,pinRight:s,unpin:l,sortAsc:g,sortDesc:d,clearSort:c,autosizeThis:C,autosizeAll:f}),[i,s,l,g,d,c,C,f]);return jsx(Menu,{open:r&&!!H,onClose:o,anchorReference:"anchorPosition",anchorPosition:H,slotProps:{paper:{sx:{minWidth:140}}},children:m.flatMap((y,G)=>{let Q=[jsx(MenuItem,{disabled:y.disabled,onClick:()=>{U[y.id](),o();},children:y.label},y.id)];return y.divider&&G<m.length-1&&Q.push(jsx(Divider,{},`${y.id}-divider`)),Q})})}function Mo(e){return jsx(BaseInlineCellEditor,{...e,renderCheckbox:(r,t,o)=>jsx(Checkbox,{checked:r,onChange:(i,s)=>t(s),onKeyDown:i=>i.key==="Escape"&&(i.preventDefault(),o()),size:"small"})})}var nr=e=>({display:"inline-flex",alignItems:"center",gap:.5,...e?{}:{mr:2,"&::after":{content:'"|"',ml:2,color:"divider"}}});function Do(e){let r=getStatusBarParts(e);return jsx(Box,{role:"status","aria-live":"polite",sx:{mt:"auto",px:1.5,py:.75,borderTop:1,borderColor:"divider",bgcolor:"action.hover"},children:r.map((t,o)=>jsxs(Typography,{component:"span",variant:"body2",sx:nr(o===r.length-1),children:[jsx(Typography,{component:"span",color:"text.secondary",children:t.label}),jsx(Typography,{component:"span",fontWeight:600,children:t.value.toLocaleString()})]},t.key))})}function ko(e){let{x:r,y:t,hasSelection:o,canUndo:i,canRedo:s,onClose:l}=e,g=ye.useMemo(()=>getContextMenuHandlers(e),[e]),d=ye.useCallback(c=>!!(c.disabledWhenNoSelection&&!o||c.id==="undo"&&!i||c.id==="redo"&&!s),[o,i,s]);return jsx(Menu,{open:true,onClose:l,anchorReference:"anchorPosition",anchorPosition:{top:t,left:r},MenuListProps:{dense:true,"aria-label":"Grid context menu"},children:GRID_CONTEXT_MENU_ITEMS.flatMap(c=>{let C=[];return c.dividerBefore&&C.push(jsx(Divider,{},`${c.id}-divider`)),C.push(jsxs(MenuItem,{onClick:g[c.id],disabled:d(c),children:[jsx("span",{style:{flex:1},children:c.label}),c.shortcut&&jsx("span",{style:{marginLeft:24,color:"var(--ogrid-fg-muted, rgba(0,0,0,0.4))",fontSize:"0.8em"},children:formatShortcut(c.shortcut)})]},c.id)),C})})}var Cr={py:4,px:2,textAlign:"center",borderTop:1,borderColor:"divider",bgcolor:"action.hover"};function Ho({emptyState:e}){return jsx(Box,{sx:Cr,children:e.render?e.render():jsxs(Fragment,{children:[jsx(Typography,{variant:"h6",gutterBottom:true,children:"No results found"}),jsx(Typography,{variant:"body2",color:"text.secondary",children:e.message!=null?e.message:e.hasActiveFilters?jsxs(Fragment,{children:["No items match your current filters. Try adjusting your search or"," ",jsx(Button,{variant:"text",size:"small",onClick:e.onClearAll,children:"clear all filters"})," ","to see all items."]}):"There are no items available at this time."})]})})}var br={position:"absolute",inset:0,zIndex:2,display:"flex",alignItems:"center",justifyContent:"center",background:"var(--ogrid-loading-bg, rgba(255,255,255,0.7))"},xr={display:"flex",flexDirection:"column",alignItems:"center",gap:1,p:2,bgcolor:"background.paper",border:1,borderColor:"divider",borderRadius:1};function Ao({message:e}){return jsx(Box,{sx:br,children:jsxs(Box,{sx:xr,children:[jsx(CircularProgress,{size:24}),jsx(Typography,{variant:"body2",color:"text.secondary",children:e})]})})}function _o({dropIndicatorX:e,wrapperLeft:r}){return jsx(Box,{sx:{position:"absolute",top:0,bottom:0,width:3,bgcolor:"var(--ogrid-primary, #217346)",pointerEvents:"none",zIndex:100,transition:"left 0.05s",left:e-r}})}var Xr={position:"relative",flex:1,minHeight:0,display:"flex",flexDirection:"column"},Kr={width:"100%",height:"100%",display:"flex",alignItems:"center",boxSizing:"border-box",outline:"2px solid var(--ogrid-selection-color, #217346)",outlineOffset:"-1px",zIndex:2,position:"relative",background:"var(--ogrid-bg, #fff)",overflow:"visible",padding:0},Yr={width:CHECKBOX_COLUMN_WIDTH,minWidth:CHECKBOX_COLUMN_WIDTH,maxWidth:CHECKBOX_COLUMN_WIDTH,textAlign:"center"},$r={width:CHECKBOX_COLUMN_WIDTH,minWidth:CHECKBOX_COLUMN_WIDTH,p:0},jr={width:CHECKBOX_COLUMN_WIDTH,minWidth:CHECKBOX_COLUMN_WIDTH,maxWidth:CHECKBOX_COLUMN_WIDTH,textAlign:"center",padding:0,position:"relative",height:"1px",borderBottom:"1px solid var(--ogrid-border, rgba(224,224,224,1))"},z="var(--ogrid-header-bg, #f5f5f5)",qr={zIndex:8,bgcolor:z,"& th":{bgcolor:z}},Vo={bgcolor:z},Qe={textAlign:"center",fontSize:"11px",fontWeight:500,color:"text.secondary",py:"2px",px:"4px",bgcolor:z,borderBottom:1,borderColor:"divider",userSelect:"none",fontVariantNumeric:"tabular-nums"},Zr={textAlign:"center",fontWeight:600,borderBottom:2,borderColor:"divider",py:.75};function Jr(e){switch(e){case "compact":return {px:"8px",py:"4px"};case "comfortable":return {px:"16px",py:"12px"};default:return {px:"10px",py:"6px"}}}var Xo={compact:{padding:"4px 8px"},normal:{padding:"6px 10px"},comfortable:{padding:"12px 16px"}},Ko={compact:{"--ogrid-cell-padding-vertical":"4px","--ogrid-cell-padding-horizontal":"8px","--ogrid-cell-font-size":"12px"},normal:{"--ogrid-cell-padding-vertical":"6px","--ogrid-cell-padding-horizontal":"10px","--ogrid-cell-font-size":"13px"},comfortable:{"--ogrid-cell-padding-vertical":"12px","--ogrid-cell-padding-horizontal":"16px","--ogrid-cell-font-size":"14px"}},oo={fontWeight:600,position:"sticky",top:0,zIndex:8,bgcolor:z},Qr={...oo,position:"sticky",left:0,top:0,zIndex:10,bgcolor:z,willChange:"transform",borderRight:"1px solid",borderRightColor:"divider",boxShadow:"2px 0 4px -1px rgba(0,0,0,0.1)"},en={...oo,position:"sticky",right:0,top:0,zIndex:10,bgcolor:z,willChange:"transform",borderLeft:"1px solid",borderLeftColor:"divider",boxShadow:"-2px 0 4px -1px rgba(0,0,0,0.1)"},to={fontWeight:600,zIndex:8,bgcolor:z},on={...to,position:"sticky",left:0,zIndex:10,bgcolor:z,willChange:"transform",borderRight:"1px solid",borderRightColor:"divider",boxShadow:"2px 0 4px -1px rgba(0,0,0,0.1)"},tn={...to,position:"sticky",right:0,zIndex:10,bgcolor:z,willChange:"transform",borderLeft:"1px solid",borderLeftColor:"divider",boxShadow:"-2px 0 4px -1px rgba(0,0,0,0.1)"},Yo={position:"absolute",top:0,right:"-3px",bottom:0,width:"8px",cursor:"col-resize",userSelect:"none","&::after":{content:'""',position:"absolute",top:0,right:"3px",bottom:0,width:"2px"},"&:hover::after":{bgcolor:"primary.main"},"&:active::after":{bgcolor:"primary.dark"}},rn={width:"100%",height:"100%",minHeight:"100%",minWidth:40,display:"flex",alignItems:"center",boxSizing:"border-box",overflow:"hidden"},nn={p:1},an={display:"flex",flexDirection:"column",minHeight:"100%"},ln={display:"flex",alignItems:"center",gap:.5},sn={background:"transparent",border:"none",cursor:"pointer",padding:"2px 4px",fontSize:"16px",lineHeight:1,color:"text.secondary",transition:"background-color 0.15s",borderRadius:"3px",display:"flex",alignItems:"center",justifyContent:"center",minWidth:"20px",height:"20px",flexShrink:0,"@media (hover: hover)":{visibility:"hidden"},"&:hover":{bgcolor:"action.hover"},"th:hover &":{visibility:"visible"}},dn={position:"relative",opacity:1},cn={position:"relative",opacity:.6},$o={padding:0,border:"none"};function pn(e){let{item:r,rowIndex:t,rowId:o,isSelected:i,columnLayouts:s,renderCellContent:l,handleSingleRowClick:g,handleRowCheckboxChange:d,lastMouseShiftRef:c,hasCheckboxCol:C,hasRowNumbersCol:f,rowNumberOffset:I,rowHeight:x,leftSpacerWidth:S,rightSpacerWidth:P,globalColIndexMap:B,rowNumWidth:M,selectionRange:H,activeCell:W,cutRange:D}=e;return jsxs("tr",{"data-row-id":o,onClick:g,"aria-selected":i||void 0,className:`ogrid-mat-row${i?" ogrid-mat-row--selected":""}`,style:x?{height:x}:void 0,children:[C&&jsx("td",{style:jr,children:jsx("div",{"data-row-index":t,"data-col-index":0,onClick:STOP_PROPAGATION,className:"ogrid-mat-checkbox-wrapper",children:jsx(Checkbox,{checked:i,onChange:(m,U)=>d(o,U,t,c.current),size:"small","aria-label":`Select row ${t+1}`})})}),f&&(()=>{let m=M??ROW_NUMBER_COLUMN_WIDTH;return jsx("td",{className:"ogrid-mat-td ogrid-mat-row-number",style:{width:m,minWidth:m,maxWidth:m,left:C?CHECKBOX_COLUMN_WIDTH:0,borderBottom:"1px solid var(--ogrid-border, rgba(224,224,224,1))"},onPointerDown:PREVENT_DEFAULT,children:I+t+1})})(),S!=null&&S>0&&jsx("td",{style:{...$o,width:S,minWidth:S},"aria-hidden":true}),s.map((m,U)=>{let y=B?B[U]:U,G=getGridCellSurfaceState({rowIndex:t,columnIndex:y,selectionRange:H,activeCell:W,cutRange:D});return jsx("td",{"data-column-id":m.col.columnId,className:m.tdClassName,style:{...m.tdStyle,minWidth:m.minWidth,width:m.width,maxWidth:m.maxWidth,...G.isRangeCell?{background:"var(--ogrid-bg-range, rgba(33,115,70,0.12))"}:{},...G.isActiveRangeCell?{background:"var(--ogrid-bg, #fff)"}:{},...G.isCutCell?{background:"var(--ogrid-hover-bg, rgba(0,0,0,0.04))"}:{}},onPointerDown:PREVENT_DEFAULT,children:l(r,m.col,t,y)},m.col.columnId)}),P!=null&&P>0&&jsx("td",{style:{...$o,width:P,minWidth:P},"aria-hidden":true})]})}var un=ye.memo(pn,areGridRowPropsEqual);So();function mn(e){let{virtualScrollEnabled:r,visibleRange:t,columnRange:o,items:i,getRowId:s,selectedRowIds:l,visibleCols:g,columnLayouts:d,renderCellContent:c,handleSingleRowClick:C,handleRowCheckboxChange:f,lastMouseShiftRef:I,hasCheckboxCol:x,hasRowNumbersCol:S,rowNumberOffset:P,rowHeight:B,selectionRange:M,activeCell:H,cutRange:W,copyRange:D,isDragging:m,editingCell:U,pinnedColumns:y,rowNumWidth:G}=e,{rowLayouts:Q,globalColIndexMap:ee,leftSpacerWidth:Fe,rightSpacerWidth:Ae}=ye.useMemo(()=>{if(!o)return {rowLayouts:d,globalColIndexMap:void 0,leftSpacerWidth:void 0,rightSpacerWidth:void 0};let R=partitionColumnsForVirtualization(g,o,y),V=[...R.pinnedLeft,...R.virtualizedUnpinned,...R.pinnedRight],oe=new Map(d.map(q=>[q.col.columnId,q])),te=[],ue=[];for(let q of V){let me=oe.get(q.columnId);me&&(te.push(me),ue.push(g.indexOf(q)));}return {rowLayouts:te,globalColIndexMap:ue,leftSpacerWidth:R.leftSpacerWidth,rightSpacerWidth:R.rightSpacerWidth}},[o,g,d,y]),w=(R,V)=>{let oe=s(R);return jsx(un,{item:R,rowIndex:V,rowId:oe,isSelected:l.has(oe),columnLayouts:Q,renderCellContent:c,handleSingleRowClick:C,handleRowCheckboxChange:f,lastMouseShiftRef:I,hasCheckboxCol:x,hasRowNumbersCol:S,rowNumberOffset:P,selectionRange:M,activeCell:H,cutRange:W,copyRange:D,isDragging:m,rowHeight:B,editingRowId:U?.rowId??null,leftSpacerWidth:Fe,rightSpacerWidth:Ae,globalColIndexMap:ee,rowNumWidth:G},oe)};return jsxs("tbody",{className:"ogrid-mat-tbody",children:[r&&t.offsetTop>0&&jsx("tr",{style:{height:t.offsetTop},"aria-hidden":true}),r?i.slice(t.startIndex,t.endIndex+1).map((R,V)=>w(R,t.startIndex+V)):i.map((R,V)=>w(R,V)),r&&t.offsetBottom>0&&jsx("tr",{style:{height:t.offsetBottom},"aria-hidden":true})]})}function gn(e){let r=useDataGridTableOrchestration({props:e}),{wrapperRef:t,tableContainerRef:o,lastMouseShiftRef:i,interaction:s,pinning:l,handleResizeStart:g,handleResizeDoubleClick:d,getColumnWidth:c,isReorderDragging:C,dropIndicatorX:f,handleHeaderMouseDown:I,virtualScrollEnabled:x,visibleRange:S,columnRange:P,onHorizontalScroll:B,items:M,getRowId:H,emptyState:W,suppressHorizontalScroll:D,isLoading:m,loadingMessage:U,ariaLabel:y,ariaLabelledBy:G,columnReorder:Q,density:ee,rowHeight:Fe,rowNumberOffset:Ae,headerRows:w,allowOverflowX:R,fitToContent:V,showColumnLetters:oe,editCallbacks:te,interactionHandlers:ue,cellDescriptorInputRef:q,cellDescriptorCacheRef:me,pendingEditorValueRef:so,popoverAnchorElRef:_e,handleSingleRowClick:Qo,handlePasteVoid:et,visibleCols:ge,hasCheckboxCol:le,hasRowNumbersCol:Ce,colOffset:Se,minTableWidth:co,columnSizingOverrides:he,measuredColumnWidths:ot,selectedRowIds:po,handleRowCheckboxChange:tt,handleSelectAll:rt,allSelected:nt,someSelected:at,editingCell:it,setPopoverAnchorEl:uo,cancelPopoverEdit:mo,setActiveCell:ve,selectionRange:re,hasCellSelection:lt,handleGridKeyDown:st,handleFillHandleMouseDown:go,handleCopy:dt,handleCut:ct,cutRange:Co,copyRange:ho,canUndo:pt,canRedo:ut,onUndo:mt,onRedo:gt,isDragging:fo,menuPosition:ze,closeContextMenu:Ct,headerFilterInput:ht,statusBarConfig:se,showEmptyInGrid:bo,onCellError:xo,headerMenu:fe}=r,We=useMemo(()=>Jr(ee),[ee]),yo=useMemo(()=>({px:We.px,py:We.py}),[We]),Ie=useColumnMeta({visibleCols:ge,getColumnWidth:c,columnSizingOverrides:he,measuredColumnWidths:ot,pinnedColumns:l.pinnedColumns,leftOffsets:l.leftOffsets,rightOffsets:l.rightOffsets,pinnedColLeftClass:"",pinnedColRightClass:""}),ft=useMemo(()=>ge.map(p=>{let u=l.pinnedColumns[p.columnId]==="left",h=l.pinnedColumns[p.columnId]==="right",F="ogrid-mat-td",n={};u?(F+=" ogrid-mat-td--pinned-left",l.leftOffsets[p.columnId]!=null&&(n.left=l.leftOffsets[p.columnId])):h&&(F+=" ogrid-mat-td--pinned-right",l.rightOffsets[p.columnId]!=null&&(n.right=l.rightOffsets[p.columnId]));let Y=Ie.cellStyles[p.columnId];return {col:p,tdClassName:F,tdStyle:n,minWidth:Y?.minWidth??0,width:Y?.width??c(p),maxWidth:Y?.maxWidth??c(p)}}),[ge,Ie,l.pinnedColumns,l.leftOffsets,l.rightOffsets,c]),bt=useMemo(()=>({position:"relative",flex:1,minHeight:m&&M.length===0?200:0,width:V?"fit-content":"100%",maxWidth:"100%",overflowX:D?"hidden":R?"auto":"hidden",overflowY:"auto",bgcolor:"background.paper",willChange:"scroll-position"}),[V,D,R,m,M.length]),Ue=Xo[ee]??Xo.normal,xt=Ko[ee]??Ko.normal,yt=useCallback((p,u,h,F)=>{let n=getCellRenderDescriptor(p,u,h,F,q.current,me.current),Y=H(p),Z;if(n.mode==="editing-inline")Z=jsx("div",{className:"ogrid-mat-editing-cell",style:Kr,children:jsx(Mo,{...buildInlineEditorProps(p,u,n,te)})});else if(n.mode==="editing-popover"&&typeof u.cellEditor=="function"){let $=buildPopoverEditorProps(p,u,n,so.current,te),L=u.cellEditor,J=resolveCellDisplayContent(u,p,n.displayValue),A=resolveCellStyle(u,p,n.displayValue);Z=jsxs(Fragment,{children:[jsx(Box,{ref:k=>{k&&uo(k);},sx:rn,style:Ue,children:A?jsx("span",{style:A,children:J}):J}),jsx(Popover,{open:!!_e.current,anchorEl:_e.current,onClose:mo,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},children:jsx(Box,{sx:nn,children:jsx(L,{...$})})})]});}else {let $;if(n.columnType==="boolean"){let A=!!n.displayValue;$=jsx("input",{type:"checkbox",checked:A,disabled:!n.canEditAny,onChange:n.canEditAny?()=>{let k=n.rowIndex,N=n.globalColIndex;te.commitCellEdit(p,u.columnId,A,!A,k,N,{skipAdvance:true});}:void 0,onPointerDown:k=>handleBooleanCellPointerDown(k,n.rowIndex,n.globalColIndex,Se,{setActiveCell:ve,setSelectionRange:N=>s.setSelectionRange(N)}),onClick:k=>k.stopPropagation(),className:"ogrid-mat-boolean-checkbox","aria-label":A?"Checked":"Unchecked"});}else {let A=resolveCellDisplayContent(u,p,n.displayValue),k=resolveCellStyle(u,p,n.displayValue);$=k?jsx("span",{style:k,children:A}):A;}let L="ogrid-mat-cell";u.type==="numeric"?L+=" ogrid-mat-cell--numeric":u.type==="boolean"&&(L+=" ogrid-mat-cell--boolean"),n.canEditAny&&(L+=" ogrid-mat-cell--editable"),n.isActive&&(L+=" ogrid-mat-cell--active"),n.isActive&&n.isInRange&&(L+=" ogrid-mat-cell--active-in-range"),n.isInRange&&!n.isActive&&(L+=" ogrid-mat-cell--range"),n.isInCutRange&&(L+=" ogrid-mat-cell--cut");let J=getCellInteractionProps(n,u.columnId,ue);Z=jsxs("div",{className:L,...J,style:Ue,children:[$,n.canEditAny&&n.isSelectionEndCell&&jsx("div",{className:"ogrid-mat-fill-handle",onPointerDown:go,"aria-label":"Fill handle"})]});}return jsx(CellErrorBoundary,{onError:xo,children:Z},`${Y}-${u.columnId}`)},[te,ue,go,uo,mo,H,xo,q,me,Ue,so,_e,Se,s,ve]);return jsxs(Box,{sx:Xr,children:[jsxs(Box,{ref:t,tabIndex:0,role:"region","aria-label":y??(G?void 0:"Data grid"),"aria-labelledby":G,onMouseDown:p=>{i.current=p.shiftKey;},onScroll:B?p=>B(p.target.scrollLeft):void 0,onKeyDown:st,onContextMenu:PREVENT_DEFAULT,"data-density":ee,"data-overflow-x":R?"true":"false",className:"ogrid-mat-wrapper","data-ogrid-scroll-container":"",sx:bt,style:xt,children:[jsx(Box,{sx:an,children:jsx("div",{style:{minWidth:R?co:void 0,overflowX:"clip"},children:jsxs(Box,{ref:o,sx:m&&M.length>0?cn:dn,children:[jsxs(Table,{size:"small",role:"grid",sx:{minWidth:co,borderCollapse:"separate",borderSpacing:0},"data-virtual-scroll":x?"":void 0,children:[jsxs(TableHead,{sx:qr,children:[oe&&jsxs(TableRow,{sx:Vo,children:[le&&jsx(TableCell,{sx:Qe}),Ce&&jsx(TableCell,{sx:Qe}),ge.map((p,u)=>{let h=Ie.hdrStyles[p.columnId];return jsx(TableCell,{component:"th",sx:{...Qe,minWidth:h?.minWidth,width:h?.width,maxWidth:h?.maxWidth},children:indexToColumnLetter(u)},p.columnId)})]}),w.map((p,u)=>jsxs(TableRow,{sx:Vo,children:[u===w.length-1&&le&&jsx(TableCell,{padding:"checkbox",rowSpan:w.length>1?1:void 0,sx:Yr,children:jsx(Checkbox,{checked:nt,indeterminate:at,onChange:(h,F)=>rt(!!F),size:"small","aria-label":"Select all rows"})}),u===0&&u<w.length-1&&le&&jsx(TableCell,{rowSpan:w.length-1,sx:$r}),u===w.length-1&&Ce&&(()=>{let h=he?.[ROW_NUMBER_COLUMN_ID]?.widthPx??ROW_NUMBER_COLUMN_WIDTH;return jsxs(TableCell,{component:"th",scope:"col",rowSpan:w.length>1?1:void 0,sx:{width:h,minWidth:h,maxWidth:h,textAlign:"center",fontWeight:600,backgroundColor:z,position:"sticky",left:le?CHECKBOX_COLUMN_WIDTH:0,zIndex:4,...yo},children:["#",jsx(Box,{onPointerDown:F=>{ve(null),s.setSelectionRange(null),t.current?.focus({preventScroll:true}),g(F,{columnId:ROW_NUMBER_COLUMN_ID,name:"#"});},sx:Yo})]})})(),u===0&&u<w.length-1&&Ce&&(()=>{let h=he?.[ROW_NUMBER_COLUMN_ID]?.widthPx??ROW_NUMBER_COLUMN_WIDTH;return jsx(TableCell,{rowSpan:w.length-1,sx:{width:h,minWidth:h,position:"sticky",left:le?CHECKBOX_COLUMN_WIDTH:0,zIndex:4,backgroundColor:"background.paper"}})})(),p.map((h,F)=>{if(h.isGroup)return jsx(TableCell,{colSpan:h.colSpan,component:"th",scope:"colgroup",sx:Zr,children:h.label},F);if(!h.columnDef)return null;let n=h.columnDef,Y=l.pinnedColumns[n.columnId]==="left",Z=l.pinnedColumns[n.columnId]==="right",$=r.stickyHeader?Y?Qr:Z?en:oo:Y?on:Z?tn:to,L=Y&&l.leftOffsets[n.columnId]!=null?{...$,left:l.leftOffsets[n.columnId]}:Z&&l.rightOffsets[n.columnId]!=null?{...$,right:l.rightOffsets[n.columnId]}:$,J=Ie.hdrStyles[n.columnId],k=e.sortBy===n.columnId?e.sortDirection==="asc"?"ascending":"descending":void 0;return jsxs(TableCell,{component:"th",scope:"col","data-column-id":n.columnId,rowSpan:w.length>1?w.length-u:void 0,"aria-sort":k,sx:{...L,...yo,minWidth:J?.minWidth,width:J?.width,maxWidth:J?.maxWidth,...Q?{cursor:C?"grabbing":"grab"}:{},"&:focus-visible":{outline:"2px solid",outlineColor:"primary.main",outlineOffset:"-2px",zIndex:11}},onPointerDown:Q?N=>I(n.columnId,N):void 0,children:[jsxs(Box,{sx:ln,children:[jsx(xe,{...getHeaderFilterConfig(n,ht)}),jsx(Box,{component:"button",onClick:N=>{N.stopPropagation(),fe.isOpen&&fe.openForColumn===n.columnId?fe.close():fe.open(n.columnId,N.currentTarget);},"aria-label":"Column options",title:"Column options",sx:sn,children:"\u22EE"})]}),jsx(Box,{onPointerDown:N=>{ve(null),s.setSelectionRange(null),t.current?.focus({preventScroll:true}),g(N,n);},onDoubleClick:N=>d(N,n),sx:Yo})]},n.columnId)})]},u))]}),!bo&&jsx(mn,{virtualScrollEnabled:x,visibleRange:S,columnRange:P,items:M,getRowId:H,selectedRowIds:po,visibleCols:ge,columnLayouts:ft,renderCellContent:yt,handleSingleRowClick:Qo,handleRowCheckboxChange:tt,lastMouseShiftRef:i,hasCheckboxCol:le,hasRowNumbersCol:Ce,rowNumberOffset:Ae,rowHeight:Fe,selectionRange:re,activeCell:s.activeCell,cutRange:Co,copyRange:ho,isDragging:fo,editingCell:it,pinnedColumns:l.pinnedColumns,rowNumWidth:Ce?he?.[ROW_NUMBER_COLUMN_ID]?.widthPx??ROW_NUMBER_COLUMN_WIDTH:void 0})]}),C&&f!=null&&jsx(_o,{dropIndicatorX:f,wrapperLeft:t.current?.getBoundingClientRect().left??0}),jsx(MarchingAntsOverlay,{containerRef:o,selectionRange:re,copyRange:ho,cutRange:Co,colOffset:Se,items:M,visibleColumns:e.visibleColumns,columnSizingOverrides:he,columnOrder:e.columnOrder,isDragging:fo}),e.formulaReferences&&e.formulaReferences.length>0&&jsx(FormulaRefOverlay,{containerRef:o,references:e.formulaReferences,colOffset:Se}),bo&&W&&jsx(Ho,{emptyState:W})]})})}),ze&&createPortal(jsx(ko,{x:ze.x,y:ze.y,hasSelection:lt,canUndo:pt,canRedo:ut,onUndo:mt??NOOP,onRedo:gt??NOOP,onCopy:dt,onCut:ct,onPaste:et,onSelectAll:r.interaction.handleSelectAllCells,onClose:Ct}),document.body),jsx(Te,{...getColumnHeaderMenuProps(fe)})]}),se&&jsx(Do,{totalCount:se.totalCount,filteredCount:se.filteredCount,selectedCount:se.selectedCount??po.size,selectedCellCount:re?(Math.abs(re.endRow-re.startRow)+1)*(Math.abs(re.endCol-re.startCol)+1):void 0,aggregation:se.aggregation,suppressRowCount:se.suppressRowCount}),m&&jsx(Ao,{message:U})]})}var ro=ye.memo(gn);var wn=({columnId:e,columnName:r,checked:t,disabled:o,onChange:i})=>jsx(FormControlLabel,{control:jsx(Checkbox,{size:"small",checked:t,onChange:s=>{s.stopPropagation(),i(s.target.checked);},disabled:o}),label:jsx(Typography,{variant:"body2",children:r}),sx:{m:0}}),Tn=({visibleCount:e,totalCount:r})=>jsx(Box,{sx:{px:1.5,py:1,borderBottom:1,borderColor:"divider",bgcolor:"action.hover"},children:jsxs(Typography,{variant:"subtitle2",fontWeight:600,children:["Select Columns (",e," of ",r,")"]})}),En=({children:e})=>jsx(Box,{sx:{maxHeight:320,overflowY:"auto",py:.5},children:e}),Bn=({children:e})=>jsx(Box,{sx:{px:1.5,minHeight:32,display:"flex",alignItems:"center"},children:e}),Mn=({onClearAll:e,onSelectAll:r})=>jsxs(Box,{sx:{display:"flex",justifyContent:"flex-end",gap:1,px:1.5,py:1,borderTop:1,borderColor:"divider",bgcolor:"action.hover"},children:[jsx(Button,{size:"small",onClick:e,sx:{textTransform:"none"},children:"Clear All"}),jsx(Button,{size:"small",variant:"contained",onClick:r,sx:{textTransform:"none"},children:"Select All"})]}),ao=e=>{let{columns:r,visibleColumns:t,onVisibilityChange:o,onSetVisibleColumns:i,className:s}=e,[l,g]=useState(null),d=useRef(null),{open:c,setOpen:C,handleClose:f,handleCheckboxChange:I,handleSelectAll:x,handleClearAll:S,visibleCount:P,totalCount:B}=useColumnChooserState({columns:r,visibleColumns:t,onVisibilityChange:o,onSetVisibleColumns:i});return jsxs(Box,{className:s,sx:{display:"inline-flex"},children:[jsxs(Button,{ref:d,variant:"outlined",size:"small",color:"inherit",startIcon:jsx(ViewColumn,{}),endIcon:c?jsx(ExpandLess,{}):jsx(ExpandMore,{}),onClick:D=>{c?(f(),g(null)):(g(D.currentTarget),C(true));},"aria-expanded":c,"aria-haspopup":"listbox",sx:{textTransform:"none",fontWeight:600,borderColor:c?"primary.main":"divider"},children:["Column Visibility (",P," of ",B,")"]}),jsx(Popover,{open:c,anchorEl:l,onClose:()=>{f(),g(null);},anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},slotProps:{paper:{sx:{mt:.5,minWidth:220}}},children:jsx(ColumnChooserContent,{columns:r,visibleColumns:t,visibleCount:P,totalCount:B,handleSelectAll:x,handleClearAll:S,handleCheckboxChange:D=>m=>I(D)(m),CheckboxItem:wn,Header:Tn,OptionsListContainer:En,OptionItemContainer:Bn,Actions:Mn})})]})};var zn={first:jsx(FirstPage,{fontSize:"small"}),prev:jsx(ChevronLeft,{fontSize:"small"}),next:jsx(ChevronRight,{fontSize:"small"}),last:jsx(LastPage,{fontSize:"small"})},Wn=({variant:e,onClick:r,disabled:t,"aria-label":o})=>jsx(IconButton,{size:"small",onClick:r,disabled:t,"aria-label":o,children:zn[e]}),Un=({onClick:e,active:r,"aria-label":t,"aria-current":o,children:i})=>jsx(Button,{variant:r?"contained":"outlined",size:"small",onClick:e,"aria-label":t,"aria-current":o,sx:{minWidth:32,px:.5},children:i}),Gn=({value:e,options:r,onChange:t,"aria-label":o})=>jsx(Select,{value:e,onChange:s=>t(Number(s.target.value)),size:"small","aria-label":o,sx:{minWidth:70},children:r.map(s=>jsx(MenuItem,{value:s,children:s},s))}),Vn=({children:e,className:r,role:t,"aria-label":o})=>jsx(Box,{className:r,role:t,"aria-label":o,sx:{display:"flex",alignItems:"center",justifyContent:"space-between",flexWrap:"wrap",gap:2,px:1.5,width:"100%",minWidth:0,boxSizing:"border-box"},children:e}),Xn=({children:e})=>jsx(Typography,{variant:"body2",color:"text.secondary",children:e}),Kn=({children:e})=>jsx(Box,{sx:{display:"flex",alignItems:"center",gap:.5},children:e}),Yn=({children:e})=>jsx(Box,{sx:{display:"flex",alignItems:"center",gap:1},children:e}),$n=()=>jsx(Typography,{variant:"body2",color:"text.secondary",children:"Rows"}),jn=()=>jsx(Typography,{variant:"body2",color:"text.secondary",sx:{mx:.5},"aria-hidden":true,children:"\u2026"}),qn={NavButton:Wn,PageButton:Un,PageSizeSelect:Gn,OuterContainer:Vn,InfoText:Xn,NavButtonsContainer:Kn,PageSizeContainer:Yn,PageSizeLabel:$n,Ellipsis:jn},Ne=ye.memo(e=>jsx(PaginationControlsBase,{...e,slots:qn}));Ne.displayName="PaginationControls";var ea=ye.forwardRef(function(r,t){let o=useTheme(),i=ye.useMemo(()=>({display:"flex",flexDirection:"column",gap:1,"--ogrid-bg":o.palette.background.default,"--ogrid-border":o.palette.divider,"--ogrid-header-bg":o.palette.mode==="dark"?o.palette.grey[800]:o.palette.grey[100],"--ogrid-fg":o.palette.text.primary,"--ogrid-fg-secondary":o.palette.text.secondary,"--ogrid-fg-muted":o.palette.text.disabled,"--ogrid-hover-bg":o.palette.action.hover,"--ogrid-paper-bg":o.palette.background.paper,"--ogrid-primary":o.palette.primary.main,"--ogrid-selection-bg":o.palette.action.selected}),[o]);return jsx(Box,{ref:t,sx:i,...r})}),Jo=createOGrid({DataGridTable:ro,ColumnChooser:ao,PaginationControls:Ne,containerComponent:ea});export{ao as ColumnChooser,xe as ColumnHeaderFilter,Te as ColumnHeaderMenu,ro as DataGridTable,Jo as OGrid,Ne as PaginationControls};
|
|
42
|
+
`,Ro=false;function So(){if(Ro||typeof document>"u")return;Ro=true;let e=document.createElement("style");e.setAttribute("data-ogrid-mat",""),e.textContent=yt,document.head.appendChild(e);}var Ve=({value:e,onValueChange:r,onApply:t,onClear:o})=>jsxs(Box,{sx:{width:260},children:[jsx(Box,{sx:{p:1.5},children:jsx(TextField,{placeholder:"Enter search term...",value:e,onChange:i=>r(i.target.value),onKeyDown:i=>{i.stopPropagation(),i.key==="Enter"&&(i.preventDefault(),t());},autoComplete:"off",size:"small",fullWidth:true,slotProps:{input:{startAdornment:jsx(InputAdornment,{position:"start",children:jsx(Search,{fontSize:"small"})})}}})}),jsxs(Box,{sx:{display:"flex",justifyContent:"flex-end",gap:1,p:1.5,pt:0},children:[jsx(Button,{size:"small",disabled:!e,onClick:o,children:"Clear"}),jsx(Button,{size:"small",variant:"contained",onClick:t,children:"Apply"})]})]});Ve.displayName="TextFilterPopover";var Po=40,Ke=({searchText:e,onSearchChange:r,options:t,filteredOptions:o,selected:i,onOptionToggle:s,onSelectAll:l,onClearSelection:g,onApply:d,isLoading:c})=>{let C=useListVirtualizer({count:o.length,itemHeight:Po,containerHeight:240});return jsxs(Box,{sx:{width:280},children:[jsxs(Box,{sx:{p:1.5,pb:.5},children:[jsx(TextField,{placeholder:"Search...",value:e,onChange:f=>r(f.target.value),onKeyDown:f=>f.stopPropagation(),autoComplete:"off",size:"small",fullWidth:true,slotProps:{input:{startAdornment:jsx(InputAdornment,{position:"start",children:jsx(Search,{fontSize:"small"})})}}}),jsxs(Typography,{variant:"caption",color:"text.secondary",sx:{mt:.5,display:"block"},children:[o.length," of ",t.length," options"]})]}),jsxs(Box,{sx:{display:"flex",justifyContent:"space-between",px:1.5,py:.5},children:[jsxs(Button,{size:"small",onClick:l,children:["Select All (",o.length,")"]}),jsx(Button,{size:"small",onClick:g,children:"Clear"})]}),jsx(Box,{ref:C.containerRef,onScroll:C.onScroll,sx:{maxHeight:240,overflowY:"auto",px:.5},children:c?jsx(Box,{sx:{display:"flex",justifyContent:"center",py:2},children:jsx(CircularProgress,{size:24})}):o.length===0?jsx(Typography,{variant:"body2",color:"text.secondary",sx:{py:2,textAlign:"center"},children:"No options found"}):jsx(Box,{sx:{height:C.totalHeight,position:"relative"},children:C.visibleItems.map(({index:f,offsetTop:I})=>{let x=o[f];return jsx(FormControlLabel,{control:jsx(Checkbox,{size:"small",checked:i.has(x),onChange:S=>s(x,S.target.checked)}),label:jsx(Typography,{variant:"body2",children:x}),sx:{position:"absolute",top:I,width:"100%",height:Po,boxSizing:"border-box",display:"flex",alignItems:"center",mx:0,"& .MuiFormControlLabel-label":{flex:1,minWidth:0}}},x)})})}),jsxs(Box,{sx:{display:"flex",justifyContent:"flex-end",gap:1,p:1.5,pt:1,borderTop:1,borderColor:"divider"},children:[jsx(Button,{size:"small",onClick:g,children:"Clear"}),jsx(Button,{size:"small",variant:"contained",onClick:d,children:"Apply"})]})]})};Ke.displayName="MultiSelectFilterPopover";var Ye=({selectedUser:e,searchText:r,onSearchChange:t,suggestions:o,isLoading:i,onUserSelect:s,onClearUser:l,inputRef:g})=>jsxs(Box,{sx:{width:300},children:[e&&jsxs(Box,{sx:{p:1.5,pb:1,borderBottom:1,borderColor:"divider"},children:[jsx(Typography,{variant:"caption",color:"text.secondary",children:"Currently filtered by:"}),jsxs(Box,{sx:{display:"flex",alignItems:"center",gap:1,mt:.5},children:[jsx(Avatar,{src:e.photo,alt:e.displayName,sx:{width:32,height:32},children:e.displayName?.[0]}),jsxs(Box,{sx:{flex:1,minWidth:0},children:[jsx(Typography,{variant:"body2",noWrap:true,children:e.displayName}),jsx(Typography,{variant:"caption",color:"text.secondary",noWrap:true,children:e.email})]}),jsx(IconButton,{size:"small",onClick:l,"aria-label":"Remove filter",children:jsx(Clear,{fontSize:"small"})})]})]}),jsx(Box,{sx:{p:1.5,pb:.5},children:jsx(TextField,{inputRef:g,placeholder:"Search for a person...",value:r,onChange:d=>t(d.target.value),onKeyDown:d=>d.stopPropagation(),autoComplete:"off",size:"small",fullWidth:true,slotProps:{input:{startAdornment:jsx(InputAdornment,{position:"start",children:jsx(Search,{fontSize:"small"})})}}})}),jsx(Box,{sx:{maxHeight:240,overflowY:"auto"},children:i&&r.trim()?jsx(Box,{sx:{display:"flex",justifyContent:"center",py:2},children:jsx(CircularProgress,{size:24})}):o.length===0&&r.trim()?jsx(Typography,{variant:"body2",color:"text.secondary",sx:{py:2,textAlign:"center"},children:"No results found"}):r.trim()?o.map(d=>jsxs(Box,{onClick:()=>s(d),sx:{display:"flex",alignItems:"center",gap:1,px:1.5,py:1,cursor:"pointer","&:hover":{bgcolor:"action.hover"}},children:[jsx(Avatar,{src:d.photo,alt:d.displayName,sx:{width:32,height:32},children:d.displayName?.[0]}),jsxs(Box,{sx:{flex:1,minWidth:0},children:[jsx(Typography,{variant:"body2",noWrap:true,children:d.displayName}),jsx(Typography,{variant:"caption",color:"text.secondary",noWrap:true,children:d.email})]})]},d.id||d.email||d.displayName)):jsx(Typography,{variant:"body2",color:"text.secondary",sx:{py:2,textAlign:"center"},children:"Type to search..."})}),e&&jsx(Box,{sx:{p:1.5,pt:1,borderTop:1,borderColor:"divider"},children:jsx(Button,{size:"small",fullWidth:true,onClick:l,children:"Clear Filter"})})]});Ye.displayName="PeopleFilterPopover";var Kt=createBaseFilterRenderers({MultiSelectFilterPopover:Ke,TextFilterPopover:Ve,PeopleFilterPopover:Ye}),xe=ye.memo(e=>{let{columnName:r,filterType:t,options:o=[],isLoadingOptions:i=false,selectedUser:s}=e,l=useColumnHeaderFilterState(getColumnHeaderFilterStateParams(e)),{headerRef:g,isFilterOpen:d,setFilterOpen:c,hasActiveFilter:C,popoverPosition:f,handlers:I}=l;return jsxs(Box,{ref:g,sx:{display:"flex",alignItems:"center",width:"100%",minWidth:0},children:[jsx(Box,{sx:{flex:1,minWidth:0,overflow:"hidden"},children:jsx(Tooltip,{title:r,arrow:true,children:jsx(Typography,{variant:"body2",fontWeight:600,noWrap:true,"data-header-label":true,sx:{lineHeight:1.4},children:r})})}),jsx(Box,{sx:{display:"flex",alignItems:"center",ml:.5,flexShrink:0},children:t!=="none"&&jsxs(IconButton,{size:"small",onClick:I.handleFilterIconClick,"aria-label":`Filter ${r}`,"aria-expanded":d,"aria-haspopup":"dialog",title:`Filter ${r}`,color:C||d?"primary":"default",sx:{p:.25,position:"relative"},children:[jsx(FilterList,{sx:{fontSize:16}}),C&&jsx(Box,{sx:{position:"absolute",top:2,right:2,width:6,height:6,borderRadius:"50%",bgcolor:"primary.main"}})]})}),jsxs(Popover,{open:d&&t!=="none",onClose:()=>c(false),anchorReference:"anchorPosition",anchorPosition:f??{top:0,left:0},anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},slotProps:{paper:{sx:{mt:.5,overflow:"visible"},onClick:x=>x.stopPropagation()}},children:[jsx(Box,{sx:{borderBottom:1,borderColor:"divider",px:1.5,py:1},children:jsxs(Typography,{variant:"subtitle2",children:["Filter: ",r]})}),renderFilterContent(t,l,o??[],i,s,Kt)]})]})});xe.displayName="ColumnHeaderFilter";function Te(e){let{isOpen:r,anchorElement:t,onClose:o,onPinLeft:i,onPinRight:s,onUnpin:l,onSortAsc:g,onSortDesc:d,onClearSort:c,onAutosizeThis:C,onAutosizeAll:f,canPinLeft:I,canPinRight:x,canUnpin:S,currentSort:P,isSortable:B,isResizable:M}=e,[H,z]=useState(void 0);useEffect(()=>{if(r&&t){let y=t.getBoundingClientRect();z({top:y.bottom+4,left:y.left});}else z(void 0);},[r,t]);let D=useMemo(()=>({canPinLeft:I,canPinRight:x,canUnpin:S,currentSort:P,isSortable:B,isResizable:M}),[I,x,S,P,B,M]),p=useMemo(()=>getColumnHeaderMenuItems(D),[D]),U=useMemo(()=>({pinLeft:i,pinRight:s,unpin:l,sortAsc:g,sortDesc:d,clearSort:c,autosizeThis:C,autosizeAll:f}),[i,s,l,g,d,c,C,f]);return jsx(Menu,{open:r&&!!H,onClose:o,anchorReference:"anchorPosition",anchorPosition:H,slotProps:{paper:{sx:{minWidth:140}}},children:p.flatMap((y,G)=>{let V=[jsx(MenuItem,{disabled:y.disabled,onClick:()=>{U[y.id](),o();},children:y.label},y.id)];return y.divider&&G<p.length-1&&V.push(jsx(Divider,{},`${y.id}-divider`)),V})})}function Mo(e){return jsx(BaseInlineCellEditor,{...e,renderCheckbox:(r,t,o)=>jsx(Checkbox,{checked:r,onChange:(i,s)=>t(s),onKeyDown:i=>i.key==="Escape"&&(i.preventDefault(),o()),size:"small"})})}var rr=e=>({display:"inline-flex",alignItems:"center",gap:.5,...e?{}:{mr:2,"&::after":{content:'"|"',ml:2,color:"divider"}}});function Do(e){let r=getStatusBarParts(e);return jsx(Box,{role:"status","aria-live":"polite",sx:{mt:"auto",px:1.5,py:.75,borderTop:1,borderColor:"divider",bgcolor:"action.hover"},children:r.map((t,o)=>jsxs(Typography,{component:"span",variant:"body2",sx:rr(o===r.length-1),children:[jsx(Typography,{component:"span",color:"text.secondary",children:t.label}),jsx(Typography,{component:"span",fontWeight:600,children:t.value.toLocaleString()})]},t.key))})}function ko(e){let{x:r,y:t,hasSelection:o,canUndo:i,canRedo:s,onClose:l}=e,g=ye.useMemo(()=>getContextMenuHandlers(e),[e]),d=ye.useCallback(c=>!!(c.disabledWhenNoSelection&&!o||c.id==="undo"&&!i||c.id==="redo"&&!s),[o,i,s]);return jsx(Menu,{open:true,onClose:l,anchorReference:"anchorPosition",anchorPosition:{top:t,left:r},MenuListProps:{dense:true,"aria-label":"Grid context menu"},children:GRID_CONTEXT_MENU_ITEMS.flatMap(c=>{let C=[];return c.dividerBefore&&C.push(jsx(Divider,{},`${c.id}-divider`)),C.push(jsxs(MenuItem,{onClick:g[c.id],disabled:d(c),children:[jsx("span",{style:{flex:1},children:c.label}),c.shortcut&&jsx("span",{style:{marginLeft:24,color:"var(--ogrid-fg-muted, rgba(0,0,0,0.4))",fontSize:"0.8em"},children:formatShortcut(c.shortcut)})]},c.id)),C})})}var gr={py:4,px:2,textAlign:"center",borderTop:1,borderColor:"divider",bgcolor:"action.hover"};function Ho({emptyState:e}){return jsx(Box,{sx:gr,children:e.render?e.render():jsxs(Fragment,{children:[jsx(Typography,{variant:"h6",gutterBottom:true,children:"No results found"}),jsx(Typography,{variant:"body2",color:"text.secondary",children:e.message!=null?e.message:e.hasActiveFilters?jsxs(Fragment,{children:["No items match your current filters. Try adjusting your search or"," ",jsx(Button,{variant:"text",size:"small",onClick:e.onClearAll,children:"clear all filters"})," ","to see all items."]}):"There are no items available at this time."})]})})}var fr={position:"absolute",inset:0,zIndex:2,display:"flex",alignItems:"center",justifyContent:"center",background:"var(--ogrid-loading-bg, rgba(255,255,255,0.7))"},br={display:"flex",flexDirection:"column",alignItems:"center",gap:1,p:2,bgcolor:"background.paper",border:1,borderColor:"divider",borderRadius:1};function Ao({message:e}){return jsx(Box,{sx:fr,children:jsxs(Box,{sx:br,children:[jsx(CircularProgress,{size:24}),jsx(Typography,{variant:"body2",color:"text.secondary",children:e})]})})}function _o({dropIndicatorX:e,wrapperLeft:r}){return jsx(Box,{sx:{position:"absolute",top:0,bottom:0,width:3,bgcolor:"var(--ogrid-primary, #217346)",pointerEvents:"none",zIndex:100,transition:"left 0.05s",left:e-r}})}var Vr={position:"relative",flex:1,minHeight:0,display:"flex",flexDirection:"column"},Xr={width:"100%",height:"100%",display:"flex",alignItems:"center",boxSizing:"border-box",outline:"2px solid var(--ogrid-selection-color, #217346)",outlineOffset:"-1px",zIndex:2,position:"relative",background:"var(--ogrid-bg, #fff)",overflow:"visible",padding:0},Kr={width:CHECKBOX_COLUMN_WIDTH,minWidth:CHECKBOX_COLUMN_WIDTH,maxWidth:CHECKBOX_COLUMN_WIDTH,textAlign:"center"},Yr={width:CHECKBOX_COLUMN_WIDTH,minWidth:CHECKBOX_COLUMN_WIDTH,p:0},$r={width:CHECKBOX_COLUMN_WIDTH,minWidth:CHECKBOX_COLUMN_WIDTH,maxWidth:CHECKBOX_COLUMN_WIDTH,textAlign:"center",padding:0,position:"relative",height:"1px",borderBottom:"1px solid var(--ogrid-border, rgba(224,224,224,1))"},W="var(--ogrid-header-bg, #f5f5f5)",jr={zIndex:8,bgcolor:W,"& th":{bgcolor:W}},Vo={bgcolor:W},Qe={textAlign:"center",fontSize:"11px",fontWeight:500,color:"text.secondary",py:"2px",px:"4px",bgcolor:W,borderBottom:1,borderColor:"divider",userSelect:"none",fontVariantNumeric:"tabular-nums"},qr={textAlign:"center",fontWeight:600,borderBottom:2,borderColor:"divider",py:.75};function Zr(e){switch(e){case "compact":return {px:"8px",py:"4px"};case "comfortable":return {px:"16px",py:"12px"};default:return {px:"10px",py:"6px"}}}var Xo={compact:{padding:"4px 8px"},normal:{padding:"6px 10px"},comfortable:{padding:"12px 16px"}},Ko={compact:{"--ogrid-cell-padding-vertical":"4px","--ogrid-cell-padding-horizontal":"8px","--ogrid-cell-font-size":"12px"},normal:{"--ogrid-cell-padding-vertical":"6px","--ogrid-cell-padding-horizontal":"10px","--ogrid-cell-font-size":"13px"},comfortable:{"--ogrid-cell-padding-vertical":"12px","--ogrid-cell-padding-horizontal":"16px","--ogrid-cell-font-size":"14px"}},oo={fontWeight:600,position:"sticky",top:0,zIndex:8,bgcolor:W},Jr={...oo,position:"sticky",left:0,top:0,zIndex:10,bgcolor:W,willChange:"transform",borderRight:"1px solid",borderRightColor:"divider",boxShadow:"2px 0 4px -1px rgba(0,0,0,0.1)"},Qr={...oo,position:"sticky",right:0,top:0,zIndex:10,bgcolor:W,willChange:"transform",borderLeft:"1px solid",borderLeftColor:"divider",boxShadow:"-2px 0 4px -1px rgba(0,0,0,0.1)"},to={fontWeight:600,zIndex:8,bgcolor:W},en={...to,position:"sticky",left:0,zIndex:10,bgcolor:W,willChange:"transform",borderRight:"1px solid",borderRightColor:"divider",boxShadow:"2px 0 4px -1px rgba(0,0,0,0.1)"},on={...to,position:"sticky",right:0,zIndex:10,bgcolor:W,willChange:"transform",borderLeft:"1px solid",borderLeftColor:"divider",boxShadow:"-2px 0 4px -1px rgba(0,0,0,0.1)"},Yo={position:"absolute",top:0,right:"-3px",bottom:0,width:"8px",cursor:"col-resize",userSelect:"none","&::after":{content:'""',position:"absolute",top:0,right:"3px",bottom:0,width:"2px"},"&:hover::after":{bgcolor:"primary.main"},"&:active::after":{bgcolor:"primary.dark"}},tn={width:"100%",height:"100%",minHeight:"100%",minWidth:40,display:"flex",alignItems:"center",boxSizing:"border-box",overflow:"hidden"},rn={p:1},nn={display:"flex",flexDirection:"column",minHeight:"100%"},an={display:"flex",alignItems:"center",gap:.5},ln={background:"transparent",border:"none",cursor:"pointer",padding:"2px 4px",fontSize:"16px",lineHeight:1,color:"text.secondary",transition:"background-color 0.15s",borderRadius:"3px",display:"flex",alignItems:"center",justifyContent:"center",minWidth:"20px",height:"20px",flexShrink:0,"@media (hover: hover)":{visibility:"hidden"},"&:hover":{bgcolor:"action.hover"},"th:hover &":{visibility:"visible"}},sn={position:"relative",opacity:1},dn={position:"relative",opacity:.6};function cn(e){let{item:r,rowIndex:t,rowId:o,isSelected:i,columnLayouts:s,renderCellContent:l,handleSingleRowClick:g,handleRowCheckboxChange:d,lastMouseShiftRef:c,hasCheckboxCol:C,hasRowNumbersCol:f,rowNumberOffset:I,rowHeight:x,leftSpacerWidth:S,rightSpacerWidth:P,globalColIndexMap:B,rowNumWidth:M,selectionRange:H,activeCell:z,cutRange:D}=e;return jsxs("tr",{"data-row-id":o,onClick:g,"aria-selected":i||void 0,className:`ogrid-mat-row${i?" ogrid-mat-row--selected":""}`,style:x?{height:x}:void 0,children:[C&&jsx("td",{style:$r,children:jsx("div",{"data-row-index":t,"data-col-index":0,onClick:STOP_PROPAGATION,className:"ogrid-mat-checkbox-wrapper",children:jsx(Checkbox,{checked:i,onChange:(p,U)=>d(o,U,t,c.current),size:"small","aria-label":`Select row ${t+1}`})})}),f&&(()=>{let p=M??ROW_NUMBER_COLUMN_WIDTH;return jsx("td",{className:"ogrid-mat-td ogrid-mat-row-number",style:{width:p,minWidth:p,maxWidth:p,left:C?CHECKBOX_COLUMN_WIDTH:0,borderBottom:"1px solid var(--ogrid-border, rgba(224,224,224,1))"},onPointerDown:PREVENT_DEFAULT,children:I+t+1})})(),S!=null&&S>0&&jsx("td",{style:{padding:0,border:"none",width:S,minWidth:S},"aria-hidden":true}),s.map((p,U)=>{let y=B?B[U]:U,G=getGridCellSurfaceState({rowIndex:t,columnIndex:y,selectionRange:H,activeCell:z,cutRange:D}),V=G.isCutCell?"var(--ogrid-hover-bg, rgba(0,0,0,0.04))":G.isActiveRangeCell?"var(--ogrid-bg, #fff)":G.isRangeCell?"var(--ogrid-bg-range, rgba(33,115,70,0.12))":void 0;return jsx("td",{"data-column-id":p.col.columnId,className:p.tdClassName,style:V?{...p.tdStyle,minWidth:p.minWidth,width:p.width,maxWidth:p.maxWidth,background:V}:{...p.tdStyle,minWidth:p.minWidth,width:p.width,maxWidth:p.maxWidth},onPointerDown:PREVENT_DEFAULT,children:l(r,p.col,t,y)},p.col.columnId)}),P!=null&&P>0&&jsx("td",{style:{padding:0,border:"none",width:P,minWidth:P},"aria-hidden":true})]})}var pn=ye.memo(cn,areGridRowPropsEqual);So();function un(e){let{virtualScrollEnabled:r,visibleRange:t,columnRange:o,items:i,getRowId:s,selectedRowIds:l,visibleCols:g,columnLayouts:d,renderCellContent:c,handleSingleRowClick:C,handleRowCheckboxChange:f,lastMouseShiftRef:I,hasCheckboxCol:x,hasRowNumbersCol:S,rowNumberOffset:P,rowHeight:B,selectionRange:M,activeCell:H,cutRange:z,copyRange:D,isDragging:p,editingCell:U,pinnedColumns:y,rowNumWidth:G}=e,{rowLayouts:V,globalColIndexMap:ee,leftSpacerWidth:Fe,rightSpacerWidth:Ae}=ye.useMemo(()=>{if(!o)return {rowLayouts:d,globalColIndexMap:void 0,leftSpacerWidth:void 0,rightSpacerWidth:void 0};let R=partitionColumnsForVirtualization(g,o,y),X=[...R.pinnedLeft,...R.virtualizedUnpinned,...R.pinnedRight],oe=new Map(d.map(Z=>[Z.col.columnId,Z])),te=[],ue=[];for(let Z of X){let me=oe.get(Z.columnId);me&&(te.push(me),ue.push(g.indexOf(Z)));}return {rowLayouts:te,globalColIndexMap:ue,leftSpacerWidth:R.leftSpacerWidth,rightSpacerWidth:R.rightSpacerWidth}},[o,g,d,y]),w=(R,X)=>{let oe=s(R);return jsx(pn,{item:R,rowIndex:X,rowId:oe,isSelected:l.has(oe),columnLayouts:V,renderCellContent:c,handleSingleRowClick:C,handleRowCheckboxChange:f,lastMouseShiftRef:I,hasCheckboxCol:x,hasRowNumbersCol:S,rowNumberOffset:P,selectionRange:M,activeCell:H,cutRange:z,copyRange:D,isDragging:p,rowHeight:B,editingRowId:U?.rowId??null,leftSpacerWidth:Fe,rightSpacerWidth:Ae,globalColIndexMap:ee,rowNumWidth:G},oe)};return jsxs("tbody",{className:"ogrid-mat-tbody",children:[r&&t.offsetTop>0&&jsx("tr",{style:{height:t.offsetTop},"aria-hidden":true}),r?i.slice(t.startIndex,t.endIndex+1).map((R,X)=>w(R,t.startIndex+X)):i.map((R,X)=>w(R,X)),r&&t.offsetBottom>0&&jsx("tr",{style:{height:t.offsetBottom},"aria-hidden":true})]})}function mn(e){let r=useDataGridTableOrchestration({props:e}),{wrapperRef:t,tableContainerRef:o,lastMouseShiftRef:i,interaction:s,pinning:l,handleResizeStart:g,handleResizeDoubleClick:d,getColumnWidth:c,isReorderDragging:C,dropIndicatorX:f,handleHeaderMouseDown:I,virtualScrollEnabled:x,visibleRange:S,columnRange:P,onHorizontalScroll:B,items:M,getRowId:H,emptyState:z,suppressHorizontalScroll:D,isLoading:p,loadingMessage:U,ariaLabel:y,ariaLabelledBy:G,columnReorder:V,density:ee,rowHeight:Fe,rowNumberOffset:Ae,headerRows:w,allowOverflowX:R,fitToContent:X,showColumnLetters:oe,editCallbacks:te,interactionHandlers:ue,cellDescriptorInputRef:Z,cellDescriptorCacheRef:me,pendingEditorValueRef:so,popoverAnchorElRef:_e,handleSingleRowClick:Jo,handlePasteVoid:Qo,visibleCols:ge,hasCheckboxCol:le,hasRowNumbersCol:Ce,colOffset:Se,minTableWidth:co,columnSizingOverrides:he,measuredColumnWidths:et,selectedRowIds:po,handleRowCheckboxChange:ot,handleSelectAll:tt,allSelected:rt,someSelected:nt,editingCell:at,setPopoverAnchorEl:uo,cancelPopoverEdit:mo,setActiveCell:ve,selectionRange:re,hasCellSelection:it,handleGridKeyDown:lt,handleFillHandleMouseDown:go,handleCopy:st,handleCut:dt,cutRange:Co,copyRange:ho,canUndo:ct,canRedo:pt,onUndo:ut,onRedo:mt,isDragging:fo,menuPosition:We,closeContextMenu:gt,headerFilterInput:Ct,statusBarConfig:se,showEmptyInGrid:bo,onCellError:xo,headerMenu:fe}=r,ze=useMemo(()=>Zr(ee),[ee]),yo=useMemo(()=>({px:ze.px,py:ze.py}),[ze]),Ie=useColumnMeta({visibleCols:ge,getColumnWidth:c,columnSizingOverrides:he,measuredColumnWidths:et,pinnedColumns:l.pinnedColumns,leftOffsets:l.leftOffsets,rightOffsets:l.rightOffsets,pinnedColLeftClass:"",pinnedColRightClass:""}),ht=useMemo(()=>ge.map(u=>{let m=l.pinnedColumns[u.columnId]==="left",h=l.pinnedColumns[u.columnId]==="right",F="ogrid-mat-td",n={};m?(F+=" ogrid-mat-td--pinned-left",l.leftOffsets[u.columnId]!=null&&(n.left=l.leftOffsets[u.columnId])):h&&(F+=" ogrid-mat-td--pinned-right",l.rightOffsets[u.columnId]!=null&&(n.right=l.rightOffsets[u.columnId]));let $=Ie.cellStyles[u.columnId];return {col:u,tdClassName:F,tdStyle:n,minWidth:$?.minWidth??0,width:$?.width??c(u),maxWidth:$?.maxWidth??c(u)}}),[ge,Ie,l.pinnedColumns,l.leftOffsets,l.rightOffsets,c]),ft=useMemo(()=>({position:"relative",flex:1,minHeight:p&&M.length===0?200:0,width:X?"fit-content":"100%",maxWidth:"100%",overflowX:D?"hidden":R?"auto":"hidden",overflowY:"auto",bgcolor:"background.paper",willChange:"scroll-position"}),[X,D,R,p,M.length]),Ue=Xo[ee]??Xo.normal,bt=Ko[ee]??Ko.normal,xt=useCallback((u,m,h,F)=>{let n=getCellRenderDescriptor(u,m,h,F,Z.current,me.current),$=H(u),J;if(n.mode==="editing-inline")J=jsx("div",{className:"ogrid-mat-editing-cell",style:Xr,children:jsx(Mo,{...buildInlineEditorProps(u,m,n,te)})});else if(n.mode==="editing-popover"&&typeof m.cellEditor=="function"){let j=buildPopoverEditorProps(u,m,n,so.current,te),L=m.cellEditor,Q=resolveCellDisplayContent(m,u,n.displayValue),A=resolveCellStyle(m,u,n.displayValue);J=jsxs(Fragment,{children:[jsx(Box,{ref:k=>{k&&uo(k);},sx:tn,style:Ue,children:A?jsx("span",{style:A,children:Q}):Q}),jsx(Popover,{open:!!_e.current,anchorEl:_e.current,onClose:mo,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},children:jsx(Box,{sx:rn,children:jsx(L,{...j})})})]});}else {let j;if(n.columnType==="boolean"){let A=!!n.displayValue;j=jsx("input",{type:"checkbox",checked:A,disabled:!n.canEditAny,onChange:n.canEditAny?()=>{let k=n.rowIndex,N=n.globalColIndex;te.commitCellEdit(u,m.columnId,A,!A,k,N,{skipAdvance:true});}:void 0,onPointerDown:k=>handleBooleanCellPointerDown(k,n.rowIndex,n.globalColIndex,Se,{setActiveCell:ve,setSelectionRange:N=>s.setSelectionRange(N)}),onClick:k=>k.stopPropagation(),className:"ogrid-mat-boolean-checkbox","aria-label":A?"Checked":"Unchecked"});}else {let A=resolveCellDisplayContent(m,u,n.displayValue),k=resolveCellStyle(m,u,n.displayValue);j=k?jsx("span",{style:k,children:A}):A;}let L="ogrid-mat-cell";m.type==="numeric"?L+=" ogrid-mat-cell--numeric":m.type==="boolean"&&(L+=" ogrid-mat-cell--boolean"),n.canEditAny&&(L+=" ogrid-mat-cell--editable"),n.isActive&&(L+=" ogrid-mat-cell--active"),n.isActive&&n.isInRange&&(L+=" ogrid-mat-cell--active-in-range"),n.isInRange&&!n.isActive&&(L+=" ogrid-mat-cell--range"),n.isInCutRange&&(L+=" ogrid-mat-cell--cut");let Q=getCellInteractionProps(n,m.columnId,ue);J=jsxs("div",{className:L,...Q,style:Ue,children:[j,n.canEditAny&&n.isSelectionEndCell&&jsx("div",{className:"ogrid-mat-fill-handle",onPointerDown:go,"aria-label":"Fill handle"})]});}return jsx(CellErrorBoundary,{onError:xo,children:J},`${$}-${m.columnId}`)},[te,ue,go,uo,mo,H,xo,Z,me,Ue,so,_e,Se,s,ve]);return jsxs(Box,{sx:Vr,children:[jsxs(Box,{ref:t,tabIndex:0,role:"region","aria-label":y??(G?void 0:"Data grid"),"aria-labelledby":G,onMouseDown:u=>{i.current=u.shiftKey;},onScroll:B?u=>B(u.target.scrollLeft):void 0,onKeyDown:lt,onContextMenu:PREVENT_DEFAULT,"data-density":ee,"data-overflow-x":R?"true":"false",className:"ogrid-mat-wrapper","data-ogrid-scroll-container":"",sx:ft,style:bt,children:[jsx(Box,{sx:nn,children:jsx("div",{style:{minWidth:R?co:void 0,overflowX:"clip"},children:jsxs(Box,{ref:o,sx:p&&M.length>0?dn:sn,children:[jsxs(Table,{size:"small",role:"grid",sx:{minWidth:co,borderCollapse:"separate",borderSpacing:0},"data-virtual-scroll":x?"":void 0,children:[jsxs(TableHead,{sx:jr,children:[oe&&jsxs(TableRow,{sx:Vo,children:[le&&jsx(TableCell,{sx:Qe}),Ce&&jsx(TableCell,{sx:Qe}),ge.map((u,m)=>{let h=Ie.hdrStyles[u.columnId];return jsx(TableCell,{component:"th",sx:{...Qe,minWidth:h?.minWidth,width:h?.width,maxWidth:h?.maxWidth},children:indexToColumnLetter(m)},u.columnId)})]}),w.map((u,m)=>jsxs(TableRow,{sx:Vo,children:[m===w.length-1&&le&&jsx(TableCell,{padding:"checkbox",rowSpan:w.length>1?1:void 0,sx:Kr,children:jsx(Checkbox,{checked:rt,indeterminate:nt,onChange:(h,F)=>tt(!!F),size:"small","aria-label":"Select all rows"})}),m===0&&m<w.length-1&&le&&jsx(TableCell,{rowSpan:w.length-1,sx:Yr}),m===w.length-1&&Ce&&(()=>{let h=he?.[ROW_NUMBER_COLUMN_ID]?.widthPx??ROW_NUMBER_COLUMN_WIDTH;return jsxs(TableCell,{component:"th",scope:"col",rowSpan:w.length>1?1:void 0,sx:{width:h,minWidth:h,maxWidth:h,textAlign:"center",fontWeight:600,backgroundColor:W,position:"sticky",left:le?CHECKBOX_COLUMN_WIDTH:0,zIndex:4,...yo},children:["#",jsx(Box,{onPointerDown:F=>{ve(null),s.setSelectionRange(null),t.current?.focus({preventScroll:true}),g(F,{columnId:ROW_NUMBER_COLUMN_ID,name:"#"});},sx:Yo})]})})(),m===0&&m<w.length-1&&Ce&&(()=>{let h=he?.[ROW_NUMBER_COLUMN_ID]?.widthPx??ROW_NUMBER_COLUMN_WIDTH;return jsx(TableCell,{rowSpan:w.length-1,sx:{width:h,minWidth:h,position:"sticky",left:le?CHECKBOX_COLUMN_WIDTH:0,zIndex:4,backgroundColor:"background.paper"}})})(),u.map((h,F)=>{if(h.isGroup)return jsx(TableCell,{colSpan:h.colSpan,component:"th",scope:"colgroup",sx:qr,children:h.label},F);if(!h.columnDef)return null;let n=h.columnDef,$=l.pinnedColumns[n.columnId]==="left",J=l.pinnedColumns[n.columnId]==="right",j=r.stickyHeader?$?Jr:J?Qr:oo:$?en:J?on:to,L=$&&l.leftOffsets[n.columnId]!=null?{...j,left:l.leftOffsets[n.columnId]}:J&&l.rightOffsets[n.columnId]!=null?{...j,right:l.rightOffsets[n.columnId]}:j,Q=Ie.hdrStyles[n.columnId],k=e.sortBy===n.columnId?e.sortDirection==="asc"?"ascending":"descending":void 0;return jsxs(TableCell,{component:"th",scope:"col","data-column-id":n.columnId,rowSpan:w.length>1?w.length-m:void 0,"aria-sort":k,sx:{...L,...yo,minWidth:Q?.minWidth,width:Q?.width,maxWidth:Q?.maxWidth,...V?{cursor:C?"grabbing":"grab"}:{},"&:focus-visible":{outline:"2px solid",outlineColor:"primary.main",outlineOffset:"-2px",zIndex:11}},onPointerDown:V?N=>I(n.columnId,N):void 0,children:[jsxs(Box,{sx:an,children:[jsx(xe,{...getHeaderFilterConfig(n,Ct)}),jsx(Box,{component:"button",onClick:N=>{N.stopPropagation(),fe.isOpen&&fe.openForColumn===n.columnId?fe.close():fe.open(n.columnId,N.currentTarget);},"aria-label":"Column options",title:"Column options",sx:ln,children:"\u22EE"})]}),jsx(Box,{onPointerDown:N=>{ve(null),s.setSelectionRange(null),t.current?.focus({preventScroll:true}),g(N,n);},onDoubleClick:N=>d(N,n),sx:Yo})]},n.columnId)})]},m))]}),!bo&&jsx(un,{virtualScrollEnabled:x,visibleRange:S,columnRange:P,items:M,getRowId:H,selectedRowIds:po,visibleCols:ge,columnLayouts:ht,renderCellContent:xt,handleSingleRowClick:Jo,handleRowCheckboxChange:ot,lastMouseShiftRef:i,hasCheckboxCol:le,hasRowNumbersCol:Ce,rowNumberOffset:Ae,rowHeight:Fe,selectionRange:re,activeCell:s.activeCell,cutRange:Co,copyRange:ho,isDragging:fo,editingCell:at,pinnedColumns:l.pinnedColumns,rowNumWidth:Ce?he?.[ROW_NUMBER_COLUMN_ID]?.widthPx??ROW_NUMBER_COLUMN_WIDTH:void 0})]}),C&&f!=null&&jsx(_o,{dropIndicatorX:f,wrapperLeft:t.current?.getBoundingClientRect().left??0}),jsx(MarchingAntsOverlay,{containerRef:o,selectionRange:re,copyRange:ho,cutRange:Co,colOffset:Se,items:M,visibleColumns:e.visibleColumns,columnSizingOverrides:he,columnOrder:e.columnOrder,isDragging:fo}),e.formulaReferences&&e.formulaReferences.length>0&&jsx(FormulaRefOverlay,{containerRef:o,references:e.formulaReferences,colOffset:Se}),bo&&z&&jsx(Ho,{emptyState:z})]})})}),We&&createPortal(jsx(ko,{x:We.x,y:We.y,hasSelection:it,canUndo:ct,canRedo:pt,onUndo:ut??NOOP,onRedo:mt??NOOP,onCopy:st,onCut:dt,onPaste:Qo,onSelectAll:r.interaction.handleSelectAllCells,onClose:gt}),document.body),jsx(Te,{...getColumnHeaderMenuProps(fe)})]}),se&&jsx(Do,{totalCount:se.totalCount,filteredCount:se.filteredCount,selectedCount:se.selectedCount??po.size,selectedCellCount:re?(Math.abs(re.endRow-re.startRow)+1)*(Math.abs(re.endCol-re.startCol)+1):void 0,aggregation:se.aggregation,suppressRowCount:se.suppressRowCount}),p&&jsx(Ao,{message:U})]})}var ro=ye.memo(mn);var Pn=({columnId:e,columnName:r,checked:t,disabled:o,onChange:i})=>jsx(FormControlLabel,{control:jsx(Checkbox,{size:"small",checked:t,onChange:s=>{s.stopPropagation(),i(s.target.checked);},disabled:o}),label:jsx(Typography,{variant:"body2",children:r}),sx:{m:0}}),wn=({visibleCount:e,totalCount:r})=>jsx(Box,{sx:{px:1.5,py:1,borderBottom:1,borderColor:"divider",bgcolor:"action.hover"},children:jsxs(Typography,{variant:"subtitle2",fontWeight:600,children:["Select Columns (",e," of ",r,")"]})}),Tn=({children:e})=>jsx(Box,{sx:{maxHeight:320,overflowY:"auto",py:.5},children:e}),En=({children:e})=>jsx(Box,{sx:{px:1.5,minHeight:32,display:"flex",alignItems:"center"},children:e}),Bn=({onClearAll:e,onSelectAll:r})=>jsxs(Box,{sx:{display:"flex",justifyContent:"flex-end",gap:1,px:1.5,py:1,borderTop:1,borderColor:"divider",bgcolor:"action.hover"},children:[jsx(Button,{size:"small",onClick:e,sx:{textTransform:"none"},children:"Clear All"}),jsx(Button,{size:"small",variant:"contained",onClick:r,sx:{textTransform:"none"},children:"Select All"})]}),ao=e=>{let{columns:r,visibleColumns:t,onVisibilityChange:o,onSetVisibleColumns:i,className:s}=e,[l,g]=useState(null),d=useRef(null),{open:c,setOpen:C,handleClose:f,handleCheckboxChange:I,handleSelectAll:x,handleClearAll:S,visibleCount:P,totalCount:B}=useColumnChooserState({columns:r,visibleColumns:t,onVisibilityChange:o,onSetVisibleColumns:i});return jsxs(Box,{className:s,sx:{display:"inline-flex"},children:[jsxs(Button,{ref:d,variant:"outlined",size:"small",color:"inherit",startIcon:jsx(ViewColumn,{}),endIcon:c?jsx(ExpandLess,{}):jsx(ExpandMore,{}),onClick:D=>{c?(f(),g(null)):(g(D.currentTarget),C(true));},"aria-expanded":c,"aria-haspopup":"listbox",sx:{textTransform:"none",fontWeight:600,borderColor:c?"primary.main":"divider"},children:["Column Visibility (",P," of ",B,")"]}),jsx(Popover,{open:c,anchorEl:l,onClose:()=>{f(),g(null);},anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},slotProps:{paper:{sx:{mt:.5,minWidth:220}}},children:jsx(ColumnChooserContent,{columns:r,visibleColumns:t,visibleCount:P,totalCount:B,handleSelectAll:x,handleClearAll:S,handleCheckboxChange:D=>p=>I(D)(p),CheckboxItem:Pn,Header:wn,OptionsListContainer:Tn,OptionItemContainer:En,Actions:Bn})})]})};var _n={first:jsx(FirstPage,{fontSize:"small"}),prev:jsx(ChevronLeft,{fontSize:"small"}),next:jsx(ChevronRight,{fontSize:"small"}),last:jsx(LastPage,{fontSize:"small"})},Wn=({variant:e,onClick:r,disabled:t,"aria-label":o})=>jsx(IconButton,{size:"small",onClick:r,disabled:t,"aria-label":o,children:_n[e]}),zn=({onClick:e,active:r,"aria-label":t,"aria-current":o,children:i})=>jsx(Button,{variant:r?"contained":"outlined",size:"small",onClick:e,"aria-label":t,"aria-current":o,sx:{minWidth:32,px:.5},children:i}),Un=({value:e,options:r,onChange:t,"aria-label":o})=>jsx(Select,{value:e,onChange:s=>t(Number(s.target.value)),size:"small","aria-label":o,sx:{minWidth:70},children:r.map(s=>jsx(MenuItem,{value:s,children:s},s))}),Gn=({children:e,className:r,role:t,"aria-label":o})=>jsx(Box,{className:r,role:t,"aria-label":o,sx:{display:"flex",alignItems:"center",justifyContent:"space-between",flexWrap:"wrap",gap:2,px:1.5,width:"100%",minWidth:0,boxSizing:"border-box"},children:e}),Vn=({children:e})=>jsx(Typography,{variant:"body2",color:"text.secondary",children:e}),Xn=({children:e})=>jsx(Box,{sx:{display:"flex",alignItems:"center",gap:.5},children:e}),Kn=({children:e})=>jsx(Box,{sx:{display:"flex",alignItems:"center",gap:1},children:e}),Yn=()=>jsx(Typography,{variant:"body2",color:"text.secondary",children:"Rows"}),$n=()=>jsx(Typography,{variant:"body2",color:"text.secondary",sx:{mx:.5},"aria-hidden":true,children:"\u2026"}),jn={NavButton:Wn,PageButton:zn,PageSizeSelect:Un,OuterContainer:Gn,InfoText:Vn,NavButtonsContainer:Xn,PageSizeContainer:Kn,PageSizeLabel:Yn,Ellipsis:$n},Ne=ye.memo(e=>jsx(PaginationControlsBase,{...e,slots:jn}));Ne.displayName="PaginationControls";var Qn=ye.forwardRef(function(r,t){let o=useTheme(),i=ye.useMemo(()=>({display:"flex",flexDirection:"column",gap:1,"--ogrid-bg":o.palette.background.default,"--ogrid-border":o.palette.divider,"--ogrid-header-bg":o.palette.mode==="dark"?o.palette.grey[800]:o.palette.grey[100],"--ogrid-fg":o.palette.text.primary,"--ogrid-fg-secondary":o.palette.text.secondary,"--ogrid-fg-muted":o.palette.text.disabled,"--ogrid-hover-bg":o.palette.action.hover,"--ogrid-paper-bg":o.palette.background.paper,"--ogrid-primary":o.palette.primary.main,"--ogrid-selection-bg":o.palette.action.selected}),[o]);return jsx(Box,{ref:t,sx:i,...r})}),Zo=createOGrid({DataGridTable:ro,ColumnChooser:ao,PaginationControls:Ne,containerComponent:Qn});export{ao as ColumnChooser,xe as ColumnHeaderFilter,Te as ColumnHeaderMenu,ro as DataGridTable,Zo as OGrid,Ne as PaginationControls};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alaarab/ogrid-react-material",
|
|
3
|
-
"version": "2.7.
|
|
3
|
+
"version": "2.7.3",
|
|
4
4
|
"description": "OGrid React Material implementation – MUI Table–based data grid with sorting, filtering, pagination, column chooser, spreadsheet selection, and CSV export.",
|
|
5
5
|
"main": "dist/esm/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"node": ">=18"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@alaarab/ogrid-react": "2.7.
|
|
42
|
+
"@alaarab/ogrid-react": "2.7.3"
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|
|
45
45
|
"@emotion/react": "^11.0.0",
|