{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "meter",
  "description": "A linear reading of a bounded value, such as a score, a utilization, or a fill level.",
  "dependencies": [
    "@base-ui/react",
    "class-variance-authority"
  ],
  "registryDependencies": [
    "@ondo-ui/utils"
  ],
  "files": [
    {
      "path": "components/ui/meter.tsx",
      "content": "\"use client\"\n\nimport { Meter as MeterPrimitive } from \"@base-ui/react/meter\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst meterVariants = cva(\"group/meter flex flex-wrap gap-3\", {\n  variants: {\n    variant: {\n      default: \"text-primary\",\n      info: \"text-info\",\n      success: \"text-success\",\n      warning: \"text-warning\",\n      destructive: \"text-destructive\",\n    },\n  },\n  defaultVariants: {\n    variant: \"default\",\n  },\n})\n\nfunction Meter({\n  className,\n  variant = \"default\",\n  children,\n  value,\n  ...props\n}: MeterPrimitive.Root.Props & VariantProps<typeof meterVariants>) {\n  return (\n    <MeterPrimitive.Root\n      value={value}\n      data-slot=\"meter\"\n      data-variant={variant}\n      className={cn(meterVariants({ variant, className }))}\n      {...props}\n    >\n      {children}\n      <MeterTrack>\n        <MeterIndicator />\n      </MeterTrack>\n    </MeterPrimitive.Root>\n  )\n}\n\nfunction MeterTrack({ className, ...props }: MeterPrimitive.Track.Props) {\n  return (\n    <MeterPrimitive.Track\n      data-slot=\"meter-track\"\n      className={cn(\n        \"relative flex h-1.5 w-full items-center overflow-x-hidden rounded-full bg-muted\",\n        className\n      )}\n      {...props}\n    />\n  )\n}\n\nfunction MeterIndicator({\n  className,\n  ...props\n}: MeterPrimitive.Indicator.Props) {\n  return (\n    <MeterPrimitive.Indicator\n      data-slot=\"meter-indicator\"\n      className={cn(\"h-full bg-current transition-all\", className)}\n      {...props}\n    />\n  )\n}\n\nfunction MeterLabel({ className, ...props }: MeterPrimitive.Label.Props) {\n  return (\n    <MeterPrimitive.Label\n      data-slot=\"meter-label\"\n      className={cn(\"text-sm font-medium text-foreground\", className)}\n      {...props}\n    />\n  )\n}\n\nfunction MeterValue({ className, ...props }: MeterPrimitive.Value.Props) {\n  return (\n    <MeterPrimitive.Value\n      data-slot=\"meter-value\"\n      className={cn(\n        \"ml-auto text-sm text-muted-foreground tabular-nums\",\n        className\n      )}\n      {...props}\n    />\n  )\n}\n\nexport {\n  Meter,\n  MeterTrack,\n  MeterIndicator,\n  MeterLabel,\n  MeterValue,\n  meterVariants,\n}\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}