{
  "$schema": "https://shadcn-vue.com/schema/registry-item.json",
  "name": "label",
  "title": "Label",
  "type": "registry:ui",
  "files": [
    {
      "path": "packages/registry-vue/components/label/Label.vue",
      "content": "<script setup lang=\"ts\">\nimport type { LabelProps } from 'reka-ui'\nimport type { HTMLAttributes } from 'vue'\nimport { reactiveOmit } from '@vueuse/core'\nimport { Label } from 'reka-ui'\nimport { cn } from '@/lib/utils'\n\nconst props = defineProps<LabelProps & { class?: HTMLAttributes['class'] }>()\n\nconst delegatedProps = reactiveOmit(props, 'class')\n</script>\n\n<template>\n  <Label\n    data-uipkge\n    data-slot=\"label\"\n    v-bind=\"delegatedProps\"\n    :class=\"\n      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        props.class,\n      )\n    \"\n  >\n    <slot />\n  </Label>\n</template>\n",
      "type": "registry:ui",
      "target": "~/app/components/ui/label/Label.vue"
    },
    {
      "path": "packages/registry-vue/components/label/index.ts",
      "content": "export { default as Label } from './Label.vue'\n",
      "type": "registry:ui",
      "target": "~/app/components/ui/label/index.ts"
    }
  ],
  "dependencies": [
    "@vueuse/core",
    "reka-ui"
  ],
  "devDependencies": [],
  "registryDependencies": [],
  "description": "Accessible label primitive — wraps text and binds to its child input via `for`. Disabled-state styling, optional required-asterisk, and proper screen-reader behavior.",
  "categories": [
    "form"
  ]
}