Published

NudgerCard : cartes à coins modulaires

NudgerCard : guide d’usage

Le composant NudgerCard centralise les styles de cartes “nudger” afin de garder un rendu homogène et de limiter les classes ad-hoc dans les sections frontend.

Pourquoi l’utiliser ?

  • Cohérence visuelle : un seul point de vérité pour les rayons et bordures.
  • Maintenance simplifiée : les ajustements se font dans un seul composant.
  • Variantes explicites : les coins modifiés sont déclarés par props.
  • Design system : facilite la revue UX et les ajustements globaux.

Quand l’utiliser ?

Utilisez NudgerCard pour les cartes de contenu qui reprennent le style “nudger” dans les sections marketing (home, landing pages, etc.).
Évitez de le dupliquer avec des classes globales : préférez les props dédiées.

API principale

PropTypeDéfautRôle
borderbooleanfalseAjoute la bordure primaire.
shadowbooleantrueActive l'ombre portée (box-shadow).
hoverablebooleantrueActive l'effet de survol (lift + ombre renforcée).
accentCornersArray<NudgerCorner>[]Applique un rayon "accent" à un ou plusieurs coins.
flatCornersArray<NudgerCorner>[]Force un coin à 0 pour obtenir un angle droit.
baseRadiusstring'30px'Rayon par défaut pour tous les coins.
accentRadiusstring'50px'Rayon appliqué aux coins "accent".
topLeftRadiusstring-Surcharge individuelle du coin haut-gauche.
topRightRadiusstring-Surcharge individuelle du coin haut-droit.
bottomRightRadiusstring-Surcharge individuelle du coin bas-droit.
bottomLeftRadiusstring-Surcharge individuelle du coin bas-gauche.
paddingstring'1.25rem'Padding interne de la carte.
backgroundstring'#ffffff'Couleur ou gradient de fond.
elevationnumber0Élévation Vuetify optionnelle.

NudgerCorner = 'top-left' | 'top-right' | 'bottom-right' | 'bottom-left'

Exemples

Coin haut gauche “carré” + coin bas gauche accentué

<NudgerCard
  border
  :flat-corners="['top-left']"
  :accent-corners="['bottom-left']"
>
  <p>Contenu</p>
</NudgerCard>

Carte "plein écran" personnalisée

<NudgerCard
  background="rgba(var(--v-theme-surface-default), 0.96)"
  padding="clamp(2rem, 5vw, 3rem)"
  base-radius="clamp(1.75rem, 4vw, 2.5rem)"
>
  <p>CTA</p>
</NudgerCard>

Surcharge individuelle des coins

Utilisez les props topLeftRadius, topRightRadius, bottomRightRadius et bottomLeftRadius pour un contrôle précis :

<NudgerCard
  border
  top-left-radius="0"
  bottom-right-radius="60px"
>
  <p>Coin haut-gauche carré, coin bas-droit accentué</p>
</NudgerCard>

Carte statique (sans hover)

Désactivez les effets de survol pour les cartes informatives :

<NudgerCard :hoverable="false">
  <p>Cette carte ne réagit pas au survol</p>
</NudgerCard>

Carte sans ombre

Pour un style plus plat :

<NudgerCard :shadow="false" border>
  <p>Carte avec bordure mais sans ombre</p>
</NudgerCard>

Bonnes pratiques

  • Préférez les props plutôt que d’ajouter de nouvelles classes globales.
  • Ciblez uniquement les coins nécessaires (ex. un seul coin accentué).
  • Centralisez la logique : si un nouveau style devient récurrent, ajoutez une prop ou une variante dans NudgerCard plutôt que de dupliquer.