{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "extends": "none",
  "name": "tag-group",
  "title": "tag-group",
  "description": "tag-group",
  "dependencies": [
    "@heroicons/react",
    "react-aria-components",
    "tailwind-merge"
  ],
  "registryDependencies": [
    "https://intentui.com/r/primitive"
  ],
  "files": [
    {
      "path": "src/components/ui/tag-group.tsx",
      "content": "'use client'\n\nimport { XCircleIcon } from '@heroicons/react/16/solid'\nimport { Button } from 'react-aria-components/Button'\nimport type { TagGroupProps, TagListProps, TagProps } from 'react-aria-components/TagGroup'\nimport {\n  Tag as PrimitiveTag,\n  TagGroup as PrimitiveTagGroup,\n  TagList as PrimitiveTagList,\n} from 'react-aria-components/TagGroup'\nimport { twMerge } from 'tailwind-merge'\nimport { cx } from '@/lib/primitive'\n\nexport function TagGroup({ className, ...props }: TagGroupProps) {\n  return (\n    <PrimitiveTagGroup\n      data-slot=\"control\"\n      className={twMerge('flex flex-col gap-y-1 *:data-[slot=label]:font-medium', className)}\n      {...props}\n    />\n  )\n}\n\nexport function TagList<T extends object>({ className, ...props }: TagListProps<T>) {\n  return <PrimitiveTagList className={cx('flex flex-wrap gap-1', className)} {...props} />\n}\n\nexport function Tag({ children, className, ...props }: TagProps) {\n  const textValue = typeof children === 'string' ? children : undefined\n\n  return (\n    <PrimitiveTag\n      textValue={textValue}\n      className={cx(\n        'inset-ring inset-ring-input outline-hidden dark:bg-input/30',\n        'inline-flex items-center gap-x-1.5 py-0.5 font-medium text-xs/5 forced-colors:outline',\n        '*:[svg]:size-3 *:[svg]:shrink-0',\n        'cursor-default rounded-full px-2',\n        'selected:inset-ring-ring/70 selected:bg-primary-subtle selected:text-primary-subtle-fg',\n        'disabled:opacity-50 disabled:forced-colors:text-[GrayText]',\n        props.href && 'cursor-pointer hover:inset-ring-muted-fg',\n        className\n      )}\n      {...props}\n    >\n      {({ allowsRemoving }) => (\n        <>\n          {children}\n          {allowsRemoving && (\n            <Button slot=\"remove\" className=\"\">\n              <XCircleIcon className=\"-me-1 size-4\" />\n            </Button>\n          )}\n        </>\n      )}\n    </PrimitiveTag>\n  )\n}\n",
      "type": "registry:ui"
    }
  ],
  "type": "registry:ui"
}