From 1296f62ccfcec9b970eb48a6e4515beb7b313fd4 Mon Sep 17 00:00:00 2001 From: tristan Date: Tue, 9 Jun 2026 12:46:17 +0200 Subject: [PATCH] =?UTF-8?q?docs(email)=20:=20plan=20impl=C3=A9mentation=20?= =?UTF-8?q?bouton=20+=20d'ajout?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2026-06-09-inputemail-bouton-ajout.md | 458 ++++++++++++++++++ 1 file changed, 458 insertions(+) create mode 100644 docs/superpowers/plans/2026-06-09-inputemail-bouton-ajout.md diff --git a/docs/superpowers/plans/2026-06-09-inputemail-bouton-ajout.md b/docs/superpowers/plans/2026-06-09-inputemail-bouton-ajout.md new file mode 100644 index 0000000..4f344d1 --- /dev/null +++ b/docs/superpowers/plans/2026-06-09-inputemail-bouton-ajout.md @@ -0,0 +1,458 @@ +# MalioInputEmail — bouton « + » d'ajout — Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** Ajouter à `MalioInputEmail` un bouton « + » optionnel (prop `addable`) qui émet un event `add`, calqué sur `MalioInputPhone`, sans toucher à la logique de sanitisation email existante. + +**Architecture:** Recopie du pattern `addable` de `InputPhone.vue` dans `InputEmail.vue` (props `addable`/`addIconName`/`addButtonLabel`, event `add`, bouton `data-test="add-button"`). L'icône email étant à droite par défaut, une nouvelle computed `effectiveIconPosition` la force à gauche quand `addable` est actif, libérant la droite pour le bouton. Aucune modification de `onInput`/`sanitizeEmail`/`lowercase`. + +**Tech Stack:** Nuxt 4 layer, Vue 3 `