{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "rating",
  "registryDependencies": [
    "@fulldev/icon"
  ],
  "files": [
    {
      "path": "src/components/ui/rating/rating.astro",
      "content": "---\nimport type { HTMLAttributes } from \"astro/types\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Icon } from \"@/components/ui/icon\"\n\ntype Props = HTMLAttributes<\"div\"> & {\n  value?: number\n}\n\nconst { value = 5, class: className, ...props } = Astro.props\n---\n\n<div class={cn(\"flex items-center gap-1 text-base\", className)} {...props}>\n  {\n    Array.from({ length: 5 }).map((_, index) => {\n      const fillPercentage =\n        index < Math.floor(value)\n          ? 100\n          : index === Math.floor(value)\n            ? (value % 1) * 100\n            : 0\n\n      return (\n        <span class=\"text-muted-foreground/25 relative inline-flex size-[1em]\">\n          <Icon name=\"star\" class=\"size-[1em] fill-current\" />\n          {fillPercentage > 0 && (\n            <span\n              class=\"text-primary absolute inset-0 overflow-hidden\"\n              style={{ width: `${fillPercentage}%` }}\n            >\n              <Icon name=\"star\" class=\"size-[1em] fill-current\" />\n            </span>\n          )}\n        </span>\n      )\n    })\n  }\n</div>\n",
      "type": "registry:ui"
    },
    {
      "path": "src/components/ui/rating/index.ts",
      "content": "export { default as Rating } from \"./rating.astro\"\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}