Ho un'applicazione in cui sto usando l'IU materiale e il suo provider di temi (usando JSS).
Ora sto incorporando fullcalendar-reazioni , che non è in realtà una libreria React a tutti gli effetti - è solo un sottile wrapper di componenti React attorno al codice fullcalendar originale.
Vale a dire, che non ho accesso a cose come i puntelli di rendering per controllare il modo in cui modella i suoi elementi.
Tuttavia, ti dà accesso agli elementi DOM direttamente, tramite un callback che viene chiamato quando li esegue il rendering (es. Il metodo eventRender ).
Ora quello che voglio fare è fare in modo che i componenti del Calendario completo (ad es. I pulsanti) condividano lo stesso aspetto del resto della mia applicazione.
Un modo per farlo è che potrei sovrascrivere manualmente tutti gli stili guardando i nomi delle classi che sta usando e implementando lo stile di conseguenza.
Oppure - Potrei implementare un tema Bootstrap - come suggerito nella loro documentazione.
Ma il problema con una di queste soluzioni è che:
- Sarebbe molto lavoro
- Avrei problemi di sincronizzazione, se avessi apportato modifiche al mio tema MUI e avessi dimenticato di aggiornare il tema del calendario, avrebbero avuto un aspetto diverso.
Quello che vorrei fare è:
- Converti magicamente il tema MUI in un tema Bootstrap.
- Oppure crea una mappatura tra i nomi delle classi MUI e i nomi delle classi del calendario, in qualche modo:
.fc-button = .MuiButtonBase-root.MuiButton-root.MuiButton-contained
.fc-button-primary= .MuiButton-containedPrimary
Non mi dispiacerebbe dover massaggiare i selettori ecc. Per farlo funzionare (ad esempio, i pulsanti MUI hanno due span interni, mentre il calendario completo ne ha solo uno). Si tratta principalmente di quando cambio tema, non voglio cambiarlo in due punti.
Usare qualcosa come Sass con la sua @extend
sintassi sarebbe ciò che ho in mente. Potrei creare il CSS completo del calendario con Sass abbastanza facilmente - ma come farebbe Sass ad accedere a MuiTheme?
Forse potrei adottare un approccio opposto: dire a MUI "Ehi, questi nomi di classe qui dovrebbero essere definiti come queste classi MUI".
Qualche suggerimento concreto su come lo risolverei?
text-decoration
proprietà al casco.