Audit complet de mise en forme — Titre/Paragraphe (1er élément du tableau)
Nouveau module partagé document_engine/rendering/box_style.py (padding/margin/background_color/border_radius/border par côté/height/ min-height/max-height/min-width/box-shadow/opacity/align_self) — réutilisable tel quel par tous les kinds suivants du tableau d'audit. Titre/Paragraphe gagnent : barré, police de caractère, taille de police, hauteur de ligne, espacement des lettres, majuscules/ minuscules/capitales, ombre du texte, et tous les attributs de boîte partagés ci-dessus. Interface entièrement à base de curseurs/cases à cocher/listes déroulantes/sélecteurs de couleur natifs — plus aucun champ de texte libre pour une valeur CSS (retour utilisateur). Deux bugs transversaux corrigés au passage (concernent tout l'éditeur) : - Le panneau Propriétés n'était jamais reconstruit après un clic sur un bouton (gras/alignement/segments...) — il fallait recharger la page pour voir l'état réel. Corrigé dans forgeDocUpdateAttributes, point d'entrée unique de toute mise à jour d'attribut. - Les cases à cocher et curseurs héritaient à tort le style d'un champ de texte (padding/bordure/fond/largeur 100%) via la règle générique .docField input. Ajoute docs/plan/AUDIT_MISE_EN_FORME.md : suivi de l'audit élément par élément (Titre/Paragraphe traité, Image ensuite). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
e03bea39c5
commit
6c7675fad0
@@ -2436,3 +2436,130 @@ img.docImage {
|
||||
border-bottom: 1px solid var(--doc-border);
|
||||
}
|
||||
}
|
||||
|
||||
/* ---- Éditeur de bordure par côté (panneau Propriétés — voir
|
||||
static/document/js/document-editor.js, forgeDocRenderBoxFieldsHtml) :
|
||||
une ligne par côté (style/épaisseur/couleur), réutilisée par tous les
|
||||
kinds au fil de l'audit du 26/09/2026. ---- */
|
||||
.docBorderEditor {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 6px;
|
||||
}
|
||||
|
||||
.docBorderSideRow {
|
||||
display: grid;
|
||||
grid-template-columns: 48px 1fr 56px 1fr;
|
||||
gap: 6px;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.docBorderSideLabel {
|
||||
font-size: 12px;
|
||||
color: var(--doc-muted);
|
||||
}
|
||||
|
||||
.docBorderStyleSelect {
|
||||
width: 100%;
|
||||
min-width: 0;
|
||||
font-size: 12px;
|
||||
padding: 5px 6px;
|
||||
border: 1px solid var(--doc-border);
|
||||
border-radius: 6px;
|
||||
background: var(--doc-bg-2);
|
||||
color: var(--doc-text);
|
||||
}
|
||||
|
||||
.docBorderWidthRange {
|
||||
width: 100%;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.docBorderColorInput {
|
||||
width: 100%;
|
||||
min-width: 0;
|
||||
height: 28px;
|
||||
padding: 2px;
|
||||
border: 1px solid var(--doc-border);
|
||||
border-radius: 6px;
|
||||
background: var(--doc-bg-2);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* ---- Curseurs génériques à case "activer" (voir static/document/js/
|
||||
document-editor.js, forgeDocRenderToggleSliderHtml) — retour
|
||||
utilisateur du 26/09/2026 : plus aucune valeur CSS saisie à la main,
|
||||
uniquement des curseurs/cases/listes/sélecteurs de couleur. ---- */
|
||||
.docSliderField {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.docSliderRow {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
/* `.docField input` (règle générique plus haut) pose padding/bordure/
|
||||
fond/width:100% pensés pour un champ texte — remis à plat ici pour
|
||||
une case à cocher/un curseur natifs, sinon ils héritent cette
|
||||
apparence de champ texte (bug réel constaté le 26/09/2026, capture à
|
||||
l'appui : case à cocher démesurée et centrée, curseur poussé hors
|
||||
panneau). */
|
||||
.docSliderRow input[type='checkbox'] {
|
||||
flex-shrink: 0;
|
||||
width: auto;
|
||||
padding: 0;
|
||||
border: none;
|
||||
background: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.docSliderRow input[type='range'] {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
width: auto;
|
||||
padding: 0;
|
||||
border: none;
|
||||
background: none;
|
||||
}
|
||||
|
||||
.docSliderRow input[type='range']:disabled {
|
||||
opacity: 0.4;
|
||||
}
|
||||
|
||||
.docSliderValue {
|
||||
flex-shrink: 0;
|
||||
min-width: 3em;
|
||||
text-align: right;
|
||||
font-size: 11.5px;
|
||||
font-weight: 600;
|
||||
color: var(--doc-muted);
|
||||
font-variant-numeric: tabular-nums;
|
||||
}
|
||||
|
||||
.docColorFieldRow {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.docColorFieldRow input[type='color'] {
|
||||
width: 40px;
|
||||
height: 28px;
|
||||
padding: 2px;
|
||||
border: 1px solid var(--doc-border);
|
||||
border-radius: 6px;
|
||||
background: var(--doc-bg-2);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#docPropsPanel input[type='color'] {
|
||||
width: 40px;
|
||||
height: 28px;
|
||||
padding: 2px;
|
||||
border: 1px solid var(--doc-border);
|
||||
border-radius: 6px;
|
||||
background: var(--doc-bg-2);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user