Un outil de conversion en temps réel pour transformer les composants Material-UI (MUI) en classes Tailwind CSS.
Ce projet permet aux développeurs de convertir facilement leur code Material-UI en classes Tailwind CSS équivalentes. L'outil offre une interface interactive avec prévisualisation en temps réel.
# Cloner le repository
git clone https://github.com/Treys1704/muiToTailwind.git
# Accéder au répertoire
cd muiToTailwind
# Installer les dépendances
npm install
# Lancer l'application
npm run dev
# Creation de votre fichier .env avec votre secret key
{
"dependencies": {
"@monaco-editor/react": "^4.4.6",
"framer-motion": "^6.0.0",
"@tailwindcss/typography": "^2.0.0",
"react": "^17.0.2",
"react-dom": "^17.0.2"
}
}
src/
├── components/
│ ├── CodeConverter.jsx # Composant principal de conversion
│ ├── ComponentsList.jsx # Liste des composants supportés
│ └── Preview.jsx # Prévisualisation du code converti
├── utils/
│ ├── componentMappings.js # Mappings MUI vers Tailwind
│ ├── converter.js # Logique de conversion
│ ├── dynamicStyles.js # Gestion des styles dynamiques
│ └── propHandlers.js # Gestion des props complexes
├── styles/
│ └── App.css # Styles globaux
└── App.jsx # Point d'entrée de l'application
// tailwind.config.js
module.exports = {
content: ['./src/**/*.{js,jsx,ts,tsx}'],
theme: {
extend: {
// Configurations personnalisées
}
},
plugins: [
require('@tailwindcss/typography')
],
// Liste des classes safelist
}
Pour ajouter le support d'un nouveau composant MUI :
Mettre à jour componentMappings.js
:
export const componentMappings = {
NouveauComposant: {
prop: {
value: 'classes-tailwind-correspondantes'
}
}
}
Ajouter le mapping HTML dans htmlMappings.js
:
export const htmlMappings = {
NouveauComposant: 'element-html-equivalent'
}
Les styles dynamiques sont gérés via dynamicStyles.js
. Pour ajouter de nouveaux styles :
export function handleDynamicStyles(props, component) {
// Logique de conversion des styles
}
git checkout -b feature/AmazingFeature
)git commit -m 'Add some AmazingFeature'
)git push origin feature/AmazingFeature
)Pour le debugging, utilisez les outils de développement React et la console du navigateur. Les erreurs de conversion sont affichées dans l'interface utilisateur.
dangerouslySetInnerHTML
sécurisée pour la prévisualisationFrontend (React)
└── Components
├── Conversion Logic
│ └── Component Mappings
├── Preview System
└── UI Components
Pour toute question ou suggestion, contactez :
Ce projet est sous licence MIT. Voir le fichier LICENSE
pour plus de détails.
Développé avec ❤️ par Ayina Maerik & Tresor Manock