1.0.4 • Published 5 months ago

@alibee/react-modal v1.0.4

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

@alibee/react-modal

Un composant de fenêtre modale simple, léger et personnalisable pour React.

npm version license

📦 Installation

npm install @alibee/react-modal
# ou
yarn add @alibee/react-modal

🔧 Utilisation basique

import { Modal } from '@alibee/react-modal';
import '@alibee/react-modal/dist/style.css';

function App() {
  const [isOpen, setIsOpen] = useState(false);

  return (
    <div>
      <button onClick={() => setIsOpen(true)}>
        Ouvrir la modale
      </button>

      <Modal
        isOpen={isOpen}
        onClose={() => setIsOpen(false)}
        title="Titre de la modale"
        size="md"
      >
        <p>Contenu de votre modale ici</p>
      </Modal>
    </div>
  );
}

🎯 Exemple d'utilisation réel

Voici un exemple d'utilisation dans une application de gestion des ressources humaines :

import { useState } from 'react';
import { Modal } from '@alibee/react-modal';
import '@alibee/react-modal/dist/style.css';

function CreateEmployee() {
  const [isModalOpen, setIsModalOpen] = useState(false);
  
  // Boutons personnalisés pour le pied de page
  const modalFooter = (
    <>
      <button 
        onClick={() => navigate('/employee-list')}
        className="button button-primary"
      >
        Voir la liste des employés
      </button>
      <button 
        onClick={() => setIsModalOpen(false)}
        className="button button-danger"
      >
        Fermer
      </button>
    </>
  );

  return (
    <div>
      {/* Votre formulaire ici */}
      
      <Modal 
        isOpen={isModalOpen} 
        onClose={() => setIsModalOpen(false)}
        title="Employé créé"
        size="md"
        footer={modalFooter}
        closeOnEscape={true}
        closeOnClickOutside={true}
      >
        <div className="message message-success">
          L'employé a été créé avec succès et ajouté à la liste des employés.
        </div>
        <p>
          Vous pouvez maintenant créer un autre employé ou consulter la liste des employés existants à l'aide des boutons ci-dessous.
        </p>
      </Modal>
    </div>
  );
}

🎨 Props

PropTypePar défautDescription
isOpenbooleanRequisContrôle l'état d'ouverture de la modale
onClose() => voidRequisFonction appelée lors de la fermeture
childrenReactNodeRequisContenu à afficher dans le modal
classNamestring''Classes CSS additionnelles
closeOnEscapebooleantrueSi true, le modal se ferme avec la touche Escape
closeOnClickOutsidebooleantrueSi true, le modal se ferme en cliquant à l'extérieur
size'sm' \| 'md' \| 'lg''md'Taille du modal
footerReactNode-Contenu du pied de modal (optionnel)
titlestring-Titre du modal (optionnel)

🎨 Personnalisation

Le composant Modal utilise des classes CSS que vous pouvez surcharger :

.modal-overlay {
  /* Styles de l'overlay */
}

.modal {
  /* Styles du conteneur principal */
}

.modal-sm {
  /* Styles pour la taille small */
  max-width: 400px;
}

.modal-md {
  /* Styles pour la taille medium
  max-width: 550px;
}

.modal-lg {
  /* Styles pour la taille large */
  max-width: 700px;
}

.modal-title {
  /* Styles du titre */
}

.modal-content {
  /* Styles du contenu */
}

.modal-footer {
  /* Styles du pied de page */
}

.modal-close {
  /* Styles du bouton de fermeture */
}

📦 Versions

  • React 16.8.0 ou supérieur
  • React DOM 16.8.0 ou supérieur

🔒 Licence

MIT © Babali61

1.0.4

5 months ago

1.0.3

5 months ago

1.0.2

5 months ago

1.0.1

5 months ago

1.0.0

5 months ago