ai-conversation
dedevs-ui/ai-conversationFreeComponent
AI conversation container component
See it running
Open the demo on dedevs-ui
ui.dedevs.com/components/ai-conversationInstall it
npx shadcn@latest add https://ui.dedevs.com/r/ai-conversation.jsonSource
1'use client';23import { Button } from '@repo/shadcn-ui/components/ui/button';4import { ArrowDown } from 'lucide-react';5import type { ComponentProps } from 'react';6import { useCallback } from 'react';7import { StickToBottom, useStickToBottomContext } from 'use-stick-to-bottom';8import { cn } from '@repo/shadcn-ui/lib/utils';910export type AIConversationProps = ComponentProps<typeof StickToBottom>;1112export const AIConversation = ({13 className,14 ...props15}: AIConversationProps) => (16 <StickToBottom17 className={cn('relative flex-1 overflow-y-auto', className)}18 initial="smooth"19 resize="smooth"20 role="log"21 {...props}22 />23);2425export type AIConversationContentProps = ComponentProps<26 typeof StickToBottom.Content27>;2829export const AIConversationContent = ({30 className,31 ...props32}: AIConversationContentProps) => (33 <StickToBottom.Content className={cn('p-4', className)} {...props} />34);3536export const AIConversationScrollButton = () => {37 const { isAtBottom, scrollToBottom } = useStickToBottomContext();3839 const handleScrollToBottom = useCallback(() => {40 scrollToBottom();41 }, [scrollToBottom]);4243 return (44 !isAtBottom && (45 <Button46 className="absolute bottom-4 left-[50%] translate-x-[-50%] rounded-full"47 onClick={handleScrollToBottom}48 size="icon"49 type="button"50 variant="outline"51 >52 <ArrowDown className="size-4" />53 </Button>54 )55 );56};
Files it writes
More from dedevs-ui
All 30 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| ai-branchai-branch | dedevs-ui | Components | Free | no deps | |
| ai-inputai-input | dedevs-ui | Components | Free | no deps | |
| ai-messageai-message | dedevs-ui | Components | Free | no deps | |
| ai-reasoningai-reasoning | dedevs-ui | Components | Free | no deps | |
| ai-responseai-response | dedevs-ui | Components | Free | no deps | |
| ai-serverai-server | dedevs-ui | Components | Free | no deps | |
| ai-simpleai-simple | dedevs-ui | Components | Free | no deps | |
| ai-sourceai-source | dedevs-ui | Components | Free | no deps |
