Open-Source Vue Event Calendar
DayFlow is an MIT-licensed calendar component for Vue 3. Switch between day, week, and month views, drag events to move them, and resize events to adjust their duration.
Try the interactive DayFlow demoThe shared demo lets you try the calendar interactions. Use the Vue 3example below to integrate them into your app.
Plan the day or scan the whole month
Use the day view to schedule appointments, the week view to coordinate a team, or the month view to spot busy stretches. The same events stay in view as users switch between layouts.
Create and adjust events on the calendar
Drag across the time grid to create an event. Move it to reschedule or resize it to change its duration. Connect the calendar to yourVue 3 app’s event data so edits can follow your scheduling rules.
Add DayFlow to a Vue 3 app
Install the Vue 3 component, calendar core, and drag plugin.
npm install @dayflow/vue @dayflow/core @dayflow/plugin-dragAdd this component to your app. It opens with a sample event for today that you can move or resize in the time grid.
<script setup>
import { DayFlowCalendar, useCalendarApp } from '@dayflow/vue';
import {
createDayView, createWeekView, createMonthView,
createEvent, createEventsPlugin,
} from '@dayflow/core';
import { createDragPlugin } from '@dayflow/plugin-drag';
import '@dayflow/core/dist/styles.css';
const calendar = useCalendarApp({
views: [createDayView(), createWeekView(), createMonthView()],
plugins: [createDragPlugin(), createEventsPlugin()],
events: [
createEvent({
id: 'team-meeting',
title: 'Team meeting',
start: new Date(new Date().setHours(10, 0, 0, 0)),
end: new Date(new Date().setHours(11, 0, 0, 0)),
}),
],
});
</script>
<template>
<DayFlowCalendar :calendar="calendar" />
</template>Read the DayFlow installation guide