@vertisanpro/flowbite-react
Version:
Non-Official React components built for Flowbite and Tailwind CSS
21 lines (20 loc) • 939 B
JavaScript
'use client';
import { twMerge } from '@vertisanpro/tailwind-merge';
import React from 'react';
import { mergeDeep } from '../../helpers/merge-deep';
import { getTheme } from '../../theme-store';
import { RatingAdvanced } from './RatingAdvanced';
import { RatingContext } from './RatingContext';
import { RatingStar } from './RatingStar';
const RatingComponent = ({ children, className, size = 'sm', theme: customTheme = {}, ...props }) => {
const theme = mergeDeep(getTheme().rating, customTheme);
return (React.createElement(RatingContext.Provider, { value: { theme, size } },
React.createElement("div", { className: twMerge(theme.root.base, className), ...props }, children)));
};
RatingComponent.displayName = 'Rating';
RatingStar.displayName = 'Rating.Star';
RatingAdvanced.displayName = 'Rating.Advanced';
export const Rating = Object.assign(RatingComponent, {
Star: RatingStar,
Advanced: RatingAdvanced,
});