@botonic/react
Version:
Build Chatbots using React
19 lines • 1.26 kB
JavaScript
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { useState } from 'react';
import { Smileys } from './smileys';
import { Stars } from './stars';
import { RatingSelectorContainer } from './styles';
import { RatingType } from './types';
const NUMBER_OF_RATING_BUTTONS = 5;
export const RatingSelector = ({ color, isSent, onRatingChange, ratingValue, ratingType, valueSent, }) => {
const [hover, setHover] = useState(valueSent ? valueSent : -1);
const onHover = (ratingNumber) => {
if (!valueSent)
setHover(ratingNumber);
};
return (_jsx(RatingSelectorContainer, Object.assign({ isSent: isSent }, { children: Array.from({ length: NUMBER_OF_RATING_BUTTONS }, (_star, i) => {
const ratingNumber = i + 1;
return (_jsxs("div", Object.assign({ onMouseEnter: () => onHover(ratingNumber), onMouseLeave: () => onHover(ratingValue), onClick: () => onRatingChange(ratingNumber) }, { children: [ratingType === RatingType.Stars && (_jsx(Stars, { color: color, ratingNumber: ratingNumber, hover: hover })), ratingType === RatingType.Smileys && (_jsx(Smileys, { color: color, ratingNumber: ratingNumber, hover: hover }))] }), i));
}) })));
};
//# sourceMappingURL=rating-selector.js.map