Aller au contenu

Composant · Chat

MessageActions

Stable

Rendu d’un panel d’actions liées au message avec overflow optionnel.

Voir le code (Svelte)
<MessageActions
  actions={[{"id":"copy","label":"Copier","icon":"⧉"},{"id":"regen","label":"Régénérer","icon":"↻"},{"id":"delete","label":"Supprimer","variant":"danger","icon":"✕"}]}
  visibility="always"
/>

Actions en hover

Voir le code (Svelte)
<MessageActions
  actions={[{"id":"copy","label":"Copier","icon":"⧉"},{"id":"edit","label":"Éditer","icon":"✎"},{"id":"regen","label":"Régénérer","icon":"↻"}]}
  visibility="hover"
/>

Actions always-visible

Voir le code (Svelte)
<MessageActions
  actions={[{"id":"like","label":"J'aime","icon":"👍"},{"id":"dislike","label":"Je n'aime pas","icon":"👎"},{"id":"delete","label":"Supprimer","variant":"danger","icon":"✕"}]}
  visibility="always"
/>

Overflow

Voir le code (Svelte)
<MessageActions actions={[{"id":"copy","label":"Copier","icon":"⧉"},{"id":"edit","label":"Éditer","icon":"✎"},{"id":"regen","label":"Régénérer","icon":"↻"}]} />

API

PropDescription
actionsListe d’objets MessageAction.
visibilityhover (défaut) ou always.
overflowSnippet affiché en queue de ligne si fourni.

Types clés

export type MessageAction = {
  id: string;
  label: string;
  icon: Snippet;
  onClick?: () => void;
  disabled?: boolean;
  variant?: "default" | "danger";
};