@alaarab/ogrid-react-fluent 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 CHANGED
@@ -1 +1 @@
1
- import'./index.css';import {useColumnHeaderFilterState,getColumnHeaderFilterStateParams,DateFilterContent,renderFilterContent,areGridRowPropsEqual,PaginationControlsBase,createOGrid,useListVirtualizer,STOP_PROPAGATION,useDataGridTableOrchestration,useColumnMeta,getCellRenderDescriptor,buildInlineEditorProps,buildPopoverEditorProps,resolveCellDisplayContent,resolveCellStyle,POPOVER_ANCHOR_STYLE,handleBooleanCellPointerDown,getCellInteractionProps,CURSOR_CELL_STYLE,CellErrorBoundary,GRID_ROOT_STYLE,PREVENT_DEFAULT,indexToColumnLetter,ROW_NUMBER_COLUMN_ID,ROW_NUMBER_COLUMN_WIDTH,getHeaderFilterConfig,MarchingAntsOverlay,FormulaRefOverlay,NOOP,getColumnHeaderMenuProps,useColumnChooserState,ColumnChooserContent,BaseInlineCellEditor,partitionColumnsForVirtualization,BaseDropIndicator,BaseEmptyState,GridContextMenu,BaseColumnHeaderMenu,StatusBar,BaseLoadingOverlay}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*as J from'react';import {useCallback,useRef,useEffect}from'react';import {createPortal}from'react-dom';import {Popover,PopoverSurface,TableRow,TableCell,Checkbox,Table,TableHeader,TableHeaderCell,Select,Button,TableBody}from'@fluentui/react-components';import {FilterRegular,ChevronDoubleRightRegular,ChevronRightRegular,ChevronLeftRegular,ChevronDoubleLeftRegular,SearchRegular,ChevronUpRegular,ChevronDownRegular,TableSettingsRegular}from'@fluentui/react-icons';import {jsx,jsxs,Fragment}from'react/jsx-runtime';var e={columnHeader:"ogrid-fluent__ColumnHeaderFilter-module__columnHeader",headerContent:"ogrid-fluent__ColumnHeaderFilter-module__headerContent",columnName:"ogrid-fluent__ColumnHeaderFilter-module__columnName",headerActions:"ogrid-fluent__ColumnHeaderFilter-module__headerActions",filterIcon:"ogrid-fluent__ColumnHeaderFilter-module__filterIcon",filterActive:"ogrid-fluent__ColumnHeaderFilter-module__filterActive",filterOpen:"ogrid-fluent__ColumnHeaderFilter-module__filterOpen",filterBadge:"ogrid-fluent__ColumnHeaderFilter-module__filterBadge",filterPopover:"ogrid-fluent__ColumnHeaderFilter-module__filterPopover",popoverHeader:"ogrid-fluent__ColumnHeaderFilter-module__popoverHeader",popoverSearch:"ogrid-fluent__ColumnHeaderFilter-module__popoverSearch",nativeInputWrapper:"ogrid-fluent__ColumnHeaderFilter-module__nativeInputWrapper",nativeInputIcon:"ogrid-fluent__ColumnHeaderFilter-module__nativeInputIcon",nativeInput:"ogrid-fluent__ColumnHeaderFilter-module__nativeInput",resultCount:"ogrid-fluent__ColumnHeaderFilter-module__resultCount",selectAllRow:"ogrid-fluent__ColumnHeaderFilter-module__selectAllRow",selectAllButton:"ogrid-fluent__ColumnHeaderFilter-module__selectAllButton",popoverOptions:"ogrid-fluent__ColumnHeaderFilter-module__popoverOptions",popoverOption:"ogrid-fluent__ColumnHeaderFilter-module__popoverOption",nativeCheckbox:"ogrid-fluent__ColumnHeaderFilter-module__nativeCheckbox",checkboxLabel:"ogrid-fluent__ColumnHeaderFilter-module__checkboxLabel",personOption:"ogrid-fluent__ColumnHeaderFilter-module__personOption",loadingContainer:"ogrid-fluent__ColumnHeaderFilter-module__loadingContainer",filterSpinner:"ogrid-fluent__ColumnHeaderFilter-module__filterSpinner",noResults:"ogrid-fluent__ColumnHeaderFilter-module__noResults",selectedUserSection:"ogrid-fluent__ColumnHeaderFilter-module__selectedUserSection",selectedUserLabel:"ogrid-fluent__ColumnHeaderFilter-module__selectedUserLabel",selectedUser:"ogrid-fluent__ColumnHeaderFilter-module__selectedUser",userInfo:"ogrid-fluent__ColumnHeaderFilter-module__userInfo",avatar:"ogrid-fluent__ColumnHeaderFilter-module__avatar",avatarImg:"ogrid-fluent__ColumnHeaderFilter-module__avatarImg",avatarInitials:"ogrid-fluent__ColumnHeaderFilter-module__avatarInitials",userText:"ogrid-fluent__ColumnHeaderFilter-module__userText",userSecondary:"ogrid-fluent__ColumnHeaderFilter-module__userSecondary",removeUserButton:"ogrid-fluent__ColumnHeaderFilter-module__removeUserButton",popoverActions:"ogrid-fluent__ColumnHeaderFilter-module__popoverActions",clearButton:"ogrid-fluent__ColumnHeaderFilter-module__clearButton",applyButton:"ogrid-fluent__ColumnHeaderFilter-module__applyButton"};var we=({value:r,onValueChange:a,onApply:n,onClear:u,onPopoverClick:s,onInputFocus:p,onInputMouseDown:g,onInputClick:c,onInputKeyDown:h})=>jsxs(Fragment,{children:[jsx("div",{className:e.popoverSearch,onClick:s,children:jsxs("div",{className:e.nativeInputWrapper,children:[jsx(SearchRegular,{className:e.nativeInputIcon}),jsx("input",{type:"text",placeholder:"Enter search term...",value:r,onChange:d=>a(d.target.value),onKeyDown:d=>{h(d),d.key==="Enter"&&(d.preventDefault(),n());},onFocus:p,onMouseDown:g,onClick:c,autoComplete:"off",className:e.nativeInput})]})}),jsxs("div",{className:e.popoverActions,onClick:s,children:[jsx("button",{type:"button",className:e.clearButton,onClick:u,disabled:!r,children:"Clear"}),jsx("button",{type:"button",className:e.applyButton,onClick:n,children:"Apply"})]})]});we.displayName="TextFilterPopover";var Qe=40,ke=({searchText:r,onSearchChange:a,options:n,filteredOptions:u,selected:s,onOptionToggle:p,onSelectAll:g,onClearSelection:c,onApply:h,isLoading:d,onPopoverClick:x,onInputFocus:I,onInputMouseDown:R,onInputClick:S,onInputKeyDown:T})=>{let C=useListVirtualizer({count:u.length,itemHeight:Qe});return jsxs(Fragment,{children:[jsxs("div",{className:e.popoverSearch,onClick:x,children:[jsxs("div",{className:e.nativeInputWrapper,children:[jsx(SearchRegular,{className:e.nativeInputIcon}),jsx("input",{type:"text",placeholder:"Search...",value:r,onChange:y=>a(y.target.value),onFocus:I,onMouseDown:R,onClick:S,onKeyDown:T,autoComplete:"off",className:e.nativeInput})]}),jsxs("div",{className:e.resultCount,children:[u.length," of ",n.length," options"]})]}),jsxs("div",{className:e.selectAllRow,onClick:x,children:[jsxs("button",{type:"button",className:e.selectAllButton,onClick:g,children:["Select All (",u.length,")"]}),jsx("button",{type:"button",className:e.selectAllButton,onClick:c,children:"Clear"})]}),jsx("div",{ref:C.containerRef,onScroll:C.onScroll,className:e.popoverOptions,onClick:x,children:d?jsxs("div",{className:e.loadingContainer,children:[jsx("div",{className:e.filterSpinner}),jsx("span",{style:{fontSize:12,color:"var(--colorNeutralForeground2, #616161)"},children:"Loading..."})]}):u.length===0?jsx("div",{className:e.noResults,children:"No options found"}):jsx("div",{style:{height:C.totalHeight,position:"relative"},children:C.visibleItems.map(({index:y,offsetTop:f})=>{let _=u[y],w=s.has(_);return jsxs("label",{className:e.popoverOption,style:{position:"absolute",top:f,width:"100%",height:Qe,boxSizing:"border-box",display:"flex",alignItems:"center"},children:[jsx("input",{type:"checkbox",checked:w,onChange:l=>{l.stopPropagation(),p(_,l.target.checked);},className:e.nativeCheckbox}),jsx("span",{className:e.checkboxLabel,children:_})]},_)})})}),jsxs("div",{className:e.popoverActions,onClick:x,children:[jsx("button",{type:"button",className:e.clearButton,onClick:c,children:"Clear"}),jsx("button",{type:"button",className:e.applyButton,onClick:h,children:"Apply"})]})]})};ke.displayName="MultiSelectFilterPopover";function eo(r){let a=r.trim().split(/\s+/);return a.length>=2?(a[0][0]+a[a.length-1][0]).toUpperCase():(a[0]?.[0]??"").toUpperCase()}var Ge=({selectedUser:r,searchText:a,onSearchChange:n,suggestions:u,isLoading:s,onUserSelect:p,onClearUser:g,onPopoverClick:c,inputRef:h})=>jsxs(Fragment,{children:[r&&jsxs("div",{className:e.selectedUserSection,onClick:c,children:[jsx("div",{className:e.selectedUserLabel,children:"Currently filtered by:"}),jsxs("div",{className:e.selectedUser,children:[jsxs("div",{className:e.userInfo,children:[jsx("div",{className:e.avatar,children:r.photo?jsx("img",{src:r.photo,alt:"",className:e.avatarImg}):jsx("span",{className:e.avatarInitials,children:eo(r.displayName)})}),jsxs("div",{className:e.userText,children:[jsx("div",{children:r.displayName}),jsx("div",{className:e.userSecondary,children:r.email})]})]}),jsx("button",{type:"button",className:e.removeUserButton,onClick:g,"aria-label":"Remove filter",children:jsx(FilterRegular,{})})]})]}),jsx("div",{className:e.popoverSearch,onClick:c,children:jsxs("div",{className:e.nativeInputWrapper,children:[jsx(SearchRegular,{className:e.nativeInputIcon}),jsx("input",{ref:h,type:"text",placeholder:"Search for a person...",value:a,onChange:d=>n(d.target.value),onFocus:d=>d.stopPropagation(),onMouseDown:d=>d.stopPropagation(),onClick:d=>d.stopPropagation(),onKeyDown:d=>d.stopPropagation(),autoComplete:"off",className:e.nativeInput})]})}),jsx("div",{className:e.popoverOptions,onClick:c,children:s&&a.trim()?jsxs("div",{className:e.loadingContainer,children:[jsx("div",{className:e.filterSpinner}),jsx("span",{style:{fontSize:12,color:"var(--colorNeutralForeground2, #616161)"},children:"Searching..."})]}):u.length===0&&a.trim()?jsx("div",{className:e.noResults,children:"No results found"}):a.trim()?u.map(d=>jsx("div",{className:e.personOption,onClick:x=>{x.stopPropagation(),p(d);},children:jsxs("div",{className:e.userInfo,children:[jsx("div",{className:e.avatar,children:d.photo?jsx("img",{src:d.photo,alt:"",className:e.avatarImg}):jsx("span",{className:e.avatarInitials,children:eo(d.displayName)})}),jsxs("div",{className:e.userText,children:[jsx("div",{children:d.displayName}),jsx("div",{className:e.userSecondary,children:d.email})]})]})},d.id??d.email??d.displayName)):jsx("div",{className:e.noResults,children:"Type to search..."})}),r&&jsx("div",{className:e.popoverActions,onClick:c,children:jsx("button",{type:"button",className:e.clearButton,onClick:g,children:"Clear Filter"})})]});Ge.displayName="PeopleFilterPopover";var ne=J.memo(r=>{let{columnName:a,filterType:n,options:u,isLoadingOptions:s=false,selectedUser:p}=r,g=useColumnHeaderFilterState(getColumnHeaderFilterStateParams(r)),{headerRef:c,popoverRef:h,isFilterOpen:d,setFilterOpen:x,hasActiveFilter:I,handlers:R}=g,{handlePopoverClick:S,handleInputFocus:T,handleInputMouseDown:C,handleInputClick:y,handleInputKeyDown:f}=R,_=J.useRef(null),w=J.useMemo(()=>({renderMultiSelect:l=>jsx(ke,{searchText:l.searchText,onSearchChange:l.onSearchChange,options:l.options,filteredOptions:l.filteredOptions,selected:l.selected,onOptionToggle:l.onOptionToggle,onSelectAll:l.onSelectAll,onClearSelection:l.onClearSelection,onApply:l.onApply,isLoading:l.isLoading,onPopoverClick:S,onInputFocus:T,onInputMouseDown:C,onInputClick:y,onInputKeyDown:f}),renderText:l=>jsx(we,{value:l.value,onValueChange:l.onValueChange,onApply:l.onApply,onClear:l.onClear,onPopoverClick:S,onInputFocus:T,onInputMouseDown:C,onInputClick:y,onInputKeyDown:f}),renderPeople:l=>jsx(Ge,{selectedUser:l.selectedUser,searchText:l.searchText,onSearchChange:l.onSearchChange,suggestions:l.suggestions,isLoading:l.isLoading,onUserSelect:l.onUserSelect,onClearUser:l.onClearUser,onPopoverClick:S,inputRef:l.inputRef}),renderDate:l=>jsx("div",{onClick:S,children:jsx(DateFilterContent,{tempDateFrom:l.tempDateFrom,setTempDateFrom:l.setTempDateFrom,tempDateTo:l.tempDateTo,setTempDateTo:l.setTempDateTo,onApply:l.onApply,onClear:l.onClear,classNames:{popoverActions:e.popoverActions,clearButton:e.clearButton,applyButton:e.applyButton}})})}),[S,T,C,y,f]);return jsxs("div",{className:e.columnHeader,ref:c,children:[jsx("div",{className:e.headerContent,children:jsx("span",{className:e.columnName,title:a,"data-header-label":true,children:a})}),jsx("div",{className:e.headerActions,children:n!=="none"&&jsxs(Fragment,{children:[jsxs("button",{ref:_,type:"button",className:`${e.filterIcon} ${I?e.filterActive:""} ${d?e.filterOpen:""}`,onClick:R.handleFilterIconClick,"aria-label":`Filter ${a}`,"aria-expanded":d,"aria-haspopup":"dialog",title:`Filter ${a}`,children:[jsx(FilterRegular,{}),I&&jsx("span",{className:e.filterBadge})]}),jsx(Popover,{open:d,onOpenChange:(l,V)=>{V.open||x(false);},positioning:{target:_.current??void 0,position:"below",align:"start",offset:4},trapFocus:false,children:jsxs(PopoverSurface,{ref:h,className:e.filterPopover,onClick:R.handlePopoverClick,style:{padding:0},children:[jsxs("div",{className:e.popoverHeader,children:["Filter: ",a]}),renderFilterContent(n,g,u??[],s,p,w)]})})]})})]})});ne.displayName="ColumnHeaderFilter";var oo={content:"ogrid-fluent__ColumnHeaderMenu-module__content",item:"ogrid-fluent__ColumnHeaderMenu-module__item",separator:"ogrid-fluent__ColumnHeaderMenu-module__separator"};var tr=r=>r.closest(".fui-FluentProvider")??document.body;function pe(r){return jsx(BaseColumnHeaderMenu,{...r,classNames:oo,getPortalTarget:tr})}function ao(r){return jsx(BaseInlineCellEditor,{...r,renderCheckbox:(a,n,u)=>jsx(Checkbox,{checked:a,onChange:(s,p)=>n(!!p.checked),onKeyDown:s=>s.key==="Escape"&&(s.preventDefault(),u())})})}var o={tableScrollContent:"ogrid-fluent__DataGridTable-module__tableScrollContent",tableWidthAnchor:"ogrid-fluent__DataGridTable-module__tableWidthAnchor",tableWrapper:"ogrid-fluent__DataGridTable-module__tableWrapper",dataTable:"ogrid-fluent__DataGridTable-module__dataTable",groupHeaderCell:"ogrid-fluent__DataGridTable-module__groupHeaderCell",headerCellContent:"ogrid-fluent__DataGridTable-module__headerCellContent",headerMenuTrigger:"ogrid-fluent__DataGridTable-module__headerMenuTrigger",dropIndicator:"ogrid-fluent__DataGridTable-module__dropIndicator",resizeHandle:"ogrid-fluent__DataGridTable-module__resizeHandle",pinnedColLeft:"ogrid-fluent__DataGridTable-module__pinnedColLeft",pinnedColRight:"ogrid-fluent__DataGridTable-module__pinnedColRight",cellContent:"ogrid-fluent__DataGridTable-module__cellContent",activeCellContent:"ogrid-fluent__DataGridTable-module__activeCellContent",editingCellContent:"ogrid-fluent__DataGridTable-module__editingCellContent",cellInRange:"ogrid-fluent__DataGridTable-module__cellInRange",inRange:"ogrid-fluent__DataGridTable-module__inRange",cellCut:"ogrid-fluent__DataGridTable-module__cellCut",fillHandle:"ogrid-fluent__DataGridTable-module__fillHandle",selectionHeaderCellInner:"ogrid-fluent__DataGridTable-module__selectionHeaderCellInner",selectionCellInner:"ogrid-fluent__DataGridTable-module__selectionCellInner",rowNumberHeaderCellInner:"ogrid-fluent__DataGridTable-module__rowNumberHeaderCellInner",rowNumberCellInner:"ogrid-fluent__DataGridTable-module__rowNumberCellInner",columnLetterRow:"ogrid-fluent__DataGridTable-module__columnLetterRow",columnLetterCell:"ogrid-fluent__DataGridTable-module__columnLetterCell",statusBar:"ogrid-fluent__DataGridTable-module__statusBar",statusBarItem:"ogrid-fluent__DataGridTable-module__statusBarItem",statusBarLabel:"ogrid-fluent__DataGridTable-module__statusBarLabel",statusBarValue:"ogrid-fluent__DataGridTable-module__statusBarValue",contextMenu:"ogrid-fluent__DataGridTable-module__contextMenu",contextMenuItem:"ogrid-fluent__DataGridTable-module__contextMenuItem",contextMenuItemLabel:"ogrid-fluent__DataGridTable-module__contextMenuItemLabel",contextMenuItemShortcut:"ogrid-fluent__DataGridTable-module__contextMenuItemShortcut",contextMenuDivider:"ogrid-fluent__DataGridTable-module__contextMenuDivider",loadingOverlay:"ogrid-fluent__DataGridTable-module__loadingOverlay",loadingOverlayContent:"ogrid-fluent__DataGridTable-module__loadingOverlayContent",loadingOverlayText:"ogrid-fluent__DataGridTable-module__loadingOverlayText",loadingDimmed:"ogrid-fluent__DataGridTable-module__loadingDimmed",emptyStateInGrid:"ogrid-fluent__DataGridTable-module__emptyStateInGrid",emptyStateInGridTitle:"ogrid-fluent__DataGridTable-module__emptyStateInGridTitle",emptyStateInGridMessage:"ogrid-fluent__DataGridTable-module__emptyStateInGridMessage",emptyStateInGridLink:"ogrid-fluent__DataGridTable-module__emptyStateInGridLink",spinner:"ogrid-fluent__DataGridTable-module__spinner","ogrid-spin":"ogrid-fluent__DataGridTable-module__ogrid-spin",paginationNav:"ogrid-fluent__DataGridTable-module__paginationNav",paginationInfo:"ogrid-fluent__DataGridTable-module__paginationInfo",paginationSize:"ogrid-fluent__DataGridTable-module__paginationSize",leafHeaderCellSpan:"ogrid-fluent__DataGridTable-module__leafHeaderCellSpan",selectionHeaderCellWrapper:"ogrid-fluent__DataGridTable-module__selectionHeaderCellWrapper",selectionCellWrapper:"ogrid-fluent__DataGridTable-module__selectionCellWrapper",rowNumberHeaderCellWrapper:"ogrid-fluent__DataGridTable-module__rowNumberHeaderCellWrapper",rowNumberCellWrapper:"ogrid-fluent__DataGridTable-module__rowNumberCellWrapper",selectedRow:"ogrid-fluent__DataGridTable-module__selectedRow",selectableGrid:"ogrid-fluent__DataGridTable-module__selectableGrid",stickyHeader:"ogrid-fluent__DataGridTable-module__stickyHeader",emptyStateInGridMessageSticky:"ogrid-fluent__DataGridTable-module__emptyStateInGridMessageSticky",emptyStateInGridIcon:"ogrid-fluent__DataGridTable-module__emptyStateInGridIcon","density-compact":"ogrid-fluent__DataGridTable-module__density-compact","density-comfortable":"ogrid-fluent__DataGridTable-module__density-comfortable",booleanCheckbox:"ogrid-fluent__DataGridTable-module__booleanCheckbox"};var ur={statusBar:o.statusBar,statusBarItem:o.statusBarItem,statusBarLabel:o.statusBarLabel,statusBarValue:o.statusBarValue};function to(r){return jsx(StatusBar,{...r,classNames:ur})}var cr={contextMenu:o.contextMenu,contextMenuItem:o.contextMenuItem,contextMenuItemLabel:o.contextMenuItemLabel,contextMenuItemShortcut:o.contextMenuItemShortcut,contextMenuDivider:o.contextMenuDivider};function lo(r){return jsx(GridContextMenu,{...r,classNames:cr})}var mr={emptyStateInGrid:o.emptyStateInGrid,emptyStateInGridInner:o.emptyStateInGridMessageSticky,emptyStateInGridIcon:o.emptyStateInGridIcon,emptyStateInGridTitle:o.emptyStateInGridTitle,emptyStateInGridMessage:o.emptyStateInGridMessage,emptyStateInGridLink:o.emptyStateInGridLink};function no({emptyState:r}){return jsx(BaseEmptyState,{emptyState:r,classNames:mr,icon:"\u{1F4CB}"})}var Cr={loadingOverlay:o.loadingOverlay,loadingOverlayContent:o.loadingOverlayContent,spinner:o.spinner,loadingOverlayText:o.loadingOverlayText};function io({message:r}){return jsx(BaseLoadingOverlay,{message:r,classNames:Cr})}function uo({dropIndicatorX:r,wrapperLeft:a}){return jsx(BaseDropIndicator,{dropIndicatorX:r,wrapperLeft:a,className:o.dropIndicator})}var _o={padding:0,border:"none"};function Yr(r){let{item:a,rowIndex:n,rowId:u,isSelected:s,visibleCols:p,columnMeta:g,renderCellContent:c,handleSingleRowClick:h,handleRowCheckboxChange:d,lastMouseShiftRef:x,hasCheckboxCol:I,hasRowNumbersCol:R,rowNumberOffset:S,leftSpacerWidth:T,rightSpacerWidth:C,globalColIndexMap:y,rowNumWidth:f}=r;return jsxs(TableRow,{className:s?o.selectedRow:void 0,"data-row-id":u,onClick:h,"aria-selected":s||void 0,children:[I&&jsx(TableCell,{className:o.selectionCellWrapper,children:jsx("div",{className:o.selectionCellInner,"data-row-index":n,"data-col-index":0,onClick:STOP_PROPAGATION,children:jsx(Checkbox,{checked:s,onChange:(_,w)=>{d(u,!!w.checked,n,x.current);},"aria-label":`Select row ${n+1}`})})}),R&&jsx(TableCell,{className:o.rowNumberCellWrapper,style:f?{width:f,minWidth:f,maxWidth:f}:void 0,children:jsx("div",{className:o.rowNumberCellInner,children:S+n+1})}),T!=null&&T>0&&jsx("td",{style:{..._o,width:T,minWidth:T},"aria-hidden":true}),p.map((_,w)=>{let l=y?y[w]:w;return jsx(TableCell,{"data-column-id":_.columnId,className:g.cellClasses[_.columnId]||void 0,style:g.cellStyles[_.columnId],children:c(a,_,n,l)},_.columnId)}),C!=null&&C>0&&jsx("td",{style:{..._o,width:C,minWidth:C},"aria-hidden":true})]})}var qr=J.memo(Yr,areGridRowPropsEqual);function Zr(r){let{virtualScrollEnabled:a,visibleRange:n,columnRange:u,items:s,getRowId:p,selectedRowIds:g,visibleCols:c,columnMeta:h,renderCellContent:d,handleSingleRowClick:x,handleRowCheckboxChange:I,lastMouseShiftRef:R,hasCheckboxCol:S,hasRowNumbersCol:T,rowNumberOffset:C,selectionRange:y,activeCell:f,cutRange:_,copyRange:w,isDragging:l,editingCell:V,pinnedColumns:ie,rowNumWidth:me}=r,z=J.useMemo(()=>u?partitionColumnsForVirtualization(c,u,ie):null,[c,u,ie]),{rowCols:fe,globalColIndexMap:be,leftSpacerWidth:de,rightSpacerWidth:Ce}=J.useMemo(()=>{if(!z)return {rowCols:c,globalColIndexMap:void 0,leftSpacerWidth:void 0,rightSpacerWidth:void 0};let N=[...z.pinnedLeft,...z.virtualizedUnpinned,...z.pinnedRight],k=N.map(E=>c.indexOf(E));return {rowCols:N,globalColIndexMap:k,leftSpacerWidth:z.leftSpacerWidth,rightSpacerWidth:z.rightSpacerWidth}},[z,c]),Q=(N,k)=>{let E=p(N);return jsx(qr,{item:N,rowIndex:k,rowId:E,isSelected:g.has(E),visibleCols:fe,columnMeta:h,renderCellContent:d,handleSingleRowClick:x,handleRowCheckboxChange:I,lastMouseShiftRef:R,hasCheckboxCol:S,hasRowNumbersCol:T,rowNumberOffset:C,selectionRange:y,activeCell:f,cutRange:_,copyRange:w,isDragging:l,editingRowId:V?.rowId??null,leftSpacerWidth:de,rightSpacerWidth:Ce,globalColIndexMap:be,rowNumWidth:me},E)};return jsxs(TableBody,{children:[a&&n.offsetTop>0&&jsx("tr",{style:{height:n.offsetTop},"aria-hidden":true}),a?s.slice(n.startIndex,n.endIndex+1).map((N,k)=>Q(N,n.startIndex+k)):s.map((N,k)=>Q(N,k)),a&&n.offsetBottom>0&&jsx("tr",{style:{height:n.offsetBottom},"aria-hidden":true})]})}function Jr(r){let a=useDataGridTableOrchestration({props:r}),{wrapperRef:n,tableContainerRef:u,lastMouseShiftRef:s,interaction:p,pinning:g,handleResizeStart:c,handleResizeDoubleClick:h,getColumnWidth:d,isReorderDragging:x,dropIndicatorX:I,handleHeaderMouseDown:R,virtualScrollEnabled:S,visibleRange:T,columnRange:C,onHorizontalScroll:y,items:f,getRowId:_,emptyState:w,rowSelection:l,isLoading:V,loadingMessage:ie,ariaLabel:me,ariaLabelledBy:z,visibleColumns:fe,columnOrder:be,columnReorder:de,density:Ce,rowHeight:Q,rowNumberOffset:N,headerRows:k,allowOverflowX:E,fitToContent:ze,showColumnLetters:ho,editCallbacks:ue,interactionHandlers:Oe,cellDescriptorInputRef:Ee,cellDescriptorCacheRef:Le,pendingEditorValueRef:Ue,popoverAnchorElRef:ve,handleSingleRowClick:xo,handlePasteVoid:To,visibleCols:he,totalColCount:Ae,hasCheckboxCol:se,hasRowNumbersCol:ee,colOffset:xe,containerWidth:yo,minTableWidth:We,columnSizingOverrides:ge,measuredColumnWidths:So,selectedRowIds:Ve,handleRowCheckboxChange:Do,handleSelectAll:wo,allSelected:ko,someSelected:Go,editingCell:Io,setPopoverAnchorEl:$e,cancelPopoverEdit:Ke,setActiveCell:Te,selectionRange:$,hasCellSelection:Ro,handleGridKeyDown:No,handleFillHandleMouseDown:Xe,handleCopy:Po,handleCut:Fo,cutRange:je,copyRange:Ye,canUndo:Ho,canRedo:Bo,onUndo:Mo,onRedo:zo,isDragging:qe,menuPosition:ye,closeContextMenu:Oo,headerFilterInput:Eo,statusBarConfig:j,showEmptyInGrid:oe,onCellError:Ze,headerMenu:re}=a,Y=useColumnMeta({visibleCols:he,getColumnWidth:d,columnSizingOverrides:ge,measuredColumnWidths:So,pinnedColumns:g.pinnedColumns,leftOffsets:g.leftOffsets,rightOffsets:g.rightOffsets,pinnedColLeftClass:o.pinnedColLeft,pinnedColRightClass:o.pinnedColRight,addStickyPosition:true}),Lo=useCallback((v,b,P,K)=>{let i=getCellRenderDescriptor(v,b,P,K,Ee.current,Le.current),Je=_(v),q;if(i.mode==="editing-inline"){let D=buildInlineEditorProps(v,b,i,ue);q=jsx("div",{className:o.editingCellContent,children:jsx(ao,{...D})});}else if(i.mode==="editing-popover"&&typeof b.cellEditor=="function"){let D=buildPopoverEditorProps(v,b,i,Ue.current,ue),Se=b.cellEditor,ce=resolveCellDisplayContent(b,v,i.displayValue),O=resolveCellStyle(b,v,i.displayValue);q=jsxs(Fragment,{children:[jsx("div",{ref:F=>{F&&$e(F);},style:POPOVER_ANCHOR_STYLE,children:O?jsx("span",{style:O,children:ce}):ce}),jsx(Popover,{open:!!ve.current,onOpenChange:(F,ae)=>{ae.open||Ke();},positioning:{target:ve.current??void 0},children:jsx(PopoverSurface,{children:jsx(Se,{...D})})})]});}else {let D;if(i.columnType==="boolean"){let O=!!i.displayValue;D=jsx("input",{type:"checkbox",checked:O,disabled:!i.canEditAny,onChange:i.canEditAny?()=>{let F=i.rowIndex,ae=i.globalColIndex;ue.commitCellEdit(v,b.columnId,O,!O,F,ae,{skipAdvance:true});}:void 0,onPointerDown:F=>handleBooleanCellPointerDown(F,i.rowIndex,i.globalColIndex,xe,{setActiveCell:Te,setSelectionRange:ae=>p.setSelectionRange(ae)}),onClick:F=>F.stopPropagation(),className:o.booleanCheckbox,"aria-label":O?"Checked":"Unchecked"});}else {let O=resolveCellDisplayContent(b,v,i.displayValue),F=resolveCellStyle(b,v,i.displayValue);D=F?jsx("span",{style:F,children:O}):O;}let Se=`${o.cellContent}${i.isActive?` ${o.activeCellContent}`:""}${i.isActive&&i.isInRange?` ${o.inRange}`:""}${i.isInRange&&!i.isActive?` ${o.cellInRange}`:""}${i.isInCutRange?` ${o.cellCut}`:""}${i.isInCopyRange?` ${o.cellCopied}`:""}`,ce=getCellInteractionProps(i,b.columnId,Oe);q=jsxs("div",{className:Se,...ce,style:i.canEditAny?CURSOR_CELL_STYLE:void 0,children:[D,i.canEditAny&&i.isSelectionEndCell&&jsx("div",{className:o.fillHandle,onPointerDown:Xe,"aria-label":"Fill handle"})]});}return jsx(CellErrorBoundary,{onError:Ze,children:q},`${Je}-${b.columnId}`)},[ue,Oe,Xe,$e,Ke,_,Ze,Ee,Le,Ue,ve]);return jsxs("div",{style:GRID_ROOT_STYLE,children:[jsxs("div",{ref:n,tabIndex:0,onMouseDown:v=>{s.current=v.shiftKey;},onScroll:y?v=>y(v.target.scrollLeft):void 0,className:`${o.tableWrapper} ${l!=="none"?o.selectableGrid:""} ${o[`density-${Ce}`]||""}`,role:"region","aria-label":me??(z?void 0:"Data grid"),"aria-labelledby":z,"data-ogrid-scroll-container":"","data-empty":oe?"true":void 0,"data-loading":V&&f.length===0?"true":void 0,"data-column-count":Ae,"data-overflow-x":E?"true":"false","data-container-width":yo,"data-min-table-width":Math.round(We),"data-has-selection":l!=="none"?"true":void 0,onContextMenu:PREVENT_DEFAULT,onKeyDown:No,style:{"--data-table-column-count":Ae,"--data-table-width":oe?"100%":E||ze?"fit-content":"100%","--data-table-min-width":oe?"100%":E||ze?"max-content":"100%","--data-table-total-min-width":`${We}px`,...Q?{"--ogrid-row-height":`${Q}px`}:{}},children:[jsx("div",{className:o.tableScrollContent,children:jsx("div",{className:V&&f.length>0?o.loadingDimmed:void 0,children:jsxs("div",{className:o.tableWidthAnchor,ref:u,children:[jsxs(Table,{role:"grid",className:o.dataTable,"data-virtual-scroll":S?"":void 0,children:[jsxs(TableHeader,{className:a.stickyHeader?o.stickyHeader:void 0,children:[ho&&jsxs(TableRow,{children:[se&&jsx("th",{className:o.columnLetterCell}),ee&&jsx("th",{className:o.columnLetterCell}),he.map((v,b)=>jsx("th",{className:`${o.columnLetterCell}${Y.hdrClasses[v.columnId]?` ${Y.hdrClasses[v.columnId]}`:""}`,style:Y.hdrStyles[v.columnId],children:indexToColumnLetter(b)},v.columnId))]}),k.map((v,b)=>jsxs(TableRow,{children:[b===k.length-1&&se&&jsx(TableHeaderCell,{className:o.selectionHeaderCellWrapper,children:jsx("div",{className:o.selectionHeaderCellInner,children:jsx(Checkbox,{checked:ko?true:Go?"mixed":false,onChange:(P,K)=>wo(!!K.checked),"aria-label":"Select all rows"})})},"__selection__"),b===0&&b<k.length-1&&se&&jsx("th",{rowSpan:k.length-1},"__selection_placeholder__"),b===k.length-1&&ee&&(()=>{let P=ge?.[ROW_NUMBER_COLUMN_ID]?.widthPx??ROW_NUMBER_COLUMN_WIDTH;return jsxs(TableHeaderCell,{className:o.rowNumberHeaderCellWrapper,style:{width:P,minWidth:P,maxWidth:P},children:[jsx("div",{className:o.rowNumberHeaderCellInner,children:"#"}),jsx("div",{className:o.resizeHandle,role:"separator","aria-orientation":"vertical","aria-label":"Resize row number column",onPointerDown:K=>{Te(null),p.setSelectionRange(null),n.current?.focus({preventScroll:true}),c(K,{columnId:ROW_NUMBER_COLUMN_ID,name:"#"});}})]},"__row_number__")})(),b===0&&b<k.length-1&&ee&&jsx("th",{rowSpan:k.length-1},"__row_number_placeholder__"),v.map((P,K)=>{if(P.isGroup)return jsx("th",{colSpan:P.colSpan,className:o.groupHeaderCell,scope:"colgroup",children:P.label},K);if(!P.columnDef)return null;let i=P.columnDef,q=r.sortBy===i.columnId?r.sortDirection==="asc"?"ascending":"descending":void 0;return jsxs(TableHeaderCell,{scope:"col","data-column-id":i.columnId,className:Y.hdrClasses[i.columnId]||void 0,style:{...Y.hdrStyles[i.columnId],...de?{cursor:x?"grabbing":"grab"}:void 0},"aria-sort":q,onPointerDown:de?D=>R(i.columnId,D):void 0,children:[jsxs("div",{className:o.headerCellContent,children:[jsx(ne,{...getHeaderFilterConfig(i,Eo)}),jsx("button",{className:o.headerMenuTrigger,onClick:D=>{D.stopPropagation(),re.isOpen&&re.openForColumn===i.columnId?re.close():re.open(i.columnId,D.currentTarget);},"aria-label":"Column options",title:"Column options",children:"\u22EE"})]}),jsx("div",{className:o.resizeHandle,role:"separator","aria-orientation":"vertical",onPointerDown:D=>{Te(null),p.setSelectionRange(null),n.current?.focus({preventScroll:true}),c(D,i);},onDoubleClick:D=>h(D,i),"aria-label":`Resize ${i.name}`})]},i.columnId)})]},b))]}),!oe&&jsx(Zr,{virtualScrollEnabled:S,visibleRange:T,columnRange:C,items:f,getRowId:_,selectedRowIds:Ve,visibleCols:he,columnMeta:Y,renderCellContent:Lo,handleSingleRowClick:xo,handleRowCheckboxChange:Do,lastMouseShiftRef:s,hasCheckboxCol:se,hasRowNumbersCol:ee,rowNumberOffset:N,selectionRange:$,activeCell:p.activeCell,cutRange:je,copyRange:Ye,isDragging:qe,editingCell:Io,pinnedColumns:g.pinnedColumns,rowNumWidth:ee?ge?.[ROW_NUMBER_COLUMN_ID]?.widthPx??ROW_NUMBER_COLUMN_WIDTH:void 0})]}),x&&I!=null&&jsx(uo,{dropIndicatorX:I,wrapperLeft:n.current?.getBoundingClientRect().left??0}),jsx(MarchingAntsOverlay,{containerRef:u,selectionRange:$,copyRange:Ye,cutRange:je,colOffset:xe,items:f,visibleColumns:fe,columnSizingOverrides:ge,columnOrder:be,isDragging:qe}),r.formulaReferences&&r.formulaReferences.length>0&&jsx(FormulaRefOverlay,{containerRef:u,references:r.formulaReferences,colOffset:xe}),oe&&w&&jsx(no,{emptyState:w})]})})}),ye&&createPortal(jsx(lo,{x:ye.x,y:ye.y,hasSelection:Ro,canUndo:Ho,canRedo:Bo,onUndo:Mo??NOOP,onRedo:zo??NOOP,onCopy:Po,onCut:Fo,onPaste:To,onSelectAll:a.interaction.handleSelectAllCells,onClose:Oo}),n.current?.closest(".fui-FluentProvider")??document.body),jsx(pe,{...getColumnHeaderMenuProps(re)})]}),j&&jsx(to,{totalCount:j.totalCount,filteredCount:j.filteredCount,selectedCount:j.selectedCount??Ve.size,selectedCellCount:$?(Math.abs($.endRow-$.startRow)+1)*(Math.abs($.endCol-$.startCol)+1):void 0,aggregation:j.aggregation,suppressRowCount:j.suppressRowCount}),V&&jsx(io,{message:ie})]})}var Fe=J.memo(Jr);var X={container:"ogrid-fluent__ColumnChooser-module__container",dropdown:"ogrid-fluent__ColumnChooser-module__dropdown",header:"ogrid-fluent__ColumnChooser-module__header",optionsList:"ogrid-fluent__ColumnChooser-module__optionsList",optionItem:"ogrid-fluent__ColumnChooser-module__optionItem",actions:"ogrid-fluent__ColumnChooser-module__actions"};var ia=({columnId:r,columnName:a,checked:n,disabled:u,onChange:s})=>jsx(Checkbox,{id:`col-${r}`,label:a,checked:n,onChange:(p,g)=>s(g.checked===true),disabled:u}),da=({onClearAll:r,onSelectAll:a})=>jsxs("div",{className:X.actions,children:[jsx(Button,{appearance:"subtle",size:"small",onClick:r,children:"Clear All"}),jsx(Button,{appearance:"primary",size:"small",onClick:a,children:"Select All"})]}),ua={header:X.header,optionsList:X.optionsList,optionItem:X.optionItem},Me=r=>{let{columns:a,visibleColumns:n,onVisibilityChange:u,onSetVisibleColumns:s,className:p}=r,g=useRef(null),c=useRef(null),{open:h,handleToggle:d,handleClose:x,handleCheckboxChange:I,handleSelectAll:R,handleClearAll:S,visibleCount:T,totalCount:C}=useColumnChooserState({columns:a,visibleColumns:n,onVisibilityChange:u,onSetVisibleColumns:s});useEffect(()=>{if(!h)return;let f=w=>{let l=w.target;c.current&&!c.current.contains(l)&&g.current&&!g.current.contains(l)&&x();},_=setTimeout(()=>{document.addEventListener("mousedown",f);},0);return ()=>{clearTimeout(_),document.removeEventListener("mousedown",f);}},[h,x]);let y=f=>_=>I(f)(_);return jsxs("div",{className:`${X.container} ${p||""}`,children:[jsxs(Button,{ref:g,appearance:"outline",icon:jsx(TableSettingsRegular,{}),onClick:d,"aria-expanded":h,"aria-haspopup":"listbox",children:["Column Visibility (",T," of ",C,")",h?jsx(ChevronUpRegular,{}):jsx(ChevronDownRegular,{})]}),h&&jsx("div",{ref:c,className:X.dropdown,children:jsx(ColumnChooserContent,{columns:a,visibleColumns:n,visibleCount:T,totalCount:C,handleSelectAll:R,handleClearAll:S,handleCheckboxChange:y,CheckboxItem:ia,classNames:ua,Actions:da})})]})};var M={pagination:"ogrid-fluent__PaginationControls-module__pagination",paginationInfo:"ogrid-fluent__PaginationControls-module__paginationInfo",paginationControls:"ogrid-fluent__PaginationControls-module__paginationControls",navBtn:"ogrid-fluent__PaginationControls-module__navBtn",pageNumbers:"ogrid-fluent__PaginationControls-module__pageNumbers",pageBtn:"ogrid-fluent__PaginationControls-module__pageBtn",ellipsis:"ogrid-fluent__PaginationControls-module__ellipsis",pageSizeSelector:"ogrid-fluent__PaginationControls-module__pageSizeSelector",pageSizeLabel:"ogrid-fluent__PaginationControls-module__pageSizeLabel",pageSizeSelect:"ogrid-fluent__PaginationControls-module__pageSizeSelect"};var fa={first:jsx(ChevronDoubleLeftRegular,{}),prev:jsx(ChevronLeftRegular,{}),next:jsx(ChevronRightRegular,{}),last:jsx(ChevronDoubleRightRegular,{})},ba=({variant:r,onClick:a,disabled:n,"aria-label":u,className:s})=>jsx(Button,{appearance:"outline",shape:"circular",size:"small",icon:fa[r],onClick:a,disabled:n,"aria-label":u,className:s}),Ca=({onClick:r,active:a,"aria-label":n,"aria-current":u,children:s,className:p})=>jsx(Button,{appearance:a?"primary":"outline",size:"small",shape:"rounded",onClick:r,"aria-label":n,"aria-current":u,className:p,children:s}),va=({value:r,options:a,onChange:n,"aria-label":u,className:s})=>{let p=(g,c)=>n(Number(c.value));return jsx(Select,{value:String(r),onChange:p,size:"small",appearance:"outline","aria-label":u,className:s,children:a.map(g=>jsx("option",{value:g,children:g},g))})},ha={NavButton:ba,PageButton:Ca,PageSizeSelect:va},xa={pagination:M.pagination,paginationInfo:M.paginationInfo,paginationControls:M.paginationControls,pageNumbers:M.pageNumbers,ellipsis:M.ellipsis,navBtn:M.navBtn,pageBtn:M.pageBtn,pageSizeSelector:M.pageSizeSelector,pageSizeLabel:M.pageSizeLabel,pageSizeSelect:M.pageSizeSelect},_e=J.memo(r=>jsx(PaginationControlsBase,{...r,slots:ha,classNames:xa}));_e.displayName="PaginationControls";var vo=createOGrid({DataGridTable:Fe,ColumnChooser:Me,PaginationControls:_e});export{Me as ColumnChooser,ne as ColumnHeaderFilter,pe as ColumnHeaderMenu,Fe as DataGridTable,vo as OGrid,_e as PaginationControls};
1
+ import'./index.css';import {useColumnHeaderFilterState,getColumnHeaderFilterStateParams,DateFilterContent,renderFilterContent,areGridRowPropsEqual,PaginationControlsBase,createOGrid,useListVirtualizer,STOP_PROPAGATION,useDataGridTableOrchestration,useRowGrouping,useColumnMeta,getCellRenderDescriptor,buildInlineEditorProps,buildPopoverEditorProps,resolveCellDisplayContent,resolveCellStyle,POPOVER_ANCHOR_STYLE,handleBooleanCellPointerDown,getCellInteractionProps,CURSOR_CELL_STYLE,CellErrorBoundary,GRID_ROOT_STYLE,PREVENT_DEFAULT,indexToColumnLetter,ROW_NUMBER_COLUMN_ID,ROW_NUMBER_COLUMN_WIDTH,getHeaderFilterConfig,MarchingAntsOverlay,FormulaRefOverlay,NOOP,getColumnHeaderMenuProps,useColumnChooserState,ColumnChooserContent,BaseInlineCellEditor,partitionColumnsForVirtualization,BaseDropIndicator,BaseEmptyState,GridContextMenu,BaseColumnHeaderMenu,StatusBar,BaseLoadingOverlay}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*as ee from'react';import {useCallback,useRef,useEffect}from'react';import {createPortal}from'react-dom';import {Popover,PopoverSurface,TableRow,TableCell,Checkbox,Table,TableHeader,TableHeaderCell,Select,Button,TableBody}from'@fluentui/react-components';import {FilterRegular,ChevronDoubleRightRegular,ChevronRightRegular,ChevronLeftRegular,ChevronDoubleLeftRegular,SearchRegular,ChevronUpRegular,ChevronDownRegular,TableSettingsRegular}from'@fluentui/react-icons';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {isGroupHeader}from'@alaarab/ogrid-core';var e={columnHeader:"ogrid-fluent__ColumnHeaderFilter-module__columnHeader",headerContent:"ogrid-fluent__ColumnHeaderFilter-module__headerContent",columnName:"ogrid-fluent__ColumnHeaderFilter-module__columnName",headerActions:"ogrid-fluent__ColumnHeaderFilter-module__headerActions",filterIcon:"ogrid-fluent__ColumnHeaderFilter-module__filterIcon",filterActive:"ogrid-fluent__ColumnHeaderFilter-module__filterActive",filterOpen:"ogrid-fluent__ColumnHeaderFilter-module__filterOpen",filterBadge:"ogrid-fluent__ColumnHeaderFilter-module__filterBadge",filterPopover:"ogrid-fluent__ColumnHeaderFilter-module__filterPopover",popoverHeader:"ogrid-fluent__ColumnHeaderFilter-module__popoverHeader",popoverSearch:"ogrid-fluent__ColumnHeaderFilter-module__popoverSearch",nativeInputWrapper:"ogrid-fluent__ColumnHeaderFilter-module__nativeInputWrapper",nativeInputIcon:"ogrid-fluent__ColumnHeaderFilter-module__nativeInputIcon",nativeInput:"ogrid-fluent__ColumnHeaderFilter-module__nativeInput",resultCount:"ogrid-fluent__ColumnHeaderFilter-module__resultCount",selectAllRow:"ogrid-fluent__ColumnHeaderFilter-module__selectAllRow",selectAllButton:"ogrid-fluent__ColumnHeaderFilter-module__selectAllButton",popoverOptions:"ogrid-fluent__ColumnHeaderFilter-module__popoverOptions",popoverOption:"ogrid-fluent__ColumnHeaderFilter-module__popoverOption",nativeCheckbox:"ogrid-fluent__ColumnHeaderFilter-module__nativeCheckbox",checkboxLabel:"ogrid-fluent__ColumnHeaderFilter-module__checkboxLabel",personOption:"ogrid-fluent__ColumnHeaderFilter-module__personOption",loadingContainer:"ogrid-fluent__ColumnHeaderFilter-module__loadingContainer",filterSpinner:"ogrid-fluent__ColumnHeaderFilter-module__filterSpinner",noResults:"ogrid-fluent__ColumnHeaderFilter-module__noResults",selectedUserSection:"ogrid-fluent__ColumnHeaderFilter-module__selectedUserSection",selectedUserLabel:"ogrid-fluent__ColumnHeaderFilter-module__selectedUserLabel",selectedUser:"ogrid-fluent__ColumnHeaderFilter-module__selectedUser",userInfo:"ogrid-fluent__ColumnHeaderFilter-module__userInfo",avatar:"ogrid-fluent__ColumnHeaderFilter-module__avatar",avatarImg:"ogrid-fluent__ColumnHeaderFilter-module__avatarImg",avatarInitials:"ogrid-fluent__ColumnHeaderFilter-module__avatarInitials",userText:"ogrid-fluent__ColumnHeaderFilter-module__userText",userSecondary:"ogrid-fluent__ColumnHeaderFilter-module__userSecondary",removeUserButton:"ogrid-fluent__ColumnHeaderFilter-module__removeUserButton",popoverActions:"ogrid-fluent__ColumnHeaderFilter-module__popoverActions",clearButton:"ogrid-fluent__ColumnHeaderFilter-module__clearButton",applyButton:"ogrid-fluent__ColumnHeaderFilter-module__applyButton"};var Be=({value:r,onValueChange:t,onApply:n,onClear:u,onPopoverClick:s,onInputFocus:c,onInputMouseDown:g,onInputClick:p,onInputKeyDown:C})=>jsxs(Fragment,{children:[jsx("div",{className:e.popoverSearch,onClick:s,children:jsxs("div",{className:e.nativeInputWrapper,children:[jsx(SearchRegular,{className:e.nativeInputIcon}),jsx("input",{type:"text",placeholder:"Enter search term...",value:r,onChange:d=>t(d.target.value),onKeyDown:d=>{C(d),d.key==="Enter"&&(d.preventDefault(),n());},onFocus:c,onMouseDown:g,onClick:p,autoComplete:"off",className:e.nativeInput})]})}),jsxs("div",{className:e.popoverActions,onClick:s,children:[jsx("button",{type:"button",className:e.clearButton,onClick:u,disabled:!r,children:"Clear"}),jsx("button",{type:"button",className:e.applyButton,onClick:n,children:"Apply"})]})]});Be.displayName="TextFilterPopover";var ro=40,Me=({searchText:r,onSearchChange:t,options:n,filteredOptions:u,selected:s,onOptionToggle:c,onSelectAll:g,onClearSelection:p,onApply:C,isLoading:d,onPopoverClick:T,onInputFocus:y,onInputMouseDown:P,onInputClick:G,onInputKeyDown:S})=>{let v=useListVirtualizer({count:u.length,itemHeight:ro});return jsxs(Fragment,{children:[jsxs("div",{className:e.popoverSearch,onClick:T,children:[jsxs("div",{className:e.nativeInputWrapper,children:[jsx(SearchRegular,{className:e.nativeInputIcon}),jsx("input",{type:"text",placeholder:"Search...",value:r,onChange:D=>t(D.target.value),onFocus:y,onMouseDown:P,onClick:G,onKeyDown:S,autoComplete:"off",className:e.nativeInput})]}),jsxs("div",{className:e.resultCount,children:[u.length," of ",n.length," options"]})]}),jsxs("div",{className:e.selectAllRow,onClick:T,children:[jsxs("button",{type:"button",className:e.selectAllButton,onClick:g,children:["Select All (",u.length,")"]}),jsx("button",{type:"button",className:e.selectAllButton,onClick:p,children:"Clear"})]}),jsx("div",{ref:v.containerRef,onScroll:v.onScroll,className:e.popoverOptions,onClick:T,children:d?jsxs("div",{className:e.loadingContainer,children:[jsx("div",{className:e.filterSpinner}),jsx("span",{style:{fontSize:12,color:"var(--colorNeutralForeground2, #616161)"},children:"Loading..."})]}):u.length===0?jsx("div",{className:e.noResults,children:"No options found"}):jsx("div",{style:{height:v.totalHeight,position:"relative"},children:v.visibleItems.map(({index:D,offsetTop:f})=>{let _=u[D],I=s.has(_);return jsxs("label",{className:e.popoverOption,style:{position:"absolute",top:f,width:"100%",height:ro,boxSizing:"border-box",display:"flex",alignItems:"center"},children:[jsx("input",{type:"checkbox",checked:I,onChange:l=>{l.stopPropagation(),c(_,l.target.checked);},className:e.nativeCheckbox}),jsx("span",{className:e.checkboxLabel,children:_})]},_)})})}),jsxs("div",{className:e.popoverActions,onClick:T,children:[jsx("button",{type:"button",className:e.clearButton,onClick:p,children:"Clear"}),jsx("button",{type:"button",className:e.applyButton,onClick:C,children:"Apply"})]})]})};Me.displayName="MultiSelectFilterPopover";function ao(r){let t=r.trim().split(/\s+/);return t.length>=2?(t[0][0]+t[t.length-1][0]).toUpperCase():(t[0]?.[0]??"").toUpperCase()}var ze=({selectedUser:r,searchText:t,onSearchChange:n,suggestions:u,isLoading:s,onUserSelect:c,onClearUser:g,onPopoverClick:p,inputRef:C})=>jsxs(Fragment,{children:[r&&jsxs("div",{className:e.selectedUserSection,onClick:p,children:[jsx("div",{className:e.selectedUserLabel,children:"Currently filtered by:"}),jsxs("div",{className:e.selectedUser,children:[jsxs("div",{className:e.userInfo,children:[jsx("div",{className:e.avatar,children:r.photo?jsx("img",{src:r.photo,alt:"",className:e.avatarImg}):jsx("span",{className:e.avatarInitials,children:ao(r.displayName)})}),jsxs("div",{className:e.userText,children:[jsx("div",{children:r.displayName}),jsx("div",{className:e.userSecondary,children:r.email})]})]}),jsx("button",{type:"button",className:e.removeUserButton,onClick:g,"aria-label":"Remove filter",children:jsx(FilterRegular,{})})]})]}),jsx("div",{className:e.popoverSearch,onClick:p,children:jsxs("div",{className:e.nativeInputWrapper,children:[jsx(SearchRegular,{className:e.nativeInputIcon}),jsx("input",{ref:C,type:"text",placeholder:"Search for a person...",value:t,onChange:d=>n(d.target.value),onFocus:d=>d.stopPropagation(),onMouseDown:d=>d.stopPropagation(),onClick:d=>d.stopPropagation(),onKeyDown:d=>d.stopPropagation(),autoComplete:"off",className:e.nativeInput})]})}),jsx("div",{className:e.popoverOptions,onClick:p,children:s&&t.trim()?jsxs("div",{className:e.loadingContainer,children:[jsx("div",{className:e.filterSpinner}),jsx("span",{style:{fontSize:12,color:"var(--colorNeutralForeground2, #616161)"},children:"Searching..."})]}):u.length===0&&t.trim()?jsx("div",{className:e.noResults,children:"No results found"}):t.trim()?u.map(d=>jsx("div",{className:e.personOption,onClick:T=>{T.stopPropagation(),c(d);},children:jsxs("div",{className:e.userInfo,children:[jsx("div",{className:e.avatar,children:d.photo?jsx("img",{src:d.photo,alt:"",className:e.avatarImg}):jsx("span",{className:e.avatarInitials,children:ao(d.displayName)})}),jsxs("div",{className:e.userText,children:[jsx("div",{children:d.displayName}),jsx("div",{className:e.userSecondary,children:d.email})]})]})},d.id??d.email??d.displayName)):jsx("div",{className:e.noResults,children:"Type to search..."})}),r&&jsx("div",{className:e.popoverActions,onClick:p,children:jsx("button",{type:"button",className:e.clearButton,onClick:g,children:"Clear Filter"})})]});ze.displayName="PeopleFilterPopover";var ge=ee.memo(r=>{let{columnName:t,filterType:n,options:u,isLoadingOptions:s=false,selectedUser:c}=r,g=useColumnHeaderFilterState(getColumnHeaderFilterStateParams(r)),{headerRef:p,popoverRef:C,isFilterOpen:d,setFilterOpen:T,hasActiveFilter:y,handlers:P}=g,{handlePopoverClick:G,handleInputFocus:S,handleInputMouseDown:v,handleInputClick:D,handleInputKeyDown:f}=P,_=ee.useRef(null),I=ee.useMemo(()=>({renderMultiSelect:l=>jsx(Me,{searchText:l.searchText,onSearchChange:l.onSearchChange,options:l.options,filteredOptions:l.filteredOptions,selected:l.selected,onOptionToggle:l.onOptionToggle,onSelectAll:l.onSelectAll,onClearSelection:l.onClearSelection,onApply:l.onApply,isLoading:l.isLoading,onPopoverClick:G,onInputFocus:S,onInputMouseDown:v,onInputClick:D,onInputKeyDown:f}),renderText:l=>jsx(Be,{value:l.value,onValueChange:l.onValueChange,onApply:l.onApply,onClear:l.onClear,onPopoverClick:G,onInputFocus:S,onInputMouseDown:v,onInputClick:D,onInputKeyDown:f}),renderPeople:l=>jsx(ze,{selectedUser:l.selectedUser,searchText:l.searchText,onSearchChange:l.onSearchChange,suggestions:l.suggestions,isLoading:l.isLoading,onUserSelect:l.onUserSelect,onClearUser:l.onClearUser,onPopoverClick:G,inputRef:l.inputRef}),renderDate:l=>jsx("div",{onClick:G,children:jsx(DateFilterContent,{tempDateFrom:l.tempDateFrom,setTempDateFrom:l.setTempDateFrom,tempDateTo:l.tempDateTo,setTempDateTo:l.setTempDateTo,onApply:l.onApply,onClear:l.onClear,classNames:{popoverActions:e.popoverActions,clearButton:e.clearButton,applyButton:e.applyButton}})})}),[G,S,v,D,f]);return jsxs("div",{className:e.columnHeader,ref:p,children:[jsx("div",{className:e.headerContent,children:jsx("span",{className:e.columnName,title:t,"data-header-label":true,children:t})}),jsx("div",{className:e.headerActions,children:n!=="none"&&jsxs(Fragment,{children:[jsxs("button",{ref:_,type:"button",className:`${e.filterIcon} ${y?e.filterActive:""} ${d?e.filterOpen:""}`,onClick:P.handleFilterIconClick,"aria-label":`Filter ${t}`,"aria-expanded":d,"aria-haspopup":"dialog",title:`Filter ${t}`,children:[jsx(FilterRegular,{}),y&&jsx("span",{className:e.filterBadge})]}),jsx(Popover,{open:d,onOpenChange:(l,$)=>{$.open||T(false);},positioning:{target:_.current??void 0,position:"below",align:"start",offset:4},trapFocus:false,children:jsxs(PopoverSurface,{ref:C,className:e.filterPopover,onClick:P.handlePopoverClick,style:{padding:0},children:[jsxs("div",{className:e.popoverHeader,children:["Filter: ",t]}),renderFilterContent(n,g,u??[],s,c,I)]})})]})})]})});ge.displayName="ColumnHeaderFilter";var to={content:"ogrid-fluent__ColumnHeaderMenu-module__content",item:"ogrid-fluent__ColumnHeaderMenu-module__item",separator:"ogrid-fluent__ColumnHeaderMenu-module__separator"};var nr=r=>r.closest(".fui-FluentProvider")??document.body;function ve(r){return jsx(BaseColumnHeaderMenu,{...r,classNames:to,getPortalTarget:nr})}function no(r){return jsx(BaseInlineCellEditor,{...r,renderCheckbox:(t,n,u)=>jsx(Checkbox,{checked:t,onChange:(s,c)=>n(!!c.checked),onKeyDown:s=>s.key==="Escape"&&(s.preventDefault(),u())})})}var o={tableScrollContent:"ogrid-fluent__DataGridTable-module__tableScrollContent",tableWidthAnchor:"ogrid-fluent__DataGridTable-module__tableWidthAnchor",tableWrapper:"ogrid-fluent__DataGridTable-module__tableWrapper",dataTable:"ogrid-fluent__DataGridTable-module__dataTable",groupHeaderCell:"ogrid-fluent__DataGridTable-module__groupHeaderCell",headerCellContent:"ogrid-fluent__DataGridTable-module__headerCellContent",headerMenuTrigger:"ogrid-fluent__DataGridTable-module__headerMenuTrigger",dropIndicator:"ogrid-fluent__DataGridTable-module__dropIndicator",resizeHandle:"ogrid-fluent__DataGridTable-module__resizeHandle",pinnedColLeft:"ogrid-fluent__DataGridTable-module__pinnedColLeft",pinnedColRight:"ogrid-fluent__DataGridTable-module__pinnedColRight",cellContent:"ogrid-fluent__DataGridTable-module__cellContent",activeCellContent:"ogrid-fluent__DataGridTable-module__activeCellContent",editingCellContent:"ogrid-fluent__DataGridTable-module__editingCellContent",cellInRange:"ogrid-fluent__DataGridTable-module__cellInRange",inRange:"ogrid-fluent__DataGridTable-module__inRange",cellCut:"ogrid-fluent__DataGridTable-module__cellCut",fillHandle:"ogrid-fluent__DataGridTable-module__fillHandle",selectionHeaderCellInner:"ogrid-fluent__DataGridTable-module__selectionHeaderCellInner",selectionCellInner:"ogrid-fluent__DataGridTable-module__selectionCellInner",rowNumberHeaderCellInner:"ogrid-fluent__DataGridTable-module__rowNumberHeaderCellInner",rowNumberCellInner:"ogrid-fluent__DataGridTable-module__rowNumberCellInner",columnLetterRow:"ogrid-fluent__DataGridTable-module__columnLetterRow",columnLetterCell:"ogrid-fluent__DataGridTable-module__columnLetterCell",statusBar:"ogrid-fluent__DataGridTable-module__statusBar",statusBarItem:"ogrid-fluent__DataGridTable-module__statusBarItem",statusBarLabel:"ogrid-fluent__DataGridTable-module__statusBarLabel",statusBarValue:"ogrid-fluent__DataGridTable-module__statusBarValue",contextMenu:"ogrid-fluent__DataGridTable-module__contextMenu",contextMenuItem:"ogrid-fluent__DataGridTable-module__contextMenuItem",contextMenuItemLabel:"ogrid-fluent__DataGridTable-module__contextMenuItemLabel",contextMenuItemShortcut:"ogrid-fluent__DataGridTable-module__contextMenuItemShortcut",contextMenuDivider:"ogrid-fluent__DataGridTable-module__contextMenuDivider",loadingOverlay:"ogrid-fluent__DataGridTable-module__loadingOverlay",loadingOverlayContent:"ogrid-fluent__DataGridTable-module__loadingOverlayContent",loadingOverlayText:"ogrid-fluent__DataGridTable-module__loadingOverlayText",loadingDimmed:"ogrid-fluent__DataGridTable-module__loadingDimmed",emptyStateInGrid:"ogrid-fluent__DataGridTable-module__emptyStateInGrid",emptyStateInGridTitle:"ogrid-fluent__DataGridTable-module__emptyStateInGridTitle",emptyStateInGridMessage:"ogrid-fluent__DataGridTable-module__emptyStateInGridMessage",emptyStateInGridLink:"ogrid-fluent__DataGridTable-module__emptyStateInGridLink",spinner:"ogrid-fluent__DataGridTable-module__spinner","ogrid-spin":"ogrid-fluent__DataGridTable-module__ogrid-spin",paginationNav:"ogrid-fluent__DataGridTable-module__paginationNav",paginationInfo:"ogrid-fluent__DataGridTable-module__paginationInfo",paginationSize:"ogrid-fluent__DataGridTable-module__paginationSize",leafHeaderCellSpan:"ogrid-fluent__DataGridTable-module__leafHeaderCellSpan",selectionHeaderCellWrapper:"ogrid-fluent__DataGridTable-module__selectionHeaderCellWrapper",selectionCellWrapper:"ogrid-fluent__DataGridTable-module__selectionCellWrapper",rowNumberHeaderCellWrapper:"ogrid-fluent__DataGridTable-module__rowNumberHeaderCellWrapper",rowNumberCellWrapper:"ogrid-fluent__DataGridTable-module__rowNumberCellWrapper",selectedRow:"ogrid-fluent__DataGridTable-module__selectedRow",selectableGrid:"ogrid-fluent__DataGridTable-module__selectableGrid",stickyHeader:"ogrid-fluent__DataGridTable-module__stickyHeader",emptyStateInGridMessageSticky:"ogrid-fluent__DataGridTable-module__emptyStateInGridMessageSticky",emptyStateInGridIcon:"ogrid-fluent__DataGridTable-module__emptyStateInGridIcon","density-compact":"ogrid-fluent__DataGridTable-module__density-compact","density-comfortable":"ogrid-fluent__DataGridTable-module__density-comfortable",booleanCheckbox:"ogrid-fluent__DataGridTable-module__booleanCheckbox"};var gr={statusBar:o.statusBar,statusBarItem:o.statusBarItem,statusBarLabel:o.statusBarLabel,statusBarValue:o.statusBarValue};function io(r){return jsx(StatusBar,{...r,classNames:gr})}var _r={contextMenu:o.contextMenu,contextMenuItem:o.contextMenuItem,contextMenuItemLabel:o.contextMenuItemLabel,contextMenuItemShortcut:o.contextMenuItemShortcut,contextMenuDivider:o.contextMenuDivider};function uo(r){return jsx(GridContextMenu,{...r,classNames:_r})}var br={emptyStateInGrid:o.emptyStateInGrid,emptyStateInGridInner:o.emptyStateInGridMessageSticky,emptyStateInGridIcon:o.emptyStateInGridIcon,emptyStateInGridTitle:o.emptyStateInGridTitle,emptyStateInGridMessage:o.emptyStateInGridMessage,emptyStateInGridLink:o.emptyStateInGridLink};function so({emptyState:r}){return jsx(BaseEmptyState,{emptyState:r,classNames:br,icon:"\u{1F4CB}"})}var hr={loadingOverlay:o.loadingOverlay,loadingOverlayContent:o.loadingOverlayContent,spinner:o.spinner,loadingOverlayText:o.loadingOverlayText};function go({message:r}){return jsx(BaseLoadingOverlay,{message:r,classNames:hr})}function co({dropIndicatorX:r,wrapperLeft:t}){return jsx(BaseDropIndicator,{dropIndicatorX:r,wrapperLeft:t,className:o.dropIndicator})}var bo={padding:0,border:"none"};function Qr(r){let{item:t,rowIndex:n,rowId:u,isSelected:s,visibleCols:c,columnMeta:g,renderCellContent:p,handleSingleRowClick:C,handleRowCheckboxChange:d,lastMouseShiftRef:T,hasCheckboxCol:y,hasRowNumbersCol:P,rowNumberOffset:G,leftSpacerWidth:S,rightSpacerWidth:v,globalColIndexMap:D,rowNumWidth:f}=r;return jsxs(TableRow,{className:s?o.selectedRow:void 0,"data-row-id":u,onClick:C,"aria-selected":s||void 0,children:[y&&jsx(TableCell,{className:o.selectionCellWrapper,children:jsx("div",{className:o.selectionCellInner,"data-row-index":n,"data-col-index":0,onClick:STOP_PROPAGATION,children:jsx(Checkbox,{checked:s,onChange:(_,I)=>{d(u,!!I.checked,n,T.current);},"aria-label":`Select row ${n+1}`})})}),P&&jsx(TableCell,{className:o.rowNumberCellWrapper,style:f?{width:f,minWidth:f,maxWidth:f}:void 0,children:jsx("div",{className:o.rowNumberCellInner,children:G+n+1})}),S!=null&&S>0&&jsx("td",{style:{...bo,width:S,minWidth:S},"aria-hidden":true}),c.map((_,I)=>{let l=D?D[I]:I;return jsx(TableCell,{"data-column-id":_.columnId,className:g.cellClasses[_.columnId]||void 0,style:g.cellStyles[_.columnId],children:p(t,_,n,l)},_.columnId)}),v!=null&&v>0&&jsx("td",{style:{...bo,width:v,minWidth:v},"aria-hidden":true})]})}var ea=ee.memo(Qr,areGridRowPropsEqual);function oa(r){let{virtualScrollEnabled:t,visibleRange:n,columnRange:u,items:s,displayRows:c,isGroupingActive:g,expandedGroups:p,toggleGroup:C,getRowId:d,selectedRowIds:T,visibleCols:y,columnMeta:P,renderCellContent:G,handleSingleRowClick:S,handleRowCheckboxChange:v,lastMouseShiftRef:D,hasCheckboxCol:f,hasRowNumbersCol:_,rowNumberOffset:I,totalColCount:l,selectionRange:$,activeCell:xe,cutRange:Te,copyRange:ce,isDragging:ye,editingCell:Se,pinnedColumns:oe,rowNumWidth:De}=r,O=ee.useMemo(()=>u?partitionColumnsForVirtualization(y,u,oe):null,[y,u,oe]),{rowCols:we,globalColIndexMap:L,leftSpacerWidth:re,rightSpacerWidth:pe}=ee.useMemo(()=>{if(!O)return {rowCols:y,globalColIndexMap:void 0,leftSpacerWidth:void 0,rightSpacerWidth:void 0};let x=[...O.pinnedLeft,...O.virtualizedUnpinned,...O.pinnedRight],R=x.map(w=>y.indexOf(w));return {rowCols:x,globalColIndexMap:R,leftSpacerWidth:O.leftSpacerWidth,rightSpacerWidth:O.rightSpacerWidth}},[O,y]),ae=(x,R)=>{let w=d(x);return jsx(ea,{item:x,rowIndex:R,rowId:w,isSelected:T.has(w),visibleCols:we,columnMeta:P,renderCellContent:G,handleSingleRowClick:S,handleRowCheckboxChange:v,lastMouseShiftRef:D,hasCheckboxCol:f,hasRowNumbersCol:_,rowNumberOffset:I,selectionRange:$,activeCell:xe,cutRange:Te,copyRange:ce,isDragging:ye,editingRowId:Se?.rowId??null,leftSpacerWidth:re,rightSpacerWidth:pe,globalColIndexMap:L,rowNumWidth:De},w)},Y=x=>{let R=p.has(x.groupKey);return jsx("tr",{style:{background:"var(--ogrid-bg-row-group, var(--ogrid-bg-hover, #f5f5f5))",fontWeight:500},children:jsx("td",{colSpan:l,style:{paddingLeft:`${x.depth*16+8}px`},children:jsxs("button",{onClick:()=>C(x.groupKey),onKeyDown:w=>{(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),C(x.groupKey));},tabIndex:0,style:{background:"none",border:"none",cursor:"pointer",padding:"2px 4px",font:"inherit",fontWeight:500},children:[R?"\u25BC":"\u25B6"," ",x.displayText," (",x.itemCount,")"]})})},`group-${x.groupKey}`)},_e=()=>{if(!g)return t?s.slice(n.startIndex,n.endIndex+1).map((R,w)=>ae(R,n.startIndex+w)):s.map((R,w)=>ae(R,w));let x=0;return c.map((R,w)=>{if(isGroupHeader(R))return Y(R.group);let te=R,Ge=x++;return ae(te,Ge)})};return jsxs(TableBody,{children:[t&&!g&&n.offsetTop>0&&jsx("tr",{style:{height:n.offsetTop},"aria-hidden":true}),_e(),t&&!g&&n.offsetBottom>0&&jsx("tr",{style:{height:n.offsetBottom},"aria-hidden":true})]})}function ra(r){let t=useDataGridTableOrchestration({props:r}),{wrapperRef:n,tableContainerRef:u,lastMouseShiftRef:s,interaction:c,pinning:g,handleResizeStart:p,handleResizeDoubleClick:C,getColumnWidth:d,isReorderDragging:T,dropIndicatorX:y,handleHeaderMouseDown:P,virtualScrollEnabled:G,visibleRange:S,columnRange:v,onHorizontalScroll:D,items:f,getRowId:_,emptyState:I,rowSelection:l,isLoading:$,loadingMessage:xe,ariaLabel:Te,ariaLabelledBy:ce,visibleColumns:ye,columnOrder:Se,columnReorder:oe,density:De,rowHeight:O,rowNumberOffset:we,headerRows:L,allowOverflowX:re,fitToContent:pe,showColumnLetters:ae,editCallbacks:Y,interactionHandlers:_e,cellDescriptorInputRef:x,cellDescriptorCacheRef:R,pendingEditorValueRef:w,popoverAnchorElRef:te,handleSingleRowClick:Ge,handlePasteVoid:yo,visibleCols:Re,totalColCount:ke,hasCheckboxCol:me,hasRowNumbersCol:le,colOffset:Ie,containerWidth:So,minTableWidth:Ke,columnSizingOverrides:fe,measuredColumnWidths:Do,selectedRowIds:Xe,handleRowCheckboxChange:wo,handleSelectAll:Go,allSelected:Ro,someSelected:ko,editingCell:Io,setPopoverAnchorEl:je,cancelPopoverEdit:Ye,setActiveCell:Ne,selectionRange:K,hasCellSelection:No,handleGridKeyDown:Po,handleFillHandleMouseDown:qe,handleCopy:Fo,handleCut:Ho,cutRange:Ze,copyRange:Je,canUndo:Bo,canRedo:Mo,onUndo:zo,onRedo:Oo,isDragging:Qe,menuPosition:Pe,closeContextMenu:Eo,headerFilterInput:Lo,statusBarConfig:q,showEmptyInGrid:ne,onCellError:eo,headerMenu:ie,groupBy:Uo}=t,be=useRowGrouping({items:f,columns:r.columns,groupBy:Uo}),Z=useColumnMeta({visibleCols:Re,getColumnWidth:d,columnSizingOverrides:fe,measuredColumnWidths:Do,pinnedColumns:g.pinnedColumns,leftOffsets:g.leftOffsets,rightOffsets:g.rightOffsets,pinnedColLeftClass:o.pinnedColLeft,pinnedColRightClass:o.pinnedColRight,addStickyPosition:true}),Ao=useCallback((h,b,F,X)=>{let i=getCellRenderDescriptor(h,b,F,X,x.current,R.current),oo=_(h),J;if(i.mode==="editing-inline"){let k=buildInlineEditorProps(h,b,i,Y);J=jsx("div",{className:o.editingCellContent,children:jsx(no,{...k})});}else if(i.mode==="editing-popover"&&typeof b.cellEditor=="function"){let k=buildPopoverEditorProps(h,b,i,w.current,Y),Fe=b.cellEditor,Ce=resolveCellDisplayContent(b,h,i.displayValue),E=resolveCellStyle(b,h,i.displayValue);J=jsxs(Fragment,{children:[jsx("div",{ref:H=>{H&&je(H);},style:POPOVER_ANCHOR_STYLE,children:E?jsx("span",{style:E,children:Ce}):Ce}),jsx(Popover,{open:!!te.current,onOpenChange:(H,de)=>{de.open||Ye();},positioning:{target:te.current??void 0},children:jsx(PopoverSurface,{children:jsx(Fe,{...k})})})]});}else {let k;if(i.columnType==="boolean"){let E=!!i.displayValue;k=jsx("input",{type:"checkbox",checked:E,disabled:!i.canEditAny,onChange:i.canEditAny?()=>{let H=i.rowIndex,de=i.globalColIndex;Y.commitCellEdit(h,b.columnId,E,!E,H,de,{skipAdvance:true});}:void 0,onPointerDown:H=>handleBooleanCellPointerDown(H,i.rowIndex,i.globalColIndex,Ie,{setActiveCell:Ne,setSelectionRange:de=>c.setSelectionRange(de)}),onClick:H=>H.stopPropagation(),className:o.booleanCheckbox,"aria-label":E?"Checked":"Unchecked"});}else {let E=resolveCellDisplayContent(b,h,i.displayValue),H=resolveCellStyle(b,h,i.displayValue);k=H?jsx("span",{style:H,children:E}):E;}let Fe=`${o.cellContent}${i.isActive?` ${o.activeCellContent}`:""}${i.isActive&&i.isInRange?` ${o.inRange}`:""}${i.isInRange&&!i.isActive?` ${o.cellInRange}`:""}${i.isInCutRange?` ${o.cellCut}`:""}${i.isInCopyRange?` ${o.cellCopied}`:""}`,Ce=getCellInteractionProps(i,b.columnId,_e);J=jsxs("div",{className:Fe,...Ce,style:i.canEditAny?CURSOR_CELL_STYLE:void 0,children:[k,i.canEditAny&&i.isSelectionEndCell&&jsx("div",{className:o.fillHandle,onPointerDown:qe,"aria-label":"Fill handle"})]});}return jsx(CellErrorBoundary,{onError:eo,children:J},`${oo}-${b.columnId}`)},[Y,_e,qe,je,Ye,_,eo,x,R,w,te]);return jsxs("div",{style:GRID_ROOT_STYLE,children:[jsxs("div",{ref:n,tabIndex:0,onMouseDown:h=>{s.current=h.shiftKey;},onScroll:D?h=>D(h.target.scrollLeft):void 0,className:`${o.tableWrapper} ${l!=="none"?o.selectableGrid:""} ${o[`density-${De}`]||""}`,role:"region","aria-label":Te??(ce?void 0:"Data grid"),"aria-labelledby":ce,"data-ogrid-scroll-container":"","data-empty":ne?"true":void 0,"data-loading":$&&f.length===0?"true":void 0,"data-column-count":ke,"data-overflow-x":re?"true":"false","data-container-width":So,"data-min-table-width":Math.round(Ke),"data-has-selection":l!=="none"?"true":void 0,onContextMenu:PREVENT_DEFAULT,onKeyDown:Po,style:{"--data-table-column-count":ke,"--data-table-width":ne?"100%":re||pe?"fit-content":"100%","--data-table-min-width":ne?"100%":re||pe?"max-content":"100%","--data-table-total-min-width":`${Ke}px`,...O?{"--ogrid-row-height":`${O}px`}:{}},children:[jsx("div",{className:o.tableScrollContent,children:jsx("div",{className:$&&f.length>0?o.loadingDimmed:void 0,children:jsxs("div",{className:o.tableWidthAnchor,ref:u,children:[jsxs(Table,{role:"grid",className:o.dataTable,"data-virtual-scroll":G?"":void 0,children:[jsxs(TableHeader,{className:t.stickyHeader?o.stickyHeader:void 0,children:[ae&&jsxs(TableRow,{children:[me&&jsx("th",{className:o.columnLetterCell}),le&&jsx("th",{className:o.columnLetterCell}),Re.map((h,b)=>jsx("th",{className:`${o.columnLetterCell}${Z.hdrClasses[h.columnId]?` ${Z.hdrClasses[h.columnId]}`:""}`,style:Z.hdrStyles[h.columnId],children:indexToColumnLetter(b)},h.columnId))]}),L.map((h,b)=>jsxs(TableRow,{children:[b===L.length-1&&me&&jsx(TableHeaderCell,{className:o.selectionHeaderCellWrapper,children:jsx("div",{className:o.selectionHeaderCellInner,children:jsx(Checkbox,{checked:Ro?true:ko?"mixed":false,onChange:(F,X)=>Go(!!X.checked),"aria-label":"Select all rows"})})},"__selection__"),b===0&&b<L.length-1&&me&&jsx("th",{rowSpan:L.length-1},"__selection_placeholder__"),b===L.length-1&&le&&(()=>{let F=fe?.[ROW_NUMBER_COLUMN_ID]?.widthPx??ROW_NUMBER_COLUMN_WIDTH;return jsxs(TableHeaderCell,{className:o.rowNumberHeaderCellWrapper,style:{width:F,minWidth:F,maxWidth:F},children:[jsx("div",{className:o.rowNumberHeaderCellInner,children:"#"}),jsx("div",{className:o.resizeHandle,role:"separator","aria-orientation":"vertical","aria-label":"Resize row number column",onPointerDown:X=>{Ne(null),c.setSelectionRange(null),n.current?.focus({preventScroll:true}),p(X,{columnId:ROW_NUMBER_COLUMN_ID,name:"#"});}})]},"__row_number__")})(),b===0&&b<L.length-1&&le&&jsx("th",{rowSpan:L.length-1},"__row_number_placeholder__"),h.map((F,X)=>{if(F.isGroup)return jsx("th",{colSpan:F.colSpan,className:o.groupHeaderCell,scope:"colgroup",children:F.label},X);if(!F.columnDef)return null;let i=F.columnDef,J=r.sortBy===i.columnId?r.sortDirection==="asc"?"ascending":"descending":void 0;return jsxs(TableHeaderCell,{scope:"col","data-column-id":i.columnId,className:Z.hdrClasses[i.columnId]||void 0,style:{...Z.hdrStyles[i.columnId],...oe?{cursor:T?"grabbing":"grab"}:void 0},"aria-sort":J,onPointerDown:oe?k=>P(i.columnId,k):void 0,children:[jsxs("div",{className:o.headerCellContent,children:[jsx(ge,{...getHeaderFilterConfig(i,Lo)}),jsx("button",{className:o.headerMenuTrigger,onClick:k=>{k.stopPropagation(),ie.isOpen&&ie.openForColumn===i.columnId?ie.close():ie.open(i.columnId,k.currentTarget);},"aria-label":"Column options",title:"Column options",children:"\u22EE"})]}),jsx("div",{className:o.resizeHandle,role:"separator","aria-orientation":"vertical",onPointerDown:k=>{Ne(null),c.setSelectionRange(null),n.current?.focus({preventScroll:true}),p(k,i);},onDoubleClick:k=>C(k,i),"aria-label":`Resize ${i.name}`})]},i.columnId)})]},b))]}),!ne&&jsx(oa,{virtualScrollEnabled:G,visibleRange:S,columnRange:v,items:f,displayRows:be.displayRows,isGroupingActive:be.isGroupingActive,expandedGroups:be.expandedGroups,toggleGroup:be.toggleGroup,getRowId:_,selectedRowIds:Xe,visibleCols:Re,columnMeta:Z,renderCellContent:Ao,handleSingleRowClick:Ge,handleRowCheckboxChange:wo,lastMouseShiftRef:s,hasCheckboxCol:me,hasRowNumbersCol:le,rowNumberOffset:we,totalColCount:ke,selectionRange:K,activeCell:c.activeCell,cutRange:Ze,copyRange:Je,isDragging:Qe,editingCell:Io,pinnedColumns:g.pinnedColumns,rowNumWidth:le?fe?.[ROW_NUMBER_COLUMN_ID]?.widthPx??ROW_NUMBER_COLUMN_WIDTH:void 0})]}),T&&y!=null&&jsx(co,{dropIndicatorX:y,wrapperLeft:n.current?.getBoundingClientRect().left??0}),jsx(MarchingAntsOverlay,{containerRef:u,selectionRange:K,copyRange:Je,cutRange:Ze,colOffset:Ie,items:f,visibleColumns:ye,columnSizingOverrides:fe,columnOrder:Se,isDragging:Qe}),r.formulaReferences&&r.formulaReferences.length>0&&jsx(FormulaRefOverlay,{containerRef:u,references:r.formulaReferences,colOffset:Ie}),ne&&I&&jsx(so,{emptyState:I})]})})}),Pe&&createPortal(jsx(uo,{x:Pe.x,y:Pe.y,hasSelection:No,canUndo:Bo,canRedo:Mo,onUndo:zo??NOOP,onRedo:Oo??NOOP,onCopy:Fo,onCut:Ho,onPaste:yo,onSelectAll:t.interaction.handleSelectAllCells,onClose:Eo}),n.current?.closest(".fui-FluentProvider")??document.body),jsx(ve,{...getColumnHeaderMenuProps(ie)})]}),q&&jsx(io,{totalCount:q.totalCount,filteredCount:q.filteredCount,selectedCount:q.selectedCount??Xe.size,selectedCellCount:K?(Math.abs(K.endRow-K.startRow)+1)*(Math.abs(K.endCol-K.startCol)+1):void 0,aggregation:q.aggregation,suppressRowCount:q.suppressRowCount}),$&&jsx(go,{message:xe})]})}var Ae=ee.memo(ra);var j={container:"ogrid-fluent__ColumnChooser-module__container",dropdown:"ogrid-fluent__ColumnChooser-module__dropdown",header:"ogrid-fluent__ColumnChooser-module__header",optionsList:"ogrid-fluent__ColumnChooser-module__optionsList",optionItem:"ogrid-fluent__ColumnChooser-module__optionItem",actions:"ogrid-fluent__ColumnChooser-module__actions"};var ga=({columnId:r,columnName:t,checked:n,disabled:u,onChange:s})=>jsx(Checkbox,{id:`col-${r}`,label:t,checked:n,onChange:(c,g)=>s(g.checked===true),disabled:u}),ca=({onClearAll:r,onSelectAll:t})=>jsxs("div",{className:j.actions,children:[jsx(Button,{appearance:"subtle",size:"small",onClick:r,children:"Clear All"}),jsx(Button,{appearance:"primary",size:"small",onClick:t,children:"Select All"})]}),pa={header:j.header,optionsList:j.optionsList,optionItem:j.optionItem},$e=r=>{let{columns:t,visibleColumns:n,onVisibilityChange:u,onSetVisibleColumns:s,className:c}=r,g=useRef(null),p=useRef(null),{open:C,handleToggle:d,handleClose:T,handleCheckboxChange:y,handleSelectAll:P,handleClearAll:G,visibleCount:S,totalCount:v}=useColumnChooserState({columns:t,visibleColumns:n,onVisibilityChange:u,onSetVisibleColumns:s});useEffect(()=>{if(!C)return;let f=I=>{let l=I.target;p.current&&!p.current.contains(l)&&g.current&&!g.current.contains(l)&&T();},_=setTimeout(()=>{document.addEventListener("mousedown",f);},0);return ()=>{clearTimeout(_),document.removeEventListener("mousedown",f);}},[C,T]);let D=f=>_=>y(f)(_);return jsxs("div",{className:`${j.container} ${c||""}`,children:[jsxs(Button,{ref:g,appearance:"outline",icon:jsx(TableSettingsRegular,{}),onClick:d,"aria-expanded":C,"aria-haspopup":"listbox",children:["Column Visibility (",S," of ",v,")",C?jsx(ChevronUpRegular,{}):jsx(ChevronDownRegular,{})]}),C&&jsx("div",{ref:p,className:j.dropdown,children:jsx(ColumnChooserContent,{columns:t,visibleColumns:n,visibleCount:S,totalCount:v,handleSelectAll:P,handleClearAll:G,handleCheckboxChange:D,CheckboxItem:ga,classNames:pa,Actions:ca})})]})};var z={pagination:"ogrid-fluent__PaginationControls-module__pagination",paginationInfo:"ogrid-fluent__PaginationControls-module__paginationInfo",paginationControls:"ogrid-fluent__PaginationControls-module__paginationControls",navBtn:"ogrid-fluent__PaginationControls-module__navBtn",pageNumbers:"ogrid-fluent__PaginationControls-module__pageNumbers",pageBtn:"ogrid-fluent__PaginationControls-module__pageBtn",ellipsis:"ogrid-fluent__PaginationControls-module__ellipsis",pageSizeSelector:"ogrid-fluent__PaginationControls-module__pageSizeSelector",pageSizeLabel:"ogrid-fluent__PaginationControls-module__pageSizeLabel",pageSizeSelect:"ogrid-fluent__PaginationControls-module__pageSizeSelect"};var ha={first:jsx(ChevronDoubleLeftRegular,{}),prev:jsx(ChevronLeftRegular,{}),next:jsx(ChevronRightRegular,{}),last:jsx(ChevronDoubleRightRegular,{})},xa=({variant:r,onClick:t,disabled:n,"aria-label":u,className:s})=>jsx(Button,{appearance:"outline",shape:"circular",size:"small",icon:ha[r],onClick:t,disabled:n,"aria-label":u,className:s}),Ta=({onClick:r,active:t,"aria-label":n,"aria-current":u,children:s,className:c})=>jsx(Button,{appearance:t?"primary":"outline",size:"small",shape:"rounded",onClick:r,"aria-label":n,"aria-current":u,className:c,children:s}),ya=({value:r,options:t,onChange:n,"aria-label":u,className:s})=>{let c=(g,p)=>n(Number(p.value));return jsx(Select,{value:String(r),onChange:c,size:"small",appearance:"outline","aria-label":u,className:s,children:t.map(g=>jsx("option",{value:g,children:g},g))})},Sa={NavButton:xa,PageButton:Ta,PageSizeSelect:ya},Da={pagination:z.pagination,paginationInfo:z.paginationInfo,paginationControls:z.paginationControls,pageNumbers:z.pageNumbers,ellipsis:z.ellipsis,navBtn:z.navBtn,pageBtn:z.pageBtn,pageSizeSelector:z.pageSizeSelector,pageSizeLabel:z.pageSizeLabel,pageSizeSelect:z.pageSizeSelect},he=ee.memo(r=>jsx(PaginationControlsBase,{...r,slots:Sa,classNames:Da}));he.displayName="PaginationControls";var To=createOGrid({DataGridTable:Ae,ColumnChooser:$e,PaginationControls:he});export{$e as ColumnChooser,ge as ColumnHeaderFilter,ve as ColumnHeaderMenu,Ae as DataGridTable,To as OGrid,he as PaginationControls};
@@ -4,11 +4,13 @@ export { ColumnChooser, type IColumnChooserProps } from './ColumnChooser/ColumnC
4
4
  export { ColumnHeaderFilter, type IColumnHeaderFilterProps } from './ColumnHeaderFilter/ColumnHeaderFilter';
5
5
  export { ColumnHeaderMenu, type ColumnHeaderMenuProps } from './ColumnHeaderMenu/ColumnHeaderMenu';
6
6
  export { PaginationControls, type IPaginationControlsProps } from './PaginationControls/PaginationControls';
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-fluent",
3
- "version": "2.5.9",
3
+ "version": "2.6.0",
4
4
  "description": "OGrid React Fluent implementation – DataGrid-powered data table with sorting, filtering, pagination, column chooser, and CSV export.",
5
5
  "main": "dist/esm/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -41,7 +41,7 @@
41
41
  "node": ">=18"
42
42
  },
43
43
  "dependencies": {
44
- "@alaarab/ogrid-react": "2.5.9"
44
+ "@alaarab/ogrid-react": "2.6.0"
45
45
  },
46
46
  "peerDependencies": {
47
47
  "@fluentui/react-components": "^9.0.0",