Data display
Rating
Collects or presents a bounded star-based score.
01
See it and copy it
Framework example
Choose Astro, React, or Elements to compare native usage against the shared visual output. Each example assumes the framework-level setup is already complete.
Framework usage
Switch targets to compare the adapter code. The preview stays visually stable because all three packages share the same tokens andui-* class contract.---
import { Rating } from '@santi020k/lumen-astro'
---
<div style="display: flex; flex-direction: column; gap: 1rem;">
<Rating aria-label="Empty rating" max={5} />
<Rating aria-label="Filled rating" value={3} max={5} />
</div>import { Rating } from '@santi020k/lumen-react'
export const Example = () => (
<>
<div style={{ display: 'flex', flexDirection: 'column', gap: '1rem' }}>
<Rating aria-label="Empty rating" max={5} />
<Rating aria-label="Filled rating" value={3} max={5} />
</div>
</>
)<script type="module">
import { defineLumenElements } from '@santi020k/lumen-elements/define'
defineLumenElements()
</script>
<div style="display: flex; flex-direction: column; gap: 1rem;">
<lumen-rating aria-label="Empty rating" max="5"></lumen-rating>
<lumen-rating aria-label="Filled rating" value="3" max="5"></lumen-rating>
</div>02
Choose your target
Add this component
Choose the package for your runtime. All adapters share the Lumen stylesheet. Use the matching registry command when you want a local wrapper for that framework.
pnpm add @santi020k/lumen-astropnpm add @santi020k/lumen-astrolumen add Ratinglumen add Ratingpnpm add @santi020k/lumen-reactpnpm add @santi020k/lumen-reactlumen add Rating --target reactlumen add Rating --target reactpnpm add @santi020k/lumen-elementspnpm add @santi020k/lumen-elementslumen add Rating --target elementslumen add Rating --target elementsAPI reference
Lumen-specific props and runtime attributes for the Astro primitive. React props follow the same names; Elements use equivalent kebab-case attributes where custom elements expose them.
| Attribute | Values | Default | Description |
|---|---|---|---|
| value | number | 0 | Sets the selected or displayed score. |
| max | number | 5 | Sets the highest available score. |
| readonly | boolean | false | Presents the rating without interactive score controls. |
| class, className | string | "" | Merges custom classes with the generated ui-* root classes. |
| ...native attributes | HTML attributes | - | Forwards standard attributes to the root element unless the component consumes them. |