Classes CSS globales

DayFlow fournit un ensemble de classes CSS préfixées df- qui permettent de personnaliser l'apparence des composants du calendrier. Elles sont pensées pour styliser facilement, sans modifier la bibliothÚque.

Choisir le bon point d'entrée CSS

Choisissez la feuille de style selon que votre application utilise déjà Tailwind CSS ou non :

Point d'entrĂ©eContenuÀ utiliser quand
styles.cssBundle complet, préflight Tailwind inclusVous n'utilisez pas Tailwind
styles.components.cssStyles de composants uniquement, sans reset CSSVous utilisez déjà Tailwind
@import '@dayflow/core/dist/styles.components.css';
@import 'tailwindcss';

Pour surcharger le thÚme, privilégiez les variables --df-color-* ou les classes sémantiques stables df-* documentées ci-dessous.

Sommaire


Classes communes

Classes CSS communes, utilisées dans toutes les vues du calendrier.

Nom de classeDescription
df-calendar-containerConteneur racine externe de la barre latérale et du calendrier ; gÚre --df-calendar-height.
df-calendarConteneur principal du calendrier (en-tĂȘte et contenu de la vue)
df-headerSection d'en-tĂȘte du calendrier (titre, bouton Aujourd'hui et sĂ©lecteur de vue)
df-header-leftPartie gauche de l'en-tĂȘte (titre et boutons de navigation)
df-header-midPartie centrale de l'en-tĂȘte (titre de la plage de dates courante)
df-header-rightPartie droite de l'en-tĂȘte (sĂ©lecteur de vue et recherche)
df-navigationConteneur des commandes de navigation
df-view-header-containerConteneur partagĂ© de l'en-tĂȘte secondaire de la vue
df-view-header-titleClasse de texte partagĂ©e pour le titre des en-tĂȘtes de vue
df-view-header-subtitleClasse de texte partagĂ©e pour le sous-titre des en-tĂȘtes de vue
df-eventClasse de base de tous les événements
df-event-titleTexte du titre de l'événement
df-event-timeTexte de l'heure de l'événement
df-event-color-barBarre colorée à gauche des événements (vues Jour et Semaine)
df-month-event-color-barIndicateur coloré des événements ordinaires (vue Mois)
df-all-day-rowConteneur de la ligne des événements sur la journée entiÚre
df-all-day-labelTexte du libellé « journée entiÚre »
df-all-day-contentZone de contenu des événements sur la journée entiÚre
df-all-day-cellCellule individuelle d'un événement sur la journée entiÚre
df-date-numberAffichage du numéro de jour
df-current-time-lineConteneur de l'indicateur d'heure actuelle
df-current-time-labelTexte du libellé d'heure actuelle
df-current-time-barLigne horizontale de l'heure actuelle
df-calendar-checkboxStyle de case à cocher partagé par les listes de calendriers et commandes associées
df-portalClasse racine de portée pour les surfaces flottantes rendues par portail
df-range-pickerClasse racine de portée pour le popup et le conteneur du sélecteur de plage

Classes utilitaires sémantiques

DayFlow expose dĂ©sormais un ensemble stable de classes sĂ©mantiques df-* pour les Ă©tats internes : boutons sĂ©lectionnĂ©s, dates mises en Ă©vidence, actions destructives et anneaux de focus. Elles sont dĂ©finies dans la CSS de base partagĂ©e et peuvent ĂȘtre ciblĂ©es sans risque depuis votre propre feuille de style.

Utilisez ces classes pour aligner votre contenu personnalisé, l'interface d'un plugin ou la sortie d'un content slot sur les tokens de thÚme de DayFlow :

Nom de classeRĂŽle
df-fill-primaryFond rempli en couleur primaire + texte de premier plan assorti
df-fill-secondaryFond rempli en couleur secondaire + texte de premier plan assorti
df-fill-destructiveFond rempli en couleur destructive + texte de premier plan assorti
df-tint-primaryTeinte primaire Ă  10 % + texte primaire
df-tint-primary-mdTeinte primaire Ă  20 % + texte primaire
df-tint-primary-lgTeinte primaire Ă  30 % + texte primaire
df-hover-primaryÉtat survolĂ© teintĂ© en couleur primaire
df-hover-primary-mdÉtat survolĂ© primaire plus prononcĂ©
df-hover-primary-solidÉtat survolĂ© plein pour les boutons remplis
df-hover-baseFond survolé par défaut, avec le token de survol de DayFlow
df-hover-mutedFond survolé atténué
df-hover-destructiveÉtat survolĂ© destructif
df-text-primaryCouleur de texte primaire
df-text-mutedCouleur de texte atténuée
df-text-primary-fgCouleur de texte sur fond rempli en couleur primaire
df-text-secondary-fgCouleur de texte sur fond rempli en couleur secondaire
df-text-destructiveCouleur de texte destructive
df-text-destructive-fgCouleur de texte sur fond rempli en couleur destructive
df-bg-baseFond de surface de base
df-bg-cardFond de surface de carte
df-bg-sidebarFond atténué, style barre latérale
df-bg-secondaryFond atténué secondaire
df-bg-tertiaryFond tertiaire / surface de séparation
df-border-baseBordure de base
df-border-lightBordure plus claire / plus douce
df-border-strongBordure marquée, avec le token primaire
df-border-primaryCouleur de bordure primaire
df-border-primary-softCouleur de bordure primaire adoucie
df-ring-primaryCouleur de l'anneau primaire de focus / sélection
df-ring-primary-solidCouleur pleine de l'anneau primaire
df-shadow-smOmbre portée légÚre
df-shadow-mdOmbre portée moyenne
df-shadow-primaryToken de couleur de l'ombre primaire
df-focus-ringborder-color et ring-color primaires combinés sur :focus
df-focus-ring-onlyring-color primaire sur :focus, sans toucher Ă  la bordure
df-focus-border-primaryUniquement le border-color primaire sur :focus

Pour la thĂ©matisation, prĂ©fĂ©rez ces classes ou les variables --df-color-*. Évitez de cibler d'anciennes combinaisons internes telles que bg-primary, text-primary ou hover:bg-primary/90 sur les Ă©lĂ©ments internes de DayFlow : ces noms sĂ©mantiques Tailwind ne font plus partie du contrat public de style.


Utilitaires de mise en page et animation

Ces classes sont utiles pour que le contenu de vos slots ou l'interface d'un plugin héritent du comportement de mise en page et d'animation de DayFlow.

Nom de classeRĂŽle
df-content-slot-stackedFait occuper au content slot toute la hauteur disponible et empile son contenu verticalement
df-scrollbar-hideMasque les barres de défilement tout en conservant le défilement
df-animate-inUtilitaire de base pour le rythme des animations d'entrée
df-fade-inUtilitaire d'animation en fondu
df-zoom-in-95Utilitaire de légÚre animation de zoom
df-animate-slide-upAnimation d'entrée par glissement vers le haut
df-animate-slide-downAnimation de sortie par glissement vers le bas

Vue Jour

Classes CSS propres Ă  la vue Jour.

Nom de classeDescription
df-day-viewConteneur de la vue Jour
df-day-eventÉvĂ©nement individuel dans la vue Jour
df-day-time-gridConteneur de la grille horaire
df-time-columnColonne des heures (bande latérale gauche)
df-time-slotConteneur d'un créneau horaire (colonne de gauche)
df-time-labelTexte du libellé horaire (par exemple « 13 h »)
df-time-grid-rowLigne horizontale de la grille horaire
df-time-grid-cellCellule individuelle de la grille horaire
df-right-panelPanneau de droite de la vue Jour (mini-calendrier et liste des événements)

Vue Semaine

Classes CSS propres Ă  la vue Semaine.

Nom de classeDescription
df-week-viewConteneur de la vue Semaine
df-week-eventÉvĂ©nement individuel dans la vue Semaine
df-week-headerConteneur de l'en-tĂȘte hebdomadaire avec les noms de jours
df-week-header-rowLigne d'en-tĂȘte fixe contenant les noms de jours
df-week-day-cellCellule de jour individuelle dans l'en-tĂȘte
df-time-columnColonne des heures (bande latérale gauche)
df-time-slotConteneur d'un créneau horaire (colonne de gauche)
df-time-labelTexte du libellé horaire
df-time-grid-rowLigne horizontale de la grille horaire
df-time-grid-cellCellule individuelle de la grille horaire

Vue Mois

Classes CSS propres Ă  la vue Mois.

Nom de classeDescription
df-month-viewConteneur de la vue Mois
df-month-gridConteneur principal de la grille mensuelle
df-month-day-cellCellule de jour individuelle dans la vue Mois
df-month-date-number-containerConteneur de la zone du numéro de jour
df-month-date-numberNuméro de jour dans la vue Mois
df-month-more-eventsIndicateur « + x autres » pour les événements masqués
df-month-titleTitre de mois flottant pendant le défilement

Vue Année

Classes CSS propres à la vue Année. Elles sont particuliÚrement utiles pour personnaliser l'apparence des événements dans la vue annuelle.

Nom de classeDescription
df-year-eventConteneur externe de l'événement : englobe tout l'élément
df-event-year-contentConteneur du contenu de l'événement : icÎne, titre et reste
df-event-year-titleTexte du titre de l'événement : à utiliser pour l'alignement, la police, etc.
df-event-icon-svgSVG d'icÎne d'événement, utilisé par tous les rendus, y compris la vue Année
df-event-year-indicatorIndicateur coloré des événements horodatés : le point ou la barre de couleur
df-year-grid-monthConteneur de la carte de mois dans la vue Année en mode grille
df-year-fixed-day-cellCellule de jour dans la vue Année à semaines fixes

Mini-calendrier

Classes CSS du composant mini-calendrier (généralement dans la barre latérale ou la vue Jour).

Nom de classeDescription
df-mini-calendarConteneur du mini-calendrier
df-mini-calendar-bodyConteneur du corps du mini-calendrier
df-mini-calendar-header-navLigne de navigation entre les mois
df-mini-calendar-nav-btnBouton mois précédent / suivant
df-mini-calendar-month-labelLibellé du mois courant
df-mini-calendar-gridConteneur de la grille des jours
df-mini-calendar-headerCellule d'en-tĂȘte de jour de semaine (par exemple « lu », « ma »)
df-mini-calendar-dayClasse de base du bouton de date du mini-calendrier
df-mini-calendar-day-cellSurface stylisée de la cellule de date
df-mini-calendar-day-numberLibellé numérique du jour
df-mini-calendar-dotsConteneur des points d'événement dans une cellule
df-mini-calendar-dotPoint d'événement individuel

Barre latérale

Classes CSS du composant de barre latérale.

Nom de classeDescription
df-sidebarConteneur de la barre latérale
df-sidebar-headerConteneur de l'en-tĂȘte de la barre latĂ©rale
df-sidebar-toggleBouton de repli / dépliage de la barre latérale
df-sidebar-header-titleTitre de l'en-tĂȘte de la barre latĂ©rale (« Calendriers »)
df-sidebar-list-shellConteneur défilant autour des listes
df-sidebar-listConteneur de la liste des calendriers
df-sidebar-list-itemÉlĂ©ment de calendrier individuel dans la liste
df-sidebar-rowLigne interactive à l'intérieur de chaque élément
df-sidebar-chipPetit libellé / badge de la barre latérale
df-sidebar-dialogConteneur de la fenĂȘtre modale de la barre latĂ©rale
df-sidebar-buttonClasse de bouton partagée de la barre latérale

Classes CSS des boutons de navigation.

Nom de classeDescription
df-nav-buttonClasse de base du bouton flÚche de navigation (précédent / suivant)
df-calendar-nav-buttonBouton flÚche de navigation du calendrier, stylisé
df-today-buttonClasse de base du bouton « Aujourd'hui »
df-calendar-today-buttonBouton « Aujourd'hui » du calendrier, stylisé

Détail des événements

Classes CSS des panneaux et boßtes de dialogue de détail d'événement.

Nom de classeDescription
df-event-detail-panelPanneau flottant de détail d'événement
df-event-dialog-overlayRacine de la surcouche de la boßte de dialogue de détail
df-event-dialog-backdropArriÚre-plan de la boßte de dialogue de détail
df-dialog-containerConteneur du contenu de la boĂźte de dialogue
df-event-dialog-closeBouton de fermeture de la boßte de dialogue de détail
df-portalClasse racine de portail partagée

Content Slots

Classes CSS du systĂšme de rendu des content slots.

Nom de classeDescription
df-content-slotConteneur d'un content slot
df-slot-[id]Classe dynamique attribuĂ©e Ă  une instance de slot prĂ©cise, oĂč [id] est un identifiant unique

Attributs de statut des événements

DayFlow expose bien plus que de simples indicateurs d'Ă©tat d'Ă©vĂ©nement. Sur les Ă©vĂ©nements, les grilles, les surcouches, les panneaux et les utilitaires internes de mise en page, le projet utilise actuellement les attributs data-* suivants. Beaucoup peuvent ĂȘtre ciblĂ©s directement en CSS ; quelques-uns servent surtout de points d'ancrage structurels Ă  la logique de surcouche et Ă  la dĂ©tection des clics extĂ©rieurs.

ÉlĂ©ments d'Ă©vĂ©nement

AttributValeursDescription
data-view"day" "week" "month" "year" "agenda"Quelle vue rend actuellement l'événement ou son fragment
data-all-day"true" "false"Si l'événement occupe la journée entiÚre
data-selected"true" "false"Si l'événement est sélectionné
data-dragging"true" "false"Si l'événement est en cours de déplacement
data-resizing"true" "false"Si l'événement est en cours de redimensionnement
data-popping"true" "false"Si l'événement est visuellement mis en avant pendant l'interaction
data-editable"true" "false"Si l'événement est modifiable depuis l'interface intégrée
data-viewable"true" "false"Si l'interface de dĂ©tail peut ĂȘtre ouverte
data-draggable"true" "false"Si le déplacement est autorisé pour cet événement
data-multi-day"true" "false"Si l'événement s'étend sur plusieurs jours
data-month-stack"true" "false"Si l'événement est rendu dans la mise en page empilée de la vue Mois
data-touch-handles"true" "false"Si les poignĂ©es de redimensionnement tactiles doivent ĂȘtre visibles ou rĂ©servĂ©es
data-axisMots-clés selon la vueIndication d'orientation pour les rendus compacts ou horodatés
data-densityMots-clés selon la vueIndication de densité pour le contenu compact
data-positionMots-clés selon la vueIndication de position pour les rendus segmentés ou compacts
data-segment-shape"full" "start" "middle" "end"Forme des coins arrondis pour les événements segmentés
data-segment-daysChaßne numériqueNombre de jours représentés par un segment d'événement en vue Mois
data-event-idChaĂźne d'identifiantIdentifiant brut attachĂ© aux nƓuds interactifs et aux ancres de panneau
data-continued-left"true" "false"Le badge « journée entiÚre » de l'agenda se poursuit depuis un jour précédent
data-continued-right"true" "false"Le badge « journée entiÚre » de l'agenda se poursuit sur un jour suivant

État des dates, grilles et mises en page

AttributValeursDescription
data-today"true" "false"Marque une date, une section ou une cellule d'en-tĂȘte reprĂ©sentant aujourd'hui
data-other-month"true" "false"Marque les dates appartenant au mois précédent ou suivant
data-current-month"true" "false"Marque les dates rendues dans le mois courant
data-dateChaßne de dateDate concrÚte attachée aux cellules de grille ou de vue Année
data-first-day"true" "false"Marque le premier jour visible dans une structure groupée par an ou par mois
data-weekend"true" "false"Marque les cellules et libellés de week-end
data-has-events"true" "false"Marque les cellules de grille contenant au moins un événement
data-heat-levelChaßne numériqueNiveau d'intensité de la carte de chaleur en vue Année mode grille
data-visible"true" "false"Indicateur générique de visibilité pour les mises en page virtuelles ou conditionnelles
data-layoutMot-clé de mise en pageMarqueur interne du mode de mise en page (rendu mensuel ou défilement virtuel)
data-layout-ready"true" "false"Si une mise en page virtualisée a terminé sa premiÚre passe de mesure
data-trailing-border"true" "false"Si une cellule de mois doit afficher la bordure finale
data-scrollbar-space"true" "false"Si une vue réserve de la place pour une barre de défilement
data-secondary-tz"true" "false"Si un axe de fuseau horaire secondaire est actif
data-show-all-day"true" "false"Si la ligne « journée entiÚre » est activée
data-sliding-view"true" "false"Si une vue est en cours de glissement / transition
data-mobile"true" "false"Indication de rendu mobile utilisée par certains fragments de vue compacts
data-switcher-mode"buttons" "select"Quel mode du sélecteur de vue intégré est actif
data-inside-pill"true" "false"Si le contenu compact de l'en-tĂȘte est rendu Ă  l'intĂ©rieur de la pastille du jour
data-sidebar-collapsed"true" "false"Si la barre latérale est repliée
data-sidebar-enabled"true" "false"Si l'ossature du calendrier est montée avec le plugin de barre latérale
data-df-themeMot-clé de thÚmeMarqueur de thÚme émis par les conteneurs de mise en page thématisés

ContrĂŽles, champs et recherche

AttributValeursDescription
data-active"true" "false"Marqueur générique d'état actif pour interrupteurs, onglets et sélecteurs
data-open"true" "false"Si une liste déroulante, un panneau ou une surface de recherche est ouvert
data-bordered"true" "false"Si l'en-tĂȘte doit afficher sa bordure infĂ©rieure
data-loading"true" "false"État de chargement des boutons / actions asynchrones
data-ready"true" "false"Si une surcouche de création rapide a terminé son positionnement initial
data-placementMot-clé de placementIndication de placement pour aligner popups et création rapide
data-checked"true" "false"État cochĂ© des interrupteurs personnalisĂ©s
data-disabled"true" "false"État dĂ©sactivĂ© des interrupteurs / champs personnalisĂ©s
data-kindMot-clé selon le composantMarqueur de type de section ou de champ utilisé par le panneau mobile
data-expanded"true" "false"État dĂ©pliĂ© / repliĂ© des sections du panneau
data-closing"true" "false"Marque le panneau mobile pendant sa transition de fermeture
data-tone"default" "today" "upcoming"TonalitĂ© sĂ©mantique des en-tĂȘtes de date dans les rĂ©sultats de recherche groupĂ©s
data-mini-calendar-dotAttribut présentMarqueur attaché aux points d'événement du mini-calendrier

État du plugin de barre latĂ©rale

AttributValeursDescription
data-active"true" "false"Met en évidence la ligne du calendrier actif dans la liste
data-collapsed"true" "false"Si un groupe de sources ou un panneau à chevron est replié
data-draggable"true" "false"Si un calendrier de la barre latĂ©rale peut ĂȘtre dĂ©placĂ©
data-dragging"true" "false"Si un calendrier de la barre latérale est en cours de déplacement
data-position"top" "bottom"Position de l'indicateur de dépÎt lors du glissement des calendriers
data-selected"true" "false"État d'option sĂ©lectionnĂ©e dans les listes dĂ©roulantes et dialogues d'import
data-submenu-contentAttribut présentMarque le contenu des sous-menus rendus par portail (menus de fusion et surcouches associées)

Surcouches et points d'interaction

AttributValeursDescription
data-event-detail-panelAttribut présentMarque la racine du panneau flottant de détail
data-event-detail-dialogAttribut présentMarque la racine de la boßte de dialogue modale de détail
data-range-picker-popupAttribut présentMarque la racine du popup du sélecteur de plage
data-calendar-picker-dropdownAttribut présentMarque la racine de la liste déroulante de sélection de calendrier
data-grid-day-cellAttribut présentMarque les cellules de jour cliquables en vue Année mode grille
data-grid-day-popupAttribut présentMarque la racine du popup de jour de la vue Année

Exemple

/* Selected events */
.df-event[data-selected='true'] {
  outline: 2px solid var(--df-color-primary);
}

/* Events while being dragged */
.df-event[data-dragging='true'] {
  opacity: 0.6;
}

/* Only target month-view events */
.df-event[data-view='month'] {
  font-size: 11px;
}

/* All-day events only */
.df-event[data-all-day='true'] {
  font-weight: 600;
}

/* Highlight today's agenda section or compact grid cell */
[data-today='true'] {
  background-color: color-mix(in srgb, var(--df-color-primary) 8%, transparent);
}

Personnalisation

Pour personnaliser l'apparence, ciblez ces classes ou surchargez les variables --df-color-* dans votre CSS global. La plupart des changements de thÚme ne devraient pas nécessiter !important ; ne l'utilisez que pour l'emporter délibérément sur une rÚgle locale trÚs spécifique.

Exemple

/* Change the background of all events */
.df-event {
  border-radius: 8px !important;
}

/* Customize the current time indicator */
.df-current-time-line {
  z-index: 100;
}
.df-current-time-bar {
  height: 3px !important;
  background-color: #ef4444 !important;
}

/* Customize specific view */
.df-day-view .df-event {
  border-left: 4px solid #3b82f6;
}

/* Style the sidebar */
.df-sidebar {
  background-color: #f8fafc !important;
}

/* Style mini calendar */
.df-mini-calendar-day:hover {
  background-color: #e2e8f0;
}

/* Reuse DayFlow semantic helpers in your own slot or plugin markup */
.my-custom-primary-chip {
  background-color: var(--df-color-primary);
  color: var(--df-color-primary-foreground);
}

/* Dark mode overrides */
.dark .df-calendar {
  background-color: #111827;
}

/* Style event detail panel */
.df-event-detail-panel {
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15) !important;
}

Conseils d'utilisation

  1. Spécificité : si vos styles ne s'appliquent pas, augmentez la spécificité en encadrant le calendrier dans une classe à vous :

    .my-custom-calendar .df-event { ... }
  2. Design adaptatif : utilisez des media queries pour ajuster les styles sur mobile :

    @media (max-width: 768px) {
      .df-event-title {
        font-size: 10px;
      }
      .df-time-label {
        font-size: 10px;
      }
    }
  3. Mode sombre : utilisez le sélecteur .dark pour les styles propres au mode sombre :

    .dark .df-month-day-cell {
      border-color: #374151;
    }
  4. Variables CSS : DayFlow utilise des propriétés personnalisées --df-color-* pour les couleurs. Surchargez-les sur .df-calendar-container (et .df-portal pour les surfaces flottantes) pour des changements de couleur circonscrits :

    .df-calendar-container,
    .df-portal {
      --df-color-primary: #3b82f6;
      --df-color-primary-foreground: #ffffff;
    }

Migrer depuis les versions antérieures

Changement incompatible : suppression de la classe calendar-event

La classe calendar-event a été retirée des éléments d'événement. Si votre feuille de style cible .calendar-event { ... }, remplacez-la par .df-event { ... }.

Les classes utilitaires Tailwind internes (flex, rounded-md, shadow-sm, etc.) autrefois présentes sur les éléments DOM de DayFlow ont également été retirées. Elles n'ont jamais fait partie de l'API publique. Pour toute personnalisation CSS, utilisez les classes df-* et les attributs data-* documentés.

Documentation associée

Dans cette page