Skip to content

Calendar ​

Un mois de dates, sélectionnables une à une ou par plage.

Trois panneaux — jours, mois, années — plutôt qu'un défilement infini : choisir une date de naissance demande de remonter trente ans, et trente ans de défilement ne sont pas une navigation.

Les dates circulent en chaînes AAAA-MM-JJ, jamais en objets Date : un Date porte une heure et un fuseau dont une date de facture n'a que faire, et qui la décalent d'un jour une fois sur deux.

Installation ​

bash
sia-ui add calendar

Ou par le paquet, sans rien copier :

tsx
import { Calendar } from "@sia-ui/react-web";

Props ​

PropTypeDéfautDescription
cellRender(day: CalendarDay, originNode: ReactNode) => ReactNode—
classNamestring—
defaultMode"month" | "year"month
defaultMonthstring—
defaultRangeCalendarRangeValue{ start: "", end: "" }
defaultValuestring—
disabledDate(date: string) => boolean—
firstDayOfWeek0 | 11
fullscreenbooleanfalse
headerRender(props: { month: string; mode: CalendarMode; onMonthChange: (month: string) => void; onModeChange: (mode: CalendarMode) => void; }) => ReactNode—
localestring—La langue des jours et des mois. Par défaut, celle de la locale SIA.
mode"month" | "year"—
monthstring—
onMonthChange(month: string) => void—
onPanelChange(month: string, mode: CalendarMode) => void—
onRangeChange(value: CalendarRangeValue) => void—
onSelect(value: string, source: "date" | "month" | "year") => void—
onValueChange(value: string) => void—
rangeCalendarRangeValue—
renderDay(day: CalendarDay) => ReactNode—
renderExtraFooter() => ReactNode—
selectionMode"single" | "range"single
showWeekbooleanfalse
toneComponentToneprimary
validRange[string, string]—
valuestring—

Voir aussi ​

Publié sous licence MIT.