@kiwicom/orbit-components
Version:
Orbit-components is a React component library which provides developers with the easiest possible way of building Kiwi.com’s products.
79 lines (60 loc) • 3.32 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var React = _interopRequireWildcard(require("react"));
var _styledComponents = _interopRequireDefault(require("styled-components"));
var _StarEmpty = _interopRequireDefault(require("../icons/StarEmpty"));
var _StarFull = _interopRequireDefault(require("../icons/StarFull"));
var _defaultTheme = _interopRequireDefault(require("../defaultTheme"));
var _consts = _interopRequireDefault(require("./consts"));
var _consts2 = require("../Icon/consts");
var _useTranslate = _interopRequireDefault(require("../hooks/useTranslate"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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; } }
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); }
function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); }
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }
var StyledRatingStars = _styledComponents.default.div.withConfig({
displayName: "RatingStars__StyledRatingStars",
componentId: "vyfznx-0"
})(["display:flex;flex-direction:row;justify-content:flex-start;flex-shrink:0;svg{flex-shrink:0;}"]);
StyledRatingStars.defaultProps = {
theme: _defaultTheme.default
};
var RatingStars = function RatingStars(_ref) {
var rating = _ref.rating,
_ref$size = _ref.size,
size = _ref$size === void 0 ? _consts2.ICON_SIZES.SMALL : _ref$size,
dataTest = _ref.dataTest,
_ref$color = _ref.color,
color = _ref$color === void 0 ? _consts2.ICON_COLORS.PRIMARY : _ref$color,
_ref$showEmpty = _ref.showEmpty,
showEmpty = _ref$showEmpty === void 0 ? false : _ref$showEmpty;
var translate = (0, _useTranslate.default)();
var ratingRounded = Math.round(rating);
var starsCount = showEmpty ? _consts.default : ratingRounded;
return React.createElement(StyledRatingStars, {
"data-test": dataTest,
size: size,
"aria-label": translate("ratingstar_description", {
number: ratingRounded,
total: starsCount
})
}, Array.apply(void 0, _toConsumableArray(Array(starsCount))).map(function (_, index) {
var key = "star-".concat(index);
return index <= ratingRounded - 1 ? React.createElement(_StarFull.default, {
key: key,
size: size,
color: color
}) : React.createElement(_StarEmpty.default, {
key: key,
size: size,
color: color
});
}));
};
var _default = RatingStars;
exports.default = _default;