Skip to main content
विजेट अंतर्निहित लाइट और डार्क थीम के साथ ग्लासमॉर्फिक बार के रूप में रेंडर होता है। कस्टमाइज़ेशन तीन स्तरों पर उपलब्ध है: सामान्य विकल्पों के लिए प्रॉप्स, थीमिंग के लिए CSS कस्टम प्रॉपर्टीज़, और पूर्ण नियंत्रण के लिए CSS क्लास ओवरराइड्स।
ये स्टाइलिंग विकल्प ThunderPhoneWidget React कंपोनेंट और ThunderPhone.mount() CDN मेथड द्वारा रेंडर किए गए पहले से निर्मित विजेट पर लागू होते हैं। यदि आपको पूरी तरह कस्टम UI चाहिए, तो इसके बजाय हेडलेस हुक का उपयोग करें।

थीम

theme प्रॉप विजेट की रंग स्कीम नियंत्रित करता है। यह विजेट रूट पर tp--light या tp--dark क्लास लागू करता है:
दोनों थीम बैकड्रॉप ब्लर और हल्की पारदर्शिता के साथ ग्लासमॉर्फिक बार डिज़ाइन का उपयोग करती हैं।

CSS कस्टम प्रॉपर्टीज़

विजेट CSS कस्टम प्रॉपर्टीज़ (वेरिएबल्स) एक्सपोज़ करता है, जिन्हें आप अलग-अलग क्लासेज़ को छुए बिना रंग बदलने के लिए ओवरराइड कर सकते हैं। ये .tp-widget रूट पर लागू की गई थीम क्लास (.tp--light या .tp--dark) द्वारा परिभाषित होती हैं:

कस्टम प्रॉपर्टीज़ को ओवरराइड करना

primaryColor प्रॉप के माध्यम से एक्सेंट रंग सेट करें:
--tp-accent को primaryColor प्रॉप से इनलाइन स्टाइल के रूप में सेट किया जाता है, इसलिए --tp-accent के स्टाइलशीट ओवरराइड का कोई प्रभाव नहीं होता। प्रॉप से एक्सेंट बदलें। अन्य सभी कस्टम प्रॉपर्टीज़ को CSS में ओवरराइड किया जा सकता है।
अन्य कस्टम प्रॉपर्टीज़ को CSS के साथ ओवरराइड करें। दो-क्लास सेलेक्टर (.tp-widget.tp--light / .tp-widget.tp--dark) का उपयोग करें, ताकि स्टाइलशीट क्रम की परवाह किए बिना आपका नियम डिफ़ॉल्ट परिभाषित करने वाली थीम क्लास पर प्राथमिकता ले सके:

CSS क्लासेस

मौजूदा स्टाइल्स के साथ टकराव से बचने के लिए सभी विजेट क्लासेस में tp- प्रीफिक्स होता है।

उदाहरण

Props के ज़रिए कस्टम एक्सेंट

विजेट को ब्रांड करने का सबसे सरल तरीका:

CSS के ज़रिए कस्टम रंग

पूरे रंग नियंत्रण के लिए कस्टम प्रॉपर्टीज़ ओवरराइड करें। याद रखें कि एक्सेंट CSS से नहीं, primaryColor prop से आता है:

कस्टम साइज़

बार, बटन और टेक्स्ट के डाइमेंशन समायोजित करके विजेट को बड़ा या छोटा करें:

टेक्स्ट लेबल छिपाएँ

विजेट का सारा टेक्स्ट .tp-meta में होता है। केवल वेवफॉर्म और बटन रखने के लिए इसे पूरी तरह छिपाएँ:
या अलग-अलग हिस्से छिपाएँ:
आइडल लेबल .tp-name/.tp-sub में होता है, .tp-status में नहीं — केवल .tp-status छिपाने पर विजेट आइडल होने के दौरान शीर्षक फिर भी दिखाई देता है।

थीम-विशिष्ट ओवरराइड

थीम क्लास के साथ किसी विशिष्ट थीम को टारगेट करें:

className के साथ स्कोपिंग

React कंपोनेंट का उपयोग करते समय, अपने ओवरराइड्स को किसी विशिष्ट विजेट इंस्टेंस तक सीमित करने के लिए className prop पास करें:
फिर अपनी CSS में उस क्लास को टारगेट करें:
इससे आप एक ही पेज पर अलग-अलग स्टाइल वाले कई विजेट इंस्टेंस रख सकते हैं। हर इंस्टेंस को उसके primaryColor prop के ज़रिए अपना एक्सेंट दें (CSS --tp-accent को ओवरराइड नहीं कर सकता — यह इनलाइन सेट होता है)।

पूरी तरह कस्टम UI

अगर CSS ओवरराइड पर्याप्त नहीं हैं, तो हेडलेस हुक आपको पूरा नियंत्रण देता है। आप सभी HTML और स्टाइलिंग प्रदान करते हैं, जबकि useThunderPhone वॉइस सेशन संभालता है। यह हुक वेवफॉर्म जैसे ऑडियो-रिएक्टिव विज़ुअलाइज़ेशन बनाने के लिए audioLevelRef भी प्रदान करता है।
जब आपको ऑडियो-रिएक्टिव एनिमेशन, कस्टम लेआउट या किसी मौजूदा कंपोनेंट लाइब्रेरी में इंटीग्रेशन चाहिए, तब हेडलेस हुक सही विकल्प है। त्वरित थीमिंग समायोजनों के लिए CSS ओवरराइड और कस्टम प्रॉपर्टीज़ बेहतर हैं।