shadcn-vue/apps/www/src/lib/registry/default/example/DateTimePickerDemo.vue
Valentin Hutter dfbb738aee
feat: add style to work with v-calendar time picker (#243) (#265)
* feat: add style to work with v-calendar time picker (#243)

* docs: add datetime picker to doc + build registery

* build: build registery in apps/www

* chore: tweaks and fix darkmode selectbox bg

---------

Co-authored-by: Valentin Hutter <valentin@macbook-pro-de-valentin.home>
Co-authored-by: Sadegh Barati <sadeghbaratiwork@gmail.com>
2024-01-12 01:55:22 +03:30

37 lines
971 B
Vue

<script setup lang="ts">
import { format } from 'date-fns'
import { Calendar as CalendarIcon } from 'lucide-vue-next'
import { ref } from 'vue'
import { cn } from '@/lib/utils'
import { Button } from '@/lib/registry/default/ui/button'
import { Calendar } from '@/lib/registry/default/ui/calendar'
import {
Popover,
PopoverContent,
PopoverTrigger,
} from '@/lib/registry/default/ui/popover'
const date = ref<Date>()
</script>
<template>
<Popover>
<PopoverTrigger as-child>
<Button
:variant="'outline'"
:class="cn(
'w-[280px] justify-start text-left font-normal',
!date && 'text-muted-foreground',
)"
>
<CalendarIcon class="mr-2 h-4 w-4" />
<span>{{ date ? format(date, 'PPP - hh:mm') : "Pick a date" }}</span>
</Button>
</PopoverTrigger>
<PopoverContent class="w-auto p-0">
<Calendar v-model="date" mode="datetime" />
</PopoverContent>
</Popover>
</template>