from ..controls.c_preset import c_preset from ..controls.c_checkbox import c_checkbox from ..controls.c_slider import c_slider LAYOUT_CONTROLS = [ c_preset( "disposition_interne", "Disposition interne", [ ("libre", "Empilement libre", {"display": "", "flex-direction": ""}), ("ligne", "Alignés côte à côte", {"display": "flex", "flex-direction": "row"}), ("ligne_inverse", "Alignés côte à côte, ordre inversé", {"display": "flex", "flex-direction": "row-reverse"}), ("colonne", "Alignés les uns sous les autres", {"display": "flex", "flex-direction": "column"}), ("colonne_inverse", "Alignés les uns sous les autres, ordre inversé", {"display": "flex", "flex-direction": "column-reverse"}), ], default="libre", group="Disposition", ), c_preset( "alignement_transversal", "Alignement transversal", [ ("etire", "Étirés pour remplir", {"align-items": ""}), ("debut", "Alignés au début", {"align-items": "flex-start"}), ("centre_t", "Centrés", {"align-items": "center"}), ("fin", "Alignés à la fin", {"align-items": "flex-end"}), ], default="etire", group="Disposition", ), c_preset( "alignement_principal", "Répartition", [ ("debut_p", "Regroupés au début", {"justify-content": ""}), ("centre_p", "Regroupés au centre", {"justify-content": "center"}), ("fin_p", "Regroupés à la fin", {"justify-content": "flex-end"}), ("espace_entre", "Espacement égal entre eux", {"justify-content": "space-between"}), ("espace_autour", "Espacement égal autour de chacun", {"justify-content": "space-around"}), ("espace_uniforme", "Espacement totalement uniforme", {"justify-content": "space-evenly"}), ], default="debut_p", group="Disposition", ), c_checkbox( "flex-wrap", "Autoriser le retour à la ligne si ça ne tient pas", "style:flex-wrap", true_value="wrap", false_value="nowrap", default=False, group="Disposition", ), c_slider("gap", "Espace entre les éléments", "style:gap", min=0, max=40, default=8, group="Disposition"), ]