diff --git a/src/Rating/Rating.jsx b/src/Rating/Rating.jsx
new file mode 100644
index 0000000..3a68930
--- /dev/null
+++ b/src/Rating/Rating.jsx
@@ -0,0 +1,117 @@
+'use strict';
+
+import React, {PropTypes} from 'react';
+
+import Icon from '../FontIcon';
+
+import { StyleSheet, css } from '../helpers/styles';
+
+class Rating extends React.Component {
+ static propTypes = {
+ /**
+ * Current Rate
+ */
+ currentRate: PropTypes.oneOf([0, 1, 2, 3, 4, 5]),
+ /**
+ * Rating stars size
+ */
+ size: PropTypes.oneOf([
+ 's',
+ 'l'
+ ]),
+ /**
+ * On change event handler
+ */
+ onChange: PropTypes.func,
+ /**
+ * is rating choice active
+ */
+ active: PropTypes.bool
+ };
+
+ static defaultProps = {
+ rate: 0,
+ size: 's',
+ active: true
+ };
+
+ constructor(props) {
+ super(props);
+ this.state = {
+ hoveredRate: null
+ };
+ };
+
+ onStarMouseEnter(rate) {
+ this.props.active && this.setState({ hoveredRate: rate });
+ };
+
+ onStarMouseLeave() {
+ this.props.active && this.setState({ hoveredRate: null });
+ };
+
+ onStarClick(rate) {
+ this.props.active && rate !== this.props.currentRate && this.props.onChange && this.props.onChange(rate);
+ };
+
+ renderStars() {
+
+ return [1, 2, 3, 4, 5].map((rate, idx) => {
+ const shownRate = this.state.hoveredRate ? this.state.hoveredRate : this.props.currentRate;
+ return (
+