Create seprate props for ValueRotationButton

This commit is contained in:
schroda
2026-06-02 13:23:13 +02:00
parent 9d05f87d8e
commit a016f0574e
2 changed files with 23 additions and 3 deletions

View File

@@ -27,8 +27,28 @@ interface DisplayData {
export type ValueToDisplayData<Value extends string | number> = Record<Value, DisplayData>;
export interface MultiValueButtonBaseProps<Value extends string | number, MultiValue extends Value | Value[] = Value> {
export interface ValueRotationButtonBaseProps<Value extends string | number> {
tooltip?: string;
value: Value;
defaultValue?: Value;
values: Value[];
setValue: (value: Value) => void;
valueToDisplayData: ValueToDisplayData<Value>;
}
export interface ValueRotationButtonDefaultableProps<Value extends string | number> extends OptionalProperty<
ValueRotationButtonBaseProps<Value>,
'value'
> {
isDefaultable?: boolean;
onDefault?: () => void;
}
export type ValueRotationButtonProps<Value extends string | number> =
| (ValueRotationButtonBaseProps<Value> & PropertiesNever<ValueRotationButtonDefaultableProps<Value>>)
| ValueRotationButtonDefaultableProps<Value>;
export interface MultiValueButtonBaseProps<Value extends string | number, MultiValue extends Value | Value[] = Value> {
value: MultiValue;
defaultValue?: Value;
values: Value[];