Skip to content

An elegant calendar and datepicker plugin for Vue.

License

Notifications You must be signed in to change notification settings

stafftastic/v-calendar

 
 

Repository files navigation

VCalendar Plugin for Vue 3

A calendar and date picker plugin for Vue.js.

Vue.js 3.2+, Popper.js 2.0+ are required.

Install Plugin

NPM

npm install v-calendar@next @popperjs/core

Yarn

yarn add v-calendar@next @popperjs/core

Use Plugin

⚠️ As of v3.0.0-alpha.7, all installation methods require manual import of component styles. This is due to Vite build restrictions in libary mode.

import 'v-calendar/style.css';

Method 1: Use Globally

import VCalendar from 'v-calendar';
import 'v-calendar/style.css';

// Use plugin with optional defaults
app.use(VCalendar, {})
<!-- MyComponent.vue -->
<template>
  <VCalendar />
  <VDatePicker v-model="date" />
</template>

Method 2: Use Components Globally

// main.js
import { setupCalendar, Calendar, DatePicker } from 'v-calendar';
import 'v-calendar/style.css';

// Use plugin defaults (optional)
app.use(setupCalendar, {})

// Use the components
app.component('VCalendar', Calendar)
app.component('VDatePicker', DatePicker)
<!-- MyComponent.vue -->
<template>
  <VCalendar />
  <VDatePicker v-model="date" />
</template>

Method 3: Use Components As Needed

// main.js
import { setupCalendar } from 'v-calendar';

// Use calendar defaults (optional)
app.use(setupCalendar, {})
<!-- MyComponent.vue -->
<template>
  <Calendar />
  <DatePicker v-model="date">
</template>

<script>
import { Calendar, DatePicker } from 'v-calendar';
import 'v-calendar/style.css';

export default {
  components: {
    Calendar,
    DatePicker,
  },
  data() {
    return {
      date: new Date(),
    };
  },
}
</script>

Source setup

Please follow below mentioned steps to clone and build this project:

Clone the repo

git clone https://github.com/nathanreyes/v-calendar

# Move to directory
cd v-calendar

Install dependencies

npm install

Build library

# Types, ES, ESM, CommonJS, IIFE
npm run build

Lint and fix files

npm run lint

Test library

# Types, ES, ESM, CommonJS, IIFE
npm run test

About

An elegant calendar and datepicker plugin for Vue.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 68.2%
  • Vue 27.2%
  • CSS 3.5%
  • Other 1.1%