From e03bea39c568d749fcd5e48265eca8fd4060e3da Mon Sep 17 00:00:00 2001 From: william Date: Thu, 24 Sep 2026 11:36:30 +0200 Subject: [PATCH] =?UTF-8?q?Ajoute=20ic=C3=B4ne/largeur/arrondi/gras/majusc?= =?UTF-8?q?ules=20=C3=A0=20l'=C3=A9tiquette=20(badge)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Nouveaux attributs par élément (svg_markup/width/border_radius/bold/ uppercase, tous vides ou False par défaut = comportement historique inchangé), réglables depuis le panneau Propriétés — même esprit que bold/align/color déjà présents sur titre/paragraphe. Fixer une largeur implique toujours de sortir de l'étirement pleine largeur par défaut (align-self:flex-start posé automatiquement avec elle). Le kicker "Module obligatoire" du thème Sécurité Incendie s'en sert maintenant (icône flamme, largeur au contenu, arrondi complet, gras, majuscules) pour être conforme à la maquette d'origine — la puce décorative CSS générique qui la remplaçait disparaît du thème. Co-Authored-By: Claude Sonnet 5 --- document_engine/labels/element_kind_labels.py | 15 ++++- document_engine/labels/labels.md | 25 +++++--- .../rendering/render_document_element.py | 31 ++++++++-- document_engine/rendering/rendering.md | 13 +++- .../themes/securite_incendie_seed.py | 16 ++++- static/document/js/document-editor.js | 20 ++++++- static/document/themes/securite-incendie.css | 25 +++++--- tests/document/test_document_elements.py | 59 ++++++++++++++++++- tests/document/test_document_themes.py | 16 +++++ 9 files changed, 194 insertions(+), 26 deletions(-) diff --git a/document_engine/labels/element_kind_labels.py b/document_engine/labels/element_kind_labels.py index 2ef4e9c1..1bd47420 100644 --- a/document_engine/labels/element_kind_labels.py +++ b/document_engine/labels/element_kind_labels.py @@ -81,7 +81,20 @@ def element_default_attributes(kind: str) -> dict[str, Any]: # attribut "ordered" redondant à tenir synchronisé avec le kind. return {"items": ["Premier élément", "Deuxième élément"]} if kind == "badge": - return {"content": "Étiquette"} + # Même esprit que titre/paragraphe (bold/align/color... déjà des + # attributs par élément, pas des choix figés par le moteur) : + # svg_markup/width/border_radius/bold/uppercase vides ou False par + # défaut = comportement historique inchangé (pleine largeur, sans + # icône, casse normale) ; un thème ou le créateur les règle au cas + # par cas (retour utilisateur du 24/09/2026). + return { + "content": "Étiquette", + "svg_markup": "", + "width": "", + "border_radius": "", + "bold": False, + "uppercase": False, + } if kind == "carte": # Contenu pur (lettre/repère court + titre + description) — sans # aucun choix de couleur/forme, laissé au futur système de diff --git a/document_engine/labels/labels.md b/document_engine/labels/labels.md index 52d17227..fb0c5520 100644 --- a/document_engine/labels/labels.md +++ b/document_engine/labels/labels.md @@ -11,12 +11,18 @@ top-niveau ou enfants d'une rangée. `"liste_puces"`/`"liste_numerotee"` partagent la même structure d'attributs (`items`) ; c'est le `kind` lui-même qui décide `