Badges - DsfrBadge 
🌟 Introduction 
Le DsfrBadge est le super-héros des petites étiquettes ! Ce composant Vue est idéal pour afficher des informations courtes et importantes, comme des catégories, des étiquettes ou des statuts. C'est comme le fromage sur votre pizza : petit mais essentiel !
🏅 La documentation sur le badge sur le DSFR
La story sur le badge sur le storybook de VueDsfr📐 Structure 
- Le composant est un élément pavec la classefr-badge.
- Props permettent de modifier l'apparence du badge selon les props : type (), présence d'icône, taille et gestion du texte trop long.
- Le labelest affiché à l'intérieur d'unspan, potentiellement avec la propellipsiset une taille définie ou maximale pour gérer le texte tronqué.
🛠️ Props 
| Nom | Type | Défaut | Obligatoire | Description | 
|---|---|---|---|---|
| type | 'success' | 'warning' | 'error' | 'info' | 'info' | Définit le type de badge et change la couleur du badge en fonction du type. | |
| label | string | ✅ | Le texte à afficher dans le badge. | |
| noIcon | boolean | false | Si true, le badge s'affiche sans icône. | |
| small | boolean | false | Si true, affiche un badge de taille réduite. | |
| ellipsis | boolean | false | Si true, le texte est tronqué avec des points de suspension s'il est trop long. | 
📝 Exemples d'utilisation 
vue
<template>
  <DsfrBadge
    type="success"
    label="Approuvé"
  />
</template>vue
<template>
  <DsfrBadge
    type="info"
    label="Titre peut-être un peu trop long"
    ellipsis
    style="max-width=150px;"
  />
</template>vue
<script lang="ts" setup>
import DsfrBadge from '../DsfrBadge.vue'
</script>
<template>
  <div class="flex justify-center w-full gap-4">
    <div class="demo-container-col">
      <DsfrBadge
        label="Badge défaut"
      />
      <DsfrBadge
        label="Badge succès"
        type="success"
      />
      <DsfrBadge
        label="Badge danger"
        type="warning"
      />
      <DsfrBadge
        label="Badge erreur"
        type="error"
      />
      <DsfrBadge
        label="Badge info"
        type="info"
      />
      <DsfrBadge
        label="Badge 'none'"
        type="none"
      />
    </div>
    <div class="demo-container-col">
      <DsfrBadge
        label="Badge petit défaut"
        small
      />
      <DsfrBadge
        label="Badge petit succès"
        type="success"
        small
      />
      <DsfrBadge
        label="Badge petit danger"
        type="warning"
        small
      />
      <DsfrBadge
        label="Badge petit erreur"
        type="error"
        small
      />
      <DsfrBadge
        label="Badge petit info"
        type="info"
        small
      />
      <DsfrBadge
        label="Badge petit 'none'"
        type="none"
        small
      />
    </div>
    <div class="demo-container-col">
      <DsfrBadge
        label="Badge avec un titre un petit peu trop long"
        type="info"
        ellipsis
        style="max-width: 200px;"
      />
    </div>
  </div>
</template>vue
<script setup lang="ts">
import type { DsfrBadgeProps } from './DsfrBadge.types'
export type { DsfrBadgeProps }
withDefaults(defineProps<DsfrBadgeProps>(), {
  type: 'info',
})
</script>
<template>
  <p
    class="fr-badge"
    :class="{
      [`fr-badge--${type}`]: type,
      'fr-badge--no-icon': noIcon,
      'fr-badge--sm': small,
    }"
    :title="ellipsis ? label : undefined"
  >
    <span :class="ellipsis ? 'fr-ellipsis' : ''">
      {{ label }}
    </span>
  </p>
</template>Voilà, le DsfrBadge est prêt à illuminer vos interfaces comme les lumières de la Tour Eiffel illuminent Paris la nuit. Utilisez-le pour mettre en avant ces petits détails qui font toute la différence. À vos badges, prêts, partez ! 🚀💡
