{
  "$schema": "https://shadcn-vue.com/schema/registry-item.json",
  "name": "list",
  "title": "List",
  "type": "registry:ui",
  "files": [
    {
      "path": "packages/registry-vue/components/list/List.vue",
      "content": "<script setup lang=\"ts\">\nimport type { HTMLAttributes } from 'vue'\nimport { cn } from '@/lib/utils'\n\nconst props = defineProps<{\n  class?: HTMLAttributes['class']\n  as?: 'ul' | 'ol' | 'div'\n}>()\n</script>\n\n<template>\n  <component :is=\"props.as ?? 'ul'\" :class=\"cn('list-none space-y-1', props.class)\" v-bind=\"$attrs\">\n    <slot />\n  </component>\n</template>\n",
      "type": "registry:ui",
      "target": "~/app/components/ui/list/List.vue"
    },
    {
      "path": "packages/registry-vue/components/list/ListItem.vue",
      "content": "<script setup lang=\"ts\">\nimport type { HTMLAttributes } from 'vue'\nimport { cn } from '@/lib/utils'\n\nconst props = defineProps<{\n  class?: HTMLAttributes['class']\n  as?: 'li' | 'div' | 'a'\n  active?: boolean\n  disabled?: boolean\n}>()\n</script>\n\n<template>\n  <component\n    :is=\"props.as ?? 'li'\"\n    :aria-disabled=\"disabled\"\n    :class=\"\n      cn(\n        'hover:bg-accent focus-visible:bg-accent cursor-pointer rounded-md px-2 py-1.5 text-sm transition-colors duration-200 select-none focus-visible:outline-none',\n        active && 'bg-accent text-accent-foreground',\n        disabled && 'pointer-events-none opacity-50',\n        props.class,\n      )\n    \"\n    v-bind=\"$attrs\"\n  >\n    <slot />\n  </component>\n</template>\n",
      "type": "registry:ui",
      "target": "~/app/components/ui/list/ListItem.vue"
    },
    {
      "path": "packages/registry-vue/components/list/ListSubheader.vue",
      "content": "<script setup lang=\"ts\">\nimport type { HTMLAttributes } from 'vue'\nimport { cn } from '@/lib/utils'\n\nconst props = defineProps<{\n  class?: HTMLAttributes['class']\n  inset?: boolean\n}>()\n</script>\n\n<template>\n  <li\n    :class=\"\n      cn(\n        'text-muted-foreground px-2 py-1.5 text-xs font-semibold tracking-wide uppercase',\n        inset && 'pl-8',\n        props.class,\n      )\n    \"\n    v-bind=\"$attrs\"\n  >\n    <slot />\n  </li>\n</template>\n",
      "type": "registry:ui",
      "target": "~/app/components/ui/list/ListSubheader.vue"
    },
    {
      "path": "packages/registry-vue/components/list/index.ts",
      "content": "export { default as List } from './List.vue'\nexport { default as ListItem } from './ListItem.vue'\nexport { default as ListSubheader } from './ListSubheader.vue'\n",
      "type": "registry:ui",
      "target": "~/app/components/ui/list/index.ts"
    }
  ],
  "dependencies": [],
  "devDependencies": [],
  "registryDependencies": [],
  "description": "Plain content list with `<ul>` / `<li>` semantics and a few preset gap and divider modes. Use for menu items, navigation lists, or any vertical sequence of small rows.",
  "categories": [
    "data-display"
  ]
}