rating
fulldev-ui/ratingFreeComponent
fulldev/ui publishes no description for this item.
Live preview
live · rendered by the registry
Rendered by fulldev/ui on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://ui.full.dev/r/rating.jsonSource
1---2import type { HTMLAttributes } from "astro/types"34import { cn } from "@/lib/utils"5import { Icon } from "@/components/ui/icon"67type Props = HTMLAttributes<"div"> & {8 value?: number9}1011const { value = 5, class: className, ...props } = Astro.props12---1314<div class={cn("flex items-center gap-1 text-base", className)} {...props}>15 {16 Array.from({ length: 5 }).map((_, index) => {17 const fillPercentage =18 index < Math.floor(value)19 ? 10020 : index === Math.floor(value)21 ? (value % 1) * 10022 : 02324 return (25 <span class="text-muted-foreground/25 relative inline-flex size-[1em]">26 <Icon name="star" class="size-[1em] fill-current" />27 {fillPercentage > 0 && (28 <span29 class="text-primary absolute inset-0 overflow-hidden"30 style={{ width: `${fillPercentage}%` }}31 >32 <Icon name="star" class="size-[1em] fill-current" />33 </span>34 )}35 </span>36 )37 })38 }39</div>
What it pulls in
Other registry items
Files it writes
More from fulldev/ui
All 144 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| accordionaccordion | fulldev/ui | Components | Free | 1 dep · 5 files | |
| alertalert | fulldev/ui | Components | Free | no deps · 5 files | |
| alert-dialogalert-dialog | fulldev/ui | Components | Free | 1 dep · 13 files | |
| avataravatar | fulldev/ui | Components | Free | no deps · 7 files | |
| badgebadge | fulldev/ui | Components | Free | no deps · 3 files | |
| bannerbanner | fulldev/ui | Components | Free | no deps · 3 files | |
| breadcrumbbreadcrumb | fulldev/ui | Components | Free | no deps · 8 files | |
| buttonbutton | fulldev/ui | Components | Free | no deps · 3 files |
