@alaarab/ogrid-react-material 2.5.9 → 2.6.0
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/dist/types/index.d.ts +4 -2
- package/package.json +2 -2
package/dist/esm/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import*as
|
|
1
|
+
import*as Re 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,ROW_NUMBER_COLUMN_WIDTH,useDataGridTableOrchestration,useRowGrouping,useColumnMeta,getCellRenderDescriptor,buildInlineEditorProps,buildPopoverEditorProps,resolveCellDisplayContent,resolveCellStyle,handleBooleanCellPointerDown,getCellInteractionProps,CellErrorBoundary,PREVENT_DEFAULT,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,buildGroupedRows,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,isGroupHeader,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,useRowGrouping,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';import {isGroupHeader}from'@alaarab/ogrid-core';var vt=`
|
|
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
|
-
`,yo=false;function Ro(){if(yo||typeof document>"u")return;yo=true;let e=document.createElement("style");e.setAttribute("data-ogrid-mat",""),e.textContent=yt,document.head.appendChild(e);}var Ve=({value:e,onValueChange:t,onApply:r,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=>t(i.target.value),onKeyDown:i=>{i.stopPropagation(),i.key==="Enter"&&(i.preventDefault(),r());},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:r,children:"Apply"})]})]});Ve.displayName="TextFilterPopover";var Io=40,Ke=({searchText:e,onSearchChange:t,options:r,filteredOptions:o,selected:i,onOptionToggle:d,onSelectAll:l,onClearSelection:m,onApply:s,isLoading:c})=>{let g=useListVirtualizer({count:o.length,itemHeight:Io,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=>t(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 ",r.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:m,children:"Clear"})]}),jsx(Box,{ref:g.containerRef,onScroll:g.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:g.totalHeight,position:"relative"},children:g.visibleItems.map(({index:f,offsetTop:v})=>{let x=o[f];return jsx(FormControlLabel,{control:jsx(Checkbox,{size:"small",checked:i.has(x),onChange:R=>d(x,R.target.checked)}),label:jsx(Typography,{variant:"body2",children:x}),sx:{position:"absolute",top:v,width:"100%",height:Io,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:m,children:"Clear"}),jsx(Button,{size:"small",variant:"contained",onClick:s,children:"Apply"})]})]})};Ke.displayName="MultiSelectFilterPopover";var Ye=({selectedUser:e,searchText:t,onSearchChange:r,suggestions:o,isLoading:i,onUserSelect:d,onClearUser:l,inputRef:m})=>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:m,placeholder:"Search for a person...",value:t,onChange:s=>r(s.target.value),onKeyDown:s=>s.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&&t.trim()?jsx(Box,{sx:{display:"flex",justifyContent:"center",py:2},children:jsx(CircularProgress,{size:24})}):o.length===0&&t.trim()?jsx(Typography,{variant:"body2",color:"text.secondary",sx:{py:2,textAlign:"center"},children:"No results found"}):t.trim()?o.map(s=>jsxs(Box,{onClick:()=>d(s),sx:{display:"flex",alignItems:"center",gap:1,px:1.5,py:1,cursor:"pointer","&:hover":{bgcolor:"action.hover"}},children:[jsx(Avatar,{src:s.photo,alt:s.displayName,sx:{width:32,height:32},children:s.displayName?.[0]}),jsxs(Box,{sx:{flex:1,minWidth:0},children:[jsx(Typography,{variant:"body2",noWrap:true,children:s.displayName}),jsx(Typography,{variant:"caption",color:"text.secondary",noWrap:true,children:s.email})]})]},s.id||s.email||s.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:t,filterType:r,options:o=[],isLoadingOptions:i=false,selectedUser:d}=e,l=useColumnHeaderFilterState(getColumnHeaderFilterStateParams(e)),{headerRef:m,isFilterOpen:s,setFilterOpen:c,hasActiveFilter:g,popoverPosition:f,handlers:v}=l;return jsxs(Box,{ref:m,sx:{display:"flex",alignItems:"center",width:"100%",minWidth:0},children:[jsx(Box,{sx:{flex:1,minWidth:0,overflow:"hidden"},children:jsx(Tooltip,{title:t,arrow:true,children:jsx(Typography,{variant:"body2",fontWeight:600,noWrap:true,"data-header-label":true,sx:{lineHeight:1.4},children:t})})}),jsx(Box,{sx:{display:"flex",alignItems:"center",ml:.5,flexShrink:0},children:r!=="none"&&jsxs(IconButton,{size:"small",onClick:v.handleFilterIconClick,"aria-label":`Filter ${t}`,"aria-expanded":s,"aria-haspopup":"dialog",title:`Filter ${t}`,color:g||s?"primary":"default",sx:{p:.25,position:"relative"},children:[jsx(FilterList,{sx:{fontSize:16}}),g&&jsx(Box,{sx:{position:"absolute",top:2,right:2,width:6,height:6,borderRadius:"50%",bgcolor:"primary.main"}})]})}),jsxs(Popover,{open:s&&r!=="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: ",t]})}),renderFilterContent(r,l,o??[],i,d,Kt)]})]})});xe.displayName="ColumnHeaderFilter";function Pe(e){let{isOpen:t,anchorElement:r,onClose:o,onPinLeft:i,onPinRight:d,onUnpin:l,onSortAsc:m,onSortDesc:s,onClearSort:c,onAutosizeThis:g,onAutosizeAll:f,canPinLeft:v,canPinRight:x,canUnpin:R,currentSort:I,isSortable:B,isResizable:M}=e,[C,D]=useState(void 0);useEffect(()=>{if(t&&r){let P=r.getBoundingClientRect();D({top:P.bottom+4,left:P.left});}else D(void 0);},[t,r]);let O=useMemo(()=>({canPinLeft:v,canPinRight:x,canUnpin:R,currentSort:I,isSortable:B,isResizable:M}),[v,x,R,I,B,M]),F=useMemo(()=>getColumnHeaderMenuItems(O),[O]),pe=useMemo(()=>({pinLeft:i,pinRight:d,unpin:l,sortAsc:m,sortDesc:s,clearSort:c,autosizeThis:g,autosizeAll:f}),[i,d,l,m,s,c,g,f]);return jsx(Menu,{open:t&&!!C,onClose:o,anchorReference:"anchorPosition",anchorPosition:C,slotProps:{paper:{sx:{minWidth:140}}},children:F.flatMap((P,ae)=>{let Z=[jsx(MenuItem,{disabled:P.disabled,onClick:()=>{pe[P.id](),o();},children:P.label},P.id)];return P.divider&&ae<F.length-1&&Z.push(jsx(Divider,{},`${P.id}-divider`)),Z})})}function Bo(e){return jsx(BaseInlineCellEditor,{...e,renderCheckbox:(t,r,o)=>jsx(Checkbox,{checked:t,onChange:(i,d)=>r(d),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 Mo(e){let t=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:t.map((r,o)=>jsxs(Typography,{component:"span",variant:"body2",sx:rr(o===t.length-1),children:[jsx(Typography,{component:"span",color:"text.secondary",children:r.label}),jsx(Typography,{component:"span",fontWeight:600,children:r.value.toLocaleString()})]},r.key))})}function Do(e){let{x:t,y:r,hasSelection:o,canUndo:i,canRedo:d,onClose:l}=e,m=ye.useMemo(()=>getContextMenuHandlers(e),[e]),s=ye.useCallback(c=>!!(c.disabledWhenNoSelection&&!o||c.id==="undo"&&!i||c.id==="redo"&&!d),[o,i,d]);return jsx(Menu,{open:true,onClose:l,anchorReference:"anchorPosition",anchorPosition:{top:r,left:t},MenuListProps:{dense:true,"aria-label":"Grid context menu"},children:GRID_CONTEXT_MENU_ITEMS.flatMap(c=>{let g=[];return c.dividerBefore&&g.push(jsx(Divider,{},`${c.id}-divider`)),g.push(jsxs(MenuItem,{onClick:m[c.id],disabled:s(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)),g})})}var gr={py:4,px:2,textAlign:"center",borderTop:1,borderColor:"divider",bgcolor:"action.hover"};function No({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 Fo({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 Ao({dropIndicatorX:e,wrapperLeft:t}){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-t}})}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}},Go={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 Vo={compact:{padding:"4px 8px"},normal:{padding:"6px 10px"},comfortable:{padding:"12px 16px"}},Xo={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"}},eo={fontWeight:600,position:"sticky",top:0,zIndex:8,bgcolor:W},Jr={...eo,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={...eo,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)"},oo={fontWeight:600,zIndex:8,bgcolor:W},en={...oo,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={...oo,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)"},Ko={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},Yo={padding:0,border:"none"};function cn(e){let{item:t,rowIndex:r,rowId:o,isSelected:i,columnLayouts:d,renderCellContent:l,handleSingleRowClick:m,handleRowCheckboxChange:s,lastMouseShiftRef:c,hasCheckboxCol:g,hasRowNumbersCol:f,rowNumberOffset:v,rowHeight:x,leftSpacerWidth:R,rightSpacerWidth:I,globalColIndexMap:B,rowNumWidth:M}=e;return jsxs("tr",{"data-row-id":o,onClick:m,"aria-selected":i||void 0,className:`ogrid-mat-row${i?" ogrid-mat-row--selected":""}`,style:x?{height:x}:void 0,children:[g&&jsx("td",{style:$r,children:jsx("div",{"data-row-index":r,"data-col-index":0,onClick:STOP_PROPAGATION,className:"ogrid-mat-checkbox-wrapper",children:jsx(Checkbox,{checked:i,onChange:(C,D)=>s(o,D,r,c.current),size:"small",disableRipple:true,sx:{p:0},"aria-label":`Select row ${r+1}`})})}),f&&(()=>{let C=M??ROW_NUMBER_COLUMN_WIDTH;return jsx("td",{className:"ogrid-mat-td ogrid-mat-row-number",style:{width:C,minWidth:C,maxWidth:C,left:g?CHECKBOX_COLUMN_WIDTH:0,borderBottom:"1px solid var(--ogrid-border, rgba(224,224,224,1))"},children:v+r+1})})(),R!=null&&R>0&&jsx("td",{style:{...Yo,width:R,minWidth:R},"aria-hidden":true}),d.map((C,D)=>{let O=B?B[D]:D;return jsx("td",{"data-column-id":C.col.columnId,className:C.tdClassName,style:{...C.tdStyle,minWidth:C.minWidth,width:C.width,maxWidth:C.maxWidth},children:l(t,C.col,r,O)},C.col.columnId)}),I!=null&&I>0&&jsx("td",{style:{...Yo,width:I,minWidth:I},"aria-hidden":true})]})}var pn=ye.memo(cn,areGridRowPropsEqual);Ro();function un(e){let{virtualScrollEnabled:t,visibleRange:r,columnRange:o,items:i,getRowId:d,selectedRowIds:l,visibleCols:m,columnLayouts:s,renderCellContent:c,handleSingleRowClick:g,handleRowCheckboxChange:f,lastMouseShiftRef:v,hasCheckboxCol:x,hasRowNumbersCol:R,rowNumberOffset:I,rowHeight:B,selectionRange:M,activeCell:C,cutRange:D,copyRange:O,isDragging:F,editingCell:pe,pinnedColumns:P,rowNumWidth:ae}=e,{rowLayouts:Z,globalColIndexMap:J,leftSpacerWidth:Ne,rightSpacerWidth:He}=ye.useMemo(()=>{if(!o)return {rowLayouts:s,globalColIndexMap:void 0,leftSpacerWidth:void 0,rightSpacerWidth:void 0};let y=partitionColumnsForVirtualization(m,o,P),U=[...y.pinnedLeft,...y.virtualizedUnpinned,...y.pinnedRight],Q=new Map(s.map($=>[$.col.columnId,$])),ee=[],ue=[];for(let $ of U){let me=Q.get($.columnId);me&&(ee.push(me),ue.push(m.indexOf($)));}return {rowLayouts:ee,globalColIndexMap:ue,leftSpacerWidth:y.leftSpacerWidth,rightSpacerWidth:y.rightSpacerWidth}},[o,m,s,P]),w=(y,U)=>{let Q=d(y);return jsx(pn,{item:y,rowIndex:U,rowId:Q,isSelected:l.has(Q),columnLayouts:Z,renderCellContent:c,handleSingleRowClick:g,handleRowCheckboxChange:f,lastMouseShiftRef:v,hasCheckboxCol:x,hasRowNumbersCol:R,rowNumberOffset:I,selectionRange:M,activeCell:C,cutRange:D,copyRange:O,isDragging:F,rowHeight:B,editingRowId:pe?.rowId??null,leftSpacerWidth:Ne,rightSpacerWidth:He,globalColIndexMap:J,rowNumWidth:ae},Q)};return jsxs("tbody",{className:"ogrid-mat-tbody",children:[t&&r.offsetTop>0&&jsx("tr",{style:{height:r.offsetTop},"aria-hidden":true}),t?i.slice(r.startIndex,r.endIndex+1).map((y,U)=>w(y,r.startIndex+U)):i.map((y,U)=>w(y,U)),t&&r.offsetBottom>0&&jsx("tr",{style:{height:r.offsetBottom},"aria-hidden":true})]})}function mn(e){let t=useDataGridTableOrchestration({props:e}),{wrapperRef:r,tableContainerRef:o,lastMouseShiftRef:i,interaction:d,pinning:l,handleResizeStart:m,handleResizeDoubleClick:s,getColumnWidth:c,isReorderDragging:g,dropIndicatorX:f,handleHeaderMouseDown:v,virtualScrollEnabled:x,visibleRange:R,columnRange:I,onHorizontalScroll:B,items:M,getRowId:C,emptyState:D,suppressHorizontalScroll:O,isLoading:F,loadingMessage:pe,ariaLabel:P,ariaLabelledBy:ae,columnReorder:Z,density:J,rowHeight:Ne,rowNumberOffset:He,headerRows:w,allowOverflowX:y,fitToContent:U,showColumnLetters:Q,editCallbacks:ee,interactionHandlers:ue,cellDescriptorInputRef:$,cellDescriptorCacheRef:me,pendingEditorValueRef:lo,popoverAnchorElRef:Fe,handleSingleRowClick:Jo,handlePasteVoid:Qo,visibleCols:ge,hasCheckboxCol:ie,hasRowNumbersCol:Ce,colOffset:Ae,minTableWidth:so,columnSizingOverrides:he,measuredColumnWidths:et,selectedRowIds:co,handleRowCheckboxChange:ot,handleSelectAll:tt,allSelected:rt,someSelected:nt,editingCell:at,setPopoverAnchorEl:po,cancelPopoverEdit:uo,setActiveCell:_e,selectionRange:oe,hasCellSelection:it,handleGridKeyDown:lt,handleFillHandleMouseDown:mo,handleCopy:st,handleCut:dt,cutRange:go,copyRange:Co,canUndo:ct,canRedo:pt,onUndo:ut,onRedo:mt,isDragging:ho,menuPosition:ze,closeContextMenu:gt,headerFilterInput:Ct,statusBarConfig:le,showEmptyInGrid:fo,onCellError:bo,headerMenu:fe}=t,We=useMemo(()=>Zr(J),[J]),xo=useMemo(()=>({px:We.px,py:We.py}),[We]),Se=useColumnMeta({visibleCols:ge,getColumnWidth:c,columnSizingOverrides:he,measuredColumnWidths:et,pinnedColumns:l.pinnedColumns,leftOffsets:l.leftOffsets,rightOffsets:l.rightOffsets,pinnedColLeftClass:"",pinnedColRightClass:""}),ht=useMemo(()=>ge.map(p=>{let u=l.pinnedColumns[p.columnId]==="left",h=l.pinnedColumns[p.columnId]==="right",A="ogrid-mat-td",n={};u?(A+=" ogrid-mat-td--pinned-left",l.leftOffsets[p.columnId]!=null&&(n.left=l.leftOffsets[p.columnId])):h&&(A+=" ogrid-mat-td--pinned-right",l.rightOffsets[p.columnId]!=null&&(n.right=l.rightOffsets[p.columnId]));let X=Se.cellStyles[p.columnId];return {col:p,tdClassName:A,tdStyle:n,minWidth:X?.minWidth??0,width:X?.width,maxWidth:X?.maxWidth}}),[ge,Se,l.pinnedColumns,l.leftOffsets,l.rightOffsets]),ft=useMemo(()=>({position:"relative",flex:1,minHeight:F&&M.length===0?200:0,width:U?"fit-content":"100%",maxWidth:"100%",overflowX:O?"hidden":y?"auto":"hidden",overflowY:"auto",bgcolor:"background.paper",willChange:"scroll-position"}),[U,O,y,F,M.length]),Ue=Vo[J]??Vo.normal,bt=Xo[J]??Xo.normal,xt=useCallback((p,u,h,A)=>{let n=getCellRenderDescriptor(p,u,h,A,$.current,me.current),X=C(p),j;if(n.mode==="editing-inline")j=jsx("div",{className:"ogrid-mat-editing-cell",style:Xr,children:jsx(Bo,{...buildInlineEditorProps(p,u,n,ee)})});else if(n.mode==="editing-popover"&&typeof u.cellEditor=="function"){let K=buildPopoverEditorProps(p,u,n,lo.current,ee),N=u.cellEditor,q=resolveCellDisplayContent(u,p,n.displayValue),_=resolveCellStyle(u,p,n.displayValue);j=jsxs(Fragment,{children:[jsx(Box,{ref:k=>{k&&po(k);},sx:tn,style:Ue,children:_?jsx("span",{style:_,children:q}):q}),jsx(Popover,{open:!!Fe.current,anchorEl:Fe.current,onClose:uo,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},children:jsx(Box,{sx:rn,children:jsx(N,{...K})})})]});}else {let K;if(n.columnType==="boolean"){let _=!!n.displayValue;K=jsx("input",{type:"checkbox",checked:_,disabled:!n.canEditAny,onChange:n.canEditAny?()=>{let k=n.rowIndex,H=n.globalColIndex;ee.commitCellEdit(p,u.columnId,_,!_,k,H,{skipAdvance:true});}:void 0,onPointerDown:k=>handleBooleanCellPointerDown(k,n.rowIndex,n.globalColIndex,Ae,{setActiveCell:_e,setSelectionRange:H=>d.setSelectionRange(H)}),onClick:k=>k.stopPropagation(),className:"ogrid-mat-boolean-checkbox","aria-label":_?"Checked":"Unchecked"});}else {let _=resolveCellDisplayContent(u,p,n.displayValue),k=resolveCellStyle(u,p,n.displayValue);K=k?jsx("span",{style:k,children:_}):_;}let N="ogrid-mat-cell";u.type==="numeric"?N+=" ogrid-mat-cell--numeric":u.type==="boolean"&&(N+=" ogrid-mat-cell--boolean"),n.canEditAny&&(N+=" ogrid-mat-cell--editable"),n.isActive&&(N+=" ogrid-mat-cell--active"),n.isActive&&n.isInRange&&(N+=" ogrid-mat-cell--active-in-range"),n.isInRange&&!n.isActive&&(N+=" ogrid-mat-cell--range"),n.isInCutRange&&(N+=" ogrid-mat-cell--cut");let q=getCellInteractionProps(n,u.columnId,ue);j=jsxs("div",{className:N,...q,style:Ue,children:[K,n.canEditAny&&n.isSelectionEndCell&&jsx("div",{className:"ogrid-mat-fill-handle",onPointerDown:mo,"aria-label":"Fill handle"})]});}return jsx(CellErrorBoundary,{onError:bo,children:j},`${X}-${u.columnId}`)},[ee,ue,mo,po,uo,C,bo,$,me,Ue,lo,Fe]);return jsxs(Box,{sx:Vr,children:[jsxs(Box,{ref:r,tabIndex:0,role:"region","aria-label":P??(ae?void 0:"Data grid"),"aria-labelledby":ae,onMouseDown:p=>{i.current=p.shiftKey;},onScroll:B?p=>B(p.target.scrollLeft):void 0,onKeyDown:lt,onContextMenu:PREVENT_DEFAULT,"data-density":J,"data-overflow-x":y?"true":"false",className:"ogrid-mat-wrapper","data-ogrid-scroll-container":"",sx:ft,style:bt,children:[jsx(Box,{sx:nn,children:jsx("div",{style:{minWidth:y?so:void 0,overflowX:"clip"},children:jsxs(Box,{ref:o,sx:F&&M.length>0?dn:sn,children:[jsxs(Table,{size:"small",role:"grid",sx:{minWidth:so,borderCollapse:"separate",borderSpacing:0},"data-virtual-scroll":x?"":void 0,children:[jsxs(TableHead,{sx:jr,children:[Q&&jsxs(TableRow,{sx:Go,children:[ie&&jsx(TableCell,{sx:Qe}),Ce&&jsx(TableCell,{sx:Qe}),ge.map((p,u)=>{let h=Se.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:Go,children:[u===w.length-1&&ie&&jsx(TableCell,{padding:"checkbox",rowSpan:w.length>1?1:void 0,sx:Kr,children:jsx(Checkbox,{checked:rt,indeterminate:nt,onChange:(h,A)=>tt(!!A),size:"small",disableRipple:true,sx:{p:0},"aria-label":"Select all rows"})}),u===0&&u<w.length-1&&ie&&jsx(TableCell,{rowSpan:w.length-1,sx:Yr}),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:W,position:"sticky",left:ie?CHECKBOX_COLUMN_WIDTH:0,zIndex:4,...xo},children:["#",jsx(Box,{onPointerDown:A=>{_e(null),d.setSelectionRange(null),r.current?.focus({preventScroll:true}),m(A,{columnId:ROW_NUMBER_COLUMN_ID,name:"#"});},sx:Ko})]})})(),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:ie?CHECKBOX_COLUMN_WIDTH:0,zIndex:4,backgroundColor:"background.paper"}})})(),p.map((h,A)=>{if(h.isGroup)return jsx(TableCell,{colSpan:h.colSpan,component:"th",scope:"colgroup",sx:qr,children:h.label},A);if(!h.columnDef)return null;let n=h.columnDef,X=l.pinnedColumns[n.columnId]==="left",j=l.pinnedColumns[n.columnId]==="right",K=t.stickyHeader?X?Jr:j?Qr:eo:X?en:j?on:oo,N=X&&l.leftOffsets[n.columnId]!=null?{...K,left:l.leftOffsets[n.columnId]}:j&&l.rightOffsets[n.columnId]!=null?{...K,right:l.rightOffsets[n.columnId]}:K,q=Se.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:{...N,...xo,minWidth:q?.minWidth,width:q?.width,maxWidth:q?.maxWidth,...Z?{cursor:g?"grabbing":"grab"}:{},"&:focus-visible":{outline:"2px solid",outlineColor:"primary.main",outlineOffset:"-2px",zIndex:11}},onPointerDown:Z?H=>v(n.columnId,H):void 0,children:[jsxs(Box,{sx:an,children:[jsx(xe,{...getHeaderFilterConfig(n,Ct)}),jsx(Box,{component:"button",onClick:H=>{H.stopPropagation(),fe.isOpen&&fe.openForColumn===n.columnId?fe.close():fe.open(n.columnId,H.currentTarget);},"aria-label":"Column options",title:"Column options",sx:ln,children:"\u22EE"})]}),jsx(Box,{onPointerDown:H=>{_e(null),d.setSelectionRange(null),r.current?.focus({preventScroll:true}),m(H,n);},onDoubleClick:H=>s(H,n),sx:Ko})]},n.columnId)})]},u))]}),!fo&&jsx(un,{virtualScrollEnabled:x,visibleRange:R,columnRange:I,items:M,getRowId:C,selectedRowIds:co,visibleCols:ge,columnLayouts:ht,renderCellContent:xt,handleSingleRowClick:Jo,handleRowCheckboxChange:ot,lastMouseShiftRef:i,hasCheckboxCol:ie,hasRowNumbersCol:Ce,rowNumberOffset:He,rowHeight:Ne,selectionRange:oe,activeCell:d.activeCell,cutRange:go,copyRange:Co,isDragging:ho,editingCell:at,pinnedColumns:l.pinnedColumns,rowNumWidth:Ce?he?.[ROW_NUMBER_COLUMN_ID]?.widthPx??ROW_NUMBER_COLUMN_WIDTH:void 0})]}),g&&f!=null&&jsx(Ao,{dropIndicatorX:f,wrapperLeft:r.current?.getBoundingClientRect().left??0}),jsx(MarchingAntsOverlay,{containerRef:o,selectionRange:oe,copyRange:Co,cutRange:go,colOffset:Ae,items:M,visibleColumns:e.visibleColumns,columnSizingOverrides:he,columnOrder:e.columnOrder,isDragging:ho}),e.formulaReferences&&e.formulaReferences.length>0&&jsx(FormulaRefOverlay,{containerRef:o,references:e.formulaReferences,colOffset:Ae}),fo&&D&&jsx(No,{emptyState:D})]})})}),ze&&createPortal(jsx(Do,{x:ze.x,y:ze.y,hasSelection:it,canUndo:ct,canRedo:pt,onUndo:ut??NOOP,onRedo:mt??NOOP,onCopy:st,onCut:dt,onPaste:Qo,onSelectAll:t.interaction.handleSelectAllCells,onClose:gt}),document.body),jsx(Pe,{...getColumnHeaderMenuProps(fe)})]}),le&&jsx(Mo,{totalCount:le.totalCount,filteredCount:le.filteredCount,selectedCount:le.selectedCount??co.size,selectedCellCount:oe?(Math.abs(oe.endRow-oe.startRow)+1)*(Math.abs(oe.endCol-oe.startCol)+1):void 0,aggregation:le.aggregation,suppressRowCount:le.suppressRowCount}),F&&jsx(Fo,{message:pe})]})}var to=ye.memo(mn);var Pn=({columnId:e,columnName:t,checked:r,disabled:o,onChange:i})=>jsx(FormControlLabel,{control:jsx(Checkbox,{size:"small",checked:r,onChange:d=>{d.stopPropagation(),i(d.target.checked);},disabled:o}),label:jsx(Typography,{variant:"body2",children:t}),sx:{m:0}}),wn=({visibleCount:e,totalCount:t})=>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 ",t,")"]})}),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:t})=>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:t,sx:{textTransform:"none"},children:"Select All"})]}),no=e=>{let{columns:t,visibleColumns:r,onVisibilityChange:o,onSetVisibleColumns:i,className:d}=e,[l,m]=useState(null),s=useRef(null),{open:c,setOpen:g,handleClose:f,handleCheckboxChange:v,handleSelectAll:x,handleClearAll:R,visibleCount:I,totalCount:B}=useColumnChooserState({columns:t,visibleColumns:r,onVisibilityChange:o,onSetVisibleColumns:i});return jsxs(Box,{className:d,sx:{display:"inline-flex"},children:[jsxs(Button,{ref:s,variant:"outlined",size:"small",color:"inherit",startIcon:jsx(ViewColumn,{}),endIcon:c?jsx(ExpandLess,{}):jsx(ExpandMore,{}),onClick:O=>{c?(f(),m(null)):(m(O.currentTarget),g(true));},"aria-expanded":c,"aria-haspopup":"listbox",sx:{textTransform:"none",fontWeight:600,borderColor:c?"primary.main":"divider"},children:["Column Visibility (",I," of ",B,")"]}),jsx(Popover,{open:c,anchorEl:l,onClose:()=>{f(),m(null);},anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},slotProps:{paper:{sx:{mt:.5,minWidth:220}}},children:jsx(ColumnChooserContent,{columns:t,visibleColumns:r,visibleCount:I,totalCount:B,handleSelectAll:x,handleClearAll:R,handleCheckboxChange:O=>F=>v(O)(F),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"})},zn=({variant:e,onClick:t,disabled:r,"aria-label":o})=>jsx(IconButton,{size:"small",onClick:t,disabled:r,"aria-label":o,children:_n[e]}),Wn=({onClick:e,active:t,"aria-label":r,"aria-current":o,children:i})=>jsx(Button,{variant:t?"contained":"outlined",size:"small",onClick:e,"aria-label":r,"aria-current":o,sx:{minWidth:32,px:.5},children:i}),Un=({value:e,options:t,onChange:r,"aria-label":o})=>jsx(Select,{value:e,onChange:d=>r(Number(d.target.value)),size:"small","aria-label":o,sx:{minWidth:70},children:t.map(d=>jsx(MenuItem,{value:d,children:d},d))}),Gn=({children:e,className:t,role:r,"aria-label":o})=>jsx(Box,{className:t,role:r,"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:zn,PageButton:Wn,PageSizeSelect:Un,OuterContainer:Gn,InfoText:Vn,NavButtonsContainer:Xn,PageSizeContainer:Kn,PageSizeLabel:Yn,Ellipsis:$n},ke=ye.memo(e=>jsx(PaginationControlsBase,{...e,slots:jn}));ke.displayName="PaginationControls";var Qn=ye.forwardRef(function(t,r){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:r,sx:i,...t})}),Zo=createOGrid({DataGridTable:to,ColumnChooser:no,PaginationControls:ke,containerComponent:Qn});export{no as ColumnChooser,xe as ColumnHeaderFilter,Pe as ColumnHeaderMenu,to as DataGridTable,Zo as OGrid,ke as PaginationControls};
|
|
42
|
+
`,Io=false;function Po(){if(Io||typeof document>"u")return;Io=true;let e=document.createElement("style");e.setAttribute("data-ogrid-mat",""),e.textContent=vt,document.head.appendChild(e);}var je=({value:e,onValueChange:t,onApply:r,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=>t(i.target.value),onKeyDown:i=>{i.stopPropagation(),i.key==="Enter"&&(i.preventDefault(),r());},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:r,children:"Apply"})]})]});je.displayName="TextFilterPopover";var Eo=40,Ze=({searchText:e,onSearchChange:t,options:r,filteredOptions:o,selected:i,onOptionToggle:s,onSelectAll:l,onClearSelection:C,onApply:d,isLoading:c})=>{let m=useListVirtualizer({count:o.length,itemHeight:Eo,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=>t(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 ",r.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:C,children:"Clear"})]}),jsx(Box,{ref:m.containerRef,onScroll:m.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:m.totalHeight,position:"relative"},children:m.visibleItems.map(({index:f,offsetTop:S})=>{let y=o[f];return jsx(FormControlLabel,{control:jsx(Checkbox,{size:"small",checked:i.has(y),onChange:I=>s(y,I.target.checked)}),label:jsx(Typography,{variant:"body2",children:y}),sx:{position:"absolute",top:S,width:"100%",height:Eo,boxSizing:"border-box",display:"flex",alignItems:"center",mx:0,"& .MuiFormControlLabel-label":{flex:1,minWidth:0}}},y)})})}),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:C,children:"Clear"}),jsx(Button,{size:"small",variant:"contained",onClick:d,children:"Apply"})]})]})};Ze.displayName="MultiSelectFilterPopover";var Je=({selectedUser:e,searchText:t,onSearchChange:r,suggestions:o,isLoading:i,onUserSelect:s,onClearUser:l,inputRef:C})=>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:C,placeholder:"Search for a person...",value:t,onChange:d=>r(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&&t.trim()?jsx(Box,{sx:{display:"flex",justifyContent:"center",py:2},children:jsx(CircularProgress,{size:24})}):o.length===0&&t.trim()?jsx(Typography,{variant:"body2",color:"text.secondary",sx:{py:2,textAlign:"center"},children:"No results found"}):t.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"})})]});Je.displayName="PeopleFilterPopover";var jt=createBaseFilterRenderers({MultiSelectFilterPopover:Ze,TextFilterPopover:je,PeopleFilterPopover:Je}),ye=Re.memo(e=>{let{columnName:t,filterType:r,options:o=[],isLoadingOptions:i=false,selectedUser:s}=e,l=useColumnHeaderFilterState(getColumnHeaderFilterStateParams(e)),{headerRef:C,isFilterOpen:d,setFilterOpen:c,hasActiveFilter:m,popoverPosition:f,handlers:S}=l;return jsxs(Box,{ref:C,sx:{display:"flex",alignItems:"center",width:"100%",minWidth:0},children:[jsx(Box,{sx:{flex:1,minWidth:0,overflow:"hidden"},children:jsx(Tooltip,{title:t,arrow:true,children:jsx(Typography,{variant:"body2",fontWeight:600,noWrap:true,"data-header-label":true,sx:{lineHeight:1.4},children:t})})}),jsx(Box,{sx:{display:"flex",alignItems:"center",ml:.5,flexShrink:0},children:r!=="none"&&jsxs(IconButton,{size:"small",onClick:S.handleFilterIconClick,"aria-label":`Filter ${t}`,"aria-expanded":d,"aria-haspopup":"dialog",title:`Filter ${t}`,color:m||d?"primary":"default",sx:{p:.25,position:"relative"},children:[jsx(FilterList,{sx:{fontSize:16}}),m&&jsx(Box,{sx:{position:"absolute",top:2,right:2,width:6,height:6,borderRadius:"50%",bgcolor:"primary.main"}})]})}),jsxs(Popover,{open:d&&r!=="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:y=>y.stopPropagation()}},children:[jsx(Box,{sx:{borderBottom:1,borderColor:"divider",px:1.5,py:1},children:jsxs(Typography,{variant:"subtitle2",children:["Filter: ",t]})}),renderFilterContent(r,l,o??[],i,s,jt)]})]})});ye.displayName="ColumnHeaderFilter";function De(e){let{isOpen:t,anchorElement:r,onClose:o,onPinLeft:i,onPinRight:s,onUnpin:l,onSortAsc:C,onSortDesc:d,onClearSort:c,onAutosizeThis:m,onAutosizeAll:f,canPinLeft:S,canPinRight:y,canUnpin:I,currentSort:T,isSortable:M,isResizable:E}=e,[g,D]=useState(void 0);useEffect(()=>{if(t&&r){let O=r.getBoundingClientRect();D({top:O.bottom+4,left:O.left});}else D(void 0);},[t,r]);let k=useMemo(()=>({canPinLeft:S,canPinRight:y,canUnpin:I,currentSort:T,isSortable:M,isResizable:E}),[S,y,I,T,M,E]),_=useMemo(()=>getColumnHeaderMenuItems(k),[k]),Ce=useMemo(()=>({pinLeft:i,pinRight:s,unpin:l,sortAsc:C,sortDesc:d,clearSort:c,autosizeThis:m,autosizeAll:f}),[i,s,l,C,d,c,m,f]);return jsx(Menu,{open:t&&!!g,onClose:o,anchorReference:"anchorPosition",anchorPosition:g,slotProps:{paper:{sx:{minWidth:140}}},children:_.flatMap((O,ie)=>{let Q=[jsx(MenuItem,{disabled:O.disabled,onClick:()=>{Ce[O.id](),o();},children:O.label},O.id)];return O.divider&&ie<_.length-1&&Q.push(jsx(Divider,{},`${O.id}-divider`)),Q})})}function Oo(e){return jsx(BaseInlineCellEditor,{...e,renderCheckbox:(t,r,o)=>jsx(Checkbox,{checked:t,onChange:(i,s)=>r(s),onKeyDown:i=>i.key==="Escape"&&(i.preventDefault(),o()),size:"small"})})}var ir=e=>({display:"inline-flex",alignItems:"center",gap:.5,...e?{}:{mr:2,"&::after":{content:'"|"',ml:2,color:"divider"}}});function Lo(e){let t=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:t.map((r,o)=>jsxs(Typography,{component:"span",variant:"body2",sx:ir(o===t.length-1),children:[jsx(Typography,{component:"span",color:"text.secondary",children:r.label}),jsx(Typography,{component:"span",fontWeight:600,children:r.value.toLocaleString()})]},r.key))})}function Ho(e){let{x:t,y:r,hasSelection:o,canUndo:i,canRedo:s,onClose:l}=e,C=Re.useMemo(()=>getContextMenuHandlers(e),[e]),d=Re.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:r,left:t},MenuListProps:{dense:true,"aria-label":"Grid context menu"},children:GRID_CONTEXT_MENU_ITEMS.flatMap(c=>{let m=[];return c.dividerBefore&&m.push(jsx(Divider,{},`${c.id}-divider`)),m.push(jsxs(MenuItem,{onClick:C[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)),m})})}var hr={py:4,px:2,textAlign:"center",borderTop:1,borderColor:"divider",bgcolor:"action.hover"};function _o({emptyState:e}){return jsx(Box,{sx:hr,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 yr={position:"absolute",inset:0,zIndex:2,display:"flex",alignItems:"center",justifyContent:"center",background:"var(--ogrid-loading-bg, rgba(255,255,255,0.7))"},Rr={display:"flex",flexDirection:"column",alignItems:"center",gap:1,p:2,bgcolor:"background.paper",border:1,borderColor:"divider",borderRadius:1};function zo({message:e}){return jsx(Box,{sx:yr,children:jsxs(Box,{sx:Rr,children:[jsx(CircularProgress,{size:24}),jsx(Typography,{variant:"body2",color:"text.secondary",children:e})]})})}function Wo({dropIndicatorX:e,wrapperLeft:t}){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-t}})}var jr={position:"relative",flex:1,minHeight:0,display:"flex",flexDirection:"column"},qr={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},Zr={width:CHECKBOX_COLUMN_WIDTH,minWidth:CHECKBOX_COLUMN_WIDTH,maxWidth:CHECKBOX_COLUMN_WIDTH,textAlign:"center"},Jr={width:CHECKBOX_COLUMN_WIDTH,minWidth:CHECKBOX_COLUMN_WIDTH,p:0},Qr={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))"},U="var(--ogrid-header-bg, #f5f5f5)",en={zIndex:8,bgcolor:U,"& th":{bgcolor:U}},Yo={bgcolor:U},no={textAlign:"center",fontSize:"11px",fontWeight:500,color:"text.secondary",py:"2px",px:"4px",bgcolor:U,borderBottom:1,borderColor:"divider",userSelect:"none",fontVariantNumeric:"tabular-nums"},on={textAlign:"center",fontWeight:600,borderBottom:2,borderColor:"divider",py:.75};function tn(e){switch(e){case "compact":return {px:"8px",py:"4px"};case "comfortable":return {px:"16px",py:"12px"};default:return {px:"10px",py:"6px"}}}var $o={compact:{padding:"4px 8px"},normal:{padding:"6px 10px"},comfortable:{padding:"12px 16px"}},jo={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"}},ao={fontWeight:600,position:"sticky",top:0,zIndex:8,bgcolor:U},rn={...ao,position:"sticky",left:0,top:0,zIndex:10,bgcolor:U,willChange:"transform",borderRight:"1px solid",borderRightColor:"divider",boxShadow:"2px 0 4px -1px rgba(0,0,0,0.1)"},nn={...ao,position:"sticky",right:0,top:0,zIndex:10,bgcolor:U,willChange:"transform",borderLeft:"1px solid",borderLeftColor:"divider",boxShadow:"-2px 0 4px -1px rgba(0,0,0,0.1)"},io={fontWeight:600,zIndex:8,bgcolor:U},an={...io,position:"sticky",left:0,zIndex:10,bgcolor:U,willChange:"transform",borderRight:"1px solid",borderRightColor:"divider",boxShadow:"2px 0 4px -1px rgba(0,0,0,0.1)"},ln={...io,position:"sticky",right:0,zIndex:10,bgcolor:U,willChange:"transform",borderLeft:"1px solid",borderLeftColor:"divider",boxShadow:"-2px 0 4px -1px rgba(0,0,0,0.1)"},qo={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"}},sn={width:"100%",height:"100%",minHeight:"100%",minWidth:40,display:"flex",alignItems:"center",boxSizing:"border-box",overflow:"hidden"},dn={p:1},cn={display:"flex",flexDirection:"column",minHeight:"100%"},pn={display:"flex",alignItems:"center",gap:.5},un={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"}},mn={position:"relative",opacity:1},gn={position:"relative",opacity:.6},Zo={padding:0,border:"none"};function Cn(e){let{item:t,rowIndex:r,rowId:o,isSelected:i,columnLayouts:s,renderCellContent:l,handleSingleRowClick:C,handleRowCheckboxChange:d,lastMouseShiftRef:c,hasCheckboxCol:m,hasRowNumbersCol:f,rowNumberOffset:S,rowHeight:y,leftSpacerWidth:I,rightSpacerWidth:T,globalColIndexMap:M,rowNumWidth:E}=e;return jsxs("tr",{"data-row-id":o,onClick:C,"aria-selected":i||void 0,className:`ogrid-mat-row${i?" ogrid-mat-row--selected":""}`,style:y?{height:y}:void 0,children:[m&&jsx("td",{style:Qr,children:jsx("div",{"data-row-index":r,"data-col-index":0,onClick:STOP_PROPAGATION,className:"ogrid-mat-checkbox-wrapper",children:jsx(Checkbox,{checked:i,onChange:(g,D)=>d(o,D,r,c.current),size:"small",disableRipple:true,sx:{p:0},"aria-label":`Select row ${r+1}`})})}),f&&(()=>{let g=E??ROW_NUMBER_COLUMN_WIDTH;return jsx("td",{className:"ogrid-mat-td ogrid-mat-row-number",style:{width:g,minWidth:g,maxWidth:g,left:m?CHECKBOX_COLUMN_WIDTH:0,borderBottom:"1px solid var(--ogrid-border, rgba(224,224,224,1))"},children:S+r+1})})(),I!=null&&I>0&&jsx("td",{style:{...Zo,width:I,minWidth:I},"aria-hidden":true}),s.map((g,D)=>{let k=M?M[D]:D;return jsx("td",{"data-column-id":g.col.columnId,className:g.tdClassName,style:{...g.tdStyle,minWidth:g.minWidth,width:g.width,maxWidth:g.maxWidth},children:l(t,g.col,r,k)},g.col.columnId)}),T!=null&&T>0&&jsx("td",{style:{...Zo,width:T,minWidth:T},"aria-hidden":true})]})}var fn=Re.memo(Cn,areGridRowPropsEqual);Po();function hn(e){let{virtualScrollEnabled:t,visibleRange:r,columnRange:o,items:i,displayRows:s,isGroupingActive:l,expandedGroups:C,toggleGroup:d,getRowId:c,selectedRowIds:m,visibleCols:f,columnLayouts:S,renderCellContent:y,handleSingleRowClick:I,handleRowCheckboxChange:T,lastMouseShiftRef:M,hasCheckboxCol:E,hasRowNumbersCol:g,rowNumberOffset:D,totalColCount:k,rowHeight:_,selectionRange:Ce,activeCell:O,cutRange:ie,copyRange:Q,isDragging:ee,editingCell:ze,pinnedColumns:ve,rowNumWidth:L}=e,{rowLayouts:le,globalColIndexMap:Ie,leftSpacerWidth:We,rightSpacerWidth:se}=Re.useMemo(()=>{if(!o)return {rowLayouts:S,globalColIndexMap:void 0,leftSpacerWidth:void 0,rightSpacerWidth:void 0};let h=partitionColumnsForVirtualization(f,o,ve),R=[...h.pinnedLeft,...h.virtualizedUnpinned,...h.pinnedRight],v=new Map(S.map(oe=>[oe.col.columnId,oe])),ce=[],V=[];for(let oe of R){let Y=v.get(oe.columnId);Y&&(ce.push(Y),V.push(f.indexOf(oe)));}return {rowLayouts:ce,globalColIndexMap:V,leftSpacerWidth:h.leftSpacerWidth,rightSpacerWidth:h.rightSpacerWidth}},[o,f,S,ve]),de=(h,R)=>{let v=c(h);return jsx(fn,{item:h,rowIndex:R,rowId:v,isSelected:m.has(v),columnLayouts:le,renderCellContent:y,handleSingleRowClick:I,handleRowCheckboxChange:T,lastMouseShiftRef:M,hasCheckboxCol:E,hasRowNumbersCol:g,rowNumberOffset:D,selectionRange:Ce,activeCell:O,cutRange:ie,copyRange:Q,isDragging:ee,rowHeight:_,editingRowId:ze?.rowId??null,leftSpacerWidth:We,rightSpacerWidth:se,globalColIndexMap:Ie,rowNumWidth:L},v)},Pe=h=>{let R=C.has(h.groupKey);return jsx("tr",{style:{background:"var(--ogrid-bg-row-group, var(--ogrid-bg-hover, #f5f5f5))",fontWeight:500},children:jsx("td",{colSpan:k,style:{paddingLeft:`${h.depth*16+8}px`},children:jsxs("button",{onClick:()=>d(h.groupKey),onKeyDown:v=>{(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),d(h.groupKey));},tabIndex:0,style:{background:"none",border:"none",cursor:"pointer",padding:"2px 4px",font:"inherit",fontWeight:500},children:[R?"\u25BC":"\u25B6"," ",h.displayText," (",h.itemCount,")"]})})},`group-${h.groupKey}`)},we=()=>{if(!l)return t?i.slice(r.startIndex,r.endIndex+1).map((R,v)=>de(R,r.startIndex+v)):i.map((R,v)=>de(R,v));let h=0;return s.map((R,v)=>{if(isGroupHeader(R))return Pe(R.group);let ce=R,V=h++;return de(ce,V)})};return jsxs("tbody",{className:"ogrid-mat-tbody",children:[t&&!l&&r.offsetTop>0&&jsx("tr",{style:{height:r.offsetTop},"aria-hidden":true}),we(),t&&!l&&r.offsetBottom>0&&jsx("tr",{style:{height:r.offsetBottom},"aria-hidden":true})]})}function bn(e){let t=useDataGridTableOrchestration({props:e}),{wrapperRef:r,tableContainerRef:o,lastMouseShiftRef:i,interaction:s,pinning:l,handleResizeStart:C,handleResizeDoubleClick:d,getColumnWidth:c,isReorderDragging:m,dropIndicatorX:f,handleHeaderMouseDown:S,virtualScrollEnabled:y,visibleRange:I,columnRange:T,onHorizontalScroll:M,items:E,getRowId:g,emptyState:D,suppressHorizontalScroll:k,isLoading:_,loadingMessage:Ce,ariaLabel:O,ariaLabelledBy:ie,columnReorder:Q,density:ee,rowHeight:ze,rowNumberOffset:ve,headerRows:L,allowOverflowX:le,fitToContent:Ie,showColumnLetters:We,editCallbacks:se,interactionHandlers:de,cellDescriptorInputRef:Pe,cellDescriptorCacheRef:we,pendingEditorValueRef:h,popoverAnchorElRef:R,handleSingleRowClick:v,handlePasteVoid:ce,visibleCols:V,totalColCount:oe,hasCheckboxCol:Y,hasRowNumbersCol:fe,colOffset:Ue,minTableWidth:mo,columnSizingOverrides:he,measuredColumnWidths:tt,selectedRowIds:go,handleRowCheckboxChange:rt,handleSelectAll:nt,allSelected:at,someSelected:it,editingCell:lt,setPopoverAnchorEl:Co,cancelPopoverEdit:fo,setActiveCell:Ve,selectionRange:te,hasCellSelection:st,handleGridKeyDown:dt,handleFillHandleMouseDown:ho,handleCopy:ct,handleCut:pt,cutRange:bo,copyRange:xo,canUndo:ut,canRedo:mt,onUndo:gt,onRedo:Ct,isDragging:yo,menuPosition:Xe,closeContextMenu:ft,headerFilterInput:ht,statusBarConfig:pe,showEmptyInGrid:Ro,onCellError:So,headerMenu:be,groupBy:bt}=t,Te=useRowGrouping({items:E,columns:e.columns,groupBy:bt}),Ke=useMemo(()=>tn(ee),[ee]),vo=useMemo(()=>({px:Ke.px,py:Ke.py}),[Ke]),Ee=useColumnMeta({visibleCols:V,getColumnWidth:c,columnSizingOverrides:he,measuredColumnWidths:tt,pinnedColumns:l.pinnedColumns,leftOffsets:l.leftOffsets,rightOffsets:l.rightOffsets,pinnedColLeftClass:"",pinnedColRightClass:""}),xt=useMemo(()=>V.map(p=>{let u=l.pinnedColumns[p.columnId]==="left",b=l.pinnedColumns[p.columnId]==="right",G="ogrid-mat-td",n={};u?(G+=" ogrid-mat-td--pinned-left",l.leftOffsets[p.columnId]!=null&&(n.left=l.leftOffsets[p.columnId])):b&&(G+=" ogrid-mat-td--pinned-right",l.rightOffsets[p.columnId]!=null&&(n.right=l.rightOffsets[p.columnId]));let $=Ee.cellStyles[p.columnId];return {col:p,tdClassName:G,tdStyle:n,minWidth:$?.minWidth??0,width:$?.width,maxWidth:$?.maxWidth}}),[V,Ee,l.pinnedColumns,l.leftOffsets,l.rightOffsets]),yt=useMemo(()=>({position:"relative",flex:1,minHeight:_&&E.length===0?200:0,width:Ie?"fit-content":"100%",maxWidth:"100%",overflowX:k?"hidden":le?"auto":"hidden",overflowY:"auto",bgcolor:"background.paper",willChange:"scroll-position"}),[Ie,k,le,_,E.length]),Ye=$o[ee]??$o.normal,Rt=jo[ee]??jo.normal,St=useCallback((p,u,b,G)=>{let n=getCellRenderDescriptor(p,u,b,G,Pe.current,we.current),$=g(p),Z;if(n.mode==="editing-inline")Z=jsx("div",{className:"ogrid-mat-editing-cell",style:qr,children:jsx(Oo,{...buildInlineEditorProps(p,u,n,se)})});else if(n.mode==="editing-popover"&&typeof u.cellEditor=="function"){let j=buildPopoverEditorProps(p,u,n,h.current,se),F=u.cellEditor,J=resolveCellDisplayContent(u,p,n.displayValue),z=resolveCellStyle(u,p,n.displayValue);Z=jsxs(Fragment,{children:[jsx(Box,{ref:H=>{H&&Co(H);},sx:sn,style:Ye,children:z?jsx("span",{style:z,children:J}):J}),jsx(Popover,{open:!!R.current,anchorEl:R.current,onClose:fo,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},children:jsx(Box,{sx:dn,children:jsx(F,{...j})})})]});}else {let j;if(n.columnType==="boolean"){let z=!!n.displayValue;j=jsx("input",{type:"checkbox",checked:z,disabled:!n.canEditAny,onChange:n.canEditAny?()=>{let H=n.rowIndex,A=n.globalColIndex;se.commitCellEdit(p,u.columnId,z,!z,H,A,{skipAdvance:true});}:void 0,onPointerDown:H=>handleBooleanCellPointerDown(H,n.rowIndex,n.globalColIndex,Ue,{setActiveCell:Ve,setSelectionRange:A=>s.setSelectionRange(A)}),onClick:H=>H.stopPropagation(),className:"ogrid-mat-boolean-checkbox","aria-label":z?"Checked":"Unchecked"});}else {let z=resolveCellDisplayContent(u,p,n.displayValue),H=resolveCellStyle(u,p,n.displayValue);j=H?jsx("span",{style:H,children:z}):z;}let F="ogrid-mat-cell";u.type==="numeric"?F+=" ogrid-mat-cell--numeric":u.type==="boolean"&&(F+=" ogrid-mat-cell--boolean"),n.canEditAny&&(F+=" ogrid-mat-cell--editable"),n.isActive&&(F+=" ogrid-mat-cell--active"),n.isActive&&n.isInRange&&(F+=" ogrid-mat-cell--active-in-range"),n.isInRange&&!n.isActive&&(F+=" ogrid-mat-cell--range"),n.isInCutRange&&(F+=" ogrid-mat-cell--cut");let J=getCellInteractionProps(n,u.columnId,de);Z=jsxs("div",{className:F,...J,style:Ye,children:[j,n.canEditAny&&n.isSelectionEndCell&&jsx("div",{className:"ogrid-mat-fill-handle",onPointerDown:ho,"aria-label":"Fill handle"})]});}return jsx(CellErrorBoundary,{onError:So,children:Z},`${$}-${u.columnId}`)},[se,de,ho,Co,fo,g,So,Pe,we,Ye,h,R]);return jsxs(Box,{sx:jr,children:[jsxs(Box,{ref:r,tabIndex:0,role:"region","aria-label":O??(ie?void 0:"Data grid"),"aria-labelledby":ie,onMouseDown:p=>{i.current=p.shiftKey;},onScroll:M?p=>M(p.target.scrollLeft):void 0,onKeyDown:dt,onContextMenu:PREVENT_DEFAULT,"data-density":ee,"data-overflow-x":le?"true":"false",className:"ogrid-mat-wrapper","data-ogrid-scroll-container":"",sx:yt,style:Rt,children:[jsx(Box,{sx:cn,children:jsx("div",{style:{minWidth:le?mo:void 0,overflowX:"clip"},children:jsxs(Box,{ref:o,sx:_&&E.length>0?gn:mn,children:[jsxs(Table,{size:"small",role:"grid",sx:{minWidth:mo,borderCollapse:"separate",borderSpacing:0},"data-virtual-scroll":y?"":void 0,children:[jsxs(TableHead,{sx:en,children:[We&&jsxs(TableRow,{sx:Yo,children:[Y&&jsx(TableCell,{sx:no}),fe&&jsx(TableCell,{sx:no}),V.map((p,u)=>{let b=Ee.hdrStyles[p.columnId];return jsx(TableCell,{component:"th",sx:{...no,minWidth:b?.minWidth,width:b?.width,maxWidth:b?.maxWidth},children:indexToColumnLetter(u)},p.columnId)})]}),L.map((p,u)=>jsxs(TableRow,{sx:Yo,children:[u===L.length-1&&Y&&jsx(TableCell,{padding:"checkbox",rowSpan:L.length>1?1:void 0,sx:Zr,children:jsx(Checkbox,{checked:at,indeterminate:it,onChange:(b,G)=>nt(!!G),size:"small",disableRipple:true,sx:{p:0},"aria-label":"Select all rows"})}),u===0&&u<L.length-1&&Y&&jsx(TableCell,{rowSpan:L.length-1,sx:Jr}),u===L.length-1&&fe&&(()=>{let b=he?.[ROW_NUMBER_COLUMN_ID]?.widthPx??ROW_NUMBER_COLUMN_WIDTH;return jsxs(TableCell,{component:"th",scope:"col",rowSpan:L.length>1?1:void 0,sx:{width:b,minWidth:b,maxWidth:b,textAlign:"center",fontWeight:600,backgroundColor:U,position:"sticky",left:Y?CHECKBOX_COLUMN_WIDTH:0,zIndex:4,...vo},children:["#",jsx(Box,{onPointerDown:G=>{Ve(null),s.setSelectionRange(null),r.current?.focus({preventScroll:true}),C(G,{columnId:ROW_NUMBER_COLUMN_ID,name:"#"});},sx:qo})]})})(),u===0&&u<L.length-1&&fe&&(()=>{let b=he?.[ROW_NUMBER_COLUMN_ID]?.widthPx??ROW_NUMBER_COLUMN_WIDTH;return jsx(TableCell,{rowSpan:L.length-1,sx:{width:b,minWidth:b,position:"sticky",left:Y?CHECKBOX_COLUMN_WIDTH:0,zIndex:4,backgroundColor:"background.paper"}})})(),p.map((b,G)=>{if(b.isGroup)return jsx(TableCell,{colSpan:b.colSpan,component:"th",scope:"colgroup",sx:on,children:b.label},G);if(!b.columnDef)return null;let n=b.columnDef,$=l.pinnedColumns[n.columnId]==="left",Z=l.pinnedColumns[n.columnId]==="right",j=t.stickyHeader?$?rn:Z?nn:ao:$?an:Z?ln:io,F=$&&l.leftOffsets[n.columnId]!=null?{...j,left:l.leftOffsets[n.columnId]}:Z&&l.rightOffsets[n.columnId]!=null?{...j,right:l.rightOffsets[n.columnId]}:j,J=Ee.hdrStyles[n.columnId],H=e.sortBy===n.columnId?e.sortDirection==="asc"?"ascending":"descending":void 0;return jsxs(TableCell,{component:"th",scope:"col","data-column-id":n.columnId,rowSpan:L.length>1?L.length-u:void 0,"aria-sort":H,sx:{...F,...vo,minWidth:J?.minWidth,width:J?.width,maxWidth:J?.maxWidth,...Q?{cursor:m?"grabbing":"grab"}:{},"&:focus-visible":{outline:"2px solid",outlineColor:"primary.main",outlineOffset:"-2px",zIndex:11}},onPointerDown:Q?A=>S(n.columnId,A):void 0,children:[jsxs(Box,{sx:pn,children:[jsx(ye,{...getHeaderFilterConfig(n,ht)}),jsx(Box,{component:"button",onClick:A=>{A.stopPropagation(),be.isOpen&&be.openForColumn===n.columnId?be.close():be.open(n.columnId,A.currentTarget);},"aria-label":"Column options",title:"Column options",sx:un,children:"\u22EE"})]}),jsx(Box,{onPointerDown:A=>{Ve(null),s.setSelectionRange(null),r.current?.focus({preventScroll:true}),C(A,n);},onDoubleClick:A=>d(A,n),sx:qo})]},n.columnId)})]},u))]}),!Ro&&jsx(hn,{virtualScrollEnabled:y,visibleRange:I,columnRange:T,items:E,displayRows:Te.displayRows,isGroupingActive:Te.isGroupingActive,expandedGroups:Te.expandedGroups,toggleGroup:Te.toggleGroup,getRowId:g,selectedRowIds:go,visibleCols:V,columnLayouts:xt,renderCellContent:St,handleSingleRowClick:v,handleRowCheckboxChange:rt,lastMouseShiftRef:i,hasCheckboxCol:Y,hasRowNumbersCol:fe,rowNumberOffset:ve,totalColCount:oe,rowHeight:ze,selectionRange:te,activeCell:s.activeCell,cutRange:bo,copyRange:xo,isDragging:yo,editingCell:lt,pinnedColumns:l.pinnedColumns,rowNumWidth:fe?he?.[ROW_NUMBER_COLUMN_ID]?.widthPx??ROW_NUMBER_COLUMN_WIDTH:void 0})]}),m&&f!=null&&jsx(Wo,{dropIndicatorX:f,wrapperLeft:r.current?.getBoundingClientRect().left??0}),jsx(MarchingAntsOverlay,{containerRef:o,selectionRange:te,copyRange:xo,cutRange:bo,colOffset:Ue,items:E,visibleColumns:e.visibleColumns,columnSizingOverrides:he,columnOrder:e.columnOrder,isDragging:yo}),e.formulaReferences&&e.formulaReferences.length>0&&jsx(FormulaRefOverlay,{containerRef:o,references:e.formulaReferences,colOffset:Ue}),Ro&&D&&jsx(_o,{emptyState:D})]})})}),Xe&&createPortal(jsx(Ho,{x:Xe.x,y:Xe.y,hasSelection:st,canUndo:ut,canRedo:mt,onUndo:gt??NOOP,onRedo:Ct??NOOP,onCopy:ct,onCut:pt,onPaste:ce,onSelectAll:t.interaction.handleSelectAllCells,onClose:ft}),document.body),jsx(De,{...getColumnHeaderMenuProps(be)})]}),pe&&jsx(Lo,{totalCount:pe.totalCount,filteredCount:pe.filteredCount,selectedCount:pe.selectedCount??go.size,selectedCellCount:te?(Math.abs(te.endRow-te.startRow)+1)*(Math.abs(te.endCol-te.startCol)+1):void 0,aggregation:pe.aggregation,suppressRowCount:pe.suppressRowCount}),_&&jsx(zo,{message:Ce})]})}var lo=Re.memo(bn);var Mn=({columnId:e,columnName:t,checked:r,disabled:o,onChange:i})=>jsx(FormControlLabel,{control:jsx(Checkbox,{size:"small",checked:r,onChange:s=>{s.stopPropagation(),i(s.target.checked);},disabled:o}),label:jsx(Typography,{variant:"body2",children:t}),sx:{m:0}}),Dn=({visibleCount:e,totalCount:t})=>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 ",t,")"]})}),kn=({children:e})=>jsx(Box,{sx:{maxHeight:320,overflowY:"auto",py:.5},children:e}),On=({children:e})=>jsx(Box,{sx:{px:1.5,minHeight:32,display:"flex",alignItems:"center"},children:e}),Ln=({onClearAll:e,onSelectAll:t})=>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:t,sx:{textTransform:"none"},children:"Select All"})]}),co=e=>{let{columns:t,visibleColumns:r,onVisibilityChange:o,onSetVisibleColumns:i,className:s}=e,[l,C]=useState(null),d=useRef(null),{open:c,setOpen:m,handleClose:f,handleCheckboxChange:S,handleSelectAll:y,handleClearAll:I,visibleCount:T,totalCount:M}=useColumnChooserState({columns:t,visibleColumns:r,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:k=>{c?(f(),C(null)):(C(k.currentTarget),m(true));},"aria-expanded":c,"aria-haspopup":"listbox",sx:{textTransform:"none",fontWeight:600,borderColor:c?"primary.main":"divider"},children:["Column Visibility (",T," of ",M,")"]}),jsx(Popover,{open:c,anchorEl:l,onClose:()=>{f(),C(null);},anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},slotProps:{paper:{sx:{mt:.5,minWidth:220}}},children:jsx(ColumnChooserContent,{columns:t,visibleColumns:r,visibleCount:T,totalCount:M,handleSelectAll:y,handleClearAll:I,handleCheckboxChange:k=>_=>S(k)(_),CheckboxItem:Mn,Header:Dn,OptionsListContainer:kn,OptionItemContainer:On,Actions:Ln})})]})};var Vn={first:jsx(FirstPage,{fontSize:"small"}),prev:jsx(ChevronLeft,{fontSize:"small"}),next:jsx(ChevronRight,{fontSize:"small"}),last:jsx(LastPage,{fontSize:"small"})},Xn=({variant:e,onClick:t,disabled:r,"aria-label":o})=>jsx(IconButton,{size:"small",onClick:t,disabled:r,"aria-label":o,children:Vn[e]}),Kn=({onClick:e,active:t,"aria-label":r,"aria-current":o,children:i})=>jsx(Button,{variant:t?"contained":"outlined",size:"small",onClick:e,"aria-label":r,"aria-current":o,sx:{minWidth:32,px:.5},children:i}),Yn=({value:e,options:t,onChange:r,"aria-label":o})=>jsx(Select,{value:e,onChange:s=>r(Number(s.target.value)),size:"small","aria-label":o,sx:{minWidth:70},children:t.map(s=>jsx(MenuItem,{value:s,children:s},s))}),$n=({children:e,className:t,role:r,"aria-label":o})=>jsx(Box,{className:t,role:r,"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}),jn=({children:e})=>jsx(Typography,{variant:"body2",color:"text.secondary",children:e}),qn=({children:e})=>jsx(Box,{sx:{display:"flex",alignItems:"center",gap:.5},children:e}),Zn=({children:e})=>jsx(Box,{sx:{display:"flex",alignItems:"center",gap:1},children:e}),Jn=()=>jsx(Typography,{variant:"body2",color:"text.secondary",children:"Rows"}),Qn=()=>jsx(Typography,{variant:"body2",color:"text.secondary",sx:{mx:.5},"aria-hidden":true,children:"\u2026"}),ea={NavButton:Xn,PageButton:Kn,PageSizeSelect:Yn,OuterContainer:$n,InfoText:jn,NavButtonsContainer:qn,PageSizeContainer:Zn,PageSizeLabel:Jn,Ellipsis:Qn},_e=Re.memo(e=>jsx(PaginationControlsBase,{...e,slots:ea}));_e.displayName="PaginationControls";var na=Re.forwardRef(function(t,r){let o=useTheme(),i=Re.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:r,sx:i,...t})}),ot=createOGrid({DataGridTable:lo,ColumnChooser:co,PaginationControls:_e,containerComponent:na});export{co as ColumnChooser,ye as ColumnHeaderFilter,De as ColumnHeaderMenu,lo as DataGridTable,ot as OGrid,_e as PaginationControls};
|
package/dist/types/index.d.ts
CHANGED
|
@@ -4,11 +4,13 @@ export { ColumnChooser, type IColumnChooserProps } from './ColumnChooser/ColumnC
|
|
|
4
4
|
export { ColumnHeaderFilter, type IColumnHeaderFilterProps } from './ColumnHeaderFilter/ColumnHeaderFilter';
|
|
5
5
|
export { PaginationControls, type IPaginationControlsProps } from './PaginationControls/PaginationControls';
|
|
6
6
|
export { ColumnHeaderMenu, type ColumnHeaderMenuProps } from './ColumnHeaderMenu/ColumnHeaderMenu';
|
|
7
|
+
export { isGroupHeader, buildGroupedRows } from '@alaarab/ogrid-react';
|
|
8
|
+
export type { IRowGroup, IRowGroupingConfig, RowGroupingDisplayRow } from '@alaarab/ogrid-react';
|
|
7
9
|
export { CHECKBOX_COLUMN_WIDTH, ROW_NUMBER_COLUMN_WIDTH, DEFAULT_MIN_COLUMN_WIDTH, CELL_PADDING, GRID_BORDER_RADIUS, } from '@alaarab/ogrid-react';
|
|
8
10
|
export type { ColumnFilterType, IColumnFilterDef, IColumnMeta, IColumnDef, IColumnGroupDef, IColumnDefinition, ICellValueChangedEvent, ICellEditorProps, CellEditorParams, IValueParserParams, UserLike, UserLikeInput, FilterValue, IFilters, IFetchParams, IPageResult, IDataSource, IGridColumnState, IOGridApi, IOGridDataGridProps, RowSelectionMode, RowId, IRowSelectionChangeEvent, StatusBarPanel, IStatusBarProps, IActiveCell, ISelectionRange, HeaderCell, HeaderRow, SideBarPanelId, ISideBarDef, IDateFilterValue, IVirtualScrollConfig, IColumnReorderConfig, } from '@alaarab/ogrid-react';
|
|
9
11
|
export { toUserLike, isInSelectionRange, normalizeSelectionRange } from '@alaarab/ogrid-react';
|
|
10
|
-
export { useFilterOptions, useOGrid, useActiveCell, useCellEditing, useContextMenu, useCellSelection, useClipboard, useRowSelection, useKeyboardNavigation, useUndoRedo, useDebounce, useFillHandle, useDataGridState, useColumnHeaderFilterState, useTextFilterState, useMultiSelectFilterState, usePeopleFilterState, useDateFilterState, useColumnChooserState, useInlineCellEditorState, useColumnResize, useRichSelectState, useSelectState, useSideBarState, useTableLayout, useColumnReorder, useVirtualScroll, useListVirtualizer, useLatestRef, usePaginationControls, useDataGridTableOrchestration, useColumnMeta, } from '@alaarab/ogrid-react';
|
|
11
|
-
export type { UseFilterOptionsResult, UseOGridResult, UseOGridPagination, UseOGridColumnChooser, UseOGridLayout, UseOGridFilters, ColumnChooserPlacement, UseActiveCellResult, UseCellEditingResult, EditingCell, UseContextMenuResult, ContextMenuPosition, UseCellSelectionResult, UseCellSelectionParams, UseClipboardResult, UseClipboardParams, UseRowSelectionResult, UseRowSelectionParams, UseKeyboardNavigationResult, UseKeyboardNavigationParams, UseUndoRedoResult, UseUndoRedoParams, UseFillHandleResult, UseFillHandleParams, UseDataGridStateParams, UseDataGridStateResult, DataGridLayoutState, DataGridRowSelectionState, DataGridEditingState, DataGridCellInteractionState, DataGridContextMenuState, DataGridViewModelState, DataGridPinningState, UseColumnHeaderFilterStateParams, UseColumnHeaderFilterStateResult, UseTextFilterStateParams, UseTextFilterStateResult, UseMultiSelectFilterStateParams, UseMultiSelectFilterStateResult, UsePeopleFilterStateParams, UsePeopleFilterStateResult, UseDateFilterStateParams, UseDateFilterStateResult, UseColumnChooserStateParams, UseColumnChooserStateResult, UseInlineCellEditorStateParams, UseInlineCellEditorStateResult, InlineCellEditorType, UseColumnResizeParams, UseColumnResizeResult, UseRichSelectStateParams, UseRichSelectStateResult, UseSelectStateParams, UseSelectStateResult, UseSideBarStateParams, UseSideBarStateResult, UseTableLayoutParams, UseTableLayoutResult, UseColumnReorderParams, UseColumnReorderResult, UseVirtualScrollParams, UseVirtualScrollResult, UsePaginationControlsProps, UsePaginationControlsResult, UseDataGridTableOrchestrationParams, UseDataGridTableOrchestrationResult, UseColumnMetaParams, ColumnMetaResult, } from '@alaarab/ogrid-react';
|
|
12
|
+
export { useFilterOptions, useOGrid, useActiveCell, useCellEditing, useContextMenu, useCellSelection, useClipboard, useRowSelection, useKeyboardNavigation, useUndoRedo, useDebounce, useFillHandle, useDataGridState, useColumnHeaderFilterState, useTextFilterState, useMultiSelectFilterState, usePeopleFilterState, useDateFilterState, useColumnChooserState, useInlineCellEditorState, useColumnResize, useRowGrouping, useRichSelectState, useSelectState, useSideBarState, useTableLayout, useColumnReorder, useVirtualScroll, useListVirtualizer, useLatestRef, usePaginationControls, useDataGridTableOrchestration, useColumnMeta, } from '@alaarab/ogrid-react';
|
|
13
|
+
export type { UseFilterOptionsResult, UseOGridResult, UseOGridPagination, UseOGridColumnChooser, UseOGridLayout, UseOGridFilters, ColumnChooserPlacement, UseActiveCellResult, UseCellEditingResult, EditingCell, UseContextMenuResult, ContextMenuPosition, UseCellSelectionResult, UseCellSelectionParams, UseClipboardResult, UseClipboardParams, UseRowSelectionResult, UseRowSelectionParams, UseKeyboardNavigationResult, UseKeyboardNavigationParams, UseUndoRedoResult, UseUndoRedoParams, UseFillHandleResult, UseFillHandleParams, UseDataGridStateParams, UseDataGridStateResult, DataGridLayoutState, DataGridRowSelectionState, DataGridEditingState, DataGridCellInteractionState, DataGridContextMenuState, DataGridViewModelState, DataGridPinningState, UseColumnHeaderFilterStateParams, UseColumnHeaderFilterStateResult, UseTextFilterStateParams, UseTextFilterStateResult, UseMultiSelectFilterStateParams, UseMultiSelectFilterStateResult, UsePeopleFilterStateParams, UsePeopleFilterStateResult, UseDateFilterStateParams, UseDateFilterStateResult, UseColumnChooserStateParams, UseColumnChooserStateResult, UseInlineCellEditorStateParams, UseInlineCellEditorStateResult, InlineCellEditorType, UseColumnResizeParams, UseColumnResizeResult, UseRowGroupingParams, UseRowGroupingResult, UseRichSelectStateParams, UseRichSelectStateResult, UseSelectStateParams, UseSelectStateResult, UseSideBarStateParams, UseSideBarStateResult, UseTableLayoutParams, UseTableLayoutResult, UseColumnReorderParams, UseColumnReorderResult, UseVirtualScrollParams, UseVirtualScrollResult, UsePaginationControlsProps, UsePaginationControlsResult, UseDataGridTableOrchestrationParams, UseDataGridTableOrchestrationResult, UseColumnMetaParams, ColumnMetaResult, } from '@alaarab/ogrid-react';
|
|
12
14
|
export { GRID_ROOT_STYLE, CURSOR_CELL_STYLE, POPOVER_ANCHOR_STYLE, PREVENT_DEFAULT, NOOP, STOP_PROPAGATION, } from '@alaarab/ogrid-react';
|
|
13
15
|
export { OGridLayout } from '@alaarab/ogrid-react';
|
|
14
16
|
export type { OGridLayoutProps } from '@alaarab/ogrid-react';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alaarab/ogrid-react-material",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.6.0",
|
|
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.
|
|
42
|
+
"@alaarab/ogrid-react": "2.6.0"
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|
|
45
45
|
"@emotion/react": "^11.0.0",
|