import type { IconButtonProps } from '@mui/material' import type { ReactNode } from 'react' import type { BaseWidgetState } from '../../../widgets/stores' export interface RelativeDataProps { /** Widget ID to update data in the widget store */ id: string /** Execution order in the tool pipeline. Lower values execute first. Defaults to 20. */ order?: number /** Initial toggle state - when true, shows relative (percentage) values */ defaultIsRelative?: boolean /** Custom labels for the action */ labels?: { /** Tooltip when showing absolute values (button will switch to relative) */ relative?: string /** Tooltip when showing relative values (button will switch to absolute) */ absolute?: string /** Accessibility label */ ariaLabel?: string } /** Props passed to the IconButton component */ IconButtonProps?: IconButtonProps /** Custom icon to display */ Icon?: ReactNode } export type RelativeDataState = BaseWidgetState< T & { isRelative?: boolean originalFormatter?: (value: number) => string originalMax?: number } >