इस प्रोजेक्ट के बारे में

MaterialKolor एक Compose Multiplatform लाइब्रेरी है जो किसी भी सीड रंग से डायनामिक Material Design 3 कलर पैलेट बनाने के लिए है। यह Android, iOS, JVM डेस्कटॉप और JavaScript/wasm को लक्षित करती है, और इसे Maven Central पर com.materialkolor:material-kolor के रूप में प्रकाशित किया गया है। मुख्य विचार Google के material-color-utilities से आया है, जो केवल Java था; MaterialKolor इसे Kotlin Multiplatform में पोर्ट करता है और m3color प्रोजेक्ट से प्रेरित Compose-उन्मुख सहायक जोड़ता है। एक अलग आर्टिफैक्ट, com.materialkolor:material-color-utilities, Compose निर्भरता के बिना पोर्ट को उजागर करता है। उपयोग dynamicColorScheme() और rememberDynamicColorScheme() पर केंद्रित है, जो एक सीड रंग और एक डार्क/लाइट फ्लैग लेते हैं और एक ColorScheme लौटाते हैं। एक PaletteStyle पैरामीटर (उदाहरण के लिए Expressive) उत्पन्न पैलेट को समायोजित करता है, और ColorSpec.SpecVersion.SPEC_2025 नए Material 3 Expressive कलर स्पेसिफिकेशन को सक्षम करता है; डिफ़ॉल्ट SPEC_2021 है। दो सुविधाजनक कंपोज़ेबल MaterialTheme को लपेटते हैं: DynamicMaterialTheme, जो स्कीम के बीच एनिमेट कर सकता है, और DynamicMaterialExpressiveTheme, जो अधिक जीवंत परिणामों के लिए डिफ़ॉल्ट रूप से Expressive पैलेट स्टाइल और SPEC_2025 का उपयोग करता है। थीम निर्माण के अलावा, लाइब्रेरी कलर उपयोगिताएँ भी भेजती है: harmonize() किसी रंग को दूसरे के साथ संरेखित करने के लिए (वैकल्पिक matchSaturation फ्लैग के साथ), harmonizeWithPrimary(), lighten() और darken(), और isWarm()/isCold() तापमान जाँच। यह ImageBitmap से themeColors(), themeColor(), rememberThemeColors() और rememberThemeColor() के माध्यम से उपयुक्त सीड रंग भी प्राप्त कर सकता है, जो प्रोफ़ाइल चित्रों या पृष्ठभूमि छवियों से थीमिंग के लिए उपयोगी है, हालाँकि README नोट करता है कि यह धीमा हो सकता है और इसे उत्सुकता से करना सबसे अच्छा है। सेटअप Gradle के माध्यम से है, या तो मल्टीप्लेटफ़ॉर्म प्रोजेक्ट्स के लिए एक सामान्य स्रोत सेट में या केवल Android प्रोजेक्ट्स के लिए ऐप-स्तरीय बिल्ड फ़ाइल में, एक संस्करण कैटलॉग उदाहरण के साथ। materialkolor.com पर एक होस्टेड बिल्डर लाइब्रेरी को प्रदर्शित करता है और MaterialKolor या सादा Material 3 कोड निर्यात कर सकता है; KDoc docs.materialkolor.com पर प्रकाशित है। material-color-utilities मॉड्यूल Apache-2.0 लाइसेंस प्राप्त है, जबकि बाकी प्रोजेक्ट MIT लाइसेंस प्राप्त है।