Neoplastic Plasma Medusa

    vue3-calendar-heatmap
    TypeScript icon, indicating that this package has built-in type declarations

    2.0.0 • Public • Published

    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 VueCalendarHeatmap from 'vue3-calendar-heatmap'
    
    app.use(VueCalendarHeatmap)

    Use specific components:

    import { CalendarHeatmap } from 'vue3-calendar-heatmap'
    
    app.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.

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

    round - round

    Number to create rounded corners or cirlces in heatmap. 0 by default.

    <calendar-heatmap :round="2" .../>

    Examples:

    License

    MIT

    Install

    npm i vue3-calendar-heatmap

    DownloadsWeekly Downloads

    71

    Version

    2.0.0

    License

    MIT

    Unpacked Size

    203 kB

    Total Files

    17

    Last publish

    Collaborators

    • razorness