منصوبے کے بارے میں

Classnames ایک جاوا اسکرپٹ یوٹیلیٹی ہے جو مشروط ان پٹس سے اسپیس سے الگ کردہ CSS کلاس کے ناموں کی سٹرنگ بناتی ہے۔ اسے npm سے `classnames` کے طور پر انسٹال کیا جا سکتا ہے اور Node.js، Browserify، webpack، RequireJS، یا براہ راست براؤزر میں اسٹینڈ اسکرپٹ کے ذریعے استعمال کیا جا سکتا ہے۔ مرکزی `classNames` فنکشن کسی بھی تعداد میں آرگیومنٹس قبول کرتا ہے۔ سٹرنگز کو براہ راست شامل کیا جاتا ہے، جبکہ آبجیکٹ کی چابیاں صرف اس وقت شامل کی جاتی ہیں جب ان کی متعلقہ قدر سچی ہو۔ جھوٹی اقدار جیسے `false`، `null`، `undefined`، `0`، اور خالی سٹرنگز کو نظر انداز کیا جاتا ہے۔ اریز کو اسی اصولوں کا استعمال کرتے ہوئے بار بار فلیٹ کیا جاتا ہے۔ متحرک کلاس کے ناموں کو پیدا کرنے کے لیے ES2015 کمپیوٹڈ آبجیکٹ کیز استعمال کی جا سکتی ہیں۔ یہ پیکیج عام طور پر React کے ساتھ مشروط `className` پراپرٹیز کو آسان بنانے کے لیے استعمال کیا جاتا ہے، جو دستی سٹرنگ کنکٹینیشن اور پرانے React `classSet` ایڈ آن کی جگہ لے لیتا ہے۔ یہ ایک کال میں بیس کلاس، ایک کمپوننٹ کے ذریعے فراہم کردہ کلاس کا نام، اور اسٹیٹ پر منحصر کلاسز کو یکجا کر سکتا ہے۔ دو اختیاری ویریئنٹس فراہم کیے گئے ہیں۔ `classnames/dedupe` ڈپلیکیٹ کلاسز کو ہٹاتا ہے اور بعد میں آنے والی جھوٹی آبجیکٹ انٹری کو پہلے کی کلاس کو خارج کرنے کی اجازت دیتا ہے؛ README نوٹ کرتا ہے کہ یہ ویریئنٹ سست ہے۔ `classnames/bind` CSS ماڈیولز یا اسی طرح کے سیٹ اپس کے لیے ہے، جو منطقی کلاس کے ناموں کو درآمد شدہ اسٹائلز آبجیکٹ کی اقدار سے میپ کرتا ہے۔ پرانے براؤزرز جیسے Internet Explorer 8 اور اس سے پہلے کے لیے، ورژن 2.x کو `Array.isArray` پولی فل کی ضرورت ہے۔ یہ پروجیکٹ سیمینٹک ورژننگ کی پیروی کرتا ہے، اس میں ٹیسٹ سوٹ شامل ہے، اور MIT لائسنس کے تحت جاری کیا گیا ہے۔