Package Exports
- vue3-calendar-heatmap
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (vue3-calendar-heatmap) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
vue3-calendar-heatmap
NOTE
This is primary a Typescript rewrite of vue-calendar-heatmap for Vue 3.
A lightweight calendar heatmap Vuejs component built on SVG, inspired by github's contribution calendar graph. With vertical mode, tooltip powered by Tippy.js.
Table of contents
Installation
npm install --save vue3-calendar-heatmap
Default import
Global Install:
import Vue from 'vue'
import VueCalendarHeatmap from 'vue3-calendar-heatmap'
Vue.use(VueCalendarHeatmap)
Use specific components:
import Vue from 'vue'
import { CalendarHeatmap } from 'vue3-calendar-heatmap'
Vue.component('calendarHeatmap', CalendarHeatmap)
or in a parent components .vue
file
<script>
import { CalendarHeatmap } from 'vue3-calendar-heatmap'
export default {
components: {
CalendarHeatmap
},
// ...
}
</script>
⚠️ 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:
import 'vue3-calendar-heatmap/dist/vue3-calendar-heatmap.css'
import VueCalendarHeatmap from 'vue3-calendar-heatmap/dist/vue3-calendar-heatmap.common'
Vue.use(VueCalendarHeatmap)
Use specific components:
import 'vue3-calendar-heatmap/dist/vue3-calendar-heatmap.css'
import { CalendarHeatmap } from 'vue3-calendar-heatmap/dist/vue3-calendar-heatmap.common'
Vue.component('calendarHeatmap', 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.
<calendar-heatmap :values="[{ date: '2018-9-22', count: 6 }, ...]" .../>
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.
<calendar-heatmap :end-date="2018-9-22" .../>
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 acount: null
The color at
rangeColor[1]
will always represent the values for acount: 0
The others are automatically distributed over the maximum value of count, unless you specify
max
props.Default value is equal to the example.
<calendar-heatmap :range-color="['ebedf0', 'dae2ef', '#c0ddf9', '#73b3f3', '#3886e1', '#17459e']" .../>
max - max
Any number which should be the max color.
<calendar-heatmap :max="10" .../>
noDataText - no-data-text
Tooltip text to display on days without data. null
by default (shows no tooltip at all).
<calendar-heatmap :no-data-text="no data for this day" .../>
tooltip - tooltip
Boolean for enable/disable tooltip on square hover. true
by default.
<calendar-heatmap :tooltip="false" .../>
tooltipUnit - tooltip-unit
String representing heatmap's unit of measure. Value is "contributions"
by default.
<calendar-heatmap tooltip-unit="stars" .../>
tooltipFormatter - tooltip-formatter
A method to have full control about tooltip content.
<calendar-heatmap :tooltip-formatter="(v) => v.count" .../>
vertical - vertical
Boolean to switch to vertical mode. false
by default.
<calendar-heatmap :vertical="true" .../>