इस प्रोजेक्ट के बारे में
Classnames एक JavaScript उपयोगिता है जो सशर्त इनपुट से स्पेस-सेपरेटेड 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 लाइसेंस के तहत जारी किया गया है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.