# Rating Group Rating Group allows users to rate something ```tsx import { RatingGroup } from '@skeletonlabs/skeleton-react'; export default function Default() { return ( {(ratingGroup) => ratingGroup.items.map((index) => )} ); } ``` ## Allow Half ```tsx import { RatingGroup } from '@skeletonlabs/skeleton-react'; export default function Half() { return ( {(ratingGroup) => ratingGroup.items.map((index) => )} ); } ``` ## Custom Icons ```tsx import { RatingGroup } from '@skeletonlabs/skeleton-react'; import { BoneIcon, SkullIcon } from 'lucide-react'; export default function CustomIcons() { return ( {(ratingGroup) => ratingGroup.items.map((index) => } full={} />) } ); } ``` ## Label ```tsx import { RatingGroup } from '@skeletonlabs/skeleton-react'; export default function Label() { return ( Rate us: {(ratingGroup) => ratingGroup.items.map((index) => )} ); } ``` ## Disabled ```tsx import { RatingGroup } from '@skeletonlabs/skeleton-react'; export default function Page() { return ( {(ratingGroup) => ratingGroup.items.map((index) => )} ); } ``` ## Direction ```tsx import { RatingGroup } from '@skeletonlabs/skeleton-react'; export default function Dir() { return ( Label {(ratingGroup) => ratingGroup.items.map((index) => )} ); } ``` ## API Reference ### RatingGroupRootProps | Property | Default | Type | Description | | -------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | | ids? | - | Partial\<\{ root: string; label: string; hiddenInput: string; control: string; item: (id: string) => string; }> \| undefined | The ids of the elements in the rating. Useful for composition. | | translations? | - | IntlTranslations \| undefined | Specifies the localized strings that identifies the accessibility elements and their states | | count? | 5 | number \| undefined | The total number of ratings. | | name? | - | string \| undefined | The name attribute of the rating element (used in forms). | | form? | - | string \| undefined | The associate form of the underlying input element. | | value? | - | number \| undefined | The controlled value of the rating | | defaultValue? | - | number \| undefined | The initial value of the rating when rendered. Use when you don't need to control the value of the rating. | | readOnly? | - | boolean \| undefined | Whether the rating is readonly. | | disabled? | - | boolean \| undefined | Whether the rating is disabled. | | required? | - | boolean \| undefined | Whether the rating is required. | | allowHalf? | - | boolean \| undefined | Whether to allow half stars. | | autoFocus? | - | boolean \| undefined | Whether to autofocus the rating. | | onValueChange? | - | ((details: ValueChangeDetails) => void) \| undefined | Function to be called when the rating value changes. | | onHoverChange? | - | ((details: HoverChangeDetails) => void) \| undefined | Function to be called when the rating value is hovered. | | dir? | "ltr" | "ltr" \| "rtl" \| undefined | The document's text/writing direction. | | getRootNode? | - | (() => ShadowRoot \| Node \| Document) \| undefined | A root node to correctly resolve document in custom environments. E.x.: Iframes, Electron. | | element? | - | ((attributes: HTMLAttributes\<"div">) => Element) \| undefined | Render the element yourself | ### RatingGroupRootProviderProps | Property | Default | Type | Description | | -------- | ------- | -------------------------------------------------------------- | --------------------------- | | value | - | RatingGroupApi\ | - | | element? | - | ((attributes: HTMLAttributes\<"div">) => Element) \| undefined | Render the element yourself | ### RatingGroupRootContextProps | Property | Default | Type | Description | | -------- | ------- | ------------------------------------------------------ | ----------- | | children | - | (ratingGroup: RatingGroupApi\) => ReactNode | - | ### RatingGroupLabelProps | Property | Default | Type | Description | | -------- | ------- | ---------------------------------------------------------------- | --------------------------- | | element? | - | ((attributes: HTMLAttributes\<"label">) => Element) \| undefined | Render the element yourself | ### RatingGroupControlProps | Property | Default | Type | Description | | -------- | ------- | -------------------------------------------------------------- | --------------------------- | | element? | - | ((attributes: HTMLAttributes\<"div">) => Element) \| undefined | Render the element yourself | ### RatingGroupItemProps | Property | Default | Type | Description | | -------- | --------------- | --------------------------------------------------------------- | ---------------------------------------------------------- | | empty? | StarEmpty (SVG) | ReactNode | The content to render when the item is in the empty state. | | half? | StarHalf (SVG) | ReactNode | The content to render when the item is in the half state. | | full? | StarFull (SVG) | ReactNode | The content to render when the item is in the full state. | | index | - | number | - | | element? | - | ((attributes: HTMLAttributes\<"span">) => Element) \| undefined | Render the element yourself | ### RatingGroupHiddenInputProps | Property | Default | Type | Description | | -------- | ------- | ---------------------------------------------------------------- | --------------------------- | | element? | - | ((attributes: HTMLAttributes\<"input">) => Element) \| undefined | Render the element yourself |