import React from "react"; import { connect } from "react-redux"; import Slider from "rc-slider"; import { SET_BAND_FOCUS, UNSET_FOCUS } from "../../actionTypes"; import { AppState, Dispatch, Slider as SliderType } from "../../types"; interface StateProps { value: number; backgroundPosition: string; } interface DispatchProps { handleMouseDown(): void; handleMouseUp(): void; } interface OwnProps { id: string; band: SliderType; onChange(value: number): void; } type Props = StateProps & DispatchProps & OwnProps; const MAX_VALUE = 100; // Given a value between 1-100, return the sprite number (0-27) export const spriteNumber = (value: number): number => { const percent = value / 100; return Math.round(percent * 27); }; // Given a sprite number, return the x,y export const spriteOffsets = (number: number): { x: number; y: number } => { const x = number % 14; const y = Math.floor(number / 14); return { x, y }; }; const Handle = () =>
; const Band = ({ value, backgroundPosition, id, onChange, handleMouseDown, handleMouseUp, }: Props) => (