انتقل إلى المحتوى

فقاعة المحادثة

احصل على Ritla UI

رسالة واحدة في محادثة بصورة المرسل واسمه ووقتها، مع التفاعلات ومؤشر الكتابة.

المعاينة

«معكوس» هو المحتوى الإنجليزي نفسه من اليمين إلى اليسار، ليفصل خطأ الاتجاه عن خطأ الترجمة.

المعاينةالكود
إنجليزيمعكوسعربي
← RTL

التثبيت

  1. أضف المكوّن

    npx ritla add chat-bubble

    ويعمل أيضًا مع shadcn: npx shadcn@latest add @ritla/chat-bubble

  2. أو انسخه يدويًا

    التثبيت اليدوي ينسخ مصدر المكوّن إلى مشروعك. المصدر يأتي مع ترخيص Ritla UI، وأداة سطر الأوامر هي الطريق الأقصر إلى الملفات نفسها.

الاستخدام

chat-bubble.tsx
import { ChatBubble, ChatLog } from "@/components/ui/chat-bubble";<ChatLog aria-label="Conversation with support">  <ChatBubble name="Omar" time="09:38">Shall I release it now?</ChatBubble>  <ChatBubble direction="outgoing" time="09:40">Yes please.</ChatBubble></ChatLog>

مرجع الخصائص

ChatBubble

الخاصيةالنوعالافتراضيالوصف
direction"incoming" | "outgoing""incoming"خاصية Direction: الواردة في البداية والصادرة في النهاية.
avatarReactNodeلا يوجدصورة رمزية بمقاس md.
nameReactNodeلا يوجدخاصية Show name.
time / dateTimeReactNode / stringلا يوجدخاصية Show timestamp: الوقت المعروض وقيمته الآلية.
reactionsReactNodeلا يوجدخاصية Show reaction: صف MessageReactions.
statusReactNodeلا يوجدحالة الرسالة تحت الفقاعة الصادرة.

MessageReaction

الخاصيةالنوعالافتراضيالوصف
emojistringلا يوجدالرمز التعبيري.
countnumberلا يوجدخاصية Show count.
minebooleanfalseخاصية My reaction: aria-pressed.
labelstringلا يوجداسم التفاعل لقارئ الشاشة.

TypingIndicator

الخاصيةالنوعالافتراضيالوصف
labelstringلا يوجديُعلَن: «عمر يكتب».
avatarReactNodeلا يوجدصورة من يكتب.

ChatLog

الخاصيةالنوعالافتراضيالوصف
aria-labelstringلا يوجداسم المحادثة.

إمكانية الوصول

لوحة المفاتيح

المفاتيح مكتوبة للاتجاه من اليسار إلى اليمين. في الاتجاه من اليمين يتبادل السهمان دورهما: السهم المتجه مع اتجاه القراءة ينقلك إلى الأمام.

المفتاحما يفعله
Tabينتقل إلى أزرار التفاعلات؛ Enter أو Space يبدّل تفاعلك.

ARIA

  • المحادثة قائمة مرتبة داخل منطقة role="log"، فتُعلَن الرسائل الجديدة بهدوء.
  • مؤشر الكتابة role="status" بنص مثل «عمر يكتب».
  • التفاعل زر تبديل aria-pressed.

ملاحظات العربية والاتجاه

ينعكس

  • الرسائل الواردة على اليمين والصادرة على اليسار في العربية.
  • الزاوية المربعة تتبع الصورة الرمزية.

لا ينعكس

  • الرموز التعبيرية والأوقات كما هي.
الأرقام
الأوقات والأعداد تُكتب كما يمرّرها التطبيق.
الخط العربي
النص body-16، والاسم label-14 بوزن Medium، والوقت numeric-12.
النص ثنائي الاتجاه
نص الرسالة dir="auto"، فالرسالة الإنجليزية في محادثة عربية تُقرأ صحيحة.