Adds a new "class:" control-target kind (save_element_controls.py, _visible_attrs.py) alongside the existing content/attr/style ones, so a widget can carry CSS classes built from independent named slots (color, size, shape...) without them overwriting each other. Bouton and Titre get their Bulma base class (button/title) via fixed_attrs; Conteneur gets an opt-in "Carte (Bulma)" preset instead of a forced default, since it's also used as an invisible layout wrapper. Bouton's font-size/border-radius sliders no longer freeze their default value into inline style at creation (new c_slider no_freeze flag), so Bulma's own button styling shows through until a user actually customizes it — inline style still wins over any class the moment it's set, exactly like today. Loads bulma.min.css via CDN in screen_edit.html and play.html, same pattern as animate.css.
26 lines
1.6 KiB
Python
26 lines
1.6 KiB
Python
from ..controls.c_select import c_select
|
|
from ..controls.c_checkbox import c_checkbox
|
|
|
|
# Réglages Bulma (https://bulma.io) posés en plus des réglages de style
|
|
# "libres" déjà existants (couleur, taille de police...) — chacun ajoute un
|
|
# jeton de classe CSS (target "class:xxx", voir save_element_controls.py et
|
|
# _visible_attrs.py) à la classe de base du widget (posée via fixed_attrs,
|
|
# ex. "button"). Laissé à "" (par défaut) = look Bulma nu, sans modificateur.
|
|
# Les réglages de couleur/taille "libres" du widget restent utilisables par-
|
|
# dessus : un style en ligne gagne toujours contre une classe CSS, donc
|
|
# personnaliser une couleur ou une taille continue de fonctionner exactement
|
|
# comme avant, Bulma ne servant alors que de base par défaut.
|
|
BULMA_BUTTON_CONTROLS = [
|
|
c_select("bulma_couleur", "Style Bulma — couleur", "class:couleur", [
|
|
("", "Aucun (couleurs ci-dessous)"),
|
|
("is-primary", "Primaire"), ("is-link", "Lien"), ("is-info", "Info"),
|
|
("is-success", "Succès"), ("is-warning", "Attention"), ("is-danger", "Danger"),
|
|
("is-light", "Clair"), ("is-dark", "Sombre"),
|
|
], default="", group="Style Bulma"),
|
|
c_select("bulma_taille", "Style Bulma — taille", "class:taille", [
|
|
("", "Normale"), ("is-small", "Petite"), ("is-medium", "Moyenne"), ("is-large", "Grande"),
|
|
], default="", group="Style Bulma"),
|
|
c_checkbox("bulma_arrondi", "Coins bien arrondis (Bulma)", "class:arrondi", "is-rounded", "", group="Style Bulma"),
|
|
c_checkbox("bulma_contour", "Contour seulement (Bulma)", "class:contour", "is-outlined", "", group="Style Bulma"),
|
|
]
|