@vertisanpro/flowbite-react
Version:
Non-Official React components built for Flowbite and Tailwind CSS
12 lines (11 loc) • 684 B
JavaScript
'use client';
import { HiStar } from '@vertisanpro/react-icons/hi';
import { twMerge } from '@vertisanpro/tailwind-merge';
import React from 'react';
import { mergeDeep } from '../../helpers/merge-deep';
import { useRatingContext } from './RatingContext';
export const RatingStar = ({ className, filled = true, starIcon: Icon = HiStar, theme: customTheme = {}, ...props }) => {
const { theme: rootTheme, size = 'sm' } = useRatingContext();
const theme = mergeDeep(rootTheme.star, customTheme);
return (React.createElement(Icon, { "data-testid": "flowbite-rating-star", className: twMerge(theme.sizes[size], theme[filled ? 'filled' : 'empty'], className), ...props }));
};