From 1a82e27346aea7c80581f4c72159a4962a6c7f39 Mon Sep 17 00:00:00 2001 From: tristan Date: Tue, 9 Jun 2026 13:45:41 +0200 Subject: [PATCH] =?UTF-8?q?docs(amount)=20:=20plan=20impl=C3=A9mentation?= =?UTF-8?q?=20s=C3=A9parateurs=20de=20milliers?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...-06-09-inputamount-separateurs-milliers.md | 532 ++++++++++++++++++ 1 file changed, 532 insertions(+) create mode 100644 docs/superpowers/plans/2026-06-09-inputamount-separateurs-milliers.md diff --git a/docs/superpowers/plans/2026-06-09-inputamount-separateurs-milliers.md b/docs/superpowers/plans/2026-06-09-inputamount-separateurs-milliers.md new file mode 100644 index 0000000..3d8a802 --- /dev/null +++ b/docs/superpowers/plans/2026-06-09-inputamount-separateurs-milliers.md @@ -0,0 +1,532 @@ +# MalioInputAmount — séparateurs de milliers — 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:** Afficher les montants groupés à la française (`1 234 567,89`) en temps réel dans `MalioInputAmount`, tout en émettant un `modelValue` propre inchangé (`1234567.89`). + +**Architecture:** Extraction des fonctions pures (`normalizeAmount` déplacé + `formatGroupedAmount` + helpers curseur) dans `composables/amountFormat.ts`. Le composant binde l'affichage groupé (`formatGroupedAmount(currentValue)`) et, à la frappe, parse vers le modèle propre (émis), reformate, et repositionne le curseur en comptant les caractères significatifs. `maxLength` borne la longueur du modèle (plus de `maxlength` natif). + +**Tech Stack:** Nuxt 4 layer, Vue 3 `