UNPKG

@kadoui/react

Version:

Kadoui primitive components for React

14 lines (13 loc) 828 B
"use client"; import { jsx as _jsx } from "react/jsx-runtime"; import { use } from "react"; import { RatingContext } from "./RatingContext"; export function RatingItems({ count, value, onValueChange, element, activeElement, ...p }) { const { hoverValue, setHoverValue } = use(RatingContext); const displayValue = hoverValue !== null ? hoverValue : value; return (Array.from({ length: count }).map((_, index) => { const itemValue = index + 1; const isActive = itemValue <= displayValue; return (_jsx("button", { role: "radio", type: "button", "aria-checked": itemValue === value, onClick: () => onValueChange(itemValue), onMouseEnter: () => setHoverValue(itemValue), "aria-label": `${itemValue} out of ${count} stars`, ...p, children: isActive ? activeElement : element }, index)); })); }