مكتبة واحدة،وأي لغة تضيفها
نيلي مكتبة مكوّنات React تتعامل مع الاتجاه والخط والأرقام ومقاييس الطباعة كمدخلات أساسية، لا كطبقة ترجمة تُضاف في النهاية.
npm i @nili/ui @remixicon/reactأي لغة، شجرة مكوّنات واحدة
الاتجاه يأتي من CSS والأرقام من Intl، ولا شيء منهما خاصيّة تُمرَّر. هذه اللغات الأربع أمثلة فقط؛ اللغة التالية ملف ترجمة وlocale، لا نسخة أخرى من المكتبة.
ثلاث مشكلات تواجه كل واجهة متعدّدة اللغات
تُحلّ هذه عادةً في كل مشروع من جديد وبشكل ناقص. نيلي يحلّها مرّة واحدة على مستوى المكتبة.
الاتجاه CSS وليس JavaScript
تستخدم كل المكوّنات الخصائص المنطقية: ms/me وps/pe وstart/end. تعمل داخل شجرة فرعية RTL، وتعمل مع SSR لأن document.dir لا يُقرأ أثناء الرسم، ولا حاجة لتمرير خاصيّة اتجاه عبر الشجرة.
الأرقام تنسيق، لا حيلة خطّية
خطوط FaNum تضع الأشكال العربية فوق نقاط ASCII: يبدو الرقم عربيًا بينما يبقى 123 في الـDOM. عندها يختلف البحث داخل الصفحة والنسخ وقارئ الشاشة عمّا يراه المستخدم — والقيمة التي يجب أن تبقى لاتينية، كرقم الآيبان، لا مهرب لها.
| formatNumber · en-US | 1,234,567.89 |
| formatNumber · fa-IR | ۱٬۲۳۴٬۵۶۷٫۸۹ |
| formatNumber · ar-EG | ١٬٢٣٤٬٥٦٧٫٨٩ |
| formatNumber · tr-TR | 1.234.567,89 |
| parseLocalizedNumber | ۱٬۲۳۴٬۵۶۷ → 1234567 |
اسم رمز واحد، وكلتا السمتين
لا تكتب المكوّنات dark: أبدًا. كل مكوّن يستدعي رمزًا دلاليًا واحدًا وتتبدّل القيمة تحته. أي سمة جديدة — تباين عالٍ أو هويّة عميل — هي ملف أنماط، لا إعادة كتابة.
خاصّ في الوقت الحالي
يُنشر نيلي على نطاق npm خاصّ برخصة UNLICENSED، ومصدره ليس عامًّا بعد. يُمنح الوصول لكل شخص أو فريق على حدة، وبعد ضبط الرمز يصبح التثبيت npm install عاديًا.
اطلب الوصول
أرسل لنا المشروع وحساب npm أو GitHub الذي يُضاف إلى منظمة @nili.
توثيق السجلّ
ضع رمزًا للقراءة فقط في .npmrc، محليًّا وفي الـCI.
التثبيت والتشغيل
ثبّت الحزمة، استورد ملف الأنماط، ولفّ الشجرة بـNiliProvider.
# .npmrc
@nili:registry=https://registry.npmjs.org/
//registry.npmjs.org/:_authToken=${NILI_TOKEN}
# then
npm i @nili/ui @remixicon/reactimport { NiliProvider, Button } from '@nili/ui';
import '@nili/ui/styles.css';
<NiliProvider locale="fa" defaultTheme="system">
<Button color="primary">Save changes</Button>
</NiliProvider>من بناه
شخصان: ملف Figma ومكتبة، يُبقيان متوافقين عن قصد.
Aysan Zeinalvand
هندسة نظام التصميم — البنية والمكوّنات والرموز والاختبارات
كتب المكتبة: سلسلة الرموز، وطبقة RTL والأرقام، وأعراف واجهات المكوّنات، والسجلّ وأداة الطرفية، و374 اختبارًا تسندها.
تريده في مشروعك؟
أخبرنا بما تبنيه لنهيّئ الوصول، أو نستعرض النظام مع فريقك.