From cde95f132aab43f141129d8dc4607cc11e2d8389 Mon Sep 17 00:00:00 2001 From: Cerdic <cedric@yterium.com> Date: Thu, 22 Apr 2021 09:42:55 +0200 Subject: [PATCH] Revert multiples : MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Revert "Présentation des sous-rubriques (vignettes + grosses)" This reverts commit 1847b1dc4f53480b52e7419f4b668563f790f364 Revert "Titres des boîtes et formulaires un peu plus grands et plus épais pour mieux distinguer du contenu (nicod_)" This reverts commit 96fe7ab9cb8fb77c0a3951526b47a47a77198771. Revert "Dans la page maintenance, utiliser une alerte plutôt qu'une boîte pour le message relatif au htaccess (#4727)." This reverts commit 81ead9eb59dcfb206468fc9aed12fbf9e12b93d6. Revert "Introduction d'une balise `#ALERTE` dédiée aux messages d'alerte de l’espace privé (#4727)." This reverts commit 986fc9dbe98d9bd2dea7020f43598e8cac4e300c. Revert "Refacto des styles des messages d'alerte de l’espace privé (#4727)." This reverts commit e078f2d7123ee000c6a19878f332a374240227e4. Revert "Ajustements des styles des formulaires pour suivre la refonte des boîtes + quelques détails (#4727)" This reverts commit b5068f84ecbbcd765c9a7d77f966a435e09b6e2c. Revert "Refacto des styles des boîtes de l'espace privé (#4727)." This reverts commit 18df0352b120956cce97d65e364fb0a23d30eaa7. --- ecrire/inc/filtres_alertes.php | 239 --------- ecrire/inc/filtres_ecrire.php | 1 - ecrire/inc/presentation.php | 1 - ecrire/inc/presenter_enfants.php | 7 +- prive/squelettes/contenu/admin_tech.html | 6 +- prive/themes/spip/alertes.css.html | 236 --------- prive/themes/spip/box_skins.css.html | 645 +++++------------------ prive/themes/spip/forms.css.html | 139 +++-- prive/themes/spip/images/info-xx.svg | 1 - prive/themes/spip/style_prive.css.html | 1 - prive/themes/spip/theme.css.html | 22 + 11 files changed, 236 insertions(+), 1062 deletions(-) delete mode 100644 ecrire/inc/filtres_alertes.php delete mode 100644 prive/themes/spip/alertes.css.html delete mode 100644 prive/themes/spip/images/info-xx.svg diff --git a/ecrire/inc/filtres_alertes.php b/ecrire/inc/filtres_alertes.php deleted file mode 100644 index 08c9b499fc..0000000000 --- a/ecrire/inc/filtres_alertes.php +++ /dev/null @@ -1,239 +0,0 @@ -<?php - -/***************************************************************************\ - * SPIP, Système de publication pour l'internet * - * * - * Copyright © avec tendresse depuis 2001 * - * Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James * - * * - * Ce programme est un logiciel libre distribué sous licence GNU/GPL. * - * Pour plus de détails voir le fichier COPYING.txt ou l'aide en ligne. * -\***************************************************************************/ - -/** - * Ce fichier regroupe la gestion des filtres et balises générant - * le HTML des messages d'alerte. - * - * @package SPIP\Core\Compilateur\Filtres - **/ - -if (!defined('_ECRIRE_INC_VERSION')) { - return; -} - -/** - * Compile la balise `#ALERTE` produisant le HTML d'un message d'alerte complet. - * - * @package SPIP\Core\Compilateur\Balises - * @balise - * @example - * ``` - * #ALERTE{message[,titre][,classes][,role][,id]} - * [(#ALERTE{<:chaine_langue:>, <:chaine_langue:>, notice, status, mon_alerte})] - * ``` - * - * @param Champ $p - * Pile au niveau de la balise - * @return Champ - * Pile complétée par le code à générer - */ -function balise_ALERTE_dist($p) { - $_texte = interprete_argument_balise(1, $p); - $_titre = interprete_argument_balise(2, $p); - $_class = interprete_argument_balise(3, $p); - $_role = interprete_argument_balise(4, $p); - $_id = interprete_argument_balise(5, $p); - $_titre = ($_titre ? ", $_titre" : "''"); - $_class = ($_class ? ", $_class" : ", ''"); - $_role = ($_role ? ", $_role" : ", ''"); - $_id = ($_id ? ", $_id" : ", ''"); - - $f = chercher_filtre('message_alerte'); - $p->code = "$f($_texte$_titre$_class$_role$_id)"; - $p->interdire_scripts = false; - - return $p; -} - -/** - * Compile la balise `#ALERTE_OUVRIR` produisant le HTML ouvrant d'un message d’alerte - * - * Doit être suivie du texte de l'alerte, puis de la balise `#ALERTE_FERMER`. - * - * @package SPIP\Core\Compilateur\Balises - * @balise - * @see balise_ALERTE_FERMER_dist() Pour clôturer une alerte - * @example - * ``` - * #ALERTE_OUVRIR{titre[,classes][,role][,id]} - * [(#ALERTE_OUVRIR{<:chaine_langue:>, notice, status, mon_alerte})] - * ``` - * - * @param Champ $p - * Pile au niveau de la balise - * @return Champ - * Pile complétée par le code à générer - */ -function balise_ALERTE_OUVRIR_dist($p) { - $_titre = interprete_argument_balise(1, $p); - $_class = interprete_argument_balise(2, $p); - $_role = interprete_argument_balise(3, $p); - $_id = interprete_argument_balise(4, $p); - $_titre = ($_titre ? "$_titre" : "''"); - $_class = ($_class ? ", $_class" : ", ''"); - $_role = ($_role ? ", $_role" : ", ''"); - $_id = ($_id ? ", $_id" : ", ''"); - - $f = chercher_filtre('message_alerte_ouvrir'); - $p->code = "$f($_titre$_class$_role$_id)"; - $p->interdire_scripts = false; - - return $p; -} - -/** - * Compile la balise `#ALERTE_FERMER` produisant le HTML clôturant un message d’alerte - * - * Doit être précédée du texte de l'alerte et de la balise `#ALERTE_OUVRIR`. - * - * @package SPIP\Core\Compilateur\Balises - * @balise - * @see balise_ALERTE_OUVRIR_dist() Pour ouvrir une alerte - * @example - * ``` - * #ALERTE_FERMER - * ``` - * - * @param Champ $p - * Pile au niveau de la balise - * @return Champ - * Pile complétée par le code à générer - */ -function balise_ALERTE_FERMER_dist($p) { - $f = chercher_filtre('message_alerte_fermer'); - $p->code = "$f()"; - $p->interdire_scripts = false; - - return $p; -} - -/** - * Générer un message d’alerte - * - * Peut-être surchargé par `filtre_message_alerte_dist` ou `filtre_message_alerte` - * - * @filtre - * @see balise_ALERTE_dist() qui utilise ce filtre - * @see message_alerte_ouvrir() - * @see message_alerte_fermer() - * @param string $texte - * Contenu de l'alerte - * @param string $titre - * Titre de l'alerte : texte simple, <hn> ou autre. - * @param string $class - * Classes CSS ajoutées au conteneur - * Doit contenir le type : `notice`, `error`, `success`, `info` - * @param string $role - * Attribut rôle ajouté au conteneur : `alert` ou `status`, selon l'importance - * @param string $id - * Identifiant HTML du conteneur - * @return string - * HTML de l'alerte - */ -function message_alerte(string $texte, string $titre = '', string $class = '', string $role = '', string $id = '') : string { - - $message_alerte_ouvrir = chercher_filtre('message_alerte_ouvrir'); - $message_alerte_fermer = chercher_filtre('message_alerte_fermer'); - $message = - $message_alerte_ouvrir($titre, $class, $role, $id) . - $texte . - $message_alerte_fermer(); - - return $message; -} - -/** - * Ouvrir un message d’alerte - * - * Peut-être surchargé par `filtre_message_alerte_ouvrir_dist` ou `filtre_message_alerte_ouvrir` - * - * @filtre - * @see balise_ALERTE_OUVRIR_dist() qui utilise ce filtre - * @param string $titre - * Titre de l'alerte : texte simple, <hn> ou autre. - * @param string $class - * Classes CSS ajoutées au conteneur - * Doit contenir le type : `notice`, `error`, `success`, `info` - * Défaut = `notice` - * @param string $role - * Attribut role ajouté au conteneur : `alert` ou `status`, selon l'importance - * Défaut = `alert` - * @param string $id - * Identifiant HTML du conteneur - * @return string - * HTML d'ouverture de l'alerte - */ -function message_alerte_ouvrir(string $titre = '', string $class = '', string $role = '', string $id = '') : string { - - $prive = test_espace_prive(); - - // Type d'alerte : le chercher dans les classes, nettoyer celles-ci, puis le réinjecter - $types = [ - 'notice', - 'error', - 'success', - 'info', - ]; - $type = array_shift(array_intersect(explode(' ', $class), $types)); - $type = $type ?: 'notice'; - $class = trim(str_replace($types, '', $class) . " $type"); - - // Role - $role = $role ?: 'alert'; - - // Classes - $class_racine = 'msg-alert'; - $clearfix = ($prive ? 'clearfix' : ''); - $class_alerte = "$class_racine $class"; - $class_texte = "${class_racine}__text $clearfix"; - $class_titre = "${class_racine}__heading"; - - // Titre : markup - $titre = trim($titre); - if (strlen($titre)) { - include_spip('inc/filtres'); - // Si besoin on encapsule le titre : un h3 dans le privé, un simple div sinon. - $cherche_tag = ($prive ? '<h' : '<'); - $wrap_tag = ($prive ? '<h3>' : '<div>'); - if (strpos($titre, $cherche_tag) !== 0) { - $titre = wrap($titre, $wrap_tag); - } - // puis on ajoute la classe - $titre = ajouter_class($titre, $class_titre); - } - - // Autres attributs - $attr_id = ($id ? "id=\"$id\"" : ''); - $attr_data = ($type ? "data-$role=\"$type\"" : ''); - - $message = - "<div class=\"$class_alerte\" role=\"$role\" $attr_id $attr_data>" . - $titre . - "<div class=\"$class_texte\">"; - - return $message; -} - -/** - * Fermer un message d’alerte - * - * Peut-être surchargé par `filtre_message_alerte_fermer_dist` ou `filtre_message_alerte_fermer` - * - * @filtre - * @see balise_ALERTE_FERMER_dist() qui utilise ce filtre - * @return string - * HTML de fin de l'alerte - */ -function message_alerte_fermer() : string { - return '</div></div>'; -} diff --git a/ecrire/inc/filtres_ecrire.php b/ecrire/inc/filtres_ecrire.php index eb6135520d..02bcbb8808 100644 --- a/ecrire/inc/filtres_ecrire.php +++ b/ecrire/inc/filtres_ecrire.php @@ -20,7 +20,6 @@ if (!defined('_ECRIRE_INC_VERSION')) { } include_spip('inc/filtres_boites'); -include_spip('inc/filtres_alertes'); include_spip('inc/boutons'); include_spip('inc/pipelines_ecrire'); diff --git a/ecrire/inc/presentation.php b/ecrire/inc/presentation.php index df50259cba..bc954d40b1 100644 --- a/ecrire/inc/presentation.php +++ b/ecrire/inc/presentation.php @@ -28,7 +28,6 @@ include_spip('inc/actions'); include_spip('inc/puce_statut'); include_spip('inc/filtres_ecrire'); include_spip('inc/filtres_boites'); -include_spip('inc/filtres_alertes'); // https://code.spip.net/@debut_cadre function debut_cadre($style, $icone = "", $fonction = "", $titre = "", $id = "", $class = "", $padding = true) { diff --git a/ecrire/inc/presenter_enfants.php b/ecrire/inc/presenter_enfants.php index 4da296a815..afb7c00e2e 100644 --- a/ecrire/inc/presenter_enfants.php +++ b/ecrire/inc/presenter_enfants.php @@ -68,7 +68,7 @@ function enfant_rub($collection, $debut = 0, $limite = 500) { if ($voir_logo) { if ($logo = $chercher_logo($id_rubrique, 'id_rubrique', 'on')) { list($fid, $dir, $nom, $format) = $logo; - $logo = image_reduire("<img src='$fid' alt='' />", 70, 70); + $logo = image_reduire("<img src='$fid' alt='' />", 48, 36); if ($logo) { $logo = inserer_attribut($logo, 'class', 'logo'); } @@ -91,12 +91,11 @@ function enfant_rub($collection, $debut = 0, $limite = 500) { '</a>'; $titre = (is_string($logo) ? $logo : '') . - bouton_block_depliable($lib_bouton, $les_sous_enfants ? false : -1, "enfants$id_rubrique") - .(!$descriptif ? '' : "\n<div class='descriptif'>$descriptif</div>") - ; + bouton_block_depliable($lib_bouton, $les_sous_enfants ? false : -1, "enfants$id_rubrique"); $res[] = debut_cadre_sous_rub(($id_parent ? 'rubrique-24.png' : 'secteur-24.png'), true, '', $titre) . + (!$descriptif ? '' : "\n<div class='descriptif'>$descriptif</div>") . $les_sous_enfants . fin_cadre_sous_rub(true); } diff --git a/prive/squelettes/contenu/admin_tech.html b/prive/squelettes/contenu/admin_tech.html index 0881ad1de2..f75a912d0f 100644 --- a/prive/squelettes/contenu/admin_tech.html +++ b/prive/squelettes/contenu/admin_tech.html @@ -8,16 +8,18 @@ ] [(#CONST{_DIR_TMP}|verifier_htaccess{1}|et{#CONST{_DIR_CONNECT}|verifier_htaccess{1}}|non) - [(#ALERTE_OUVRIR{<:htaccess_inoperant:>,'notice'})] + #BOITE_OUVRIR{#VAL{htaccess_inoperant}|_T|wrap{'<h3>'},'notice','titrem'} [(#SET{htaccess,[<tt>(#CONST{_ACCESS_FILE_NAME})</tt>]})] [(#SET{constantes,<tt>_DIR_TMP & _DIR_CONNECT</tt>})] [(#SET{document_root,[<tt>(#EVAL{table_valeur($_SERVER,'DOCUMENT_ROOT')})</tt>]})] <p><:htaccess_a_simuler{htaccess=#GET{htaccess},constantes=#GET{constantes},document_root=#GET{document_root}}:></p> - #ALERTE_FERMER + #BOITE_FERMER ] + + [(#AUTORISER{reparer,base}) <!--reparer_base--> #BOITE_OUVRIR{#VAL{texte_recuperer_base}|_T|wrap{'<h3>'},'simple','titrem'} diff --git a/prive/themes/spip/alertes.css.html b/prive/themes/spip/alertes.css.html deleted file mode 100644 index 387f8baad8..0000000000 --- a/prive/themes/spip/alertes.css.html +++ /dev/null @@ -1,236 +0,0 @@ -#CACHE{0} -[(#REM) - - Ce squelette définit les styles des messages d'alerte de l'espace privé. - - Ce composant correspond aux balises #ALERTE et cie. - - On maintient pour un temps la compat avec les vieux .notice, .error et .success - qui pourraient se ballader dans la nature, mais leur utilisation est dépréciée. - - Organisation du fichier : - - 0. Variables - 1. Habillage de base - 2. Variantes principales - 3. Autres variantes - - Markup : - - .msg-alert[.type][.simple] - .msg-alert__heading - .msg-alert__text - -<style>] -#CACHE{3600*100,cache-client} -#HTTP_HEADER{Content-Type: text/css; charset=utf-8} -#HTTP_HEADER{Vary: Accept-Encoding} - - -/** - * ============ - * 0. Variables - * ============ - */ - - -/* Nb : la media-query au début sinon pb */ -@media (min-width: 768px) { - :root { - --spip-alert-spacing-x: 1.25em; - --spip-alert-spacing-y: 1.25em; - --spip-alert-iconsize: 1.25em; - --spip-alert-closesize: 1.25em; - } -} -:root { - --spip-alert-spacing-x: 0.75em; - --spip-alert-spacing-y: 0.75em; - --spip-alert-border-radius: var(--spip-border-radius); - --spip-alert-iconsize: 1.25em; - --spip-alert-closesize: 1em; -} -.lat .msg-alert, -.msg-alert.mini { - --spip-alert-spacing-x: 0.75em; - --spip-alert-spacing-y: 0.75em; - --spip-alert-iconsize: 1em; - --spip-alert-closesize: 1em; -} -.msg-alert.large, -.formulaire_spip .reponse_formulaire { - --spip-alert-spacing-x: 1.5em; - --spip-alert-spacing-y: 1.5em; - --spip-alert-iconsize: 1.5em; - --spip-alert-closesize: 1.25em; -} - - -/** - * ==================== - * 1. Habillage de base - * ==================== - */ - - - /* Conteneur */ -.msg-alert, -.msg-alert * { - box-sizing: border-box; -} -.msg-alert, -.notice, .error, .success, -.formulaire_spip .reponse_formulaire { - position: relative; - padding: var(--spip-alert-spacing-y) var(--spip-alert-spacing-x); - padding-left: calc((var(--spip-alert-spacing-x) * 2) + var(--spip-alert-iconsize)); - margin: calc(var(--spip-margin-bottom) * 1.5) 0; /* Idem boîtes */ - background-repeat: no-repeat; - /* Aligner icône au niveau de la 1ère ligne de texte */ - background-position: var(--spip-alert-spacing-x) calc(var(--spip-alert-spacing-y) - ((var(--spip-alert-iconsize) - var(--spip-line-height)) / 2)); - background-size: var(--spip-alert-iconsize); - font-weight: normal; - border-radius: var(--spip-border-radius); - background-color: var(--spip-color-gray-lighter); - box-shadow: inset 0 0 1.5em hsla(0, 0%, 0%, 0.02); - border: 0; -} - -/* Titre */ -.msg-alert__heading { - font-size: 1em; - font-weight: bold; - margin-bottom: calc(var(--spip-alert-spacing-y) / 2); -} - -/* Rythme vertical des principauxs éléments blocks du texte */ -.msg-alert__text p, -.msg-alert__text ul, -.msg-alert__text blockquote, -.msg-alert__text table { - margin-bottom: calc(var(--spip-alert-spacing-y) / 2); -} -.msg-alert__text > *:last-child { - margin-bottom: 0 !important; /* obligé car sélecteurs trop spécifiques ailleurs (#conteneur ul.spip) */ -} - -/* Liens */ -.msg-alert a { - color: var(--spip-color-black); - text-decoration: underline; -} - -/* Code */ -.msg-alert tt, -.msg-alert code { - color: var(--spip-color-black); -} - - -/** - * ======================== - * 2. Variantes principales - * ======================== - */ - - -/* Notice */ -.msg-alert.notice, -.notice { - color: hsl(var(--spip-color-notice--h), var(--spip-color-notice--s), 18%); - background-color: hsl(var(--spip-color-notice--h), var(--spip-color-notice--s), 85%); - background-image: url(#CHEMIN_IMAGE{warning-24.png}); -} - -/* Erreur */ -.msg-alert.error, -.formulaire_spip .reponse_formulaire_erreur, -.error { - color: hsl(var(--spip-color-error--h), var(--spip-color-error--s), 18%); - background-color: hsl(var(--spip-color-error--h), var(--spip-color-error--s), 90%); - background-image: url(#CHEMIN_IMAGE{erreur-24.png}); -} - -/* Succès */ -.msg-alert.success, -.formulaire_spip .reponse_formulaire_ok, -.success { - color: hsl(var(--spip-color-success--h), var(--spip-color-success--s), 15%); - background-color: hsl(var(--spip-color-success--h), var(--spip-color-success--s), 85%); - background-image: url(#CHEMIN_IMAGE{ok-24.png}); -} - -/* Information */ -.msg-alert.info, -.information { - color: hsl(var(--spip-color-info--h), var(--spip-color-info--s), 25%); - background-color: hsl(var(--spip-color-info--h), var(--spip-color-info--s), 92%); - background-image: url(#CHEMIN_IMAGE{info-24.png}); -} - - -/** - * =================== - * 3. Autres variantes - * =================== - * Ces variantes peuvent se conjuguer aux variantes principales : .notice.mini, .error.simple, etc. - */ - - -/* Simple = juste une bordure */ -.msg-alert.simple { - border: 2px solid hsla(0, 0%, 0%, 0.1); - box-shadow: none; -} -.msg-alert.notice.simple { - border-color: hsl(var(--spip-color-notice--h), 100%, 48%); - background-color: transparent; -} -.msg-alert.error.simple { - border-color: hsl(var(--spip-color-error--h), var(--spip-color-error--s), 50%); - background-color: transparent; -} -.msg-alert.success.simple { - border-color: hsl(var(--spip-color-success--h), var(--spip-color-success--s), 50%); - background-color: transparent; -} -.msg-alert.info.simple { - border-color: hsl(var(--spip-color-info--h), var(--spip-color-info--s), 75%); - background-color: transparent; -} - -/* Variante mini, automatique en colonne latérale : voir variables */ -.msg-alert.mini, -.lat .msg-alert { - font-size: 0.9em; - margin: calc(var(--spip-margin-bottom) * 0.75) 0; /* Moitié */ -} - -/* Variante large : voir variables */ -.msg-alert.large, -.formulaire_spip .reponse_formulaire {} - -/* Variante fermable */ -.msg-alert.fermable { - padding-#RIGHT: calc((var(--spip-alert-spacing-x) * 2) + 1.5em); -} -.msg-alert__close { - width: var(--spip-alert-closesize); - height: var(--spip-alert-closesize); - position: absolute; - z-index: 2; - /* Aligner icône au niveau de la 1ère ligne de texte */ - top: calc(var(--spip-alert-spacing-y) + (var(--spip-line-height) - var(--spip-alert-closesize))); - /* top: var(--spip-alert-spacing-y); */ - #RIGHT: var(--spip-alert-spacing-x); - padding: 0; - background: transparent url("[(#CHEMIN_IMAGE{fermer-16.png})]") center/1em auto no-repeat; - background-size: contain; - border: 0; - opacity: 0.75; -} -.msg-alert__close:hover, -.msg-alert__close:focus { - opacity: 1; - background-color: transparent; -} diff --git a/prive/themes/spip/box_skins.css.html b/prive/themes/spip/box_skins.css.html index 34b3f0ef0b..9071bbcdde 100644 --- a/prive/themes/spip/box_skins.css.html +++ b/prive/themes/spip/box_skins.css.html @@ -1,533 +1,126 @@ [(#REM) - Ce squelette définit les styles des boîtes de l'espace privé. - - Ce composant correspond aux balises #BOITE_OUVRIR et cie. - - L'entête et le pied sont optionnels. - Les boîtes simples reprennent un style proche des formulaires. - - Organisation du fichier : - - 0. Variables - 1. Base lib - 2. Layout et rythme vertical - 3. Base graphique commune - 4. Variantes principales - 5. Variantes d'états - 6. Autres variantes - 7. Cas particuliers - 8. Déprécations - - Markup : - - .box - .inner - .hd (header) - .bd (body) - .ft (footer) - -<style>] + Ce squelette definit les styles de l'espace prive + + Note: l'entete "Vary:" sert a repousser l'entete par + defaut "Vary: Cookie,Accept-Encoding", qui est (un peu) + genant en cas de "rotation du cookie de session" apres + un changement d'IP (effet de clignotement). + <style> +] #CACHE{3600*100,cache-client} #HTTP_HEADER{Content-Type: text/css; charset=utf-8} #HTTP_HEADER{Vary: Accept-Encoding} - -/** - * ============ - * 0. Variables - * ============ - */ - - -/* Nb : la media-query au début sinon pb */ -@media (min-width: 768px) { - :root { - --spip-box-iconsize: 32px; - --spip-box-highlightsize: 1.5em; - } -} -/* On reprend certaines valeurs des formulaires pour harmoniser */ -:root { - /* base pour les espacements internes */ - --spip-box-spacing-x: var(--spip-form-spacing-x); - --spip-box-spacing-y: var(--spip-form-spacing-y); - /* couleurs */ - --spip-box-sep-color: hsla(0, 0%, 0%, 0.125); - --spip-box-border-color: hsla(0, 0%, 0%, 0.125); /* bordure basique */ - --spip-box-sep-color-inverse: hsla(0, 0%, 100%, 0.1); - /* divers */ - --spip-box-border-radius: var(--spip-form-border-radius); - --spip-box-iconsize: 24px; - --spip-box-highlightsize: 1em; /* largeur bordure colorée sur boîtes d'états */ -} -.lat .box, -.box.mini { - --spip-box-iconsize: 24px; - --spip-box-highlightsize: 1em; - /* Obligé de reprendre à la main les mêmes valeurs que les forms */ - --spip-box-spacing-x: 0.75em; - --spip-box-spacing-y: 0.75em; -} - - -/** - * =========== - * 1. Base lib - * =========== - */ [(#INCLURE{prive/themes/spip/box.css})] - - -/** - * ============================ - * 2. Layout et rythme vertical - * ============================ - */ - - -.box, -.box * { - box-sizing: border-box; -} - -/* La marge externe doit être identique entre plusieurs composants (formulaires, …). - Plus tard il faudra se baser sur spip-spacing-y quand ça sera au point. - Pour l'instant on laisse la valeur historique. */ -.box { - margin: calc(var(--spip-margin-bottom) * 1.5) 0; -} -.box .inner { - position: relative; -} -/* Même padding partout, sauf footer */ -.box .bd, .box .hd, .box .ft { - position: relative; - padding: var(--spip-box-spacing-y) var(--spip-box-spacing-x); -} -.box .ft { - padding-top: calc(var(--spip-box-spacing-y) / 2); - padding-bottom: calc(var(--spip-box-spacing-y) / 2); -} -/* Annuler marges inutiles au début et à la fin */ -.box .bd > :first-child, -.box .bd > :first-child > :first-child { - margin-top: 0; -} -.box .bd > :last-child { - margin-bottom: 0; -} -.box .hd h1, .box .hd h2, .box .hd h3, .box .hd h4, .box .hd h5, .box .hd h6 { - margin-bottom: 0; -} -.box .ft .btn, -.box .ft button, -.box .ft .groupe-btns { - margin-bottom: 0; -} - - -/** - * ========================= - * 3. Base graphique commune - * ========================= - * - * Nb : les styles s’appliquent au .inner, pas sur le .box lui-même. - */ - - -/* Conteneur interne */ -.box .inner { - background-color: var(--spip-color-white); - transition: box-shadow 0.2s; - border-radius: var(--spip-box-border-radius); - border: 0; - box-shadow: var(--spip-box-shadow); -} -.box .inner:hover, -.box .inner:focus-within { - box-shadow: var(--spip-box-shadow-hover); -} - -/* Header */ -.box .hd { - border-top-left-radius: inherit; - border-top-right-radius: inherit; - border-bottom: 1px solid var(--spip-box-sep-color); -} - -/* Body : sans titre et/ou sans footer, ajuster l'arrondi */ -.box .bd:first-child { - border-top-left-radius: var(--spip-box-border-radius); - border-top-right-radius: var(--spip-box-border-radius); -} -.box .bd:only-child { - border-bottom-left-radius: var(--spip-box-border-radius); - border-bottom-right-radius: var(--spip-box-border-radius); -} - -/* Footer */ -.box .ft { - border-bottom-left-radius: inherit; - border-bottom-right-radius: inherit; - background-color: var(--spip-color-gray-lightest); - text-align: var(--spip-right); -} - -/* Titres - Règle : avec le h3 par défaut on raccorde avec les titres des formulaires (taille, graisse, …). - Si on veut forcer avec une autre balise (h2…), utilisez la variante .titrem sur le header. */ -.box .hd h3, -.box .hd.titrem h1, .box .hd.titrem h2, .box .hd.titrem h3, .box .hd.titrem h4, .box .hd.titrem h5, .box .hd.titrem h6, -.formulaire_spip .titrem { - font-size: calc(1em * var(--spip-form-titrem-factor)); - font-weight: 800; - /* color: var(--spip-color-theme-dark); */ -} - -/* En colonne latérale (+ voir variables au début) */ -.lat .box { - font-size: 0.95em; -} -.lat .box .hd h1, .lat .box .hd h2, .lat .box .hd h3, .lat .box .hd h4, .lat .box .hd h5, .lat .box .hd h6, -.lat .formulaire_spip .titrem { - font-size: 1em; -} - - -/** - * ======================== - * 4. Variantes principales - * ======================== - */ - - -/* Simple */ -.box.simple .inner { - background-color: var(--spip-color-white); -} - -/* Info */ -.box.info .inner { - border: 3px solid var(--spip-color-theme-light); - background-color: var(--spip-color-white); -} - -/* Note */ -.box.note .inner { - border: 3px solid var(--spip-color-theme-lighter); - background-color: var(--spip-color-theme-lightest); -} - -/* Raccourcis */ -.box.raccourcis .inner { - border-bottom: 1px solid hsla(0, 0%, 0%, 0.1); - background-color: var(--spip-color-gray-lighter); -} - -/* Important */ -.box.important .inner { - border: 3px solid var(--spip-color-theme); - background: var(--spip-color-white); -} - -/* Highlight */ -.box.highlight .inner { - background-color: hsl(var(--spip-color-theme--h), var(--spip-color-theme--s), calc(var(--spip-color-theme--l) * 0.8)); - color: var(--spip-color-white); -} -.box.highlight .hd { - border-bottom-color: var(--spip-box-sep-color-inverse); -} -.box.highlight .hd * { - color: inherit; -} - -/* Inverse */ -.box.inverse .inner { - background-color: var(--spip-color-gray-darker); - color: var(--spip-color-white); -} -.box.inverse .hd { - border-bottom-color: var(--spip-box-sep-color-inverse); -} -.box.inverse .hd * { - color: inherit; -} - - -/** - * ==================== - * 5. Variantes d'états - * ==================== - */ - - -/* Reset des styles des "messages" qui sont pour l'instant dans forms.css */ -.box.notice, .box.error, .box.success { - border: 0; - background: transparent; - padding: 0; - color: inherit; -} -/* Icône centrée verticalement dans le header */ -.box.notice .hd, .box.error .hd, .box.success .hd, -.box.notice .bd, .box.error .bd, .box.success .bd { - background-repeat: no-repeat; - background-size: var(--spip-box-iconsize); - background-position: var(--spip-left) var(--spip-box-spacing-x) center; -} -/* Décommenter s'il faut centrer l'icône sur la 1ère ligne de texte dans le body */ -/*.notice .bd, .error .bd, .success .bd { - background-position: var(--spip-left) var(--spip-box-spacing-x) top calc(var(--spip-box-spacing-y) - ((var(--spip-box-iconsize) - var(--spip-line-height)) / 2)); -}*/ -/* Espacement pour l'icône selon qu'elle soit dans le header ou dans le body */ -.box.notice .hd, .box.error .hd, .box.success .hd, -.box.notice .bd:first-child, .box.error .bd:first-child, .box.success .bd:first-child { - padding-#LEFT: calc(var(--spip-box-iconsize) + (var(--spip-box-spacing-x) * 2)); -} -/* Bordure sur le côté */ -.box.notice .hd, .box.error .hd, .box.success .hd, -.box.notice .bd, .box.error .bd, .box.success .bd, -.box.notice .ft, .box.error .ft, .box.success .ft { - border-#LEFT: var(--spip-box-highlightsize) solid transparent; -} -/* Mini hack : sous le header on met la bordure basse en pseudo pour ne pas empiéter la bordure latérale colorée */ -.box.notice .hd, .box.error .hd, .box.success .hd { - border-bottom: 0; -} -.box.notice .hd:before, .box.error .hd:before, .box.success .hd:before { - content: ""; - display: block; - z-index: 2; - position: absolute; - left: 0; - right: 0; - bottom: 0; - border-bottom: 1px solid var(--spip-box-sep-color); -} - -/* Notice */ -.box.notice .hd, -.box.notice .bd { - border-#LEFT-color: hsl(var(--spip-color-notice--h), var(--spip-color-notice--s), 60%); -} -.box.notice .ft { - border-#LEFT-color: hsl(var(--spip-color-notice--h), var(--spip-color-notice--s), 50%); -} -.box.notice .hd, -.box.notice .bd:first-child { - background-image: url(#CHEMIN_IMAGE{warning-32.png}); -} - -/* Erreur */ -.box.error .hd, -.box.error .bd { - border-#LEFT-color: hsl(var(--spip-color-error--h), var(--spip-color-error--s), 60%); -} -.box.error .ft { - border-#LEFT-color: hsl(var(--spip-color-error--h), var(--spip-color-error--s), 50%); -} -.box.error .hd, -.box.error .bd:first-child { - background-image: url(#CHEMIN_IMAGE{erreur-32.png}); -} - -/* Succès */ -.box.success .hd, -.box.success .bd { - border-#LEFT-color: hsl(var(--spip-color-success--h), var(--spip-color-success--s), 55%); -} -.box.success .ft { - border-#LEFT-color: hsl(var(--spip-color-success--h), var(--spip-color-success--s), 48%); -} -.box.success .hd, -.box.success .bd:first-child { - background-image: url(#CHEMIN_IMAGE{ok-32.png}); -} - - -/** - * =================== - * 6. Autres variantes - * =================== - */ - - -/* Flat : sans ombre portée. - Peut se conjuguer aux autres quand on veut forcer. - Certaines le sont d'office, notamment les boîtes imbriquées. - Une bordure est ajoutée si nécessaire. */ -.box.flat .inner, -.box.info:not(.pop) .inner, -.box.note:not(.pop) .inner, -.box.important:not(.pop) .inner, -.box.raccourcis:not(.pop) .inner, -.box .box:not(.pop) .inner /* imbriquées */ -{ - box-shadow: none !important; -} -.box.simple.flat .inner, -.box.notice.flat .inner, -.box.error.flat .inner, -.box.success.flat .inner, -.box .box.simple:not(.pop) .inner, /* imbriquées */ -.box .box.notice:not(.pop) .inner, -.box .box.error:not(.pop) .inner, -.box .box.success:not(.pop) .inner { - border: 1px solid var(--spip-box-border-color); -} - -/* pop : avec une ombre portée. - Peut se conjuguer aux autres quand on veut forcer */ -.box.pop .inner { - box-shadow: var(--spip-box-shadow); -} -.box.pop .inner:hover, -.box.pop .inner:focus-within { - box-shadow: var(--spip-box-shadow-hover); -} - - -/** - * =================== - * 7. Cas particuliers - * =================== - */ - - -/** - * Menu des rubriques dépliables sur la home - * (voir aussi styles boîtes dépliables plus bas) - */ -.box.sous-rub .inner { - background-color: var(--spip-color-theme-lighter); - box-shadow: none !important; -} -/* titre */ -.box.sous-rub .hd { - padding: 0; /* padding dans le titre cliquable plutôt */ - border-bottom: 0; -} -.box.sous-rub .titrem.hover, -.box.sous-rub .titrem.deplie, -.box.sous-rub .titrem:hover, -.box.sous-rub .titrem:focus { - background-color: var(--spip-color-theme-light); -} -.box.sous-rub .titrem.hover a, -.box.sous-rub .titrem.deplie a, -.box.sous-rub .titrem:hover a, -.box.sous-rub .titrem:focus a { - color: var(--spip-color-theme-darker); -} -.box.sous-rub .titrem:not(.deplie):hover, -.box.sous-rub .titrem:not(.deplie):focus { - border-radius: var(--spip-box-border-radius); -} -.box.sous-rub .hd .logo { - float: var(--spip-right); - margin: 1px 5px 0; - margin-#ENV{right}: -9px; - z-index: 2; - position: relative; - border-top-#RIGHT-radius:5px; -} -/* Body */ -.box.sous-rub .bd { - padding: 0; - border-top: 0; -} -.box.sous-rub .descriptif { - padding: 0px 10px 1px 16px; - font-size: 0.95em; -} -.box.sous-rub a:hover { - color: black; -} -.box.sous-rub .liste-items { - font-size: 0.85em; - line-height: 1.2; - /* border-top: 1px solid var(--spip-box-sep-color); */ - border-top: 0; -} -.box.sous-rub .liste-items .item { - padding: 0px; - border-color: var(--spip-box-sep-color); -} -.box.sous-rub .liste-items .item a { - display: block; - padding: calc(var(--spip-box-spacing-y) / 2) calc(var(--spip-box-spacing-x) / 2); -} -.box.sous-rub .liste-items .item:hover { - background-color: var(--spip-color-theme-light); -} -.box.sous-rub .liste-items > .item:last-child { - border-bottom: 0; -} -.box.sous-rub .sous-sous-rub { - margin-top: 0; - margin-bottom: 0; - padding-top: 0; - padding-bottom: 0; -} - - -/** - * =============== - * 8. Déprécations - * =============== - * Vieilles boîtes dépliables/repliables encore maintenues mais dépréciées - * Exemple : menu des rubriques dépliables sur la home (utilisé ailleurs ?) - */ - -/* Titre - - init : .replie - - déplié : .depliant.deplie - - replié : .depliant.replie */ -.box .titrem.replie, -.box .titrem.depliant, -.box .titrem.impliable - { - display: block; - font-size: 1em; - line-height: 1.25; - padding: calc(var(--spip-box-spacing-y) / 2) calc(var(--spip-box-spacing-x) / 2); - background-repeat: no-repeat; - border-radius: inherit; -} -.box .titrem.impliable .titremancre { - display: none; -} - -/* Picto déplier / Replier */ -.box .titremancre { - display: inline-block; - position: relative; - width: 1em; - height: 1em; - float: var(--spip-left); - margin-#RIGHT: calc(var(--spip-box-spacing-x) / 3); - background-position: center center; - background-repeat: no-repeat; -} -.box .replie .titremancre { - background-image: url([(#CHEMIN_IMAGE{deplierhaut[(#ENV{rtl})].gif})]); -} -.box .deplie .titremancre { - background-image: url(#CHEMIN_IMAGE{deplierbas.gif}); -} -/* Afficher / Masquer */ -.js .box .blocreplie { - display: none; -} -.js .box .titrem.blocreplie { - display: block; -} -.box .blocdeplie { - display: block; - background: none; -} -.box .bloc_depliable .pagination { - white-space: normal; -} +/* ajustement des marges selon grille verticale en em */ +.box{margin:[(#ENV{margin-bottom}|strmult{1.5})em] 0;} +.bd {padding:[(#ENV{margin-bottom}|strdiv{2})em] 10px;} +.bd > :first-child,.bd > :first-child > :first-child {margin-top:0;} +.bd > :last-child {margin-bottom:0;} +.hd, .ft {padding:[(#ENV{margin-bottom}|strdiv{2})em] 10px;} +.hd h1,.hd h2,.hd h3,.hd h4,.hd h5,.hd h6 {margin-bottom:0;} + +/* **************** BLOCK SKINS ***************** */ +/* ====== Contour blocks ====== */ +/* remove *background-image:" to default to square corners for IE */ +/* ----- simple (extends box) ----- */ +.simple .inner {border:1px solid #ccc;background-color:#fcfcfc;color:#333;} +.simple .inner .hd {} +.simple b{} +/* ----- info (extends box) ----- */ +.info .inner {border:2px solid #ENV{claire};background:#fcfcfc;} +.info .inner .hd {} +.info b{} +/* ----- note (extends box) ----- */ +.note,.note .inner{border:1px solid #c2c2c2;} +.note .inner{border-color:#eee; border-width:4px; background-color:[#(#ENV{claire}|couleur_eclaircir{0.85})];} +.note .inner .hd {} + +/* ----- raccourcis (extends box) ----- */ +.raccourcis .inner{border:1px solid #ccc;background-color:#eee;} +.note .inner .hd {} + +/* ----- important (extends box) ----- */ +.important .inner{border: 3px solid [(#ENV{foncee})]; border-bottom-width:10px;background:#fff;} +.important b{} + +/* ----- basic (extends box) ----- */ +.basic {/*margin-bottom: -1px*/} +.basic .inner {/*padding-bottom: 1px;*/border: 1px solid #aaa;} +.basic .inner .hd {} +.basic b{} + +/* ----- error, success, notice (extends box) ----- */ +.box.error, .box.success, .box.notice {padding:0;backround-image:none;} +.error .inner,.success .inner,.notice .inner{border:2px solid;font-weight: normal;color:#333;} +.error .bd,.success .bd,.notice .bd {padding-[(#ENV{left})]:40px;min-height:24px;background-repeat:no-repeat;background-position: [(#ENV{left}) ]2px top 5px;background-size:32px;} +.box.error .hd,.box.success .hd,.box.notice .hd {padding-[(#ENV{left})]:40px;} +.error .ft,.success .ft,.notice .ft {padding-[(#ENV{left})]:40px;} +.box.error .ft,.box.success .ft,.box.notice .ft {border-color:#ddd;background-color:#eee;} + +.success .inner{color: #264409;border-color: #C6D880;background-color:#E6EFC2;} +.success .bd{background-image:url(#CHEMIN_IMAGE{ok-32.png});} +.box.success .inner .hd {background-color:#C6DF61;} +.box.success .hd h1,.box.success .hd h2,.box.success .hd h3,.box.success .hd h4,.box.success .hd h5,.box.success .hd h6 {background-color:#C6DF61;} + +.error .inner{color: #8A1F11;border-color: #FBC2C4;background-color:#FBE3E4;} +.error .bd{background-image:url(#CHEMIN_IMAGE{erreur-32.png});} +.box.error .inner .hd {background-color:#DF454F;color:#fff;} +.box.error .hd h1,.box.error .hd h2,.box.error .hd h3,.box.error .hd h4,.box.error .hd h5,.box.error .hd h6 {background-color:#DF454F;color:#fff;} + +.notice .inner{color: #514721;border-color: #FFD324;background-color:#FFF6BF;} +.notice .bd{background-image:url(#CHEMIN_IMAGE{warning-32.png});} +.box.notice .inner .hd {background-color:#FFD83F;} +.box.notice .hd h1,.box.notice .hd h2,.box.notice .hd h3,.box.notice .hd h4,.box.notice .hd h5,.box.notice .hd h6 {background-color:#FFD83F;} + + +/* ====== Background blocks ====== */ +.highlight > .inner{background-color:#ENV{claire}; border: 0; box-shadow: 0 0 15px #ccc;} +.inverse .inner{background-color:#ENV{foncee};color:#ffffff} + +/* ====== Block headers and footers ====== */ +.hd.titrem { background-repeat: no-repeat; padding-[(#ENV{left})]:16px; padding-[(#ENV{right})]:10px; +background-color: [#(#ENV{foncee}|couleur_eclaircir)];color: #4A4A4A; font-size:[(#ENV{line-height}|strmult{1})em];position:relative;line-height: 1;} +.hd.titrem h1,.hd.titrem h2,.hd.titrem h3,.hd.titrem h4,.hd.titrem h5,.hd.titrem h6{ font-size: 1em; color:#4A4A4A;} + +.section{ background-repeat: no-repeat; padding-[(#ENV{left})]:16px; padding-[(#ENV{right})]:10px; +background-color: #ENV{foncee}; color: #4A4A4A;font-size:1.2em;position:relative;} +.section h1,.section h2,.section h3,.section h4,.section h5,.section h6{font-size:100%;color:#4A4A4A;padding:0;margin:0;} + +.bam{ background-repeat: no-repeat; padding-[(#ENV{left})]:16px; padding-[(#ENV{right})]:10px; +background-color: [#(#ENV{foncee}|couleur_foncer)]; color: #fff;font-size:1.2em; position:relative;} +.bam h1,.bam h2,.bam h3,.bam h4,.bam h5,.bam h6{font-size:100%;color:#fff;padding:0;margin:0;} + +.topper{ background-repeat: no-repeat; padding-[(#ENV{left})]:16px; padding-[(#ENV{right})]:10px; +background-color: #fff; color: #4A4A4A;font-size:1.2em; position:relative;} +.topper h1,.topper h2,.topper h3,.topper h4,.topper h5,.topper h6{font-size:100%;color:#4A4A4A;padding:0;margin:0;} + +.act{ [background-color: #(#ENV{claire}|couleur_eclaircir);] + [border-top: 1px solid (#ENV{claire});] + margin-top:-1px; + clear:both; + text-align: #ENV{right}; +} + +/* Cas particuliers */ +.simple.sous-rub .inner .hd {padding:0} +.simple.sous-rub .inner .hd .logo {float:#ENV{right};margin: 1px 5px 0;margin-#ENV{right}: -9px;z-index:2;position:relative;} +.simple.sous-rub .sous-sous-rub {margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;} + +/* vieilles boites depliables/repliables + encore maintenues mais depreciees +*/ +.titrem { font-weight: bold; } +div.titrem, h3.titrem { display: block; padding-top: [(#ENV{margin-bottom}|strdiv{2})em]; padding-bottom: [(#ENV{margin-bottom}|strdiv{2})em]; background-repeat: no-repeat; padding-[(#ENV{left})]:16px; padding-[(#ENV{right})]:10px;} +div.titrem a.titremancre,h3.titrem a.titremancre {padding:15px 0 0 16px;background-position: [(#ENV{left})] top;background-repeat: no-repeat; position:relative;float:[(#ENV{left})];margin-[(#ENV{left})]:-16px;} +/* Deplier / Replier */ +.deplie a.titremancre, .deplie a.titremancre, .depliant a.titremancre, .replie a.titremancre { height: 1px; padding-bottom: 0px; } +.replie a.titremancre { background-image: url([(#CHEMIN_IMAGE{deplierhaut[(#ENV{rtl})].gif})]); } +.titrem.hover { background-color: #ENV{claire}; } +.deplie a.titremancre { background-image: url(#CHEMIN_IMAGE{deplierbas.gif}); } +.impliable {} +.js .blocreplie { display: none; } +.js .titrem.blocreplie { display: block; } +.blocdeplie { display: block; background: none; } +.bloc_depliable .pagination{ white-space:normal; } \ No newline at end of file diff --git a/prive/themes/spip/forms.css.html b/prive/themes/spip/forms.css.html index e7c2c39d83..fc28802010 100644 --- a/prive/themes/spip/forms.css.html +++ b/prive/themes/spip/forms.css.html @@ -74,7 +74,6 @@ /* divers */ --spip-form-border-radius: var(--spip-border-radius); /* bordure inputs et cie */ --spip-form-input-height: calc((var(--spip-form-padding-input-y) * 2) + var(--spip-line-height)); /* à toute fin utile */ - --spip-form-titrem-factor: 1.2; /* Pour la taille du titre */ } @media (min-width: 768px) { :root { @@ -88,8 +87,7 @@ --spip-form-fieldset-offset: 2.5em; } } -.lat .formulaire_spip, -.formulaire_spip.mini { +.lat .formulaire_spip { /* espacements externes (entre les inputs et cie) */ --spip-form-spacing-x: 0.75em; --spip-form-spacing-y: 0.85em; @@ -111,9 +109,9 @@ * On regroupe tout au même endroit pour mutualiser et se simplifier la vie. */ -/* Gouttière latérale principale. - Pour le titre ajuster selon la taille de la police. */ +/* Gouttière latérale principale */ .formulaire_spip, +.formulaire_spip .titrem, .formulaire_spip fieldset, .formulaire_spip .editer-groupe, .formulaire_spip .editer, @@ -121,13 +119,9 @@ padding-left: var(--spip-form-spacing-x); padding-right: var(--spip-form-spacing-x); } -.formulaire_spip .titrem { - padding-left: calc(var(--spip-form-spacing-x) - ((var(--spip-form-titrem-factor) - 1) * 1em)); - padding-right: calc(var(--spip-form-spacing-x) - ((var(--spip-form-titrem-factor) - 1) * 1em)); -} -/* Marges négatives pour annuler la gouttière. - Pour le titre ajuster selon la taille de la police. */ +/* Marges négatives pour annuler la gouttière */ +.formulaire_spip .titrem, .formulaire_spip .editer-groupe, .formulaire_spip fieldset, .formulaire_spip .editer, @@ -135,10 +129,6 @@ margin-left: calc(var(--spip-form-spacing-x) * -1); margin-right: calc(var(--spip-form-spacing-x) * -1); } -.formulaire_spip .titrem { - margin-left: calc((var(--spip-form-spacing-x) - ((var(--spip-form-titrem-factor) - 1) * 1em)) * -1); - margin-right: calc((var(--spip-form-spacing-x) - ((var(--spip-form-titrem-factor) - 1) * 1em)) * -1); -} /** @@ -266,8 +256,8 @@ } .entete-formulaire { position:relative; - padding: var(--spip-form-spacing-y) var(--spip-form-spacing-x); - padding-bottom: calc(var(--spip-form-spacing-y) / 2); + padding: calc(var(--spip-form-spacing-y) / 2) var(--spip-form-spacing-x); + padding-bottom: 0; /* Déjà une marge suffisante sous le h1 */ overflow: hidden; background: var(--spip-color-white); border-bottom: 1px solid var(--spip-form-sep-color); @@ -315,9 +305,7 @@ box-shadow: var(--spip-box-shadow-hover); } -/* Titre optionnel - Une partie de l'habillage est mutualisée avec ceux des boîtes : taille, graisse…. - Voir dans box_skins.css */ +/* Titre optionnel */ .formulaire_spip .titrem { display: flex; align-items: center; @@ -325,7 +313,9 @@ padding-bottom: var(--spip-form-spacing-y); border-top-left-radius: inherit; border-top-right-radius: inherit; + color: var(--spip-color-theme-dark); border-bottom: 1px solid var(--spip-form-sep-color); + text-transform: uppercase; } /* Conteneur des saisies */ @@ -793,25 +783,57 @@ /** - * ====================== - * 10. Messages de retour - * ====================== + * ============================= + * 10. Messages de retour et cie + * ============================= */ -/* Les styles sont mutualisés dans alertes.css - Par défaut, on étend les styles d'une alerte large. - Ici, ne mettre que les ajustements propres aux formulaires. - Nb : on double les sélecteurs pour avoir la priorité (joie des @extend) */ -.formulaire_spip .reponse_formulaire.reponse_formulaire { +.formulaire_spip .reponse_formulaire, +.error, .success, .notice, .information { + border: 2px solid; + color: var(--spip-form-color-text); + font-weight: normal; + padding: var(--spip-form-spacing-y) var(--spip-form-spacing-x); + padding-left: calc(var(--spip-form-spacing-y) + 24px); /* place pour icône */ + min-height: 24px; + background-repeat: no-repeat; + background-position: calc(var(--spip-form-spacing-y) / 2) var(--spip-form-spacing-x); + background-size: 24px; + margin-bottom: var(--spip-form-spacing-y); + margin-top: var(--spip-form-spacing-y); +} +.formulaire_spip .reponse_formulaire { + border-top-#RIGHT-radius: var(--spip-border-radius); + border-bottom-#RIGHT-radius: var(--spip-border-radius); + border-width: 0; border-#LEFT-width: 0.6em; - border-#LEFT-style: solid; + box-shadow: inset 0 0 1em hsla(0, 0%, 100%, 0.2); } -.formulaire_spip .reponse_formulaire.reponse_formulaire_ok { - border-#LEFT-color: hsl(var(--spip-color-success--h), var(--spip-color-success--s), 66%); +.formulaire_spip .reponse_formulaire_ok, +.success { + color: hsl(var(--spip-color-success--h), var(--spip-color-success--s), 25%); + border-color: hsl(var(--spip-color-success--h), var(--spip-color-success--s), 66%); + background-color:hsl(var(--spip-color-success--h), var(--spip-color-success--s), 85%); + background-image: url(#CHEMIN_IMAGE{ok-24.png}); +} +.formulaire_spip .reponse_formulaire_erreur, +.error { + color: hsl(var(--spip-color-error--h), var(--spip-color-error--s), 45%); + border-color: hsl(var(--spip-color-error--h), var(--spip-color-error--s), 87%); + background-color:hsl(var(--spip-color-error--h), var(--spip-color-error--s), 95%); + background-image: url(#CHEMIN_IMAGE{erreur-24.png}); +} +.notice { + color: hsl(var(--spip-color-notice--h), var(--spip-color-notice--s), 22%); + border-color: hsl(var(--spip-color-notice--h), var(--spip-color-notice--s), 57%); + background-color:hsl(var(--spip-color-notice--h), var(--spip-color-notice--s), 87%); + background-image: url(#CHEMIN_IMAGE{warning-24.png}); } -.formulaire_spip .reponse_formulaire.reponse_formulaire_erreur { - border-#LEFT-color: hsl(var(--spip-color-error--h), var(--spip-color-error--s), 87%); +.information { + color: hsl(var(--spip-color-info--h), var(--spip-color-info--s), 27%); + border-color: hsl(var(--spip-color-info--h), var(--spip-color-info--s), 85%); + background-color:hsl(var(--spip-color-info--h), var(--spip-color-info--s), 94%); } @@ -930,7 +952,10 @@ .lat .formulaire_spip { - font-size: 0.95em; + font-size: 0.9em; +} +.lat .formulaire_spip .titrem { + font-size: 1em; } /* Tous les labels au dessus */ .lat .formulaire_spip .editer { @@ -970,18 +995,24 @@ * ======================================= * 13. Formulaires dans certains contextes * ======================================= + * Fiche objet, constructeur de formulaire (formidable), … */ -/* Formulaires flat : sans ombre portée, simple bordure */ -.formulaire_spip.flat, +/* Dans fiche objet */ .fiche_objet .formulaire_spip, -.formulaire_spip .formulaire_spip, -.box .formulaire_spip, -.popin .entete-formulaire, -.popin .formulaire_spip { - border: 1px solid var(--spip-form-border-color); - box-shadow: none !important; +.formulaire_spip .formulaire_spip { + border: 1px solid hsla(0, 0%, 0%, 0.15); /* Nb : la variable est plutôt pour les bordures des inputs */ + box-shadow: none; +} +.fiche_objet .formulaire_spip.formulaire_dater { + margin-top: 0; + border: 0; + border-radius: 0; + margin-left: -15px; /* = padding de fiche_objet */ + margin-right: -15px; /* = padding de fiche_objet */ + background-color: var(--spip-color-gray-lightest); + position: relative; } /* Dans #wysiwyg */ @@ -989,6 +1020,21 @@ font-size: 1rem; } +/* Dans une modale */ +.popin .entete-formulaire, +.popin .formulaire_spip, +.popin .formulaire_spip:hover, +.popin .formulaire_spip:focus-within { + box-shadow: none +} +.popin .entete-formulaire, +.popin .formulaire_spip { + border: 1px solid var(--spip-form-border-color); +} +.popin .entete-formulaire { + border-bottom: none; +} + /** * ============================ @@ -1168,15 +1214,6 @@ display: inline-block; } } -.fiche_objet .formulaire_spip.formulaire_dater { - margin-top: 0; - border: 0; - border-radius: 0; - margin-left: -15px; /* = padding de fiche_objet */ - margin-right: -15px; /* = padding de fiche_objet */ - background-color: var(--spip-color-gray-lightest); - position: relative; -} /* editer_liens */ .formulaire_editer_liens .liste-objets { diff --git a/prive/themes/spip/images/info-xx.svg b/prive/themes/spip/images/info-xx.svg deleted file mode 100644 index 4dfa4e8729..0000000000 --- a/prive/themes/spip/images/info-xx.svg +++ /dev/null @@ -1 +0,0 @@ -<svg xmlns="http://www.w3.org/2000/svg" height="64" viewBox="0 0 64 64" width="64"><g transform="scale(.125)" stroke-width="8"><circle cx="256" cy="256" fill="#00b0f5" r="256"/><path d="M256 190.667c-25.989 0-47.133-21.145-47.133-47.134S230.011 96.4 256 96.4c25.989 0 47.133 21.144 47.133 47.133 0 25.989-21.144 47.134-47.133 47.134zm0 34.267c-25.989 0-47.133 21.144-47.133 47.133v96.4c0 25.989 21.144 47.133 47.133 47.133 25.989 0 47.133-21.144 47.133-47.133v-96.4c0-25.99-21.144-47.133-47.133-47.133z" fill="#f4f1f1"/></g></svg> \ No newline at end of file diff --git a/prive/themes/spip/style_prive.css.html b/prive/themes/spip/style_prive.css.html index d1765dc91d..2b299a1951 100644 --- a/prive/themes/spip/style_prive.css.html +++ b/prive/themes/spip/style_prive.css.html @@ -49,7 +49,6 @@ Valeurs par defaut : forms.css, picker.css, box_skins.css, - alertes.css, jquery-ui.css, content.css, exceptions.css, diff --git a/prive/themes/spip/theme.css.html b/prive/themes/spip/theme.css.html index 3dc97cd551..d58005f987 100644 --- a/prive/themes/spip/theme.css.html +++ b/prive/themes/spip/theme.css.html @@ -63,6 +63,9 @@ body { .navigation_avec_icones #bando1_menu_administration {background-image: url("plugins/details_interface_3/images/maintenance-48.png");} .navigation_avec_icones #bando1_menu_configuration {background-image: url("plugins/details_interface_3/images/configuration-48.png");} */ +.simple .inner {border-radius:5px;border: 1px solid #d7d7d7;position:relative;} +.simple .inner:hover {box-shadow:0px 0px 2px #dddddd;position:relative;} +.simple .inner .hd { background-color: #f0f0f0; color: #444;} .simple.fiche_objet .inner .hd { line-height: 120%; } #contenu .fiche_objet .propose .inner {border: 0;border-radius:0;background-color: #ffde00;margin: 0px -15px;padding:15px;position:relative;} #contenu .fiche_objet .propose .inner p {margin: 0;} @@ -81,6 +84,19 @@ body { h1 {font-size: 2em;line-height: 125%;} .h1 {font-size: 2em;line-height: 125%;} +.sous-rub .inner {border: 0;background-color: #[(#ENV{foncee}|couleur_luminance{0.15})];box-shadow:0px 0px 10px #[(#ENV{foncee}|couleur_luminance{0.20})] inset;position:relative;} +.sous-rub .inner:hover {box-shadow:0px 0px 10px #[(#ENV{foncee}|couleur_luminance{0.20})] inset;position:relative;} +.sous-rub .inner .hd {background-color: transparent;font-size: 100%;} +.simple.sous-rub .inner .hd .logo {border-top-#ENV{right}-radius:5px;} +.sous-rub .inner .bd {padding: 0;} +.sous-rub .inner .bd .descriptif {padding:0px 10px 1px 16px; font-size: 0.95em;} +.sous-rub .inner .bd .liste-items {font-size: 0.85em;line-height: 120%;} +.sous-rub .inner .bd .liste-items .item {padding: 0px;} +.sous-rub .inner .bd .liste-items .item a {padding: 5px 18px;display: block;} +.sous-rub .inner .bd .liste-items .item:hover {background-color: #[(#ENV{foncee}|couleur_luminance{0.25})];} +.sous-rub .inner .bd .liste-items .item:hover a {color: black;} +.sous-rub .inner .bd .liste-items > .item:last-child {border-bottom: 0px;} + .liste-objets {border:1px solid #e5e5e5;border-top-left-radius:5px;border-top-right-radius:5px;position: relative;z-index: 1;display: block;} /* @@ -103,10 +119,16 @@ h1 {font-size: 2em;line-height: 125%;} .liste-objets-lies.mots thead {display: none;} .en-edition {line-height: 120%;} +div.titrem {font-size: 1em;line-height: 125%;padding-top: 7px;padding-bottom: 7px;} +h3.titrem {font-size: 1em;line-height: 125%;padding-top: 7px;padding-bottom: 7px;} #chemin {} #chemin .bouton_deplacer {font-size: 10px;color: #GET{lien};opacity:0.6;filter:alpha(opacity=60);} #chemin:hover .bouton_deplacer {opacity:1.0;filter:alpha(opacity=100);} +.box, .box .inner {border-radius:5px;} +.box .inner .hd {border-top-left-radius:5px; border-top-right-radius:5px;} +.note {border: 0;} +.box.error,.box.success,.box.notice {border: 0;} .lat #documents_joints {border-top:0} .lat #documents_joints .item {border-radius:5px;} -- GitLab