diff --git a/document_engine/labels/element_kind_labels.py b/document_engine/labels/element_kind_labels.py index e42de5f8..2b4db007 100644 --- a/document_engine/labels/element_kind_labels.py +++ b/document_engine/labels/element_kind_labels.py @@ -11,7 +11,7 @@ from .mots_config import DEFAULT_MOTS_CONFIG from .quiz_config import DEFAULT_QUIZ_CONFIG from .scenario_config import DEFAULT_SCENARIO_CONFIG -CONTENT_KINDS = ("titre", "paragraphe", "image", "bouton") +CONTENT_KINDS = ("titre", "paragraphe", "image", "bouton", "liste_puces", "liste_numerotee") MINIGAME_KINDS = ("quiz", "association", "memory", "mots", "scenario", "zones") # "row" n'apparaît jamais dans la bibliothèque (créé implicitement par le @@ -28,6 +28,8 @@ ELEMENT_KIND_LABELS: dict[str, str] = { "paragraphe": "Paragraphe", "image": "Image", "bouton": "Bouton", + "liste_puces": "Liste à puces", + "liste_numerotee": "Liste numérotée", "quiz": "Quiz", "association": "Association", "memory": "Memory", @@ -57,6 +59,12 @@ def element_default_attributes(kind: str) -> dict[str, Any]: return {"src": "", "alt": ""} if kind == "bouton": return {"label": "Bouton", "target": ""} + if kind in ("liste_puces", "liste_numerotee"): + # Une seule et même structure d'attributs pour les deux kinds — + # "ordonnée ou non" se lit directement sur le kind au moment du + # rendu (voir render_document_element._render_list), jamais un + # attribut "ordered" redondant à tenir synchronisé avec le kind. + return {"items": ["Premier élément", "Deuxième élément"]} if kind == "row": return {"gap": 16, "align": "stretch", "justify": "flex-start"} if kind == "quiz": diff --git a/document_engine/labels/labels.md b/document_engine/labels/labels.md index 829e0362..2ccd7bbe 100644 --- a/document_engine/labels/labels.md +++ b/document_engine/labels/labels.md @@ -5,8 +5,13 @@ groupée par catégorie (panneau gauche de l'éditeur), libellés d'affichage, e attributs par défaut posés à la création de chaque type. ## `CONTENT_KINDS: tuple[str, ...]` -`("titre", "paragraphe", "image", "bouton")` — éléments du flux, peuvent -être top-niveau ou enfants d'une rangée. +`("titre", "paragraphe", "image", "bouton", "liste_puces", +"liste_numerotee")` — éléments du flux, peuvent être 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 `