// components/Rating.js import { Tag } from "sigpro"; export const Rating = (props, children) => { const { class: className, count, mask = "mask-star", value, onchange, ...rest } = props; const name = `rating-${Math.random().toString(36).slice(2, 7)}`; return Tag("div", { ...rest, class: `rating ${className || ''}`.trim() }, children || Array.from({ length: count || 5 }, (_, i) => { const starValue = i + 1; return Tag("input", { type: "radio", name, class: `mask ${mask}`, checked: () => typeof value === "function" ? value() === starValue : value === starValue, onchange: () => { if (onchange) onchange(starValue); else if (typeof value === "function") value(starValue); } }); })); };