{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "message",
  "title": "Message",
  "description": "Chat message layout with avatar, author, content and actions.",
  "files": [
    {
      "path": "registry/rapid/ui/message/message.tsx",
      "content": "import type * as React from 'react'\nimport { cn } from '@/lib/utils'\n\nfunction MessageGroup({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn <div data-slot=\"message-group\" className={cn('flex min-w-0 flex-col gap-2', className)} {...props} />\n}\n\nfunction Message({ className, align = 'start', ...props }: React.ComponentProps<'div'> & { align?: 'start' | 'end' }) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"message\"\n\t\t\tdata-align={align}\n\t\t\tclassName={cn(\n\t\t\t\t'group/message relative flex w-full min-w-0 gap-2 text-sm data-[align=end]:flex-row-reverse',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction MessageAvatar({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"message-avatar\"\n\t\t\tclassName={cn(\n\t\t\t\t'flex w-fit min-w-8 shrink-0 items-center justify-center self-end group-has-data-[slot=message-footer]/message:-translate-y-8',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction MessageContent({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"message-content\"\n\t\t\tclassName={cn(\n\t\t\t\t'flex w-full min-w-0 flex-col gap-2.5 wrap-break-word group-data-[align=end]/message:*:data-slot:self-end',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction MessageHeader({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"message-header\"\n\t\t\tclassName={cn(\n\t\t\t\t'flex max-w-full min-w-0 items-center px-3 text-xs font-medium text-muted-foreground group-has-data-[variant=ghost]/message:px-0',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nfunction MessageFooter({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"message-footer\"\n\t\t\tclassName={cn(\n\t\t\t\t'flex max-w-full min-w-0 items-center px-3 text-xs font-medium text-muted-foreground group-has-data-[variant=ghost]/message:px-0 group-data-[align=end]/message:justify-end',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport { MessageGroup, Message, MessageAvatar, MessageContent, MessageFooter, MessageHeader }\n",
      "type": "registry:ui",
      "target": "components/ui/message.tsx"
    }
  ],
  "meta": {
    "new": true
  },
  "type": "registry:ui"
}