import type { Meta, StoryObj } from '@storybook/react'; import { AuthErrorMessage } from './AuthErrorMessage'; /** * AuthErrorMessage - Affichage d'erreurs d'authentification * * Composant wrapper pour afficher les erreurs d'authentification * de manière cohérente avec le design system. * * @deprecated Considérez d'utiliser ErrorDisplay directement pour les nouveaux développements. */ const meta: Meta = { title: 'Features/Auth/AuthErrorMessage', component: AuthErrorMessage, parameters: { layout: 'centered', docs: { description: { component: 'Composant d\'affichage des erreurs d\'authentification. Utilise ErrorDisplay en interne.', }, }, }, tags: ['autodocs'], argTypes: { message: { control: 'text', description: 'Message d\'erreur à afficher', }, className: { control: 'text', description: 'Classes CSS additionnelles', }, id: { control: 'text', description: 'ID unique pour l\'accessibilité', }, }, decorators: [ (Story) => (
), ], }; export default meta; type Story = StoryObj; /** * Message d'erreur par défaut. */ export const Default: Story = { name: 'Par défaut', args: { message: 'Une erreur est survenue lors de l\'authentification.', }, }; /** * Erreur de réseau. */ export const Network: Story = { name: 'Erreur réseau', args: { message: 'Impossible de se connecter au serveur. Vérifiez votre connexion internet.', }, }; /** * Erreur de validation. */ export const Validation: Story = { name: 'Erreur de validation', args: { message: 'Email ou mot de passe incorrect.', }, }; /** * Message vide - ne rend rien. */ export const Empty: Story = { name: 'Vide (pas de rendu)', args: { message: '', }, parameters: { docs: { description: { story: 'Quand le message est vide, le composant ne rend rien (retourne null).', }, }, }, }; /** * Avec ID personnalisé pour l'accessibilité. */ export const WithCustomId: Story = { name: 'Avec ID personnalisé', args: { message: 'Session expirée. Veuillez vous reconnecter.', id: 'login-error-message', }, parameters: { docs: { description: { story: 'L\'ID peut être utilisé pour lier le message d\'erreur à un champ de formulaire via aria-describedby.', }, }, }, };