Star-based rating input. Preset API surface is locked (size, value, max, allowHalf, readOnly, disabled, icon, emptyIcon) but the BaseRating container does not yet render interactive stars — tracked as carryforward debt. The showcase below demonstrates the structural container and confirms the Preset renders without console errors after the T1 ref-as-prop migration.
Each container exposes --_star-size, --_active-color, --_inactive-color, --_hover-color, --_gap CSS vars and a role="radiogroup" root, ready for star rendering once the implementation lands.
State flags propagate as data-readonly / data-disabled attributes on the container; component logic can hook those for styling.
value, max, allowHalf, icon, emptyIcon) no longer leak to the DOM container.