import { useState } from 'react'; import IconButton, { type IconButtonProps } from '@mui/material/IconButton'; import Tooltip from '@mui/material/Tooltip'; import { type MRT_RowData, type MRT_TableInstance } from '../../types'; export interface MRT_ToggleFullScreenButtonProps extends IconButtonProps { table: MRT_TableInstance; } export const MRT_ToggleFullScreenButton = ({ table, ...rest }: MRT_ToggleFullScreenButtonProps) => { const { getState, options: { icons: { FullscreenExitIcon, FullscreenIcon }, localization, }, setIsFullScreen, } = table; const { isFullScreen } = getState(); const [tooltipOpened, setTooltipOpened] = useState(false); const handleToggleFullScreen = () => { setTooltipOpened(false); setIsFullScreen(!isFullScreen); }; return ( setTooltipOpened(false)} onClick={handleToggleFullScreen} onFocus={() => setTooltipOpened(true)} onMouseEnter={() => setTooltipOpened(true)} onMouseLeave={() => setTooltipOpened(false)} {...rest} title={undefined} > {isFullScreen ? : } ); };