UNPKG

@botonic/react

Version:

Build Chatbots using React

23 lines 1.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RatingSelector = void 0; const jsx_runtime_1 = require("react/jsx-runtime"); const react_1 = require("react"); const smileys_1 = require("./smileys"); const stars_1 = require("./stars"); const styles_1 = require("./styles"); const types_1 = require("./types"); const NUMBER_OF_RATING_BUTTONS = 5; const RatingSelector = ({ color, isSent, onRatingChange, ratingValue, ratingType, valueSent, }) => { const [hover, setHover] = (0, react_1.useState)(valueSent ? valueSent : -1); const onHover = (ratingNumber) => { if (!valueSent) setHover(ratingNumber); }; return ((0, jsx_runtime_1.jsx)(styles_1.RatingSelectorContainer, Object.assign({ isSent: isSent }, { children: Array.from({ length: NUMBER_OF_RATING_BUTTONS }, (_star, i) => { const ratingNumber = i + 1; return ((0, jsx_runtime_1.jsxs)("div", Object.assign({ onMouseEnter: () => onHover(ratingNumber), onMouseLeave: () => onHover(ratingValue), onClick: () => onRatingChange(ratingNumber) }, { children: [ratingType === types_1.RatingType.Stars && ((0, jsx_runtime_1.jsx)(stars_1.Stars, { color: color, ratingNumber: ratingNumber, hover: hover })), ratingType === types_1.RatingType.Smileys && ((0, jsx_runtime_1.jsx)(smileys_1.Smileys, { color: color, ratingNumber: ratingNumber, hover: hover }))] }), i)); }) }))); }; exports.RatingSelector = RatingSelector; //# sourceMappingURL=rating-selector.js.map