Design system — Sunrise

Les composants.

Pièces élémentaires de freelaunch. Utilisées pour construire tous les sites tenants et l'interface admin.

Button

CTA primaire ou secondaire avec 4 variants et 2 tailles.

Variants
Sizes
PropTypeDefaultDescription
variant"primary" | "ghost" | "dark" | "link""primary"Style visuel
size"md" | "sm""md"Taille

Card

Conteneur avec 4 variants de background.

Variants
Neutral
Soft
Warm
Ink
PropTypeDefaultDescription
variant"neutral" | "soft" | "warm" | "ink""neutral"Fond

Pill

Badge ou statut avec 3 variants.

Variants
DefaultOnDarkAvec dot
PropTypeDefaultDescription
variant"default" | "on" | "dark""default"Style
dotbooleanfalseAffiche un point coloré avant

Input

Input text avec état d'erreur.

States
PropTypeDefaultDescription
errorbooleanfalseStyle d'erreur

Textarea

Champ multi-ligne.

Default
PropTypeDefaultDescription
errorbooleanfalseStyle d'erreur

Select

Liste déroulante.

Default
PropTypeDefaultDescription
options *{ value: string; label: string }[]Options
placeholderstringLigne vide au début

Checkbox

Case à cocher avec label.

Default
PropTypeDefaultDescription
label *stringTexte à droite

Dialog

Modal. Client component; le parent gère open/close. Preview interactive en prod uniquement.

Preview
Voir en action sur /reserver (Vague 1c)

Toast

Notification avec 3 variants.

Variants
Réservation confirmée
Erreur
Slot déjà réservé
Info
PropTypeDefaultDescription
variant"success" | "error" | "info""info"Type

EmptyState

Placeholder pour liste vide.

Default
📭

Aucune réservation

Les prochaines apparaîtront ici.

PropTypeDefaultDescription
title *stringTitre principal
descriptionstringSous-titre
iconReactNodeIcône / emoji en haut
actionReactNodeCTA (souvent Button)

Spinner

Indicateur de chargement.

Sizes
PropTypeDefaultDescription
size"sm" | "md" | "lg""md"Taille