import type { Meta, StoryObj } from '@storybook/vue3' import DatePicker from './DatePicker.vue' import SyAlert from '@/components/SyAlert/SyAlert.vue' import { ref, watch, computed } from 'vue' import { useDateFormat } from '@/composables/date/useDateFormatDayjs' import { fn } from '@storybook/test' import dayjs from 'dayjs' import customParseFormat from 'dayjs/plugin/customParseFormat' import utc from 'dayjs/plugin/utc' import timezone from 'dayjs/plugin/timezone' const meta = { title: 'Composants/Formulaires/DatePicker/CalendarMode', component: DatePicker, decorators: [ () => ({ template: '
La propriété period limite les dates sélectionnables dans le calendrier
Ouvrez les années dans le calendrier pour voir les dates limites
Date formatée avec dayjs: {{ formattedDate }}
Date parsée avec dayjs: {{ parsedDate ? parsedDate.toLocaleDateString() : 'Aucune date' }}
Date formatée avec dayjs: {{ formattedDate }}
Date parsée avec dayjs: {{ parsedDate ? parsedDate.toLocaleDateString() : 'Aucune date' }}
timezone sélectionné : {{ selectedTimeZone }}
v-model (DD/MM/YYYY) : {{ dateString }}
Date ISO (UTC) : {{ utcIso }}
Date affichée dans le timezone sélectionné : {{ dateInSelectedTimeZone }}
Date affichée dans Europe/Paris : {{ dateInParis }}
Démonstration de la validation bidirectionnelle entre les DatePickers. Les messages d'erreur apparaissent directement dans les composants.
Date de début: {{ startDate || 'Non sélectionnée' }}
Date de fin: {{ endDate || 'Non sélectionnée' }}
Démonstration de la validation bidirectionnelle entre les DatePickers. Les messages d'erreur apparaissent directement dans les composants.
Date de début: {{ startDate || 'Non sélectionnée' }}
Date de fin: {{ endDate || 'Non sélectionnée' }}