All checks were successful
Release / release (push) Successful in 1m14s
| Numéro du ticket | Titre du ticket | |------------------|-----------------| | | | ## Description de la PR ## Modification du .env ## Check list - [x] Pas de régression - [x] TU/TI/TF rédigée - [x] TU/TI/TF OK - [x] CHANGELOG modifié Co-authored-by: kevin <kevin@yuno.malio.fr> Co-authored-by: Kevin Boudet <kevin@yuno.malio.fr> Reviewed-on: #23 Co-authored-by: tristan <tristan@yuno.malio.fr> Co-committed-by: tristan <tristan@yuno.malio.fr>
243 lines
6.1 KiB
Vue
243 lines
6.1 KiB
Vue
<template>
|
|
<Story title="Button/Icon">
|
|
<div class="grid grid-cols-1 gap-6 md:grid-cols-2">
|
|
<div class="rounded-lg border p-4">
|
|
<h2 class="mb-4 text-xl font-bold">Simple</h2>
|
|
<div class="flex gap-4">
|
|
<MalioButtonIcon
|
|
icon="mdi:arrow-left"
|
|
aria-label="Retour"
|
|
/>
|
|
<MalioButtonIcon
|
|
icon="mdi:pencil-outline"
|
|
aria-label="Modifier"
|
|
/>
|
|
<MalioButtonIcon
|
|
icon="mdi:close"
|
|
aria-label="Fermer"
|
|
/>
|
|
<MalioButtonIcon
|
|
icon="mdi:download"
|
|
aria-label="Télécharger"
|
|
/>
|
|
<MalioButtonIcon
|
|
icon="mdi:bell-outline"
|
|
aria-label="Notifications"
|
|
/>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="rounded-lg border p-4">
|
|
<h2 class="mb-4 text-xl font-bold">Icônes variées</h2>
|
|
<div class="flex gap-4">
|
|
<MalioButtonIcon
|
|
icon="mdi:cog-outline"
|
|
aria-label="Paramètres"
|
|
/>
|
|
<MalioButtonIcon
|
|
icon="mdi:format-list-bulleted"
|
|
aria-label="Liste"
|
|
/>
|
|
<MalioButtonIcon
|
|
icon="mdi:view-grid-outline"
|
|
aria-label="Grille"
|
|
/>
|
|
<MalioButtonIcon
|
|
icon="mdi:folder-outline"
|
|
aria-label="Dossier"
|
|
/>
|
|
<MalioButtonIcon
|
|
icon="mdi:delete-outline"
|
|
aria-label="Supprimer"
|
|
/>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="rounded-lg border p-4">
|
|
<h2 class="mb-4 text-xl font-bold">Désactivé</h2>
|
|
<div class="flex gap-4">
|
|
<MalioButtonIcon
|
|
icon="mdi:arrow-left"
|
|
aria-label="Retour"
|
|
disabled
|
|
/>
|
|
<MalioButtonIcon
|
|
icon="mdi:pencil-outline"
|
|
aria-label="Modifier"
|
|
disabled
|
|
/>
|
|
<MalioButtonIcon
|
|
icon="mdi:close"
|
|
aria-label="Fermer"
|
|
disabled
|
|
/>
|
|
<MalioButtonIcon
|
|
icon="mdi:download"
|
|
aria-label="Télécharger"
|
|
disabled
|
|
/>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="rounded-lg border p-4">
|
|
<h2 class="mb-4 text-xl font-bold">Ghost</h2>
|
|
<div class="flex gap-4">
|
|
<MalioButtonIcon
|
|
icon="mdi:arrow-left"
|
|
aria-label="Retour"
|
|
variant="ghost"
|
|
/>
|
|
<MalioButtonIcon
|
|
icon="mdi:pencil-outline"
|
|
aria-label="Modifier"
|
|
variant="ghost"
|
|
/>
|
|
<MalioButtonIcon
|
|
icon="mdi:close"
|
|
aria-label="Fermer"
|
|
variant="ghost"
|
|
/>
|
|
<MalioButtonIcon
|
|
icon="mdi:download"
|
|
aria-label="Télécharger"
|
|
variant="ghost"
|
|
/>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="rounded-lg border p-4">
|
|
<h2 class="mb-4 text-xl font-bold">Ghost désactivé</h2>
|
|
<div class="flex gap-4">
|
|
<MalioButtonIcon
|
|
icon="mdi:arrow-left"
|
|
aria-label="Retour"
|
|
variant="ghost"
|
|
disabled
|
|
/>
|
|
<MalioButtonIcon
|
|
icon="mdi:pencil-outline"
|
|
aria-label="Modifier"
|
|
variant="ghost"
|
|
disabled
|
|
/>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="rounded-lg border p-4">
|
|
<h2 class="mb-4 text-xl font-bold">Taille personnalisée</h2>
|
|
<div class="flex items-center gap-4">
|
|
<MalioButtonIcon
|
|
icon="mdi:arrow-left"
|
|
aria-label="Petit"
|
|
:icon-size="16"
|
|
/>
|
|
<MalioButtonIcon
|
|
icon="mdi:arrow-left"
|
|
aria-label="Normal"
|
|
:icon-size="24"
|
|
/>
|
|
<MalioButtonIcon
|
|
icon="mdi:arrow-left"
|
|
aria-label="Grand"
|
|
:icon-size="32"
|
|
/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</Story>
|
|
</template>
|
|
|
|
<docs lang="md">
|
|
# MalioButtonIcon
|
|
|
|
Bouton contenant uniquement une icône, sans texte. Utilisé pour des actions
|
|
rapides et compactes (retour, modifier, supprimer, etc.).
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
## Props détaillées
|
|
|
|
### id
|
|
|
|
- Type: string
|
|
- Description: Identifiant HTML du bouton.
|
|
- Comportement: Si non fourni, un id unique est généré automatiquement.
|
|
|
|
### icon
|
|
|
|
- Type: string
|
|
- **Requis**
|
|
- Description: Nom de l'icône Iconify (ex: `mdi:arrow-left`).
|
|
|
|
### ariaLabel
|
|
|
|
- Type: string
|
|
- **Requis**
|
|
- Description: Label d'accessibilité du bouton. Obligatoire car le bouton
|
|
n'a pas de texte visible.
|
|
|
|
### iconSize
|
|
|
|
- Type: string | number
|
|
- Défaut: 24
|
|
- Description: Taille de l'icône en pixels.
|
|
|
|
### buttonClass
|
|
|
|
- Type: string
|
|
- Description: Classes CSS additionnelles appliquées au bouton.
|
|
|
|
### disabled
|
|
|
|
- Type: boolean
|
|
- Description: Désactive le bouton.
|
|
|
|
### variant
|
|
|
|
- Type: `'filled' | 'ghost'`
|
|
- Défaut: `filled`
|
|
- Description: Variante visuelle du bouton.
|
|
- `filled` : fond coloré, icône blanche.
|
|
- `ghost` : sans fond, icône colorée.
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
## Comportement visuel
|
|
|
|
### Variante `filled` (défaut)
|
|
|
|
- **Default** : fond `#222783`, icône blanche
|
|
- **Hover** : fond `#121CDB`
|
|
- **Active** : fond `#212567`
|
|
- **Disabled** : fond `#CCCCDF`
|
|
|
|
### Variante `ghost`
|
|
|
|
- **Default** : icône `#222783`, sans fond
|
|
- **Hover** : icône `#121CDB`
|
|
- **Active** : icône `#212567`
|
|
- **Disabled** : icône `#CCCCDF`
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
## Accessibilité
|
|
|
|
- `aria-label` est requis pour décrire l'action du bouton.
|
|
- `type="button"` pour éviter les soumissions de formulaire accidentelles.
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
## Events
|
|
|
|
### click
|
|
|
|
- Émis au clic sur le bouton.
|
|
- Non émis si le bouton est `disabled`.
|
|
- Retourne l'événement `MouseEvent` natif.
|
|
|
|
</docs>
|
|
|
|
<script setup lang="ts">
|
|
import MalioButtonIcon from '../../components/malio/button/ButtonIcon.vue'
|
|
</script>
|