Saya memiliki aplikasi tempat saya menggunakan Material UI dan penyedia temanya (menggunakan JSS).
Saya sekarang menggabungkan fullcalendar-react , yang bukan benar-benar perpustakaan React sepenuhnya - itu hanya pembungkus komponen React tipis di sekitar kode fullcalendar asli.
Maksudnya, bahwa saya tidak memiliki akses ke hal-hal seperti render props untuk mengendalikan bagaimana ia mengatur elemen-elemennya.
Namun demikian, memberi Anda akses ke elemen DOM secara langsung, melalui panggilan balik yang dipanggil saat ia merendernya (misalnya metode eventRender ).
Inilah kotak pasir demo dasar.
Sekarang yang ingin saya lakukan adalah membuat komponen Kalender Lengkap (misalnya, tombol) berbagi tampilan dan rasa yang sama dengan aplikasi saya yang lain.
Salah satu cara untuk melakukan ini, adalah bahwa saya bisa secara manual mengesampingkan semua gaya dengan melihat nama-nama kelas yang digunakannya dan menerapkan gaya yang sesuai.
Atau - Saya bisa menerapkan tema Bootstrap - seperti yang disarankan dalam dokumentasi mereka.
Tetapi masalah dengan salah satu dari solusi ini, adalah bahwa:
- Itu akan banyak pekerjaan
- Saya akan mengalami masalah sinkronisasi, jika saya membuat perubahan pada tema MUI saya dan lupa untuk memperbarui tema kalender mereka akan terlihat berbeda.
Yang ingin saya lakukan adalah:
- Konversikan secara ajaib tema MUI menjadi tema Bootstrap.
- Atau buat pemetaan antara nama kelas MUI dan nama kelas kalender, seperti:
.fc-button = .MuiButtonBase-root.MuiButton-root.MuiButton-contained
.fc-button-primary= .MuiButton-containedPrimary
Saya tidak keberatan harus memijat selektor dll untuk membuatnya bekerja (mis. Misalnya - Tombol MUI memiliki dua rentang internal, sedangkan Kalender Lengkap hanya memiliki satu). Ini kebanyakan tentang ketika saya mengubah tema - tidak ingin harus mengubahnya di dua tempat.
Menggunakan sesuatu seperti Sass dengan @extend
sintaksnya adalah apa yang ada dalam pikiran saya. Saya bisa membuat CSS kalender penuh dengan Sass cukup mudah - tetapi bagaimana Sass mendapatkan akses ke MuiTheme?
Mungkin saya bisa mengambil pendekatan yang berlawanan - beri tahu MUI 'Hai nama kelas ini di sini harus ditata seperti kelas MUI ini'.
Adakah saran nyata tentang bagaimana saya akan menyelesaikan ini?
text-decoration
properti ke helm.