📋 محتويات الصفحة
📖 الوصف
Radix UI هي مكتبة مكونات "headless" – توفر logic والسلوك للمكونات بدون styles. تسمح لك ببناء واجهات مخصصة بالكامل مع accessibility و keyboard navigation مدمج. من فريق WorkOS. Radix UI يوفر primitives لـ Dialog, Dropdown, Menu, Tabs, Accordion، وأكثر. كلها accessible و unstyled، وتترك لك حرية التصمي...
🎯 يستخدم في
مجالات استخدام هذه الأداة
Custom design systems
Applications تحتاج accessibility
Build your own component library
Projects تحتاج headless components
shadcn/ui مبني على Radix
✨ المميزات
أبرز مميزات هذه الأداة
Headless (unstyled)
Accessible مدمج (WAI-ARIA)
Keyboard navigation مدمج
TypeScript support
Uncontrolled & controlled modes
Composable primitives
Works مع أي CSS solution
Used by shadcn/ui
Vercel
⚠️ العيوب
نقاط يجب مراعاتها
يحتاج styling من تلقاء نفسك
لا مكونات جاهزة كاملة
Learning curve للمبتدئين
Less adoption من مكتبات كاملة
Documentation قد تكون معقدة
🔄 البدائل
أدوات بديلة يمكنك استخدامها
💻 مثال على الاستخدام
كيفية استخدام هذه الأداة
import * as Dialog from '@radix-ui/react-dialog';
import * as DropdownMenu from '@radix-ui/react-dropdown-menu';
import { Cross2Icon } from '@radix-ui/react-icons';
// Custom Dialog with full styling
function CustomDialog() {
return (
<Dialog.Root>
<Dialog.Trigger asChild>
<button className="btn">افتح الحوار</button>
</Dialog.Trigger>
<Dialog.Portal>
<Dialog.Overlay className="dialog-overlay" />
<Dialog.Content className="dialog-content">
<Dialog.Title>عنوان الحوار</Dialog.Title>
<Dialog.Description>
محتوى الحوار هنا
</Dialog.Description>
<Dialog.Close asChild>
<button className="icon-button" aria-label="إغلاق">
<Cross2Icon />
</button>
</Dialog.Close>
</Dialog.Content>
</Dialog.Portal>
</Dialog.Root>
);
}
// Dropdown Menu
function UserMenu() {
return (
<DropdownMenu.Root>
<DropdownMenu.Trigger asChild>
<button className="btn">المزيد</button>
</DropdownMenu.Trigger>
<DropdownMenu.Portal>
<DropdownMenu.Content className="dropdown-content">
<DropdownMenu.Item className="dropdown-item">
الملف الشخصي
</DropdownMenu.Item>
<DropdownMenu.Item className="dropdown-item">
الإعدادات
</DropdownMenu.Item>
<DropdownMenu.Separator className="dropdown-separator" />
<DropdownMenu.Item className="dropdown-item">
تسجيل الخروج
</DropdownMenu.Item>
</DropdownMenu.Content>
</DropdownMenu.Portal>
</DropdownMenu.Root>
);
}
📚 أدوات أخرى في UI-Libraries
قد يعجبك أيضاً
Ant Design
⭐مكتبة مكونات Enterprise (Enterprise UI Component Library)
Ant Design
⭐مكتبة مكونات Enterprise (Enterprise UI Component Library)
Ark UI
مكتبة مكونات Headless (Headless UI Component Library)
Ark UI
مكتبة مكونات Headless (Headless UI Component Library)
Base UI
مكتبة مكونات headless من MUI (Headless UI Components from MUI)
Base UI
مكتبة مكونات headless من MUI (Headless UI Components from MUI)