JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 3454
  • Score
    100M100P100Q126708F
  • License MIT

A lightweight calendar heatmap Vue 3 component built on SVG, inspired by julienr114's vue-calendar-heatmap ans github's contribution calendar graph

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.


npm TypeScript vue2

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 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.

<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" .../>

License

MIT