ฉันมีแอปพลิเคชันที่ฉันใช้ Material UI และผู้ให้บริการธีม (โดยใช้ JSS)
ตอนนี้ฉันได้รวมfullcalendar-react เอาไว้ซึ่งไม่ใช่ไลบรารี React ที่สมบูรณ์แบบจริงๆ - มันเป็นเพียง wrapper องค์ประกอบ React บาง ๆ รอบรหัส fullcalendar ดั้งเดิม
กล่าวคือฉันไม่สามารถเข้าถึงสิ่งต่าง ๆ เช่นอุปกรณ์ประกอบฉากแสดงผลเพื่อควบคุมลักษณะขององค์ประกอบ
อย่างไรก็ตามให้สิทธิ์การเข้าถึงองค์ประกอบ DOM โดยตรงผ่านการติดต่อกลับที่ถูกเรียกเมื่อสร้างการแสดงผล (เช่นเมธอด eventRender )
ตอนนี้สิ่งที่ฉันต้องการทำก็คือทำให้ส่วนประกอบปฏิทินแบบเต็ม (เช่นปุ่ม) แบ่งปันรูปลักษณ์และความรู้สึกเช่นเดียวกับส่วนที่เหลือของแอปพลิเคชันของฉัน
วิธีหนึ่งในการทำเช่นนี้คือฉันสามารถแทนที่สไตล์ทั้งหมดด้วยตนเองโดยดูที่ชื่อคลาสที่ใช้และใช้สไตล์ตามนั้น
หรือ - ฉันสามารถใช้ชุดรูปแบบ Bootstrap - ตามที่แนะนำในเอกสารประกอบ
แต่ปัญหาของการแก้ปัญหาเหล่านี้ก็คือ:
- มันจะทำงานมาก
- ฉันจะมีปัญหาการซิงโครไนซ์ถ้าฉันทำการเปลี่ยนแปลงชุดรูปแบบ MUI ของฉันและลืมปรับปรุงชุดรูปแบบปฏิทินพวกเขาจะดูแตกต่างกัน
สิ่งที่ฉันต้องการทำคือ:
- แปลงธีม MUI เป็นธีม Bootstrap อย่างน่าอัศจรรย์
- หรือสร้างการแมประหว่างชื่อคลาส MUI และชื่อคลาสปฏิทินเช่น:
.fc-button = .MuiButtonBase-root.MuiButton-root.MuiButton-contained
.fc-button-primary= .MuiButton-containedPrimary
ฉันจะไม่รังเกียจที่จะนวดตัวเลือก ฯลฯ เพื่อให้มันทำงานได้ (เช่นตัวอย่างเช่น - ปุ่ม MUI มีสองช่วงภายในขณะที่ปฏิทินแบบเต็มมีเพียงอันเดียว) ส่วนใหญ่เกี่ยวกับเมื่อฉันเปลี่ยนชุดรูปแบบ - ไม่ต้องการเปลี่ยนในสองแห่ง
การใช้บางอย่างเช่น Sass กับ@extend
ไวยากรณ์ของมันจะเป็นสิ่งที่ฉันมีอยู่ในใจ ฉันสามารถสร้าง CSS ปฏิทินแบบเต็มด้วย Sass ได้ง่ายพอ - แต่ Sass จะเข้าถึง MuiTheme ได้อย่างไร
บางทีฉันอาจใช้แนวทางตรงกันข้าม - บอก MUI ว่า 'เฮ้ชื่อคลาสเหล่านี้ที่นี่ควรมีสไตล์เหมือนกับคลาส MUI เหล่านี้'
ข้อเสนอแนะที่เป็นรูปธรรมเกี่ยวกับวิธีที่ฉันจะแก้ปัญหานี้?
text-decoration
คุณสมบัติลงในหมวก