import React, { Component } from 'react';
import PropTypes from 'prop-types';
import ToggleStar from '@material-ui/icons/Star';
import ToggleStarBorder from '@material-ui/icons/StarBorder';
import { orange, grey } from '@material-ui/core/colors';
import { IconButton } from '@material-ui/core';
const styles = {
  disabled: {
    pointerEvents: 'none'
  }
};
class Rating extends Component {
  constructor(props) {
    super(props);
    this.state = {
      hoverValue: props.value
    };
  }
  renderIcon(i) {
    const filled = i <= this.props.value;
    const hovered = i <= this.state.hoverValue;
    if ((hovered && !filled) || (!hovered && filled)) {
      return this.props.iconHoveredRenderer ? this.props.iconHoveredRenderer({
        ...this.props,
        index: i
      }) : this.props.iconHovered;
    } if (filled) {
      return this.props.iconFilledRenderer ? this.props.iconFilledRenderer({
        ...this.props,
        index: i
      }) : this.props.iconFilled;
    }
    return this.props.iconNormalRenderer ? this.props.iconNormalRenderer({
      ...this.props,
      index: i
    }) : this.props.iconNormal;
  }
  render() {
    const {
      disabled,
      iconFilled,
      iconHovered,
      iconNormal,
      tooltip,
      tooltipRenderer,
      tooltipPosition,
      tooltipStyles,
      iconFilledRenderer,
      iconHoveredRenderer,
      iconNormalRenderer,
      itemStyle,
      itemClassName,
      itemIconStyle,
      max,
      onChange,
      readOnly,
      style,
      value,
      ...other
    } = this.props;
    const rating = [];
    for (let i = 1; i <= max; i += 1) {
      rating.push(