Files
decky-frontend-lib/src/components/SliderField.ts

34 lines
840 B
TypeScript
Raw Normal View History

2022-05-10 23:38:10 +02:00
import { FC } from 'react';
import { CommonUIModule } from '../webpack';
import { ItemProps } from './Item';
2022-05-10 23:38:10 +02:00
2022-06-05 15:07:47 +02:00
export interface NotchLabel {
2022-05-10 23:38:10 +02:00
notchIndex: number;
label: string;
value?: number;
2022-05-10 23:38:10 +02:00
}
export interface SliderFieldProps extends ItemProps {
2022-05-10 23:38:10 +02:00
value: number;
min?: number;
max?: number;
step?: number;
notchCount?: number;
notchLabels?: NotchLabel[];
notchTicksVisible?: boolean;
showValue?: boolean;
resetValue?: number;
disabled?: boolean;
editableValue?: boolean;
validValues?: 'steps' | 'range' | ((value: number) => boolean);
valueSuffix?: string;
minimumDpadGranularity?: number;
2022-05-10 23:38:10 +02:00
onChange?(value: number): void;
className?: string;
2022-05-10 23:38:10 +02:00
}
export const SliderField = Object.values(CommonUIModule).find((mod: any) =>
mod?.toString()?.includes('SliderField,fallback'),
) as FC<SliderFieldProps>;