Socket
Socket
Sign inDemoInstall

react-awesome-stars-rating

Package Overview
Dependencies
8
Maintainers
1
Versions
41
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.1.7 to 0.1.8

.DS_Store

3

.eslintrc.json

@@ -10,3 +10,4 @@ {

"env": {
"browser": true
"browser": true,
"jest": true
},

@@ -13,0 +14,0 @@ "plugins": ["prettier", "react", "jsx-a11y"],

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,11 +6,8 @@ Object.defineProperty(exports, "__esModule", {

});
exports.default = void 0;
var _react = require('react');
var _react = _interopRequireDefault(require("react"));
var _react2 = _interopRequireDefault(_react);
var _propTypes = _interopRequireDefault(require("prop-types"));
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -20,35 +17,40 @@

var primaryColor = _ref.primaryColor,
primaryOffset = _ref.primaryOffset,
secondaryColor = _ref.secondaryColor,
secondaryOffset = _ref.secondaryOffset;
offset = _ref.offset,
index = _ref.index,
value = _ref.value;
return _react2.default.createElement(
'defs',
null,
_react2.default.createElement(
'linearGradient',
{ id: 'full' },
_react2.default.createElement('stop', { offset: '100%', stopColor: primaryColor })
),
_react2.default.createElement(
'linearGradient',
{ id: 'none' },
_react2.default.createElement('stop', { offset: '100%', stopColor: secondaryColor })
),
_react2.default.createElement(
'linearGradient',
{ id: 'half' },
_react2.default.createElement('stop', { offset: primaryOffset + '%', stopColor: primaryColor }),
_react2.default.createElement('stop', { offset: secondaryOffset + '%', stopColor: secondaryColor })
)
);
if (index === 1) {
offset = value % 1 * 100;
}
return index === 1 && _react.default.createElement("defs", null, _react.default.createElement("linearGradient", {
id: "full"
}, _react.default.createElement("stop", {
offset: "100%",
stopColor: primaryColor
})), _react.default.createElement("linearGradient", {
id: "none"
}, _react.default.createElement("stop", {
offset: "100%",
stopColor: secondaryColor
})), _react.default.createElement("linearGradient", {
id: "half"
}, _react.default.createElement("stop", {
offset: "".concat(offset, "%"),
stopColor: primaryColor
}), _react.default.createElement("stop", {
offset: "".concat(offset, "%"),
stopColor: secondaryColor
})));
};
Gradient.propTypes = {
primaryColor: _propTypes2.default.string.isRequired,
primaryOffset: _propTypes2.default.number.isRequired,
secondaryColor: _propTypes2.default.string.isRequired,
secondaryOffset: _propTypes2.default.number.isRequired
primaryColor: _propTypes.default.string.isRequired,
secondaryColor: _propTypes.default.string.isRequired,
offset: _propTypes.default.number,
index: _propTypes.default.number.isRequired,
value: _propTypes.default.number.isRequired
};
exports.default = Gradient;
var _default = Gradient;
exports.default = _default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,39 +6,51 @@ Object.defineProperty(exports, "__esModule", {

});
exports.default = void 0;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _react = _interopRequireWildcard(require("react"));
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _propTypes = _interopRequireDefault(require("prop-types"));
var _react = require('react');
var _star = _interopRequireDefault(require("./star"));
var _react2 = _interopRequireDefault(_react);
var _styles = _interopRequireDefault(require("./styles"));
var _propTypes = require('prop-types');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var _propTypes2 = _interopRequireDefault(_propTypes);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
var _star = require('./star');
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
var _star2 = _interopRequireDefault(_star);
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
var _styles = require('./styles');
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
var _styles2 = _interopRequireDefault(_styles);
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
var ReactStarsRating = function (_PureComponent) {
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
var ReactStarsRating =
/*#__PURE__*/
function (_PureComponent) {
_inherits(ReactStarsRating, _PureComponent);
function ReactStarsRating(props) {
var _this;
_classCallCheck(this, ReactStarsRating);
var _this = _possibleConstructorReturn(this, (ReactStarsRating.__proto__ || Object.getPrototypeOf(ReactStarsRating)).call(this, props));
_this = _possibleConstructorReturn(this, _getPrototypeOf(ReactStarsRating).call(this, props));
_this.state = {

@@ -48,8 +60,7 @@ value: props.value,

};
_this.onMouseMove = _this.onMouseMove.bind(_this);
_this.onMouseLeave = _this.onMouseLeave.bind(_this);
_this.onChange = _this.onChange.bind(_this);
_this.onKeyDown = _this.onKeyDown.bind(_this);
_this.onBlur = _this.onBlur.bind(_this);
_this.onMouseMove = _this.onMouseMove.bind(_assertThisInitialized(_assertThisInitialized(_this)));
_this.onMouseLeave = _this.onMouseLeave.bind(_assertThisInitialized(_assertThisInitialized(_this)));
_this.onChange = _this.onChange.bind(_assertThisInitialized(_assertThisInitialized(_this)));
_this.onKeyDown = _this.onKeyDown.bind(_assertThisInitialized(_assertThisInitialized(_this)));
_this.onBlur = _this.onBlur.bind(_assertThisInitialized(_assertThisInitialized(_this)));
return _this;

@@ -59,23 +70,21 @@ }

_createClass(ReactStarsRating, [{
key: 'componentDidUpdate',
key: "componentDidUpdate",
value: function componentDidUpdate(prevProps) {
if (this.props.value !== prevProps.value) {
this.setState({ value: this.props.value });
this.setState({
value: this.props.value
});
}
}
}, {
key: 'isMoreThanHalf',
key: "isMoreThanHalf",
value: function isMoreThanHalf(event) {
var size = this.props.size;
var point = event.clientX - event.target.getBoundingClientRect().left;
return point > size / 2;
}
}, {
key: 'onMouseMove',
key: "onMouseMove",
value: function onMouseMove(event) {
var isHalf = this.props.isHalf;
var value = Number(event.target.getAttribute('data-stars'));

@@ -91,30 +100,30 @@

this.setState({ value: value });
this.setState({
value: value
});
}
}, {
key: 'onMouseLeave',
key: "onMouseLeave",
value: function onMouseLeave() {
var value = this.props.value;
this.setState({ value: value || 0 });
this.setState({
value: value || 0
});
}
}, {
key: 'onBlur',
key: "onBlur",
value: function onBlur() {
var onChange = this.props.onChange;
var value = this.state.value;
onChange(value);
this.setState({ isSubmitted: true });
this.setState({
isSubmitted: true
});
}
}, {
key: 'onChange',
key: "onChange",
value: function onChange(event) {
var _props = this.props,
onChange = _props.onChange,
isHalf = _props.isHalf;
var _this$props = this.props,
onChange = _this$props.onChange,
isHalf = _this$props.isHalf;
var value = Number(event.target.getAttribute('data-stars'));

@@ -133,31 +142,34 @@

}, {
key: 'onChangeStars',
key: "onChangeStars",
value: function onChangeStars(newValue) {
var value = this.state.value;
var _props2 = this.props,
count = _props2.count,
isArrowSubmit = _props2.isArrowSubmit,
onChange = _props2.onChange;
var count = this.props.count;
if (value > 0 || value < count) {
var _this$props2 = this.props,
isArrowSubmit = _this$props2.isArrowSubmit,
onChange = _this$props2.onChange;
if (value > 0 && newValue < 0 || value < count && newValue > 0) {
value += newValue;
if (value > 0 && newValue < 0 || value < count && newValue > 0) {
value = (value % 1 === 0.5 ? value : Math.round(value)) + newValue;
}
this.setState({ value: value });
}
this.setState({
value: value
});
if (isArrowSubmit) {
onChange(value);
if (isArrowSubmit) {
onChange(value);
}
}
}
}, {
key: 'onKeyDown',
key: "onKeyDown",
value: function onKeyDown(event) {
var keyCode = event.keyCode;
var value = this.state.value;
var _props3 = this.props,
isHalf = _props3.isHalf,
onChange = _props3.onChange;
var _this$props3 = this.props,
isHalf = _this$props3.isHalf,
onChange = _this$props3.onChange;
switch (keyCode) {

@@ -167,8 +179,11 @@ case 37:

break;
case 39:
this.onChangeStars(isHalf ? 0.5 : 1);
break;
case 13:
onChange(value);
break;
default:

@@ -179,19 +194,21 @@ break;

}, {
key: 'renderStars',
key: "renderStars",
value: function renderStars() {
var _props4 = this.props,
count = _props4.count,
size = _props4.size,
isHalf = _props4.isHalf,
isEdit = _props4.isEdit,
primaryColor = _props4.primaryColor,
secondaryColor = _props4.secondaryColor,
starGap = _props4.starGap;
var _this$props4 = this.props,
count = _this$props4.count,
size = _this$props4.size,
isHalf = _this$props4.isHalf,
isEdit = _this$props4.isEdit,
primaryColor = _this$props4.primaryColor,
secondaryColor = _this$props4.secondaryColor,
starGap = _this$props4.starGap;
var value = this.state.value;
var starsList = [];
var props = { primaryColor: primaryColor, secondaryColor: secondaryColor, isEdit: isEdit };
var props = {
primaryColor: primaryColor,
secondaryColor: secondaryColor
};
if (isEdit) {
props = _extends({}, props, {
props = _objectSpread({}, props, {
onMouseMove: this.onMouseMove,

@@ -204,14 +221,15 @@ onMouseLeave: this.onMouseLeave,

for (var i = 1; i <= count; i++) {
var style = i !== count ? { paddingRight: starGap } : null;
starsList.push(_react2.default.createElement(
'span',
{ key: 'react-stars-rating-char' + i, style: style },
_react2.default.createElement(_star2.default, _extends({
index: i,
value: value,
size: size,
isHalf: isHalf
}, props))
));
var style = i !== count ? {
paddingRight: starGap
} : null;
starsList.push(_react.default.createElement("span", {
key: "react-stars-rating-char".concat(i),
className: "star star-".concat(i),
style: style
}, _react.default.createElement(_star.default, _extends({
index: i,
value: value,
size: size,
isHalf: isHalf
}, props))));
}

@@ -222,14 +240,14 @@

}, {
key: 'render',
key: "render",
value: function render() {
var _props5 = this.props,
isEdit = _props5.isEdit,
className = _props5.className,
isArrowSubmit = _props5.isArrowSubmit;
var _this$props5 = this.props,
isEdit = _this$props5.isEdit,
className = _this$props5.className,
isArrowSubmit = _this$props5.isArrowSubmit;
var stars = this.renderStars();
var props = { tabIndex: -1 };
var props = {
tabIndex: -1
};
var isSubmitted = this.state.isSubmitted;
if ((isEdit || isArrowSubmit) && !isSubmitted) {

@@ -243,12 +261,9 @@ props = {

return _react2.default.createElement(
'span',
_extends({
role: 'button',
className: className
}, props, {
style: isEdit ? _styles2.default.activeContainer : _styles2.default.inActiveContainer
}),
stars
);
return _react.default.createElement("span", _extends({
id: "react-awesome-stars-rating",
role: "button",
className: className
}, props, {
style: isEdit ? _styles.default.activeContainer : _styles.default.inActiveContainer
}), stars);
}

@@ -261,15 +276,14 @@ }]);

ReactStarsRating.propTypes = {
onChange: _propTypes2.default.func,
count: _propTypes2.default.number.isRequired,
value: _propTypes2.default.number.isRequired,
size: _propTypes2.default.number.isRequired,
primaryColor: _propTypes2.default.string.isRequired,
secondaryColor: _propTypes2.default.string.isRequired,
isEdit: _propTypes2.default.bool.isRequired,
isHalf: _propTypes2.default.bool.isRequired,
className: _propTypes2.default.string.isRequired,
starGap: _propTypes2.default.number.isRequired,
isArrowSubmit: _propTypes2.default.bool.isRequired
onChange: _propTypes.default.func.isRequired,
count: _propTypes.default.number.isRequired,
value: _propTypes.default.number.isRequired,
size: _propTypes.default.number.isRequired,
primaryColor: _propTypes.default.string.isRequired,
secondaryColor: _propTypes.default.string.isRequired,
isEdit: _propTypes.default.bool.isRequired,
isHalf: _propTypes.default.bool.isRequired,
className: _propTypes.default.string.isRequired,
starGap: _propTypes.default.number.isRequired,
isArrowSubmit: _propTypes.default.bool.isRequired
};
ReactStarsRating.defaultProps = {

@@ -285,5 +299,6 @@ isEdit: true,

starGap: 0,
isArrowSubmit: false
isArrowSubmit: false,
onChange: function onChange() {}
};
exports.default = ReactStarsRating;
var _default = ReactStarsRating;
exports.default = _default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,15 +6,10 @@ Object.defineProperty(exports, "__esModule", {

});
exports.default = void 0;
var _react = require('react');
var _react = _interopRequireDefault(require("react"));
var _react2 = _interopRequireDefault(_react);
var _propTypes = _interopRequireDefault(require("prop-types"));
var _propTypes = require('prop-types');
var _gradient = _interopRequireDefault(require("./gradient"));
var _propTypes2 = _interopRequireDefault(_propTypes);
var _gradient = require('./gradient');
var _gradient2 = _interopRequireDefault(_gradient);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

@@ -34,23 +29,8 @@

fill = _ref.fill,
isEdit = _ref.isEdit,
primaryOffset = _ref.primaryOffset,
secondaryOffset = _ref.secondaryOffset;
offset = _ref.offset;
if (isEdit) {
if (index <= value) {
fill = 'url(#full)';
} else if (isHalf && index - 0.5 === value) {
fill = 'url(#half)';
}
} else {
if (index === 1) {
var rest = value - Math.floor(value) || 1;
primaryOffset = Math.round(rest * 100);
}
var ceilValue = Math.ceil(value);
if (index < value) {
fill = 'url(#full)';
} else if (isHalf && index === ceilValue) {
fill = 'url(#half)';
}
if (index <= value) {
fill = 'url(#full)';
} else if (isHalf && Math.ceil(value) === index) {
fill = 'url(#half)';
}

@@ -60,52 +40,43 @@

primaryColor: primaryColor,
primaryOffset: primaryOffset,
secondaryColor: secondaryColor,
secondaryOffset: secondaryOffset
offset: offset,
index: index,
value: value
};
return _react2.default.createElement(
'svg',
{
width: size,
viewBox: viewBox,
xmlns: 'http://www.w3.org/2000/svg',
xmlnsXlink: 'http://www.w3.org/1999/xlink',
onMouseLeave: onMouseLeave,
onClick: onChange,
'data-stars': index,
onMouseMove: onMouseMove
},
index === 1 && _react2.default.createElement(_gradient2.default, props),
_react2.default.createElement('polygon', {
fill: fill,
points: '153,230.775 247.35,299.625 211.65,187.425 306,121.125 191.25,121.125 153,6.375 114.75,121.125 0,121.125 94.35,187.425 58.65,299.625',
pointerEvents: 'none'
})
);
return _react.default.createElement("svg", {
width: size,
viewBox: viewBox,
xmlns: "http://www.w3.org/2000/svg",
xmlnsXlink: "http://www.w3.org/1999/xlink",
onMouseLeave: onMouseLeave,
onClick: onChange,
"data-stars": index,
onMouseMove: onMouseMove
}, _react.default.createElement(_gradient.default, props), _react.default.createElement("polygon", {
fill: fill,
points: "153,230.775 247.35,299.625 211.65,187.425 306,121.125 191.25,121.125 153,6.375 114.75,121.125 0,121.125 94.35,187.425 58.65,299.625",
pointerEvents: "none"
}));
};
StarSVG.propTypes = {
viewBox: _propTypes2.default.string,
size: _propTypes2.default.number.isRequired,
primaryColor: _propTypes2.default.string.isRequired,
secondaryColor: _propTypes2.default.string.isRequired,
onMouseLeave: _propTypes2.default.func,
onMouseMove: _propTypes2.default.func,
onChange: _propTypes2.default.func,
isHalf: _propTypes2.default.bool.isRequired,
fill: _propTypes2.default.string,
index: _propTypes2.default.number.isRequired,
value: _propTypes2.default.number.isRequired,
isEdit: _propTypes2.default.bool.isRequired,
primaryOffset: _propTypes2.default.number.isRequired,
secondaryOffset: _propTypes2.default.number.isRequired
viewBox: _propTypes.default.string,
size: _propTypes.default.number.isRequired,
primaryColor: _propTypes.default.string.isRequired,
secondaryColor: _propTypes.default.string.isRequired,
onMouseLeave: _propTypes.default.func,
onMouseMove: _propTypes.default.func,
onChange: _propTypes.default.func,
isHalf: _propTypes.default.bool.isRequired,
fill: _propTypes.default.string,
index: _propTypes.default.number.isRequired,
value: _propTypes.default.number.isRequired,
offset: _propTypes.default.number.isRequired
};
StarSVG.defaultProps = {
viewBox: '0 0 306 306',
fill: 'url(#none)',
primaryOffset: 50,
secondaryOffset: 50
offset: 50
};
exports.default = StarSVG;
var _default = StarSVG;
exports.default = _default;

@@ -1,2 +0,2 @@

'use strict';
"use strict";

@@ -6,3 +6,4 @@ Object.defineProperty(exports, "__esModule", {

});
exports.default = {
exports.default = void 0;
var _default = {
activeContainer: {

@@ -17,2 +18,3 @@ border: 'none',

}
};
};
exports.default = _default;
{
"name": "react-awesome-stars-rating",
"version": "0.1.7",
"version": "0.1.8",
"description": "",

@@ -9,5 +9,15 @@ "main": "./dist/index.js",

"clean": "./node_modules/.bin/rimraf dist/",
"build": "babel src --presets babel-preset-env --out-dir dist",
"prepublishOnly": "npm run build"
"build": "babel src --out-dir dist",
"prepublishOnly": "npm run build",
"test": "jest",
"test:watch": "jest --watch",
"test:coverage": "jest --coverage",
"coveralls": "jest --coverage && cat coverage/lcov.info | coveralls"
},
"jest": {
"setupTestFrameworkScriptFile": "<rootDir>__tests__/setup/setupEnzyme.js",
"testPathIgnorePatterns": [
"<rootDir>/__tests__/setup/"
]
},
"keywords": [

@@ -33,32 +43,36 @@ "react",

"prop-types": "^15.6.2",
"react": "^16.4.2",
"react-dom": "^16.4.2"
"react": "^16.8.1",
"react-dom": "^16.8.1"
},
"devDependencies": {
"babel-cli": "^6.26.0",
"babel-core": "^6.26.3",
"babel-eslint": "^8.2.6",
"babel-loader": "^7.1.5",
"babel-plugin-transform-object-rest-spread": "^6.26.0",
"babel-preset-env": "^1.7.0",
"babel-preset-react": "^6.24.1",
"eslint": "^5.4.0",
"@babel/cli": "^7.2.3",
"@babel/core": "^7.2.2",
"@babel/plugin-proposal-object-rest-spread": "^7.3.1",
"@babel/preset-env": "^7.3.1",
"@babel/preset-react": "^7.0.0",
"babel-eslint": "^10.0.1",
"babel-loader": "^8.0.5",
"coveralls": "^3.0.3",
"enzyme": "^3.8.0",
"enzyme-adapter-react-16": "^1.8.0",
"eslint": "^5.12.1",
"eslint-config-prettier": "^2.10.0",
"eslint-config-react-app": "^2.1.0",
"eslint-loader": "^2.1.0",
"eslint-plugin-flowtype": "^2.50.0",
"eslint-plugin-import": "^2.14.0",
"eslint-plugin-jsx-a11y": "^6.1.1",
"eslint-plugin-prettier": "^2.6.2",
"eslint-plugin-react": "^7.11.1",
"eslint-loader": "^2.1.1",
"eslint-plugin-flowtype": "^2.50.3",
"eslint-plugin-import": "^2.15.0",
"eslint-plugin-jsx-a11y": "^6.2.0",
"eslint-plugin-prettier": "^2.7.0",
"eslint-plugin-react": "^7.12.4",
"html-webpack-plugin": "^3.2.0",
"prettier": "^1.14.2",
"react-redux": "^5.0.7",
"redux": "^4.0.0",
"redux-form": "^7.4.2",
"rimraf": "^2.6.2",
"webpack": "^4.17.1",
"webpack-cli": "^3.1.0",
"webpack-dev-server": "^3.1.6"
"jest": "^24.0.0",
"prettier": "^1.16.1",
"react-redux": "^6.0.0",
"redux": "^4.0.1",
"redux-form": "^8.1.0",
"rimraf": "^2.6.3",
"webpack": "^4.29.0",
"webpack-cli": "^3.2.1",
"webpack-dev-server": "^3.1.14"
}
}

@@ -1,5 +0,20 @@

# React Awesome Stars Rating &middot; [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/fedoryakubovich/react-awesome-stars-rating/blob/master/LICENSE) [![npm version](https://img.shields.io/npm/v/react-awesome-stars-rating.svg?style=flat)](https://www.npmjs.com/package/react-awesome-stars-rating)
# React Awesome Stars Rating &middot; [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/fedoryakubovich/react-awesome-stars-rating/blob/master/LICENSE) [![npm version](https://img.shields.io/npm/v/react-awesome-stars-rating.svg?style=flat)](https://www.npmjs.com/package/react-awesome-stars-rating) [![Build Status](https://img.shields.io/travis/fedoryakubovich/react-awesome-stars-rating/master.svg)](https://travis-ci.org/) [![Coverage Status](https://coveralls.io/repos/fedoryakubovich/react-awesome-stars-rating/badge.svg?branch=master)](https://coveralls.io/github/fedoryakubovich/react-awesome-stars-rating?branch=master)
React Awesome Stars Rating is a simple star component with easy integration for your React applications.
## Table of Contents
- [Previews](#previews)
- [Features](#features)
- [Installation](#installation)
- [Usage](#usage)
- [Examples](#examples)
- [Documentation](#documentation)
## Previews
![react-awesome-stars-rating preview](https://github.com/fedoryakubovich/react-awesome-stars-rating/blob/release/v0.1.8/images/gifs/react-awesome-stars-rating.gif)
## Features
- Half stars

@@ -12,9 +27,2 @@ - Custom size and color

## Table of Contents
- [Installation](#installation)
- [Usage](#usage)
- [Examples](#examples)
- [Documentation](#documentation)
## Installation

@@ -21,0 +29,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc