{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "staricon", "type": "registry:component", "title": "StarIcon", "description": "Componente Concorde StarIcon — un solo archivo, StarIcon.tsx.", "dependencies": [ "react" ], "registryDependencies": [], "files": [ { "path": "components/StarIcon.tsx", "type": "registry:file", "target": "components/StarIcon.tsx", "content": "\"use client\";\n\n/**\n * StarIcon — Generado por Concorde\n * Fuente: Figma VOYAGER · \"StarIcons\" (nodo 2035:16598)\n *\n * Insignia de estrella 28×28: círculo con relleno gradiente naranja→lila\n * (#ED8936 → #8460E5), borde gradiente (white → #FBC47D → #AE8EFF → white) y\n * estrella blanca. Drop shadow naranja + inner shadow blanco (del filtro Figma).\n * Tamaño personalizable: \"sm\" (20px) · \"md\" (28px) · o número de px.\n */\n\nimport { useId } from \"react\";\nimport type { JSX } from \"react\";\n\n// ─── Types ────────────────────────────────────────────────────────────────────\n\nexport type StarIconSize = \"sm\" | \"md\";\n\nexport interface StarIconProps {\n /** Tamaño: \"sm\"=20px · \"md\"=28px · o número de px (default \"md\") */\n size?: StarIconSize | number;\n /** Texto accesible — si se omite, el ícono es decorativo (aria-hidden) */\n title?: string;\n className?: string;\n}\n\nconst SIZE_PX: Record = { sm: 20, md: 28 };\n\n// ─── Component ────────────────────────────────────────────────────────────────\n\nexport default function StarIcon({ size = \"md\", title, className = \"\" }: StarIconProps): JSX.Element {\n const uid = useId().replace(/:/g, \"-\");\n const px = typeof size === \"number\" ? size : SIZE_PX[size];\n\n return (\n \n {title ? {title} : null}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n" } ] }