🎯 مميز

Mantine

مكتبة مكونات React حديثة (Modern React UI Library)

(4/5)
👁️ 3 مشاهدة
📅 02 Jul 2026
⚛️ React

مستوى الخبرة المطلوب:

🌱 مبتدئ ⚡ متوسط 🚀 محترف 🏢 مؤسسي
🔗 زيارة الموقع الرسمي
4
تقييم المستخدمين
التصنيف 🎯 UI-Libraries
المشاهدات 3
تاريخ الإضافة 02/07/2026
آخر تحديث 02/07/2026

📖 الوصف

Mantine هي مكتبة مكونات React حديثة مع أكثر من 100 مكون قابل للتخصيص. تتميز بـ hooks مدمجة، نظام theme مرن، و TypeScript support كامل. تُقدم تجربة تطوير ممتازة مع documentation شاملة. Mantine 7 أحدث إصدار يستخدم CSS modules بدلاً من emotion للأداء الأفضل. يوفر أكثر من 50 hook مدمجة، مكونات متقدمة، ...

🎯 يستخدم في

مجالات استخدام هذه الأداة

React applications حديثة

Applications تحتاج مكونات جاهزة

Projects تحتاج hooks مدمجة

Customizable UI libraries

Projects تحتاج TypeScript

المميزات

أبرز مميزات هذه الأداة

أكثر من 100 مكون

50+ hook مدمجة (useForm

useDisclosure

useMediaQuery)

TypeScript support ممتاز

CSS Modules (Mantine 7)

Dark/Light theme تلقائي

Hooks للـ forms

notifications

modals

إلخ

Rich text editor مدمج

Charts مدمج

Performance محسّن

⚠️ العيوب

نقاط يجب مراعاتها

×

جديد نسبياً (مقارنة بـ MUI)

×

أقل adoption من MUI

×

بعض المكونات قد تكون معقدة

×

Migration من v6 إلى v7 قد يكون صعباً

🔄 البدائل

أدوات بديلة يمكنك استخدامها

Material-UI
Chakra UI
shadcn/ui

💻 مثال على الاستخدام

كيفية استخدام هذه الأداة

Example Code
import { MantineProvider, Button, TextInput, Paper, Text, Stack } from '@mantine/core';
import { useForm, useDisclosure } from '@mantine/form';
import { notifications } from '@mantine/notifications';

function App() {
  const form = useForm({
    initialValues: {
      email: '',
      password: '',
    },
    validate: {
      email: (value) => (/^\S+@\S+$/.test(value) ? null : 'بريد غير صالح'),
      password: (value) => (value.length < 6 ? 'كلمة المرور قصيرة جداً' : null),
    },
  });

  const handleSubmit = (values) => {
    notifications.show({
      title: 'نجاح',
      message: 'تم تسجيل الدخول بنجاح',
      color: 'green',
    });
  };

  return (
    <MantineProvider>
      <Paper p="xl" shadow="md" maw={400}>
        <form onSubmit={form.onSubmit(handleSubmit)}>
          <Stack>
            <TextInput
              label="البريد الإلكتروني"
              placeholder="email@example.com"
              {...form.getInputProps('email')}
            />
            <TextInput
              label="كلمة المرور"
              type="password"
              {...form.getInputProps('password')}
            />
            <Button type="submit" fullWidth>
              تسجيل الدخول
            </Button>
          </Stack>
        </form>
      </Paper>
    </MantineProvider>
  );
}

// Hooks
function Modal() {
  const [opened, { open, close }] = useDisclosure(false);
  
  return (
    <>
      <Button onClick={open}>افتح</Button>
      <Modal opened={opened} onClose={close} title="عنوان">
        محتوى
      </Modal>
    </>
  );
}

📚 أدوات أخرى في UI-Libraries

قد يعجبك أيضاً