import clsx from 'clsx'; import classes from './MRT_ToolbarInternalButtons.module.css'; import { Flex, type FlexProps } from '@mantine/core'; import { type MRT_RowData, type MRT_TableInstance } from '../../types'; 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'; interface Props extends FlexProps { table: MRT_TableInstance; } export const MRT_ToolbarInternalButtons = ({ table, ...rest }: Props) => { 'use no memo'; const { options: { columnFilterDisplayMode, enableColumnFilters, enableColumnOrdering, enableColumnPinning, enableDensityToggle, enableFilters, enableFullScreenToggle, enableGlobalFilter, enableHiding, initialState, renderToolbarInternalActions, }, } = table; return ( {renderToolbarInternalActions?.({ table }) ?? ( <> {enableFilters && enableGlobalFilter && !initialState?.showGlobalFilter && ( )} {enableFilters && enableColumnFilters && columnFilterDisplayMode !== 'popover' && ( )} {(enableHiding || enableColumnOrdering || enableColumnPinning) && ( )} {enableDensityToggle && ( )} {enableFullScreenToggle && ( )} )} ); };