{
	"$schema": "https://shadcn-svelte.com/schema/registry-item.json",
	"name": "status-badge",
	"title": "Status Badge",
	"type": "registry:ui",
	"description": "The luma badge extended with semantic success and warning variants.",
	"devDependencies": [
		"tailwind-variants@^3.3.0"
	],
	"registryDependencies": [
		"./status-colors.json"
	],
	"files": [
		{
			"content": "import { tv, type VariantProps } from 'tailwind-variants';\n\nexport const badgeVariants = tv({\n\tbase: \"h-5 gap-1 rounded-3xl border border-transparent px-2 py-0.5 text-xs font-medium transition-all has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&>svg]:size-3! group/badge inline-flex w-fit shrink-0 items-center justify-center overflow-hidden whitespace-nowrap transition-colors focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none\",\n\tvariants: {\n\t\tvariant: {\n\t\t\tdefault: 'bg-primary/10 text-primary [a]:hover:bg-primary/80',\n\t\t\tsecondary: 'bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80',\n\t\t\tdestructive:\n\t\t\t\t'bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20',\n\t\t\toutline: 'border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground',\n\t\t\tghost: 'hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50',\n\t\t\tlink: 'text-primary underline-offset-4 hover:underline',\n\t\t\tsuccess:\n\t\t\t\t'bg-success/10 text-success focus-visible:ring-success/20 dark:bg-success/20 dark:focus-visible:ring-success/40 [a]:hover:bg-success/20',\n\t\t\twarning:\n\t\t\t\t'bg-warning/10 text-warning focus-visible:ring-warning/20 dark:bg-warning/20 dark:focus-visible:ring-warning/40 [a]:hover:bg-warning/20'\n\t\t}\n\t},\n\tdefaultVariants: { variant: 'default' }\n});\n\nexport type BadgeVariant = VariantProps<typeof badgeVariants>['variant'];\n",
			"type": "registry:file",
			"target": "badge/badge-variants.ts"
		},
		{
			"content": "<script lang=\"ts\">\n\timport { badgeVariants, type BadgeVariant } from './badge-variants.js';\n\timport type { HTMLAnchorAttributes } from \"svelte/elements\";\n\n\timport { cn, type WithElementRef } from \"$UTILS$.js\";\n\n\tlet {\n\t\tref = $bindable(null),\n\t\thref,\n\t\tclass: className,\n\t\tvariant = \"default\",\n\t\tchildren,\n\t\t...restProps\n\t}: WithElementRef<HTMLAnchorAttributes> & {\n\t\tvariant?: BadgeVariant;\n\t} = $props();\n</script>\n\n<svelte:element\n\tthis={href ? \"a\" : \"span\"}\n\tbind:this={ref}\n\tdata-slot=\"badge\"\n\t{href}\n\tclass={cn(badgeVariants({ variant }), className)}\n\t{...restProps}\n>\n\t{@render children?.()}\n</svelte:element>\n",
			"type": "registry:file",
			"target": "badge/badge.svelte"
		},
		{
			"content": "export { default as Badge } from './badge.svelte';\nexport { type BadgeVariant, badgeVariants } from './badge-variants.js';\n",
			"type": "registry:file",
			"target": "badge/index.ts"
		}
	]
}