react-circular-slider-svg
Version:
A circular slider React component
45 lines (44 loc) • 1.74 kB
TypeScript
import * as React from "react";
import { AngleDescription } from "./circularGeometry";
type Props = {
size: number;
trackWidth: number;
minValue: number;
maxValue: number;
startAngle: number;
endAngle: number;
angleType: AngleDescription;
handleSize: number;
handle1: {
value: number;
onChange?: (value: number) => void;
color?: string;
};
handle2?: {
value: number;
onChange: (value: number) => void;
color?: string;
};
onControlFinished?: () => void;
disabled?: boolean;
arcColor: string;
arcBackgroundColor: string;
coerceToInt?: boolean;
outerShadow?: boolean;
};
export declare class CircularSlider extends React.Component<React.PropsWithChildren<Props>> {
static defaultProps: Pick<Props, "size" | "trackWidth" | "minValue" | "maxValue" | "startAngle" | "endAngle" | "angleType" | "arcBackgroundColor" | "handleSize">;
svgRef: React.RefObject<SVGSVGElement | null>;
onMouseEnter: (ev: React.MouseEvent<SVGSVGElement>) => void;
onMouseDown: (ev: React.MouseEvent<SVGSVGElement>) => void;
removeMouseListeners: () => void;
handleMousePosition: (ev: React.MouseEvent<SVGSVGElement> | MouseEvent) => void;
onTouch: (ev: React.TouchEvent<SVGSVGElement>) => void;
processSelection: (x: number, y: number) => void;
render(): React.JSX.Element;
}
export declare class CircularSliderWithChildren extends React.Component<React.PropsWithChildren<Props>> {
static defaultProps: Pick<Props, "size" | "minValue" | "maxValue" | "startAngle" | "endAngle" | "angleType" | "trackWidth" | "arcBackgroundColor" | "handleSize">;
render(): React.JSX.Element;
}
export default CircularSlider;