https://github.com/julienr114/vue-calendar-heatmap
A lightweight calendar heatmap Vuejs component built on SVG, inspired by github's contribution calendar graph
https://github.com/julienr114/vue-calendar-heatmap
calendar-heatmap component heatmap svg vuejs
Last synced: 6 months ago
JSON representation
A lightweight calendar heatmap Vuejs component built on SVG, inspired by github's contribution calendar graph
- Host: GitHub
- URL: https://github.com/julienr114/vue-calendar-heatmap
- Owner: julienr114
- Created: 2018-05-24T15:54:33.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-02-13T18:48:25.000Z (over 3 years ago)
- Last Synced: 2024-11-04T10:43:57.045Z (11 months ago)
- Topics: calendar-heatmap, component, heatmap, svg, vuejs
- Language: Vue
- Homepage:
- Size: 234 KB
- Stars: 269
- Watchers: 7
- Forks: 90
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
- awesome-starred - julienr114/vue-calendar-heatmap - A lightweight calendar heatmap Vuejs component built on SVG, inspired by github's contribution calendar graph (vuejs)
README
# vue-calendar-heatmap

[ ](https://www.npmjs.com/package/vue-calendar-heatmap)
[](https://vuejs.org/)A lightweight calendar heatmap Vuejs component built on SVG, inspired by github's contribution calendar graph. With vertical mode, tooltip powered by [v-tooltip](https://github.com/Akryum/v-tooltip).
## Table of contents
- [Installation](#installation)
- [Usage](#usage)# Installation
```
npm install --save vue-calendar-heatmap
```## Default import
Global Install:
```javascript
import Vue from 'vue'
import VueCalendarHeatmap from 'vue-calendar-heatmap'Vue.use(VueCalendarHeatmap)
```Use specific components:
```javascript
import Vue from 'vue'
import { CalendarHeatmap } from 'vue-calendar-heatmap'Vue.component('calendarHeatmap', CalendarHeatmap)
```or in a parent components `.vue` file
```html
import { CalendarHeatmap } from 'vue-calendar-heatmap'
export default {
components: {
CalendarHeatmap
},
// ...
}```
**⚠️ A css file is included when importing the package. You may have to setup your bundler to embed the css in your page.**
## Distribution import
Global Install:
```javascript
import 'vue-calendar-heatmap/dist/vue-calendar-heatmap.css'
import VueCalendarHeatmap from 'vue-calendar-heatmap/dist/vue-calendar-heatmap.common'Vue.use(VueCalendarHeatmap)
```Use specific components:
```javascript
import 'vue-calendar-heatmap/dist/vue-calendar-heatmap.css'
import { CalendarHeatmap } from 'vue-calendar-heatmap/dist/vue-calendar-heatmap.common'Vue.component('calendarHeatmap', CalendarHeatmap)
```**⚠️ You may have to setup your bundler to embed the css file in your page.**
## Browser
```html
```
The plugin should be auto-installed. If not, you can install it manually with the instructions below.
Install all the components:
```javascript
Vue.use(VueCalendarHeatmap)
```Use specific components:
```javascript
Vue.component('calendarHeatmap', VueCalendarHeatmap.CalendarHeatmap)
```# Usage
## Availables props
### **values** - `values` - _required_
Array of objects with `date` and `count` keys. `date` values can be a date parseable string, a millisecond timestamp, or a Date object. `count` value should be a number.
``` html
```
### **endDate** - `end-date` - _required_
Can be a date parseable string, a millisecond timestamp, or a Date object. The calendar will start automatically one year before this date.
``` html
```### **rangeColor** - `range-color`
Array of 6 strings which represents the colors of the progression.- The color at `rangeColor[0]` will always represent the values for a `count: null`
- The color at `rangeColor[1]` will always represent the values for a `count: 0`
- The others are automatically distributed over the maximum value of count, unless you specify `max` props.Default value is equal to the example.
``` html
```### **max** - `max`
Any number which should be the max color.
``` html
```### **noDataText** - `no-data-text`
Tooltip text to display on days without data. `null` by default (shows no tooltip at all).
``` html
```### **tooltip** - `tooltip`
Boolean for enable/disable tooltip on square hover. `true` by default.
``` html
```
### **tooltipUnit** - `tooltip-unit`
String representing heatmap's unit of measure. Value is `"contributions"` by default.
``` html
```### **vertical** - `vertical`
Boolean to switch to vertical mode. `false` by default.
``` html
```## License
[MIT](http://opensource.org/licenses/MIT)