import { useState } from 'react'; import { ActionIcon, type ActionIconProps, Tooltip } from '@mantine/core'; import { type HTMLPropsRef, type MRT_RowData, type MRT_TableInstance, } from '../../types'; interface Props extends ActionIconProps, HTMLPropsRef { table: MRT_TableInstance; } export const MRT_ToggleFullScreenButton = ({ table: { getState, options: { icons: { IconMaximize, IconMinimize }, localization: { toggleFullScreen }, }, setIsFullScreen, }, title, ...rest }: Props) => { 'use no memo'; const { isFullScreen } = getState(); const [tooltipOpened, setTooltipOpened] = useState(false); const handleToggleFullScreen = () => { setTooltipOpened(false); setIsFullScreen((current) => !current); }; return ( setTooltipOpened(true)} onMouseLeave={() => setTooltipOpened(false)} size="lg" variant="subtle" {...rest} > {isFullScreen ? : } ); };