import Box, { type BoxProps } from '@mui/material/Box'; import { type MRT_RowData, type MRT_TableInstance } from '../../types'; import { parseFromValuesOrFunc } from '../../utils/utils'; import { MRT_ShowHideColumnsButton } from '../buttons/MRT_ShowHideColumnsButton'; import { MRT_ToggleDensePaddingButton } from '../buttons/MRT_ToggleDensePaddingButton'; import { MRT_ToggleFiltersButton } from '../buttons/MRT_ToggleFiltersButton'; import { MRT_ToggleFullScreenButton } from '../buttons/MRT_ToggleFullScreenButton'; import { MRT_ToggleGlobalFilterButton } from '../buttons/MRT_ToggleGlobalFilterButton'; export interface MRT_ToolbarInternalButtonsProps extends BoxProps { table: MRT_TableInstance; } export const MRT_ToolbarInternalButtons = ({ table, ...rest }: MRT_ToolbarInternalButtonsProps) => { const { options: { columnFilterDisplayMode, enableColumnFilters, enableColumnOrdering, enableColumnPinning, enableDensityToggle, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableHiding, initialState, renderToolbarInternalActions, }, } = table; return ( ({ alignItems: 'center', display: 'flex', zIndex: 3, ...(parseFromValuesOrFunc(rest?.sx, theme) as any), })} > {renderToolbarInternalActions?.({ table, }) ?? ( <> {enableFilters && enableGlobalFilter && !initialState?.showGlobalFilter && ( )} {enableFilters && enableColumnFilters && columnFilterDisplayMode !== 'popover' && ( )} {(enableHiding || enableColumnOrdering || enableColumnPinning) && ( )} {enableDensityToggle && ( )} {enableFullScreenToggle && ( )} )} ); };