البناء · جديد

النافذة المنبثقة

مساحة صغيرة لمهمة واحدة سريعة، تنفتح بجانب الزر الذي فتحها.

المعاينة

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

التثبيت

قريبًايُفتح التثبيت من السجل مع الإطلاق. حتى ذلك الحين، هذا هو الأمر الذي ستستخدمه.
npx shadcn@latest add @ritla/popover

الاعتماديات التي يضيفها: @base-ui/react, @phosphor-icons/react

الاستخدام

import { Button } from "@/components/ui/button";
import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/popover";
<Popover>
  <PopoverTrigger render={<Button variant="outline" />}>Share</PopoverTrigger>
  <PopoverContent title="Share this report" description="Anyone with the link can view it.">
    …
  </PopoverContent>
</Popover>

أمثلة

تصفية

خيارات قليلة وزر «تطبيق» (PopoverClose) يغلقها ويعيد التركيز إلى الزر. بلا زر إغلاق هنا: «إلغاء» وEsc يكفيان.

الجهات

‏side: أسفل (الافتراضي) وأعلى والبداية والنهاية. البداية والنهاية تتبعان اتجاه القراءة، فالبداية على اليمين بالعربية، والسهم يشير دائمًا إلى الزر. إن لم تتسع الجهة انقلبت إلى المقابلة.

مرجع الخصائص

Popover

الخاصيةالنوعالافتراضيالوصف
open / defaultOpenbooleanللتحكم في الفتح من الكود.
onOpenChange(open, details) => voidعند الفتح والإغلاق.

PopoverTrigger

الخاصيةالنوعالافتراضيالوصف
renderReactElementالزر الظاهر: <Button … />.

PopoverContent

الخاصيةالنوعالافتراضيالوصف
titleReactNodeخاصية Title: الغرض منها، وهو اسم النافذة.
descriptionReactNodeخاصية Description: سطر واحد تحت العنوان.
childrenReactNodeالمحتوى: حقل وزر، أو خيارات قليلة.
side"bottom" | "top" | "start" | "end""bottom"خاصية Side. تنقلب إن لم تتسع.
align"start" | "center" | "end""center"المحاذاة على طول تلك الجهة.
arrowbooleantrueالسهم نحو الزر.
closeButtonbooleantrueزر الإغلاق في نهاية الترويسة.
closeLabelstring"Close" / «إغلاق»اسم زر الإغلاق.
sideOffsetnumber12المسافة عن الزر.
initialFocus / finalFocusRefObject<HTMLElement>أين يبدأ التركيز وأين يعود.

PopoverClose

الخاصيةالنوعالافتراضيالوصف
renderReactElementزر في المحتوى يغلقها: «تطبيق»، «تم».

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

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

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

المفتاحما يفعله
EnterSpaceعلى الزر: يفتحها وينقل التركيز إلى أول حقل فيها، أو أول عنصر.
TabShift+Tabبين عناصرها. لا تحبس التركيز: الخروج منها يغلقها.
Escيغلقها ويعيد التركيز إلى الزر.

ARIA

  • نافذة غير مشروطة (role="dialog") اسمها عنوانها ووصفها سطرها الثاني.
  • للزر aria-expanded وaria-controls.
  • النقر خارجها يغلقها، والكتابة داخلها لا تغلقها أبدًا.
  • لا نافذة منبثقة داخل أخرى: استخدم نافذة حوارية للمهام الأكبر.

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

ينعكس

  • البداية والنهاية: البداية على اليمين بالعربية.
  • زر الإغلاق في نهاية الترويسة: على اليسار.
  • السهم يتبع الجهة ويشير إلى الزر في الاتجاهين.

لا ينعكس

  • الروابط والرموز والمعرّفات تبقى من اليسار إلى اليمين.
  • أسفل وأعلى لا يتغيران.
الأرقام
الأرقام داخلها تتبع إعداد الأرقام.
الخط العربي
العنوان label-16 Semibold والوصف label-14.
النص ثنائي الاتجاه
تنقل اتجاه الزر ولغته إلى المساحة المنبثقة، فمعاينة عربية في صفحة إنجليزية تبقى عربية. الحقل ذو dir="ltr" يبقي الرابط كاملًا من اليسار إلى اليمين.

كل المكونات ›