2025-06-24 12:05:10 +02:00
2025-06-24 10:55:12 +02:00
2025-06-24 11:28:21 +02:00
2025-06-24 12:05:10 +02:00
2025-06-24 12:05:10 +02:00
2025-06-24 12:05:10 +02:00
2025-06-24 10:55:12 +02:00
2025-06-24 10:55:12 +02:00
2025-06-24 10:55:12 +02:00

@johanleroy/dialogue-lib

🧩 Dialogue-lib est une bibliothèque Angular standalone permettant d'afficher des alertes, confirmations ou dialogues personnalisés, avec animations, timeout, icônes, backdrop et plus encore.

Compatible Angular 20+ • 📦 Utilisable en module partagé ou injecté globalement • 🎨 Style avec Tailwind (ou sans)


📦 Installation

npm install @angular/animations @johanleroy/dialogue-lib

🚀 Utilisation de base

1. Import du provider dans app.config.ts

import { bootstrapApplication } from '@angular/platform-browser';
import { AppComponent } from './app/app.component';
import { provideAnimations } from '@angular/platform-browser/animations';
import { provideDialogues } from '@ton-nom/dialogue-lib';

bootstrapApplication(AppComponent, {
    providers: [
        provideAnimations(),
        provideDialogues()
    ]
});

2. Appel depuis un composant

import { inject } from '@angular/core';
import { DialogueService } from '@johanleroy/dialogue-lib';

export class HomeComponent {
    
    private dialogue = inject(DialogueService);

    showSuccess() {
        this.dialogue.confirm({
            type: 'success',
            title: 'Bravo !',
            text: 'Vous avez réussie',
            confirmText: 'Okay !',
            timeout: 800,
            backdropOpacity: 0.5,
        });
    }

    showError() {
        this.dialogue.confirm({
            type: 'error',
            title: 'Aïeeeee !',
            text: 'Une erreur est survenue',
            confirmText: 'Mince !',
            timeout: 800,
            backdropOpacity: 0.5,
        });
    }

    showQuestion() {
        this.dialogue.confirm({
            type: 'question',
            title: 'Êtes-vous sûr ?',
            text: 'Supprimer définitivement l\'utilisateur ?',
            confirmText: 'Oui, supprimer',
            cancelText: 'Annuler',
            backdropOpacity: 0.5,
        }).then((res: boolean) => {
            if (res) {
                this.deleteUser(id);
            }
        });
    }
    
}

👨‍💻 Contribution

Les PR sont les bienvenues ! Clone le repo :

git clone https://github.com/ton-nom/dialogue-lib.git
cd dialogue-lib
npm install
npm run build

🐛 Bug ou idée d'amélioration ?

Crée une issue ici ou contacte-moi directement. Tu peux aussi me proposer des améliorations UX ou des nouveaux types de dialogues (ex : prompt, select...).

📄 Licence

MIT — © 2025 Johan Leroy

Description
Système de dialogue Angular standalone avec alertes personnalisables
Readme 34 KiB
Languages
TypeScript 59.8%
HTML 40.2%