عن المشروع

Classnames هي أداة جافا سكريبت تقوم ببناء سلسلة نصية من أسماء فئات CSS مفصولة بمسافات من مدخلات شرطية. يمكن تثبيتها من npm باسم `classnames` واستخدامها في Node.js وBrowserify وwebpack وRequireJS، أو مباشرة في المتصفح من خلال سكريبت مستقل. الدالة الرئيسية `classNames` تقبل أي عدد من الوسائط. يتم تضمين السلاسل النصية مباشرة، بينما يتم تضمين مفاتيح الكائنات فقط عندما تكون قيمتها المرتبطة صحيحة. يتم تجاهل القيم الخاطئة مثل `false` و`null` و`undefined` و`0` والسلاسل النصية الفارغة. يتم تسوية المصفوفات بشكل متكرر باستخدام نفس القواعد. يمكن استخدام مفاتيح الكائنات المحسوبة في ES2015 لتوليد أسماء فئات ديناميكية. تُستخدم الحزمة بشكل شائع مع React لتبسيط خصائص `className` الشرطية، لتحل محل تسلسل السلاسل النصية اليدوي والإضافة القديمة `classSet` في React. يمكنها دمج فئة أساسية واسم فئة مقدم من المكون وفئات تعتمد على الحالة في استدعاء واحد. يتم توفير متغيرين اختياريين. `classnames/dedupe` يزيل الفئات المكررة ويسمح بإدخال كائن خاطئ لاحق لاستبعاد فئة سابقة؛ يلاحظ ملف README أن هذا المتغير أبطأ. `classnames/bind` مخصص لوحدات CSS أو إعدادات مماثلة، لتعيين أسماء الفئات المنطقية إلى قيم من كائن أنماط مستورد. بالنسبة للمتصفحات القديمة مثل Internet Explorer 8 والإصدارات الأقدم، يتطلب الإصدار 2.x polyfill لـ `Array.isArray`. يتبع المشروع التحكم الدلالي في الإصدارات، ويتضمن مجموعة اختبار، ويتم إصداره بموجب ترخيص MIT.