Use our Tailwind CSS Rating
component to show reviews and ratings in your web projects. The Rating
can be used as a visual identifier for reviews and rating on your website.
See below our beautiful Rating
example that you can use in your Tailwind CSS and React project. The example also comes in different styles and colors so you can adapt it easily to your needs.
import { Rating } from "@material-tailwind/react";
export function DefaultRating() {
return <Rating value={4} />;
}
The Rating
component comes with 20 different colors that you can change it using the unratedColor
prop for the unrated state of Rating
component and ratedColor
prop for the rated state of Rating
component.
import { Rating } from "@material-tailwind/react";
export function RatingColors() {
return (
<div className="flex flex-col gap-4">
<Rating unratedColor="amber" ratedColor="amber" />
<Rating unratedColor="blue" ratedColor="blue" />
<Rating unratedColor="green" ratedColor="green" />
<Rating unratedColor="red" ratedColor="red" />
</div>
);
}
You can make a Rating
component readonly by using the readonly
prop. This will prevent the user from changing the rating.
import { Rating } from "@material-tailwind/react";
export function ReadonlyRating() {
return <Rating value={4} readonly />;
}
You can customize the Rating
component icon by using the unratedIcon
and ratedIcon
props.
import { Rating } from "@material-tailwind/react";
function RatedIcon() {
return (
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
fill="currentColor"
className="h-6 w-6"
>
<path d="M11.645 20.91l-.007-.003-.022-.012a15.247 15.247 0 01-.383-.218 25.18 25.18 0 01-4.244-3.17C4.688 15.36 2.25 12.174 2.25 8.25 2.25 5.322 4.714 3 7.688 3A5.5 5.5 0 0112 5.052 5.5 5.5 0 0116.313 3c2.973 0 5.437 2.322 5.437 5.25 0 3.925-2.438 7.111-4.739 9.256a25.175 25.175 0 01-4.244 3.17 15.247 15.247 0 01-.383.219l-.022.012-.007.004-.003.001a.752.752 0 01-.704 0l-.003-.001z" />
</svg>
);
}
function UnratedIcon() {
return (
<svg
xmlns="http://www.w3.org/2000/svg"
fill="none"
viewBox="0 0 24 24"
strokeWidth={1.5}
stroke="currentColor"
className="h-6 w-6"
>
<path
strokeLinecap="round"
strokeLinejoin="round"
d="M21 8.25c0-2.485-2.099-4.5-4.688-4.5-1.935 0-3.597 1.126-4.312 2.733-.715-1.607-2.377-2.733-4.313-2.733C5.1 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12z"
/>
</svg>
);
}
export function CustomRatingIcon() {
return (
<Rating
ratedColor="red"
ratedIcon={<RatedIcon />}
unratedIcon={<UnratedIcon />}
/>
);
}
Use the example below for a Rating
component with helper text.
Based on 134 Reviews
import React from "react";
import { Rating, Typography } from "@material-tailwind/react";
export function RatingWithText() {
const [rated, setRated] = React.useState(4);
return (
<div className="flex items-center gap-2 font-bold text-blue-gray-500">
{rated}.7
<Rating value={4} onChange={(value) => setRated(value)} />
<Typography color="blue-gray" className="font-medium text-blue-gray-500">
Based on 134 Reviews
</Typography>
</div>
);
}
Use the example below for a Rating
component with comment.
Lead Frontend Developer
import { Typography, Avatar, Rating } from "@material-tailwind/react";
export function RatingWithComment() {
return (
<div className="px-8 text-center">
<Typography variant="h2" color="blue-gray" className="mb-6 font-medium">
"This is an excellent product, the documentation is excellent and
helped me get things done more efficiently."
</Typography>
<Avatar
src="https://images.unsplash.com/flagged/photo-1570612861542-284f4c12e75f?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=2940&q=80"
alt="image"
size="lg"
/>
<Typography variant="h6" className="mt-4">
Tania Andrew
</Typography>
<Typography color="gray" className="mb-4 font-normal">
Lead Frontend Developer
</Typography>
<Rating value={5} readonly />
</div>
);
}