diff --git a/src/base/Base.types.ts b/src/base/Base.types.ts index 166326e2..adde1e6e 100644 --- a/src/base/Base.types.ts +++ b/src/base/Base.types.ts @@ -27,8 +27,28 @@ interface DisplayData { export type ValueToDisplayData = Record; -export interface MultiValueButtonBaseProps { +export interface ValueRotationButtonBaseProps { tooltip?: string; + value: Value; + defaultValue?: Value; + values: Value[]; + setValue: (value: Value) => void; + valueToDisplayData: ValueToDisplayData; +} + +export interface ValueRotationButtonDefaultableProps extends OptionalProperty< + ValueRotationButtonBaseProps, + 'value' +> { + isDefaultable?: boolean; + onDefault?: () => void; +} + +export type ValueRotationButtonProps = + | (ValueRotationButtonBaseProps & PropertiesNever>) + | ValueRotationButtonDefaultableProps; + +export interface MultiValueButtonBaseProps { value: MultiValue; defaultValue?: Value; values: Value[]; diff --git a/src/base/components/buttons/ValueRotationButton.tsx b/src/base/components/buttons/ValueRotationButton.tsx index c13196f5..e5a1fae1 100644 --- a/src/base/components/buttons/ValueRotationButton.tsx +++ b/src/base/components/buttons/ValueRotationButton.tsx @@ -11,7 +11,7 @@ import { useMemo } from 'react'; import Button from '@mui/material/Button'; import { useLingui } from '@lingui/react/macro'; import { CustomTooltip } from '@/base/components/CustomTooltip.tsx'; -import type { MultiValueButtonProps } from '@/base/Base.types.ts'; +import type { ValueRotationButtonProps } from '@/base/Base.types.ts'; import { getNextRotationValue } from '@/base/utils/ValueRotationButton.utils.ts'; import { Superscript } from '@/base/components/texts/Superscript.tsx'; @@ -25,7 +25,7 @@ export const ValueRotationButton = ({ isDefaultable, onDefault, defaultIcon, -}: MultiValueButtonProps & { defaultIcon?: ReactNode }) => { +}: ValueRotationButtonProps & { defaultIcon?: ReactNode }) => { const { t } = useLingui(); const isDefault = value === undefined;