Conversation
…growing and shrinking scales Updated the fluid-size function parameters for clarity and added support for both growing and shrinking scales between breakpoints. Improved documentation for better understanding of the function's usage.
francoistibo
approved these changes
Oct 5, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Contexte
La fonction SCSS
fluid-size(danssrc/scss/02-tools/_f-fluid-size.scss) génère des valeurs fluides viaclamp()et une interpolation linéaire envw, sur le modèle décrit par Aleksandr Hovhannisyan. Elle est utilisée notamment danssrc/scss/03-base/_variables-css.scsspour les tailles de titres et de paragraphes exposées en variables CSS (--heading--font-size-*,--paragraph--font-size-*).Jusqu’ici, l’API supposait implicitement une échelle croissante : la première valeur était le minimum (mobile) et la seconde le maximum (desktop). Dès que
$from > $to,clamp(min, …, max)devenait incohérent (borne min > borne max) et le comportement ne correspondait plus à une réduction progressive sur grand écran.Cette PR aligne la fonction sur un usage bidirectionnel et clarifie la sémantique des paramètres, tout en ajustant la plage fluide par défaut.
Changements fonctionnels
Paramètres renommés
$min$from$start, par défautxs→ 480px)$max$to$end)Les deux arguments restent positionnels : on décrit une transition de
$fromvers$toentre les deux breakpoints, que la valeur augmente ou diminue.Échelles croissantes et décroissantes
La formule du milieu de
clampreste une interpolation linéaire :$from + (1vw - start) / (end - start) * (to - from)Les bornes de
clampsont désormais calculées explicitement :$lower = min($from, $to)$upper = max($from, $to)Ainsi, pour
fluid-size(40px, 3px)(exemple documenté dans le fichier), l’espacement est plus grand sur mobile et se resserre vers le desktop, sans casserclamp.Les cas existants du type
fluid-size(45px, 56px)(typo qui grossit) conservent le même principe ; seule la plage viewport par défaut change (voir ci-dessous).Breakpoint de fin par défaut :
sm→l$startxs(480px)xs(480px)$endsm(782px)l(1440px)Impact : tous les appels qui ne passent pas explicitement
$start/$end— dont les variables de typo dans_variables-css.scss— interpolent désormais sur une fenêtre plus large (mobile → grand desktop) au lieu de s’arrêter vers ~782px. La transition est plus progressive ; les valeurs aux viewports intermédiaires et à 1440px ne sont plus identiques à l’ancien comportement.Pour retrouver l’ancienne plage sur un appel précis :
#{fluid-size(45px, 56px, xs, sm)};Pour une plage personnalisée, utiliser les clés de
$breakpoints(xs,s,sm,m,md,l, etc.) définies danssrc/scss/01-abstract/_variables.scss.Fichier modifié
src/scss/02-tools/_f-fluid-size.scss— documentation, renommage des paramètres, bornesclamp, défaut$end: l, exemple « shrinking scale ».Aucun autre fichier du dépôt n’est modifié dans cette PR ; les consommateurs existants de
fluid-sizehéritent du nouveau défaut$enddès le prochain build CSS.Exemples d’usage
Points d’attention pour la revue
$end.px) comme avant ; le delta utilisestrip-unitssur$to - $from.$start/$endsont les mêmes que pour les mixinsbreakpointdu thème (carte$breakpoints).Synthèse
La PR rend
fluid-sizeutilisable pour des propriétés qui diminuent entre mobile et desktop, clarifie le vocabulaire (from/to) et étend la plage fluide par défaut jusqu’àl(1440px). Les intégrateurs qui dépendaient de l’ancien arrêt àsmdoivent passer les breakpoints explicitement sur les appels concernés.Note
Medium Risk
No logic outside the mixin file changes, but the new default
$endalters compiled typography/spacing for every two-argumentfluid-sizeconsumer until breakpoints are pinned explicitly.Overview
Updates the
fluid-sizeSCSS helper so the first two arguments mean size at$startand at$end($from/$to, replacing$min/$max), not strictly mobile-min and desktop-max.clampnow usesmin($from, $to)andmax($from, $to)as bounds while the middle term still interpolates$from → $to, so values can shrink on larger viewports (e.g.fluid-size(40px, 3px)). Docs add an example for that case.The default fluid window changes:
$enddefaults tol(1440px) instead ofsm(~782px). Any call that omits breakpoints—including heading and paragraph CSS variables in_variables-css.scss—will interpolate over a longer, gentler range than before. To keep the old xs→sm behavior, passxs, smexplicitly on those calls.Reviewed by Cursor Bugbot for commit e0df54a. Bugbot is set up for automated code reviews on this repo. Configure here.