{
  "$schema": "https://uipkge.dev/schema/registry-item.json",
  "name": "label",
  "title": "Label",
  "type": "registry:ui",
  "files": [
    {
      "path": "packages/registry-svelte/components/label/Label.svelte",
      "content": "<script lang=\"ts\" module>\n  import type { Snippet } from 'svelte'\n  import type { HTMLLabelAttributes } from 'svelte/elements'\n\n  export interface LabelProps extends HTMLLabelAttributes {\n    children?: Snippet\n    ref?: HTMLLabelElement | null\n  }\n</script>\n\n<script lang=\"ts\">\n  import { cn } from '$lib/utils'\n\n  let { class: className, children, ref = $bindable(null), ...restProps }: LabelProps = $props()\n</script>\n\n<label\n  bind:this={ref}\n  data-uipkge=\"\"\n  data-slot=\"label\"\n  class={cn(\n    'flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50',\n    className,\n  )}\n  {...restProps}\n>\n  {@render children?.()}\n</label>\n",
      "type": "registry:ui",
      "target": "~/src/lib/components/ui/label/Label.svelte"
    },
    {
      "path": "packages/registry-svelte/components/label/index.ts",
      "content": "export { default as Label, type LabelProps } from './Label.svelte'\n",
      "type": "registry:ui",
      "target": "~/src/lib/components/ui/label/index.ts"
    }
  ],
  "dependencies": [],
  "devDependencies": [],
  "registryDependencies": [],
  "description": "Accessible label primitive — wraps text and binds to its child input via `for`. Disabled-state styling and proper screen-reader behavior.",
  "categories": [
    "form"
  ]
}