From ca9a6575dd725e7c36b628008edfe15c6814682a Mon Sep 17 00:00:00 2001 From: William Troup Date: Wed, 28 Feb 2024 12:53:21 +0000 Subject: [PATCH 1/6] Updated to v2.7.0. --- README.md | 6 +++--- README_NUGET.md | 6 +++--- dist/heat.js | 4 ++-- dist/heat.js.css | 2 +- dist/heat.js.min.css | 2 +- dist/heat.min.js | 4 ++-- dist/themes/dark/heat.js.dark.bright-blue.theme.css | 2 +- dist/themes/dark/heat.js.dark.bright-orange.theme.css | 2 +- dist/themes/dark/heat.js.dark.bright-purple.theme.css | 2 +- dist/themes/dark/heat.js.dark.bright-yellow.theme.css | 2 +- dist/themes/dark/heat.js.dark.cadmium-red.theme.css | 2 +- dist/themes/dark/heat.js.dark.github.theme.css | 2 +- dist/themes/light/heat.js.light.bright-orange.theme.css | 2 +- dist/themes/light/heat.js.light.bright-purple.theme.css | 2 +- dist/themes/light/heat.js.light.gamboge.theme.css | 2 +- dist/themes/light/heat.js.light.neon-blue.theme.css | 2 +- dist/themes/light/heat.js.light.red.theme.css | 2 +- dist/themes/light/heat.js.light.shamrock-green.theme.css | 2 +- dist/translations/heat.translations.af.js | 2 +- dist/translations/heat.translations.ar.js | 2 +- dist/translations/heat.translations.be.js | 2 +- dist/translations/heat.translations.bg.js | 2 +- dist/translations/heat.translations.bn.js | 2 +- dist/translations/heat.translations.ca.js | 2 +- dist/translations/heat.translations.da.js | 2 +- dist/translations/heat.translations.de.js | 2 +- dist/translations/heat.translations.el.js | 2 +- dist/translations/heat.translations.en.js | 2 +- dist/translations/heat.translations.eo.js | 2 +- dist/translations/heat.translations.es.js | 2 +- dist/translations/heat.translations.et.js | 2 +- dist/translations/heat.translations.fa.js | 2 +- dist/translations/heat.translations.fi.js | 2 +- dist/translations/heat.translations.fr.js | 2 +- dist/translations/heat.translations.fy.js | 2 +- dist/translations/heat.translations.ga.js | 2 +- dist/translations/heat.translations.gl.js | 2 +- dist/translations/heat.translations.he.js | 2 +- dist/translations/heat.translations.hi.js | 2 +- dist/translations/heat.translations.hu.js | 2 +- dist/translations/heat.translations.hy.js | 2 +- dist/translations/heat.translations.id.js | 2 +- dist/translations/heat.translations.is.js | 2 +- dist/translations/heat.translations.it.js | 2 +- dist/translations/heat.translations.ja.js | 2 +- dist/translations/heat.translations.ka.js | 2 +- dist/translations/heat.translations.ko.js | 2 +- dist/translations/heat.translations.lb.js | 2 +- dist/translations/heat.translations.lt.js | 2 +- dist/translations/heat.translations.lv.js | 2 +- dist/translations/heat.translations.ms.js | 2 +- dist/translations/heat.translations.ne.js | 2 +- dist/translations/heat.translations.nl.js | 2 +- dist/translations/heat.translations.no.js | 2 +- dist/translations/heat.translations.pl.js | 2 +- dist/translations/heat.translations.pt.js | 2 +- dist/translations/heat.translations.ro.js | 2 +- dist/translations/heat.translations.si.js | 2 +- dist/translations/heat.translations.sk.js | 2 +- dist/translations/heat.translations.sl.js | 2 +- dist/translations/heat.translations.sv.js | 2 +- dist/translations/heat.translations.ta.js | 2 +- dist/translations/heat.translations.te.js | 2 +- dist/translations/heat.translations.th.js | 2 +- dist/translations/heat.translations.tl.js | 2 +- dist/translations/heat.translations.tr.js | 2 +- dist/translations/heat.translations.uk.js | 2 +- dist/translations/heat.translations.zh-tw.js | 2 +- dist/translations/heat.translations.zh.js | 2 +- heat.js.nuspec | 2 +- package.json | 2 +- src/heat.js | 4 ++-- src/heat.js.scss | 2 +- 73 files changed, 80 insertions(+), 80 deletions(-) diff --git a/README.md b/README.md index c1db03f6..81d53ef1 100644 --- a/README.md +++ b/README.md @@ -2,15 +2,15 @@ Heat.js [![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Heat.js%2C%20a%20free%20JavaScript%heat%20map&url=https://github.com/williamtroup/Heat.js&hashtags=javascript,heat,map) -[![npm](https://img.shields.io/badge/npmjs-v2.6.1-blue)](https://www.npmjs.com/package/jheat.js) -[![nuget](https://img.shields.io/badge/nuget-v2.6.1-purple)](https://www.nuget.org/packages/jHeat.js/) +[![npm](https://img.shields.io/badge/npmjs-v2.7.0-blue)](https://www.npmjs.com/package/jheat.js) +[![nuget](https://img.shields.io/badge/nuget-v2.7.0-purple)](https://www.nuget.org/packages/jHeat.js/) [![license](https://img.shields.io/badge/license-MIT-green)](https://github.com/williamtroup/Heat.js/blob/main/LICENSE.txt) [![discussions Welcome](https://img.shields.io/badge/discussions-Welcome-red)](https://github.com/williamtroup/Heat.js/discussions) [![coded by William Troup](https://img.shields.io/badge/coded_by-William_Troup-yellow)](https://william-troup.com/) >

🌞 A lightweight JavaScript library that generates customizable heat maps, charts, and statistics to visualize date-based activity and trends.

->

v2.6.1

+>

v2.7.0


![Heat.js](docs/images/main.png) diff --git a/README_NUGET.md b/README_NUGET.md index ade94463..2f0dd315 100644 --- a/README_NUGET.md +++ b/README_NUGET.md @@ -1,8 +1,8 @@ -# Heat.js v2.6.1 +# Heat.js v2.7.0 [![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Heat.js%2C%20a%20free%20JavaScript%heat%20map&url=https://github.com/williamtroup/Heat.js&hashtags=javascript,heat,map) -[![npm](https://img.shields.io/badge/npmjs-v2.6.1-blue)](https://www.npmjs.com/package/jheat.js) -[![nuget](https://img.shields.io/badge/nuget-v2.6.1-purple)](https://www.nuget.org/packages/jHeat.js/) +[![npm](https://img.shields.io/badge/npmjs-v2.7.0-blue)](https://www.npmjs.com/package/jheat.js) +[![nuget](https://img.shields.io/badge/nuget-v2.7.0-purple)](https://www.nuget.org/packages/jHeat.js/) [![license](https://img.shields.io/badge/license-MIT-green)](https://github.com/williamtroup/Heat.js/blob/main/LICENSE.txt) [![discussions Welcome](https://img.shields.io/badge/discussions-Welcome-red)](https://github.com/williamtroup/Heat.js/discussions) [![coded by William Troup](https://img.shields.io/badge/coded_by-William_Troup-yellow)](https://william-troup.com/) diff --git a/dist/heat.js b/dist/heat.js index 641d0de7..512fdfcd 100644 --- a/dist/heat.js +++ b/dist/heat.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 | (c) Bunoon 2024 | MIT License */ (function() { function render() { var tagTypes = _configuration.domElementTypes; @@ -2051,7 +2051,7 @@ return result; }; this.getVersion = function() { - return "2.6.1"; + return "2.7.0"; }; (function(documentObject, windowObject, mathObject, jsonObject) { _parameter_Document = documentObject; diff --git a/dist/heat.js.css b/dist/heat.js.css index b1237d8e..06d04cc7 100644 --- a/dist/heat.js.css +++ b/dist/heat.js.css @@ -1,5 +1,5 @@ /* - * Heat.js Library v2.6.1 + * Heat.js Library v2.7.0 * * Copyright 2024 Bunoon * Released under the MIT License diff --git a/dist/heat.js.min.css b/dist/heat.js.min.css index 264642dd..f27a9527 100644 --- a/dist/heat.js.min.css +++ b/dist/heat.js.min.css @@ -1,2 +1,2 @@ -/*! Heat.js v2.6.1 | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 | (c) Bunoon 2024 | MIT License */ :root{--heat-js-default-font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--heat-js-text-bold-weight:400;--heat-js-title-bold-weight:900;--heat-js-text-bold-weight-active:900;--heat-js-color-black:#3b3a3a;--heat-js-color-white:#adbac7;--heat-js-color-snow-white:#F5F5F5;--heat-js-color-gray:#AAA;--heat-js-container-background-color:#22272e;--heat-js-container-border-color:#454c56;--heat-js-tooltip-background-color:var(--heat-js-container-background-color);--heat-js-tooltip-border-color:var(--heat-js-container-border-color);--heat-js-tooltip-text-color:var(--heat-js-color-white);--heat-js-years-background-color:var(--heat-js-container-background-color);--heat-js-years-border-color:var(--heat-js-container-border-color);--heat-js-years-text-color:var(--heat-js-color-white);--heat-js-years-background-color-hover:var(--heat-js-button-background-color-hover);--heat-js-years-text-color-hover:var(--heat-js-color-snow-white);--heat-js-title-opener-text-color-hover:var(--heat-js-color-gray);--heat-js-title-background-color:var(--heat-js-container-background-color);--heat-js-title-border-color:var(--heat-js-container-border-color);--heat-js-title-text-color:var(--heat-js-color-white);--heat-js-title-background-color-hover:var(--heat-js-button-background-color-hover);--heat-js-title-text-color-hover:var(--heat-js-color-snow-white);--heat-js-holiday-background-color:rgba(210,43,43,.75);--heat-js-holiday-border-color:rgba(210,43,43,.5);--heat-js-holiday-text-color:var(--heat-js-color-black);--heat-js-day-background-color:#2d333b;--heat-js-day-border-color:var(--heat-js-container-border-color);--heat-js-day-background-color-hover:var(--heat-js-container-border-color);--heat-js-day-spacing:6.3px;--heat-js-day-opacity-hover:.7;--heat-js-day-opacity-active:.5;--heat-js-day-size:1.1rem;--heat-js-day-chart-width:10px;--heat-js-day-color-1-background-color:rgba(80,200,120,.25);--heat-js-day-color-1-border-color:rgba(80,200,120,.15);--heat-js-day-color-1-text-color:var(--heat-js-color-white);--heat-js-day-color-2-background-color:rgba(80,200,120,.5);--heat-js-day-color-2-border-color:rgba(80,200,120,.25);--heat-js-day-color-2-text-color:var(--heat-js-color-white);--heat-js-day-color-3-background-color:rgba(80,200,120,.75);--heat-js-day-color-3-border-color:rgba(80,200,120,.5);--heat-js-day-color-3-text-color:var(--heat-js-color-black);--heat-js-day-color-4-background-color:rgba(80,200,120,1);--heat-js-day-color-4-border-color:rgba(80,200,120,.75);--heat-js-day-color-4-text-color:var(--heat-js-color-black);--heat-js-button-background-color:var(--heat-js-day-background-color);--heat-js-button-border-color:var(--heat-js-container-border-color);--heat-js-button-text-color:var(--heat-js-color-white);--heat-js-button-background-color-hover:var(--heat-js-container-border-color);--heat-js-button-text-color-hover:var(--heat-js-color-snow-white);--heat-js-button-background-color-active:#616b79;--heat-js-button-text-color-active:var(--heat-js-color-snow-white);--heat-js-border-radius:.5rem;--heat-js-border-radius-day:.35rem;--heat-js-border-size:.5px;--heat-js-border-size-day:1px;--heat-js-spacing:10px;--heat-js-spacing-font-size:.85rem;--heat-js-spacing-day-font-size:.6rem;--heat-js-transition:all .3s;--heat-js-animation-length:0.5s}div.heat-js{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:default;box-sizing:border-box;line-height:normal;font-family:var(--heat-js-default-font);display:inline-block;position:relative;border-radius:var(--heat-js-border-radius);background-color:var(--heat-js-container-background-color);color:var(--heat-js-color-white);border:var(--heat-js-border-size) solid var(--heat-js-container-border-color);padding:var(--heat-js-spacing);font-size:var(--heat-js-spacing-font-size);width:100%;max-width:700px;margin:0!important}div.heat-js div.view-switch{animation:fade-in-animation var(--heat-js-animation-length)}div.heat-js div.no-click{pointer-events:none!important}div.heat-js *{box-sizing:border-box;line-height:normal}div.heat-js *::before,div.heat-js *::after{box-sizing:border-box;line-height:normal}div.heat-js div.title-bar{text-align:right;margin-bottom:calc(var(--heat-js-spacing) + var(--heat-js-spacing) / 2)}div.heat-js div.title-bar div.title{float:left;font-weight:var(--heat-js-title-bold-weight);font-size:1.2rem;padding-bottom:3px;transition:var(--heat-js-transition);cursor:pointer}div.heat-js div.title-bar div.title:hover{color:var(--heat-js-title-opener-text-color-hover)}div.heat-js div.title-bar div.title:hover div.down-arrow{border-top-color:var(--heat-js-title-opener-text-color-hover)}div.heat-js div.title-bar div.title:hover div.titles-list{display:block}div.heat-js div.title-bar div.title div.down-arrow{display:inline-block;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:14px solid var(--heat-js-color-white);transition:var(--heat-js-transition);margin-right:var(--heat-js-spacing)}div.heat-js div.title-bar div.title div.titles-list{animation:fade-in-animation var(--heat-js-animation-length);padding-top:3px;display:none;position:absolute;width:100px;margin-top:3px;z-index:1000}div.heat-js div.title-bar div.title div.titles-list div.titles{border-radius:var(--heat-js-border-radius);background-color:var(--heat-js-title-background-color);border:var(--heat-js-border-size) solid var(--heat-js-title-border-color);color:var(--heat-js-title-text-color);overflow-y:scroll}div.heat-js div.title-bar div.title div.titles-list div.titles div.title{color:var(--heat-js-color-white);font-weight:var(--heat-js-text-bold-weight);border-bottom:var(--heat-js-border-size) dashed var(--heat-js-container-border-color);padding:var(--heat-js-spacing);text-align:left;width:100%;transition:var(--heat-js-transition);font-size:var(--heat-js-spacing-font-size)!important}div.heat-js div.title-bar div.title div.titles-list div.titles div.title:not(.title-active):active{opacity:0.5!important}div.heat-js div.title-bar div.title div.titles-list div.titles div.title:not(.title-active):hover{cursor:pointer;background-color:var(--heat-js-title-background-color-hover);color:var(--heat-js-title-text-color-hover)}div.heat-js div.title-bar div.title div.titles-list div.titles div.title:last-child{border-bottom:none}div.heat-js div.title-bar div.title div.titles-list div.titles div.title-active{background-color:var(--heat-js-title-background-color-hover);color:var(--heat-js-title-text-color-hover);font-weight:var(--heat-js-text-bold-weight-active);cursor:default!important}div.heat-js div.title-bar button{background-color:var(--heat-js-button-background-color);border:var(--heat-js-border-size) solid var(--heat-js-button-border-color);color:var(--heat-js-button-text-color);border-radius:var(--heat-js-border-radius);padding-top:5px;padding-bottom:5px;padding-left:9px;padding-right:9px;outline:none;transition:var(--heat-js-transition)}div.heat-js div.title-bar button:not(.active):active{background:var(--heat-js-button-background-color-active)!important;color:var(--heat-js-button-text-color-active)!important}div.heat-js div.title-bar button:not(.active):hover{cursor:pointer;background:var(--heat-js-button-background-color-hover);color:var(--heat-js-button-text-color-hover)}div.heat-js div.title-bar button.active{cursor:default;background:var(--heat-js-button-background-color-hover);color:var(--heat-js-button-text-color-hover);transition:var(--heat-js-transition);font-weight:var(--heat-js-text-bold-weight-active)}div.heat-js div.title-bar button.back{margin-left:calc(var(--heat-js-spacing) * 2)!important}div.heat-js div.title-bar button.export,div.heat-js div.title-bar button.import{margin-right:calc(var(--heat-js-spacing) / 2)!important}div.heat-js div.title-bar div.year-text{margin-left:var(--heat-js-spacing);margin-right:var(--heat-js-spacing);display:inline-block;font-weight:var(--heat-js-title-bold-weight);position:relative;padding-top:5px;padding-bottom:5px;transition:var(--heat-js-transition);cursor:pointer}div.heat-js div.title-bar div.year-text:hover{color:var(--heat-js-title-opener-text-color-hover)}div.heat-js div.title-bar div.year-text:hover div.down-arrow{border-top-color:var(--heat-js-title-opener-text-color-hover)}div.heat-js div.title-bar div.year-text:hover div.years-list{display:block!important}div.heat-js div.title-bar div.year-text div.down-arrow{display:inline-block;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:9px solid var(--heat-js-color-white);transition:var(--heat-js-transition);margin-left:calc(var(--heat-js-spacing) / 2)}div.heat-js div.title-bar div.year-text div.years-list{animation:fade-in-animation var(--heat-js-animation-length);padding-top:5px;display:none;position:absolute;width:80px;left:50%;transform:translateX(-50%);margin-top:5px;z-index:1000}div.heat-js div.title-bar div.year-text div.years-list div.years{border-radius:var(--heat-js-border-radius);background-color:var(--heat-js-years-background-color);border:var(--heat-js-border-size) solid var(--heat-js-years-border-color);color:var(--heat-js-years-text-color);height:183px;overflow-y:scroll;scroll-snap-type:y mandatory}div.heat-js div.title-bar div.year-text div.years-list div.years div.year{color:var(--heat-js-color-white);font-weight:var(--heat-js-text-bold-weight);border-bottom:var(--heat-js-border-size) dashed var(--heat-js-container-border-color);padding:var(--heat-js-spacing);text-align:center;width:100%;transition:var(--heat-js-transition);scroll-snap-align:start}div.heat-js div.title-bar div.year-text div.years-list div.years div.year:not(.year-active):active{opacity:0.5!important}div.heat-js div.title-bar div.year-text div.years-list div.years div.year:not(.year-active):hover{cursor:pointer;background-color:var(--heat-js-years-background-color-hover);color:var(--heat-js-years-text-color-hover)}div.heat-js div.title-bar div.year-text div.years-list div.years div.year:last-child{border-bottom:none}div.heat-js div.title-bar div.year-text div.years-list div.years div.year-active{background-color:var(--heat-js-years-background-color-hover);color:var(--heat-js-years-text-color-hover);font-weight:var(--heat-js-text-bold-weight-active);cursor:default!important}div.heat-js div.title-bar button.export,div.heat-js div.title-bar button.refresh,div.heat-js div.title-bar button.import{display:none}@media (min-width:768px){div.heat-js div.title-bar button.export,div.heat-js div.title-bar button.refresh,div.heat-js div.title-bar button.import{display:inline-block}}div.heat-js div.map-contents{overflow-x:scroll;overflow-y:hidden;min-height:191px;position:relative}div.heat-js div.map-contents div.no-data-message{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-weight:var(--heat-js-text-bold-weight)}div.heat-js div.map-contents div.map{display:inline-flex;flex-direction:row}div.heat-js div.map-contents div.map div.days,div.heat-js div.map-contents div.map div.days-months-bottom{background-color:var(--heat-js-container-background-color);padding-right:calc(var(--heat-js-spacing) * 3);padding-top:calc(var(--heat-js-spacing-font-size) + var(--heat-js-spacing) + 1px);position:sticky;left:0;display:none;z-index:50}@media (min-width:768px){div.heat-js div.map-contents div.map div.days,div.heat-js div.map-contents div.map div.days-months-bottom{display:block}}div.heat-js div.map-contents div.map div.days div.day-name,div.heat-js div.map-contents div.map div.days-months-bottom div.day-name{font-weight:var(--heat-js-text-bold-weight);text-align:left!important;height:var(--heat-js-day-size);margin-bottom:var(--heat-js-day-spacing);display:inline-flex;justify-content:center;flex-direction:column}div.heat-js div.map-contents div.map div.days-months-bottom{padding-top:0!important}div.heat-js div.map-contents div.map div.months{display:flex;justify-content:space-between;flex-grow:1}div.heat-js div.map-contents div.map div.months div.month{flex:1;pointer-events:none}div.heat-js div.map-contents div.map div.months div.month:last-child div.day-columns div.day-column:last-child div.day{margin-right:0!important}div.heat-js div.map-contents div.map div.months div.month div.month-name,div.heat-js div.map-contents div.map div.months div.month div.month-name-bottom{font-weight:var(--heat-js-text-bold-weight);text-align:left!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}div.heat-js div.map-contents div.map div.months div.month div.month-name{margin-bottom:var(--heat-js-spacing)}div.heat-js div.map-contents div.map div.months div.month div.month-name-bottom{margin-top:var(--heat-js-spacing)}div.heat-js div.map-contents div.map div.months div.month div.day-columns{display:flex;justify-content:space-between}div.heat-js div.map-contents div.map div.months div.month div.day-columns div.day-column div.day,div.heat-js div.map-contents div.map div.months div.month div.day-columns div.day-column div.day-disabled{display:flex;border-radius:var(--heat-js-border-radius-day);width:var(--heat-js-day-size);height:var(--heat-js-day-size);margin-right:var(--heat-js-day-spacing);margin-bottom:var(--heat-js-day-spacing);font-size:var(--heat-js-spacing-day-font-size);justify-content:center;align-items:center;overflow:hidden}div.heat-js div.map-contents div.map div.months div.month div.day-columns div.day-column div.day:last-child,div.heat-js div.map-contents div.map div.months div.month div.day-columns div.day-column div.day-disabled:last-child{margin-bottom:0}div.heat-js div.map-contents div.map div.months div.month div.day-columns div.day-column div.day{pointer-events:all;background-color:var(--heat-js-day-background-color);border:var(--heat-js-border-size) solid var(--heat-js-day-border-color);transition:var(--heat-js-transition);transition-property:opacity,background-color,color,border-color}div.heat-js div.map-contents div.map div.months div.month div.day-columns div.day-column div.day:not(.no-hover):hover{cursor:pointer;background:var(--heat-js-day-background-color-hover)}div.heat-js div.chart-contents{display:flex;overflow-x:scroll;overflow-y:hidden;text-wrap:nowrap;white-space:nowrap;position:relative}div.heat-js div.chart-contents div.no-data-message{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-weight:var(--heat-js-text-bold-weight)}div.heat-js div.chart-contents div.chart{display:inline-flex;flex-direction:row}div.heat-js div.chart-contents div.chart div.y-labels{background-color:var(--heat-js-container-background-color);padding-right:calc(var(--heat-js-spacing) * 3);padding-top:calc(var(--heat-js-spacing-font-size) + var(--heat-js-spacing) + 1px);position:sticky;left:0;display:none;border-right:var(--heat-js-border-size) solid var(--heat-js-container-border-color);z-index:50}@media (min-width:768px){div.heat-js div.chart-contents div.chart div.y-labels{display:block}}div.heat-js div.chart-contents div.chart div.y-labels div.label-0,div.heat-js div.chart-contents div.chart div.y-labels div.label-25,div.heat-js div.chart-contents div.chart div.y-labels div.label-50,div.heat-js div.chart-contents div.chart div.y-labels div.label-75,div.heat-js div.chart-contents div.chart div.y-labels div.label-100{font-weight:var(--heat-js-text-bold-weight);text-align:left!important;height:var(--heat-js-day-size);display:inline-flex;justify-content:center;flex-direction:column;position:absolute;left:0;padding-right:var(--heat-js-spacing)}div.heat-js div.chart-contents div.chart div.y-labels div.label-0{top:0}div.heat-js div.chart-contents div.chart div.y-labels div.label-25{top:25%;transform:translateY(-25%)}div.heat-js div.chart-contents div.chart div.y-labels div.label-50{top:50%;transform:translateY(-50%)}div.heat-js div.chart-contents div.chart div.y-labels div.label-75{top:75%;transform:translateY(-75%)}div.heat-js div.chart-contents div.chart div.y-labels div.label-100{bottom:0}div.heat-js div.chart-contents div.chart div.day-lines{flex:1;border-bottom:var(--heat-js-border-size) solid var(--heat-js-container-border-color)}div.heat-js div.chart-contents div.chart div.day-lines div.day-line-number{font-size:var(--heat-js-spacing-day-font-size);padding:calc(var(--heat-js-spacing) / 2);overflow:hidden}div.heat-js div.chart-contents div.chart div.day-lines div.day-line{border-top-left-radius:var(--heat-js-border-radius-day);border-top-right-radius:var(--heat-js-border-radius-day);background-color:var(--heat-js-day-background-color);border:var(--heat-js-border-size) solid var(--heat-js-day-border-color);border-bottom:none!important;vertical-align:bottom;min-width:var(--heat-js-day-chart-width);margin-right:1px;display:inline-block;transition:var(--heat-js-transition)}@media (min-width:768px){div.heat-js div.chart-contents div.chart div.day-lines div.day-line:first-child{margin-left:calc(var(--heat-js-spacing) / 2)}}div.heat-js div.chart-contents div.chart div.day-lines div.day-line:last-child{margin-right:0}div.heat-js div.chart-contents div.chart div.day-lines div.day-line:not(.no-hover):hover{cursor:pointer;background:var(--heat-js-day-background-color-hover)}div.heat-js div.chart-contents div.chart-months{position:relative;height:calc(var(--heat-js-spacing-font-size) + var(--heat-js-spacing))}div.heat-js div.chart-contents div.chart-months div.month-name,div.heat-js div.chart-contents div.chart-months div.month-name-space{font-weight:var(--heat-js-text-bold-weight);text-align:left!important;position:absolute;bottom:0}@media (min-width:768px){div.heat-js div.chart-contents div.chart-months div.month-name:first-child{margin-left:calc(var(--heat-js-spacing) / 2)}}div.heat-js div.chart-contents div.chart-months div.month-name:nth-child(2){margin-left:var(--heat-js-day-chart-width)}div.heat-js div.chart-contents div.chart-months div.month-name-space{left:0;top:0;position:sticky;background-color:var(--heat-js-container-background-color)}div.heat-js div.statistics-contents{display:flex;overflow:hidden;text-wrap:nowrap;white-space:nowrap;position:relative}div.heat-js div.statistics-contents div.no-statistics-message{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-weight:var(--heat-js-text-bold-weight)}div.heat-js div.statistics-contents div.statistics{display:flex;flex-direction:row}div.heat-js div.statistics-contents div.statistics div.y-labels{background-color:var(--heat-js-container-background-color);padding-right:calc(var(--heat-js-spacing) * 3);padding-top:calc(var(--heat-js-spacing-font-size) + var(--heat-js-spacing) + 1px);position:sticky;left:0;display:none;border-right:var(--heat-js-border-size) solid var(--heat-js-container-border-color);z-index:50}@media (min-width:768px){div.heat-js div.statistics-contents div.statistics div.y-labels{display:block}}div.heat-js div.statistics-contents div.statistics div.y-labels div.label-0,div.heat-js div.statistics-contents div.statistics div.y-labels div.label-25,div.heat-js div.statistics-contents div.statistics div.y-labels div.label-50,div.heat-js div.statistics-contents div.statistics div.y-labels div.label-75,div.heat-js div.statistics-contents div.statistics div.y-labels div.label-100{font-weight:var(--heat-js-text-bold-weight);text-align:left!important;height:var(--heat-js-day-size);display:inline-flex;justify-content:center;flex-direction:column;position:absolute;left:0;padding-right:var(--heat-js-spacing)}div.heat-js div.statistics-contents div.statistics div.y-labels div.label-0{top:0}div.heat-js div.statistics-contents div.statistics div.y-labels div.label-25{top:25%;transform:translateY(-25%)}div.heat-js div.statistics-contents div.statistics div.y-labels div.label-50{top:50%;transform:translateY(-50%)}div.heat-js div.statistics-contents div.statistics div.y-labels div.label-75{top:75%;transform:translateY(-75%)}div.heat-js div.statistics-contents div.statistics div.y-labels div.label-100{bottom:0}div.heat-js div.statistics-contents div.statistics div.range-lines{display:flex;align-items:baseline;flex:1;border-bottom:var(--heat-js-border-size) solid var(--heat-js-container-border-color);justify-content:space-between}div.heat-js div.statistics-contents div.statistics div.range-lines div.range-line-number{font-size:var(--heat-js-spacing-day-font-size);padding:calc(var(--heat-js-spacing) / 2);position:relative;overflow:hidden}div.heat-js div.statistics-contents div.statistics div.range-lines div.range-line-number div.count{position:absolute;top:calc(var(--heat-js-spacing) / 2);left:50%;transform:translateX(-50%)}div.heat-js div.statistics-contents div.statistics div.range-lines div.range-line{border-top-left-radius:var(--heat-js-border-radius-day);border-top-right-radius:var(--heat-js-border-radius-day);background-color:var(--heat-js-day-background-color);border:var(--heat-js-border-size) solid var(--heat-js-day-border-color);border-bottom:none!important;vertical-align:bottom;flex:1 100%;margin-right:var(--heat-js-spacing);display:inline-block;transition:var(--heat-js-transition)}@media (min-width:768px){div.heat-js div.statistics-contents div.statistics div.range-lines div.range-line:first-child{margin-left:calc(var(--heat-js-spacing) / 2)}}div.heat-js div.statistics-contents div.statistics div.range-lines div.range-line:last-child{margin-right:0}div.heat-js div.statistics-contents div.statistics div.range-lines div.range-line:not(.no-hover):hover{cursor:pointer;background:var(--heat-js-day-background-color-hover)}div.heat-js div.statistics-contents div.statistics-ranges{display:flex;flex:1;position:relative;justify-content:space-between;align-items:baseline;height:calc(var(--heat-js-spacing-font-size) + var(--heat-js-spacing) + 3px)}div.heat-js div.statistics-contents div.statistics-ranges div.range-name{flex:1 100%;margin-top:var(--heat-js-spacing);font-weight:var(--heat-js-text-bold-weight);text-align:center!important;overflow:hidden;text-overflow:ellipsis}div.heat-js div.description{text-align:center;margin-top:calc(var(--heat-js-spacing) + var(--heat-js-spacing) / 2);text-align:center}@media (min-width:768px){div.heat-js div.description{text-align:left}}@media (min-width:768px){div.heat-js div.description{text-align:left}}div.heat-js div.description span.label,div.heat-js div.description a.label,div.heat-js div.description a.label:visited{color:var(--heat-js-color-white);font-weight:var(--heat-js-text-bold-weight);text-decoration:none}div.heat-js div.description a.label{transition:var(--heat-js-transition)}div.heat-js div.description a.label:active{color:var(--heat-js-color-gray)}div.heat-js div.description a.label:hover{text-decoration:underline}div.heat-js div.guide{display:block}@media (min-width:768px){div.heat-js div.guide{display:flex}}div.heat-js div.guide div.map-types,div.heat-js div.guide div.map-toggles{margin-top:calc(var(--heat-js-spacing) + var(--heat-js-spacing) / 2);width:100%}@media (min-width:768px){div.heat-js div.guide div.map-types,div.heat-js div.guide div.map-toggles{margin-bottom:0}}div.heat-js div.guide div.map-types{text-align:center;flex-grow:unset;margin-right:0;text-align:center}@media (min-width:768px){div.heat-js div.guide div.map-types{text-align:left;width:unset;flex-grow:1;margin-right:var(--heat-js-spacing)}}div.heat-js div.guide div.map-types button{background-color:var(--heat-js-button-background-color);border:var(--heat-js-border-size) solid var(--heat-js-button-border-color);color:var(--heat-js-button-text-color);border-radius:var(--heat-js-border-radius);padding-top:5px;padding-bottom:5px;padding-left:9px;padding-right:9px;outline:none;transition:var(--heat-js-transition)}div.heat-js div.guide div.map-types button:not(.active):active{background:var(--heat-js-button-background-color-active)!important;color:var(--heat-js-button-text-color-active)!important}div.heat-js div.guide div.map-types button:not(.active):hover{cursor:pointer;background:var(--heat-js-button-background-color-hover);color:var(--heat-js-button-text-color-hover)}div.heat-js div.guide div.map-types button.active{cursor:default;background:var(--heat-js-button-background-color-hover);color:var(--heat-js-button-text-color-hover);transition:var(--heat-js-transition);font-weight:var(--heat-js-text-bold-weight-active)}@media (min-width:768px){div.heat-js div.guide div.map-types{text-align:left}}div.heat-js div.guide div.map-types span.label,div.heat-js div.guide div.map-types a.label,div.heat-js div.guide div.map-types a.label:visited{color:var(--heat-js-color-white);font-weight:var(--heat-js-text-bold-weight);text-decoration:none}div.heat-js div.guide div.map-types a.label{transition:var(--heat-js-transition)}div.heat-js div.guide div.map-types a.label:active{color:var(--heat-js-color-gray)}div.heat-js div.guide div.map-types a.label:hover{text-decoration:underline}div.heat-js div.guide div.map-types button{margin-left:0!important;margin-right:calc(var(--heat-js-spacing) / 2)!important}div.heat-js div.guide div.map-toggles{display:flex;align-items:center;justify-content:center;text-align:center}@media (min-width:768px){div.heat-js div.guide div.map-toggles{text-align:right;justify-content:right;width:auto}}div.heat-js div.guide div.map-toggles div.less-text,div.heat-js div.guide div.map-toggles div.more-text{display:inline-block;font-weight:var(--heat-js-text-bold-weight);transition:var(--heat-js-transition)}div.heat-js div.guide div.map-toggles div.less-text:hover,div.heat-js div.guide div.map-toggles div.more-text:hover{cursor:pointer;text-decoration:underline}div.heat-js div.guide div.map-toggles div.less-text:active,div.heat-js div.guide div.map-toggles div.more-text:active{color:var(--heat-js-color-gray)}div.heat-js div.guide div.map-toggles div.less-text{margin-right:var(--heat-js-spacing)}div.heat-js div.guide div.map-toggles div.more-text{margin-left:var(--heat-js-spacing)}div.heat-js div.guide div.map-toggles div.days{display:inline-flex;align-items:center;justify-content:right}div.heat-js div.guide div.map-toggles div.days div.day-number{display:inline-flex!important;justify-content:center;align-items:center;overflow:hidden;text-align:center;font-size:var(--heat-js-spacing-day-font-size);padding-left:calc(var(--heat-js-spacing) / 2);padding-right:calc(var(--heat-js-spacing) / 2)}div.heat-js div.guide div.map-toggles div.days div.day{background-color:var(--heat-js-day-background-color);border:var(--heat-js-border-size) solid var(--heat-js-day-border-color);display:inline-block;border-radius:var(--heat-js-border-radius-day);min-width:var(--heat-js-day-size);height:var(--heat-js-day-size);margin-right:var(--heat-js-day-spacing);transition:var(--heat-js-transition)}div.heat-js div.guide div.map-toggles div.days div.day:last-child{margin-right:0}div.heat-js div.guide div.map-toggles div.days div.day:not(.no-hover):hover{cursor:pointer;background:var(--heat-js-day-background-color-hover)}div.heat-js div.day-color-1:not(.no-hover):active,div.heat-js div.day-color-2:not(.no-hover):active,div.heat-js div.day-color-3:not(.no-hover):active,div.heat-js div.day-color-4:not(.no-hover):active,div.heat-js div.holiday:not(.no-hover):active{opacity:var(--heat-js-day-opacity-active)!important}div.heat-js div.day-color-1:not(.no-hover):hover,div.heat-js div.day-color-2:not(.no-hover):hover,div.heat-js div.day-color-3:not(.no-hover):hover,div.heat-js div.day-color-4:not(.no-hover):hover,div.heat-js div.holiday:not(.no-hover):hover{cursor:pointer;opacity:var(--heat-js-day-opacity-hover)}div.heat-js div.holiday{background-color:var(--heat-js-holiday-background-color)!important;border:var(--heat-js-border-size-day) solid var(--heat-js-holiday-border-color)!important;color:var(--heat-js-holiday-text-color)}div.heat-js div.day-color-1{background-color:var(--heat-js-day-color-1-background-color)!important;border:var(--heat-js-border-size-day) solid var(--heat-js-day-color-1-border-color)!important;color:var(--heat-js-day-color-1-text-color)}div.heat-js div.day-color-2{background-color:var(--heat-js-day-color-2-background-color)!important;border:var(--heat-js-border-size-day) solid var(--heat-js-day-color-2-border-color)!important;color:var(--heat-js-day-color-2-text-color)}div.heat-js div.day-color-3{background-color:var(--heat-js-day-color-3-background-color)!important;border:var(--heat-js-border-size-day) solid var(--heat-js-day-color-3-border-color)!important;color:var(--heat-js-day-color-3-text-color)}div.heat-js div.day-color-4{background-color:var(--heat-js-day-color-4-background-color)!important;border:var(--heat-js-border-size-day) solid var(--heat-js-day-color-4-border-color)!important;color:var(--heat-js-day-color-4-text-color)}div.heat-js-tooltip{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:default;box-sizing:border-box;line-height:normal;font-family:var(--heat-js-default-font);animation:fade-in-animation var(--heat-js-animation-length);position:absolute;background-color:var(--heat-js-tooltip-background-color);border:var(--heat-js-border-size) solid var(--heat-js-tooltip-border-color);color:var(--heat-js-tooltip-text-color);border-radius:var(--heat-js-border-radius);z-index:2000;max-width:300px;padding:var(--heat-js-spacing);font-size:var(--heat-js-spacing-font-size);font-weight:var(--heat-js-text-bold-weight);display:none}@keyframes fade-in-animation{0%{opacity:0}100%{opacity:1}} \ No newline at end of file diff --git a/dist/heat.min.js b/dist/heat.min.js index 5e312d6b..9d6594ec 100644 --- a/dist/heat.min.js +++ b/dist/heat.min.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 | (c) Bunoon 2024 | MIT License */ (function(){function wa(){for(var a=h.domElementTypes,b=a.length,c=0;cI.notFound?ba(a,!1):z(a),v(a.onSetYear,a.currentView.year));return this};this.getYear=function(a){var b=null;n(a)&&k.hasOwnProperty(a)&&(b=k[a].options.currentView.year);return b};this.render=function(a,b){G(a)&&G(b)&&xa(ya(b,a));return this};this.renderAll=function(){wa(); return this};this.switchView=function(a,b){if(n(a)&&n(b)&&k.hasOwnProperty(a)){var c=k[a].options,d=null;"map"===b.toLowerCase()?d=1:"chart"===b.toLowerCase()?d=2:"statistics"===b.toLowerCase()&&(d=3);X(d)&&(c.currentView.view=d,v(c.onViewSwitch,b),z(c,!1,!0))}return this};this.switchType=function(a,b){if(n(a)&&n(b)&&k.hasOwnProperty(a)&&k[a].type.hasOwnProperty(b)){var c=k[a].options;c.currentView.type!==b&&(c.currentView.type=b,v(c.onTypeSwitch,b),z(c))}return this};this.updateOptions=function(a, b){if(n(a)&&G(b)&&k.hasOwnProperty(a)){var c=k[a].options,d=za(b),e=!1,f;for(f in d)d.hasOwnProperty(f)&&c.hasOwnProperty(f)&&c[f]!==d[f]&&(c[f]=d[f],e=!0);e&&(z(c,!0),v(c.onRefresh,c.currentView.element))}return this};this.destroyAll=function(){for(var a in k)k.hasOwnProperty(a)&&Ka(k[a].options);k={};return this};this.destroy=function(a){n(a)&&k.hasOwnProperty(a)&&(Ka(k[a].options),delete k[a]);return this};this.setConfiguration=function(a,b){if(G(a)){var c=!1,d;for(d in a)a.hasOwnProperty(d)&& -h.hasOwnProperty(d)&&h[d]!==a[d]&&(h[d]=a[d],c=!0);c&&(b=p(b)?b:!0,La(h),b&&this.refreshAll())}return this};this.getIds=function(){var a=[],b;for(b in k)k.hasOwnProperty(b)&&a.push(b);return a};this.getVersion=function(){return"2.6.1"};(function(a,b,c,d){F=a;A=b;K=c;da=d;La();F.addEventListener("DOMContentLoaded",function(){wa()});A.addEventListener("unload",function(){for(var e in k)if(k.hasOwnProperty(e)){var f=k[e].options;p(f.currentView.isInFetchModeTimer)&&clearInterval(f.currentView.isInFetchModeTimer)}}); +h.hasOwnProperty(d)&&h[d]!==a[d]&&(h[d]=a[d],c=!0);c&&(b=p(b)?b:!0,La(h),b&&this.refreshAll())}return this};this.getIds=function(){var a=[],b;for(b in k)k.hasOwnProperty(b)&&a.push(b);return a};this.getVersion=function(){return"2.7.0"};(function(a,b,c,d){F=a;A=b;K=c;da=d;La();F.addEventListener("DOMContentLoaded",function(){wa()});A.addEventListener("unload",function(){for(var e in k)if(k.hasOwnProperty(e)){var f=k[e].options;p(f.currentView.isInFetchModeTimer)&&clearInterval(f.currentView.isInFetchModeTimer)}}); p(A.$heat)||(A.$heat=this)})(document,window,Math,JSON)})(); \ No newline at end of file diff --git a/dist/themes/dark/heat.js.dark.bright-blue.theme.css b/dist/themes/dark/heat.js.dark.bright-blue.theme.css index 4e110a2b..891004aa 100644 --- a/dist/themes/dark/heat.js.dark.bright-blue.theme.css +++ b/dist/themes/dark/heat.js.dark.bright-blue.theme.css @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 | (c) Bunoon 2024 | MIT License */ :root { /* Holidays */ --heat-js-holiday-background-color: rgba( 210, 43, 43, 0.75 ); diff --git a/dist/themes/dark/heat.js.dark.bright-orange.theme.css b/dist/themes/dark/heat.js.dark.bright-orange.theme.css index 9a164756..b03bfacb 100644 --- a/dist/themes/dark/heat.js.dark.bright-orange.theme.css +++ b/dist/themes/dark/heat.js.dark.bright-orange.theme.css @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 | (c) Bunoon 2024 | MIT License */ :root { /* Holidays */ --heat-js-holiday-background-color: rgba( 31, 81, 255, 0.75 ); diff --git a/dist/themes/dark/heat.js.dark.bright-purple.theme.css b/dist/themes/dark/heat.js.dark.bright-purple.theme.css index 5c3d3669..780e47f3 100644 --- a/dist/themes/dark/heat.js.dark.bright-purple.theme.css +++ b/dist/themes/dark/heat.js.dark.bright-purple.theme.css @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 | (c) Bunoon 2024 | MIT License */ :root { /* Holidays */ --heat-js-holiday-background-color: rgba( 31, 81, 255, 0.75 ); diff --git a/dist/themes/dark/heat.js.dark.bright-yellow.theme.css b/dist/themes/dark/heat.js.dark.bright-yellow.theme.css index 0a277043..50460669 100644 --- a/dist/themes/dark/heat.js.dark.bright-yellow.theme.css +++ b/dist/themes/dark/heat.js.dark.bright-yellow.theme.css @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 | (c) Bunoon 2024 | MIT License */ :root { /* Holidays */ --heat-js-holiday-background-color: rgba( 31, 81, 255, 0.75 ); diff --git a/dist/themes/dark/heat.js.dark.cadmium-red.theme.css b/dist/themes/dark/heat.js.dark.cadmium-red.theme.css index 934ccd8a..ce848f95 100644 --- a/dist/themes/dark/heat.js.dark.cadmium-red.theme.css +++ b/dist/themes/dark/heat.js.dark.cadmium-red.theme.css @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 | (c) Bunoon 2024 | MIT License */ :root { /* Holidays */ --heat-js-holiday-background-color: rgba( 31, 81, 255, 0.75 ); diff --git a/dist/themes/dark/heat.js.dark.github.theme.css b/dist/themes/dark/heat.js.dark.github.theme.css index 385b72cd..ae101a62 100644 --- a/dist/themes/dark/heat.js.dark.github.theme.css +++ b/dist/themes/dark/heat.js.dark.github.theme.css @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 | (c) Bunoon 2024 | MIT License */ :root { /* Holidays */ --heat-js-holiday-background-color: rgba( 210, 43, 43, 0.75 ); diff --git a/dist/themes/light/heat.js.light.bright-orange.theme.css b/dist/themes/light/heat.js.light.bright-orange.theme.css index 61f793ea..d0477cb9 100644 --- a/dist/themes/light/heat.js.light.bright-orange.theme.css +++ b/dist/themes/light/heat.js.light.bright-orange.theme.css @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 | (c) Bunoon 2024 | MIT License */ :root { /* Colors */ --heat-js-color-black: #F5F5F5; diff --git a/dist/themes/light/heat.js.light.bright-purple.theme.css b/dist/themes/light/heat.js.light.bright-purple.theme.css index 1d4d17ba..d3080638 100644 --- a/dist/themes/light/heat.js.light.bright-purple.theme.css +++ b/dist/themes/light/heat.js.light.bright-purple.theme.css @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 | (c) Bunoon 2024 | MIT License */ :root { /* Colors */ --heat-js-color-black: #F5F5F5; diff --git a/dist/themes/light/heat.js.light.gamboge.theme.css b/dist/themes/light/heat.js.light.gamboge.theme.css index 9fa47898..ad400a3d 100644 --- a/dist/themes/light/heat.js.light.gamboge.theme.css +++ b/dist/themes/light/heat.js.light.gamboge.theme.css @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 | (c) Bunoon 2024 | MIT License */ :root { /* Colors */ --heat-js-color-black: #F5F5F5; diff --git a/dist/themes/light/heat.js.light.neon-blue.theme.css b/dist/themes/light/heat.js.light.neon-blue.theme.css index 5f81582b..640a9a34 100644 --- a/dist/themes/light/heat.js.light.neon-blue.theme.css +++ b/dist/themes/light/heat.js.light.neon-blue.theme.css @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 | (c) Bunoon 2024 | MIT License */ :root { /* Colors */ --heat-js-color-black: #F5F5F5; diff --git a/dist/themes/light/heat.js.light.red.theme.css b/dist/themes/light/heat.js.light.red.theme.css index 348a7235..23e645e8 100644 --- a/dist/themes/light/heat.js.light.red.theme.css +++ b/dist/themes/light/heat.js.light.red.theme.css @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 | (c) Bunoon 2024 | MIT License */ :root { /* Colors */ --heat-js-color-black: #F5F5F5; diff --git a/dist/themes/light/heat.js.light.shamrock-green.theme.css b/dist/themes/light/heat.js.light.shamrock-green.theme.css index 3f042113..fc7eeb11 100644 --- a/dist/themes/light/heat.js.light.shamrock-green.theme.css +++ b/dist/themes/light/heat.js.light.shamrock-green.theme.css @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 | (c) Bunoon 2024 | MIT License */ :root { /* Colors */ --heat-js-color-black: #F5F5F5; diff --git a/dist/translations/heat.translations.af.js b/dist/translations/heat.translations.af.js index d585cedc..998ea750 100644 --- a/dist/translations/heat.translations.af.js +++ b/dist/translations/heat.translations.af.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Afrikaans | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Afrikaans | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.ar.js b/dist/translations/heat.translations.ar.js index 69b25740..92f082d9 100644 --- a/dist/translations/heat.translations.ar.js +++ b/dist/translations/heat.translations.ar.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Arabic | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Arabic | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.be.js b/dist/translations/heat.translations.be.js index e96c5dc5..30a74494 100644 --- a/dist/translations/heat.translations.be.js +++ b/dist/translations/heat.translations.be.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Belarusian | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Belarusian | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.bg.js b/dist/translations/heat.translations.bg.js index abf0a7a1..0c7f6529 100644 --- a/dist/translations/heat.translations.bg.js +++ b/dist/translations/heat.translations.bg.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Bulgarian | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Bulgarian | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.bn.js b/dist/translations/heat.translations.bn.js index ed6c13b7..206e37b8 100644 --- a/dist/translations/heat.translations.bn.js +++ b/dist/translations/heat.translations.bn.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Bengali | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Bengali | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.ca.js b/dist/translations/heat.translations.ca.js index 3bc06634..9b01ea3b 100644 --- a/dist/translations/heat.translations.ca.js +++ b/dist/translations/heat.translations.ca.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Catalan | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Catalan | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.da.js b/dist/translations/heat.translations.da.js index 0f7396fb..8f8ab401 100644 --- a/dist/translations/heat.translations.da.js +++ b/dist/translations/heat.translations.da.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Danish | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Danish | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.de.js b/dist/translations/heat.translations.de.js index f5ab5a10..91aad315 100644 --- a/dist/translations/heat.translations.de.js +++ b/dist/translations/heat.translations.de.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - German | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - German | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.el.js b/dist/translations/heat.translations.el.js index ee41cb9d..ade95dae 100644 --- a/dist/translations/heat.translations.el.js +++ b/dist/translations/heat.translations.el.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Greek | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Greek | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.en.js b/dist/translations/heat.translations.en.js index 41467f04..48f1b666 100644 --- a/dist/translations/heat.translations.en.js +++ b/dist/translations/heat.translations.en.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - English | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - English | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "st", "ndText": "nd", diff --git a/dist/translations/heat.translations.eo.js b/dist/translations/heat.translations.eo.js index fed6eb08..a972b7d0 100644 --- a/dist/translations/heat.translations.eo.js +++ b/dist/translations/heat.translations.eo.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Esperanto | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Esperanto | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.es.js b/dist/translations/heat.translations.es.js index 71556248..ca849fe9 100644 --- a/dist/translations/heat.translations.es.js +++ b/dist/translations/heat.translations.es.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Spanish | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Spanish | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.et.js b/dist/translations/heat.translations.et.js index 9263bc20..49d8c1df 100644 --- a/dist/translations/heat.translations.et.js +++ b/dist/translations/heat.translations.et.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Estonian | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Estonian | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.fa.js b/dist/translations/heat.translations.fa.js index e836c6bb..2968a854 100644 --- a/dist/translations/heat.translations.fa.js +++ b/dist/translations/heat.translations.fa.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Farsi | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Farsi | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.fi.js b/dist/translations/heat.translations.fi.js index c983945b..268ec0ce 100644 --- a/dist/translations/heat.translations.fi.js +++ b/dist/translations/heat.translations.fi.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Finnish | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Finnish | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.fr.js b/dist/translations/heat.translations.fr.js index dd03e292..82ad2fed 100644 --- a/dist/translations/heat.translations.fr.js +++ b/dist/translations/heat.translations.fr.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - French | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - French | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.fy.js b/dist/translations/heat.translations.fy.js index ac59482c..c7c6bc43 100644 --- a/dist/translations/heat.translations.fy.js +++ b/dist/translations/heat.translations.fy.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Frisian | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Frisian | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.ga.js b/dist/translations/heat.translations.ga.js index 354e68e1..1eade1e1 100644 --- a/dist/translations/heat.translations.ga.js +++ b/dist/translations/heat.translations.ga.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Irish | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Irish | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.gl.js b/dist/translations/heat.translations.gl.js index 0bfb6fb4..8f2fd0ac 100644 --- a/dist/translations/heat.translations.gl.js +++ b/dist/translations/heat.translations.gl.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Galician | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Galician | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.he.js b/dist/translations/heat.translations.he.js index f55820cd..4563af58 100644 --- a/dist/translations/heat.translations.he.js +++ b/dist/translations/heat.translations.he.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Hebrew | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Hebrew | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.hi.js b/dist/translations/heat.translations.hi.js index 25489215..9e4776c2 100644 --- a/dist/translations/heat.translations.hi.js +++ b/dist/translations/heat.translations.hi.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Hindi | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Hindi | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.hu.js b/dist/translations/heat.translations.hu.js index 33602335..d5ce606c 100644 --- a/dist/translations/heat.translations.hu.js +++ b/dist/translations/heat.translations.hu.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Hungarian | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Hungarian | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.hy.js b/dist/translations/heat.translations.hy.js index c76c08b9..f185c084 100644 --- a/dist/translations/heat.translations.hy.js +++ b/dist/translations/heat.translations.hy.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Armenian | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Armenian | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.id.js b/dist/translations/heat.translations.id.js index 0a445103..dff08079 100644 --- a/dist/translations/heat.translations.id.js +++ b/dist/translations/heat.translations.id.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Indonesian | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Indonesian | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.is.js b/dist/translations/heat.translations.is.js index 74efdeda..7a1e27c9 100644 --- a/dist/translations/heat.translations.is.js +++ b/dist/translations/heat.translations.is.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Icelandic | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Icelandic | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.it.js b/dist/translations/heat.translations.it.js index c566b18e..e64f58d0 100644 --- a/dist/translations/heat.translations.it.js +++ b/dist/translations/heat.translations.it.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Italian | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Italian | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.ja.js b/dist/translations/heat.translations.ja.js index 170d2e11..20b93d4b 100644 --- a/dist/translations/heat.translations.ja.js +++ b/dist/translations/heat.translations.ja.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Japanese | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Japanese | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.ka.js b/dist/translations/heat.translations.ka.js index d6512698..f23996fd 100644 --- a/dist/translations/heat.translations.ka.js +++ b/dist/translations/heat.translations.ka.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Georgian | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Georgian | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.ko.js b/dist/translations/heat.translations.ko.js index ecb933f7..e4e97db2 100644 --- a/dist/translations/heat.translations.ko.js +++ b/dist/translations/heat.translations.ko.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Korean | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Korean | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.lb.js b/dist/translations/heat.translations.lb.js index ab627133..6280bedb 100644 --- a/dist/translations/heat.translations.lb.js +++ b/dist/translations/heat.translations.lb.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Luxembourgish | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Luxembourgish | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.lt.js b/dist/translations/heat.translations.lt.js index 153f2972..b828af66 100644 --- a/dist/translations/heat.translations.lt.js +++ b/dist/translations/heat.translations.lt.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Lithuanian | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Lithuanian | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.lv.js b/dist/translations/heat.translations.lv.js index c5bfc932..34fe0d5f 100644 --- a/dist/translations/heat.translations.lv.js +++ b/dist/translations/heat.translations.lv.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Latvian | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Latvian | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.ms.js b/dist/translations/heat.translations.ms.js index 982a6b7d..690d0754 100644 --- a/dist/translations/heat.translations.ms.js +++ b/dist/translations/heat.translations.ms.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Malay | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Malay | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.ne.js b/dist/translations/heat.translations.ne.js index 226d80ef..00177176 100644 --- a/dist/translations/heat.translations.ne.js +++ b/dist/translations/heat.translations.ne.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Nepali | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Nepali | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.nl.js b/dist/translations/heat.translations.nl.js index d1126180..1bf98683 100644 --- a/dist/translations/heat.translations.nl.js +++ b/dist/translations/heat.translations.nl.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Dutch | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Dutch | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.no.js b/dist/translations/heat.translations.no.js index 2fec7be2..325e4f59 100644 --- a/dist/translations/heat.translations.no.js +++ b/dist/translations/heat.translations.no.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Norwegian | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Norwegian | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.pl.js b/dist/translations/heat.translations.pl.js index 5b632a66..bb086335 100644 --- a/dist/translations/heat.translations.pl.js +++ b/dist/translations/heat.translations.pl.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Portuguese | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Portuguese | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.pt.js b/dist/translations/heat.translations.pt.js index 2acbc867..2cd07782 100644 --- a/dist/translations/heat.translations.pt.js +++ b/dist/translations/heat.translations.pt.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Polish | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Polish | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.ro.js b/dist/translations/heat.translations.ro.js index 1fc3c569..48d4192a 100644 --- a/dist/translations/heat.translations.ro.js +++ b/dist/translations/heat.translations.ro.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Romanian | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Romanian | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.si.js b/dist/translations/heat.translations.si.js index 1b5256c7..1c1de223 100644 --- a/dist/translations/heat.translations.si.js +++ b/dist/translations/heat.translations.si.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Sinhalese | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Sinhalese | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.sk.js b/dist/translations/heat.translations.sk.js index 665205f9..82ea57f5 100644 --- a/dist/translations/heat.translations.sk.js +++ b/dist/translations/heat.translations.sk.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Slovak | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Slovak | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.sl.js b/dist/translations/heat.translations.sl.js index dc89d5e3..2bb7c1f0 100644 --- a/dist/translations/heat.translations.sl.js +++ b/dist/translations/heat.translations.sl.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Slovenian | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Slovenian | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.sv.js b/dist/translations/heat.translations.sv.js index 78a17a6f..9f6be508 100644 --- a/dist/translations/heat.translations.sv.js +++ b/dist/translations/heat.translations.sv.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Swedish | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Swedish | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.ta.js b/dist/translations/heat.translations.ta.js index 4cfd8244..e9798678 100644 --- a/dist/translations/heat.translations.ta.js +++ b/dist/translations/heat.translations.ta.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Tamil | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Tamil | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.te.js b/dist/translations/heat.translations.te.js index 25764c5b..17959b16 100644 --- a/dist/translations/heat.translations.te.js +++ b/dist/translations/heat.translations.te.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Telugu | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Telugu | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.th.js b/dist/translations/heat.translations.th.js index 436a7da7..84f96b58 100644 --- a/dist/translations/heat.translations.th.js +++ b/dist/translations/heat.translations.th.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Thai | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Thai | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.tl.js b/dist/translations/heat.translations.tl.js index ad2ded92..f9756e2b 100644 --- a/dist/translations/heat.translations.tl.js +++ b/dist/translations/heat.translations.tl.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Tagalog | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Tagalog | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.tr.js b/dist/translations/heat.translations.tr.js index cf521542..7c98600c 100644 --- a/dist/translations/heat.translations.tr.js +++ b/dist/translations/heat.translations.tr.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Turkish | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Turkish | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.uk.js b/dist/translations/heat.translations.uk.js index 969449f0..25750fd4 100644 --- a/dist/translations/heat.translations.uk.js +++ b/dist/translations/heat.translations.uk.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Ukrainian | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Ukrainian | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.zh-tw.js b/dist/translations/heat.translations.zh-tw.js index 578c890c..9bfc1f2e 100644 --- a/dist/translations/heat.translations.zh-tw.js +++ b/dist/translations/heat.translations.zh-tw.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Taiwanese | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Taiwanese | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "", "ndText": "", diff --git a/dist/translations/heat.translations.zh.js b/dist/translations/heat.translations.zh.js index 381155f9..02a29e06 100644 --- a/dist/translations/heat.translations.zh.js +++ b/dist/translations/heat.translations.zh.js @@ -1,4 +1,4 @@ -/*! Heat.js v2.6.1 - Chinese (simplified) | (c) Bunoon 2024 | MIT License */ +/*! Heat.js v2.7.0 - Chinese (simplified) | (c) Bunoon 2024 | MIT License */ $heat.setConfiguration( { "stText": "æ—¥", "ndText": "æ—¥", diff --git a/heat.js.nuspec b/heat.js.nuspec index e830bd0c..f62c45b0 100644 --- a/heat.js.nuspec +++ b/heat.js.nuspec @@ -2,7 +2,7 @@ jHeat.js - 2.6.1 + 2.7.0 Heat.js A lightweight JavaScript library that generates customizable heat maps, charts, and statistics to visualize date-based activity and trends. William Troup diff --git a/package.json b/package.json index b764f273..c6f2807c 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "jheat.js", "title": "Heat.js", "description": "A lightweight JavaScript library that generates customizable heat maps, charts, and statistics to visualize date-based activity and trends.", - "version": "2.6.1", + "version": "2.7.0", "main": "dist/heat.js", "homepage": "https://www.william-troup.com/heat-js/", "author": { diff --git a/src/heat.js b/src/heat.js index e0f1687f..43ab6ae4 100644 --- a/src/heat.js +++ b/src/heat.js @@ -4,7 +4,7 @@ * A lightweight JavaScript library that generates customizable heat maps, charts, and statistics to visualize date-based activity and trends. * * @file observe.js - * @version v2.6.1 + * @version v2.7.0 * @author Bunoon * @license MIT License * @copyright Bunoon 2024 @@ -3246,7 +3246,7 @@ * @returns {string} The version number. */ this.getVersion = function() { - return "2.6.1"; + return "2.7.0"; }; diff --git a/src/heat.js.scss b/src/heat.js.scss index 0c1e35f7..69f83b30 100644 --- a/src/heat.js.scss +++ b/src/heat.js.scss @@ -1,5 +1,5 @@ /* - * Heat.js Library v2.6.1 + * Heat.js Library v2.7.0 * * Copyright 2024 Bunoon * Released under the MIT License From 00d69dcc35614cfa42233833524410c3e539afb5 Mon Sep 17 00:00:00 2001 From: William Troup Date: Tue, 5 Mar 2024 12:19:31 +0000 Subject: [PATCH 2/6] Fixed a minor formatting issue in the "package.json" file. --- package.json | 70 ++++++++++++++++++++++++++-------------------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/package.json b/package.json index c6f2807c..d51aa1c6 100644 --- a/package.json +++ b/package.json @@ -1,36 +1,36 @@ { - "name": "jheat.js", - "title": "Heat.js", - "description": "A lightweight JavaScript library that generates customizable heat maps, charts, and statistics to visualize date-based activity and trends.", - "version": "2.7.0", - "main": "dist/heat.js", - "homepage": "https://www.william-troup.com/heat-js/", - "author": { - "name": "Bunoon" - }, - "repository": { - "type": "git", - "url": "https://github.com/williamtroup/Heat.js" - }, - "keywords": [ - "javascript", - "css", - "heat.js", - "html", - "date", - "heatmap", - "generator", - "chart", - "map", - "heat", - "activity", - "trends", - "statistics", - "bar", - "themes" - ], - "bugs": { - "url": "https://github.com/williamtroup/Heat.js/issues" - }, - "license": "MIT" - } \ No newline at end of file + "name": "jheat.js", + "title": "Heat.js", + "description": "A lightweight JavaScript library that generates customizable heat maps, charts, and statistics to visualize date-based activity and trends.", + "version": "2.7.0", + "main": "dist/heat.js", + "homepage": "https://www.william-troup.com/heat-js/", + "author": { + "name": "Bunoon" + }, + "repository": { + "type": "git", + "url": "https://github.com/williamtroup/Heat.js" + }, + "keywords": [ + "javascript", + "css", + "heat.js", + "html", + "date", + "heatmap", + "generator", + "chart", + "map", + "heat", + "activity", + "trends", + "statistics", + "bar", + "themes" + ], + "bugs": { + "url": "https://github.com/williamtroup/Heat.js/issues" + }, + "license": "MIT" +} \ No newline at end of file From eaf14f28d61564494dfa5c7a559839dc2745fa33 Mon Sep 17 00:00:00 2001 From: William Troup Date: Tue, 5 Mar 2024 12:45:04 +0000 Subject: [PATCH 3/6] Added new configuration option "objectErrorText", which states the error text that should be shown when an object error is detected (defaults to "Errors in object: {{error_1}}, {{error_2}}"). --- dist/heat.js | 3 +- dist/heat.min.js | 80 ++++++++++++++++++++++++------------------------ src/heat.js | 3 +- 3 files changed, 44 insertions(+), 42 deletions(-) diff --git a/dist/heat.js b/dist/heat.js index 512fdfcd..23623ea2 100644 --- a/dist/heat.js +++ b/dist/heat.js @@ -1555,7 +1555,7 @@ } } catch (e2) { if (!_configuration.safeMode) { - console.error("Errors in object: " + e1.message + ", " + e2.message); + console.error(_configuration.objectErrorText.replace("{{error_1}}", e1.message).replace("{{error_2}}", e2.message)); parsed = false; } result = null; @@ -1650,6 +1650,7 @@ _configuration.unknownTrendText = getDefaultString(_configuration.unknownTrendText, "Unknown"); _configuration.importButtonText = getDefaultString(_configuration.importButtonText, "Import"); _configuration.noMapDataMessage = getDefaultString(_configuration.noMapDataMessage, "There is currently no data to view."); + _configuration.objectErrorText = getDefaultString(_configuration.objectErrorText, "Errors in object: {{error_1}}, {{error_2}}"); } function buildDefaultConfigurationArrays() { if (isInvalidOptionArray(_configuration.monthNames, 12)) { diff --git a/dist/heat.min.js b/dist/heat.min.js index 9d6594ec..e22c5954 100644 --- a/dist/heat.min.js +++ b/dist/heat.min.js @@ -4,32 +4,32 @@ l=!1)}if(!l)break}}}function ya(a,b){var c=za(a),d=n(c.view)?c.view.toLowerCase( 0);c.views.statistics.enabled&&(c.currentView.statisticsContents=null,c.currentView.statisticsContentsScrollLeft=0);c.currentView.view="map"===d?1:"chart"===d?2:"statistics"===d?3:1;return c}function xa(a){v(a.onBeforeRender,a.currentView.element);n(a.currentView.element.id)||(a.currentView.element.id=U());a.currentView.element.className="heat-js";a.currentView.element.removeAttribute("data-heat-options");oa(a.currentView.element.id,a);z(a);v(a.onRenderComplete,a.currentView.element)}function z(a, b,c){b=p(b)?b:!1;c=p(c)?c:!1;if(b&&a.useLocalStorageForData&&A.localStorage){b=a.currentView.element.id;if(a.useLocalStorageForData&&A.localStorage){for(var d=A.localStorage.length,e=[],f=a.currentView.element.id,g=0;gf;f++)a.views.map.daysToShow.indexOf(f+1)>I.notFound&&t(e,"div","day-name",h.dayNames[f]);a.views.map.showDaysInReverseOrder&&Ba(e)}e=q(d,"div","months");d=fa(a); +"div","chart-contents"),pa(a.currentView.chartContents,a));a.views.statistics.enabled&&(a.currentView.statisticsContents=q(a.currentView.element,"div","statistics-contents"),pa(a.currentView.statisticsContents,a));Pa(a);if(b=a.views.map.showNoDataMessageWhenDataIsNotAvailable){b=!1;d=O(a);f=a.currentView.year.toString();for(var l in d)if(d.hasOwnProperty(l)&&l.split(r.dash)[0]===f){b=!0;break}b=!b}if(b)l=u(a.currentView.mapContents,"div","no-data-message",h.noMapDataMessage),e&&x(l,"view-switch"); +else{a.currentView.mapContents.style.minHeight="unset";pa(a.currentView.mapContents,a);d=q(a.currentView.mapContents,"div","map");l=a.currentView.year;b=!1;e&&x(d,"view-switch");if(a.views.map.showDayNames){e=q(d,"div","days");if(!a.views.map.showMonthNames||a.views.map.placeMonthNamesOnTheBottom)e.className="days-months-bottom";for(f=0;7>f;f++)a.views.map.daysToShow.indexOf(f+1)>I.notFound&&u(e,"div","day-name",h.dayNames[f]);a.views.map.showDaysInReverseOrder&&Ba(e)}e=q(d,"div","months");d=fa(a); for(f=0;12>f;f++)if(ha(a.views.map.monthsToShow,f)){g=q(e,"div","month");var m=q(g,"div","day-columns"),E=Z(l,f),D=q(m,"div","day-column"),B=!1;var y=qa(new Date(l,f,1));var H=1;E+=y;for(var J=0;J=y?B=!0:a.views.map.daysToShow.indexOf(H)>I.notFound&&q(D,"div","day-disabled");if(B){var R=null;a.views.map.daysToShow.indexOf(H)>I.notFound&&(R=Qa(a,D,J-y,f,l,d));if(0===(J+1)%7&&(a.views.map.showDaysInReverseOrder&&Ba(D),D=q(m,"div","day-column"),H=0,!p(V)&&p(R))){var Ra=ia(R,"margin-left",!0), -Sa=ia(R,"margin-right",!0);V=R.offsetWidth+Ra+Sa}}H++}a.views.map.showMonthNames&&(E=g.offsetWidth,m=a.views.map.placeMonthNamesOnTheBottom?t(g,"div","month-name-bottom",h.monthNames[f]):t(g,"div","month-name",h.monthNames[f],m),p(m)&&(m.style.width=a.views.map.showMonthDayGaps?E+"px":E-V+"px"));b&&p(V)&&(0m;m++)for(E=Z(a.currentView.year,m),D=0;Dm;m++)if(ha(a.views.chart.monthsToShow,m))for(E=Z(f,m),D=1,d++,B=0;BI.notFound&&Ta(l,a,B+1,m,f,b,g),0===(B+1)%7&&(D=0),D++,y++;if(a.views.chart.showMonthNames){b=q(a.currentView.chartContents,"div","chart-months");d=l.offsetWidth/d;for(g=f=0;12>g;g++)ha(a.views.chart.monthsToShow,g)&&(t(b,"div","month-name",h.monthNames[g]).style.left=e+d*f+"px",f++);b.style.width=l.offsetWidth+"px";l=q(b,"div","month-name-space");l.style.height=b.offsetHeight+"px"; +Sa=ia(R,"margin-right",!0);V=R.offsetWidth+Ra+Sa}}H++}a.views.map.showMonthNames&&(E=g.offsetWidth,m=a.views.map.placeMonthNamesOnTheBottom?u(g,"div","month-name-bottom",h.monthNames[f]):u(g,"div","month-name",h.monthNames[f],m),p(m)&&(m.style.width=a.views.map.showMonthDayGaps?E+"px":E-V+"px"));b&&p(V)&&(0m;m++)for(E=Z(a.currentView.year,m),D=0;Dm;m++)if(ha(a.views.chart.monthsToShow,m))for(E=Z(f,m),D=1,d++,B=0;BI.notFound&&Ta(l,a,B+1,m,f,b,g),0===(B+1)%7&&(D=0),D++,y++;if(a.views.chart.showMonthNames){b=q(a.currentView.chartContents,"div","chart-months");d=l.offsetWidth/d;for(g=f=0;12>g;g++)ha(a.views.chart.monthsToShow,g)&&(u(b,"div","month-name",h.monthNames[g]).style.left=e+d*f+"px",f++);b.style.width=l.offsetWidth+"px";l=q(b,"div","month-name-space");l.style.height=b.offsetHeight+"px"; l.style.width=e+"px"}a.keepScrollPositions&&(a.currentView.chartContents.scrollLeft=a.currentView.chartContentsScrollLeft)}a.currentView.chartContents.style.display="none"}if(a.views.statistics.enabled){d=c;f=q(a.currentView.statisticsContents,"div","statistics");c=q(a.currentView.statisticsContents,"div","statistics-ranges");g=q(f,"div","y-labels");l=q(f,"div","range-lines");b=fa(a);e={};y=0;m=O(a);for(E=e[r.zero]=0;12>E;E++)for(D=Z(a.currentView.year,E),B=0;BI.notFound&&(H=ra(a,b,m[H]),p(H)?(e.hasOwnProperty(H.minimum.toString())||(e[H.minimum.toString()]=0),e[H.minimum]++,y=K.max(y,e[H.minimum])):e[r.zero]++));d&&x(f,"view-switch");0I.notFound&&(H=ra(a,b,m[H]),p(H)?(e.hasOwnProperty(H.minimum.toString())||(e[H.minimum.toString()]=0),e[H.minimum]++,y=K.max(y,e[H.minimum])):e[r.zero]++));d&&x(f,"view-switch");0I.notFound}function Na(a){p(a.currentView.tooltip)||(a.currentView.tooltip= q(F.body,"div","heat-js-tooltip"),a.currentView.tooltip.style.display="none",F.body.addEventListener("mousemove",function(){ea(a)}),F.addEventListener("scroll",function(){ea(a)}))}function W(a,b,c){null!==a&&(a.onmousemove=function(d){Va(d,b,c)})}function Va(a,b,c){aa(a);ea(b);b.currentView.tooltipTimer=setTimeout(function(){b.currentView.tooltip.innerHTML=c;b.currentView.tooltip.style.display="block";var d=b.currentView.tooltip,e=a.pageX,f=a.pageY;var g=F.documentElement;var l=(A.pageXOffset||g.scrollLeft)- (g.clientLeft||0);g=(A.pageYOffset||g.scrollTop)-(g.clientTop||0);d.style.display="block";e+d.offsetWidth>A.innerWidth?e-=d.offsetWidth:e++;f+d.offsetHeight>A.innerHeight?f-=d.offsetHeight:f++;e=g&&(a.style.visibility="hidden");M(b.onDayClick)?a.onclick=function(){v(b.onDayClick,l,m)}:x(a,"no-hover");f=ra(b,f,m,l);p(f)&&ja(b,f.id)&&(n(f.chartCssClassName)?x(a,f.chartCssClassName):x(a,f.cssClassName))} -function Ua(a,b,c,d,e,f){b=q(b,"div","range-line");var g=Da(e,a);a=c*f;b.style.height=a+"px";0>=a&&(b.style.visibility="hidden");W(b,d,c.toString());d.views.statistics.showRangeNumbers&&0=a&&(b.style.visibility="hidden");W(b,d,c.toString());d.views.statistics.showRangeNumbers&&0=f.minimum)e=f;else break}return e}function Da(a,b){for(var c=a.length,d=null,e=0;e");for(f in l)l.hasOwnProperty(f)&&(g.push(""),g.push(""+f+""),g.push(""+l[f]+""),g.push(""));g.push("");c=g.join(r.newLine)}else if("txt"===e){l=ka(a);f=[];for(g in l)l.hasOwnProperty(g)&&f.push(g+": "+l[g].toString());c=f.join(r.newLine)}n(c)&&(l=q(F.body,"a"),l.style.display="none",l.setAttribute("target","_blank"),l.setAttribute("href","data:"+d+";charset=utf-8,"+encodeURIComponent(c)),d=l.setAttribute,g=new Date,f=P(g.getDate())+ r.dash+P(g.getMonth()+1)+r.dash+g.getFullYear(),g=P(g.getHours())+r.dash+P(g.getMinutes()),c=r.empty,a.currentView.type!==h.unknownTrendText&&(c=a.currentView.type.toLowerCase().replace(r.space,r.underscore)+r.underscore),f=c+f+r.underscore+g+"."+a.exportType.toLowerCase(),d.call(l,"download",f),l.click(),F.body.removeChild(l),v(a.onExport,a.currentView.element))}function ka(a){var b={},c=O(a);if(a.exportOnlyYearBeingViewed)for(var d=0;12>d;d++)for(var e=Z(a.currentView.year,d),f=0;fa.getDay()-1?6:a.getDay()-1}function Fa(a, b){var c=a,d=qa(b);c=c.replace("{dddd}",h.dayNames[d]);c=c.replace("{dd}",P(b.getDate()));c=c.replace("{d}",b.getDate());d=c.replace;var e=b.getDate(),f=h.thText;if(31===e||21===e||1===e)f=h.stText;else if(22===e||2===e)f=h.ndText;else if(23===e||3===e)f=h.rdText;c=d.call(c,"{o}",f);c=c.replace("{mmmm}",h.monthNames[b.getMonth()]);c=c.replace("{mm}",P(b.getMonth()+1));c=c.replace("{m}",b.getMonth()+1);c=c.replace("{yyyy}",b.getFullYear());c=c.replace("{yyy}",b.getFullYear().toString().substring(1)); c=c.replace("{yy}",b.getFullYear().toString().substring(2));return c=c.replace("{y}",parseInt(b.getFullYear().toString().substring(2)).toString())}function p(a){return null!==a&&void 0!==a&&a!==r.empty}function G(a){return p(a)&&"object"===typeof a}function L(a){return p(a)&&"boolean"===typeof a}function n(a){return p(a)&&"string"===typeof a}function M(a){return p(a)&&"function"===typeof a}function X(a){return p(a)&&"number"===typeof a}function T(a){return G(a)&&a instanceof Array}function ma(a){return G(a)&& -a instanceof Date}function $a(a){a=a.toLowerCase();var b="text"===a;Y.hasOwnProperty(a)||(Y[a]=b?F.createTextNode(r.empty):F.createElement(a));return Y[a].cloneNode(!1)}function q(a,b,c,d){b=b.toLowerCase();var e="text"===b;Y.hasOwnProperty(b)||(Y[b]=e?F.createTextNode(r.empty):F.createElement(b));b=Y[b].cloneNode(!1);p(c)&&(b.className=c);p(d)?a.insertBefore(b,d):a.appendChild(b);return b}function t(a,b,c,d,e){a=q(a,b,c,e);a.innerHTML=d;return a}function ia(a,b,c){var d=null;c=p(c)?c:!1;A.getComputedStyle? -d=F.defaultView.getComputedStyle(a,null).getPropertyValue(b):a.currentStyle&&(d=a.currentStyle[b]);c&&(d=parseFloat(d,10));return d}function x(a,b){a.className+=r.space+b}function aa(a){a.preventDefault();a.cancelBubble=!0}function Ba(a){for(var b=a.children,c=b.length-1;c--;)a.appendChild(b[c])}function v(a){var b=null;M(a)&&(b=a.apply(null,[].slice.call(arguments,1)));return b}function u(a,b){return n(a)?a:b}function w(a,b){return L(a)?a:b}function C(a,b){return M(a)?a:b}function ca(a,b){return X(a)? -a:b}function na(a){var b=!0,c=null;try{n(a)&&(c=da.parse(a))}catch(d){try{c=eval("("+a+")"),M(c)&&(c=c())}catch(e){h.safeMode||(console.error("Errors in object: "+d.message+", "+e.message),b=!1),c=null}}return{parsed:b,result:c}}function U(){for(var a=[],b=0;32>b;b++){8!==b&&12!==b&&16!==b&&20!==b||a.push(r.dash);var c=K.floor(16*K.random()).toString(16);a.push(c)}return a.join(r.empty)}function P(a){a=a.toString();return 1===a.length?r.zero+a:a}function Aa(a,b){return a.substring(0,b.length).toLowerCase()=== -b.toLowerCase()}function N(a){return a.getFullYear()+r.dash+P(a.getMonth()+1)+r.dash+P(a.getDate())}function ta(a,b){b=p(b)?b:!0;for(a.currentView.year--;a.yearsToHide.indexOf(a.currentView.year)>I.notFound;)a.currentView.year--;z(a);b&&v(a.onBackYear,a.currentView.year)}function ba(a,b){b=p(b)?b:!0;for(a.currentView.year++;a.yearsToHide.indexOf(a.currentView.year)>I.notFound;)a.currentView.year++;z(a);b&&v(a.onNextYear,a.currentView.year)}function Ka(a){a.currentView.element.innerHTML=r.empty;a.currentView.element.className= -r.empty;F.body.removeChild(a.currentView.tooltip);a.currentView.isInFetchMode&&p(a.currentView.isInFetchModeTimer)&&clearInterval(a.currentView.isInFetchModeTimer);v(a.onDestroy,a.currentView.element)}function La(a){h=G(a)?a:{};h.safeMode=w(h.safeMode,!0);a=h;var b=h.domElementTypes,c=["*"];n(b)?(b=b.split(r.space),0===b.length&&(b=c)):b=T(b)?b:c;a.domElementTypes=b;h.stText=u(h.stText,"st");h.ndText=u(h.ndText,"nd");h.rdText=u(h.rdText,"rd");h.thText=u(h.thText,"th");h.backButtonText=u(h.backButtonText, -"Back");h.nextButtonText=u(h.nextButtonText,"Next");h.refreshButtonText=u(h.refreshButtonText,"Refresh");h.exportButtonText=u(h.exportButtonText,"Export");h.lessText=u(h.lessText,"Less");h.moreText=u(h.moreText,"More");h.dateText=u(h.dateText,"Date");h.countText=u(h.countText,"Count");h.mapText=u(h.mapText,"Map");h.chartText=u(h.chartText,"Chart");h.noChartDataMessage=u(h.noChartDataMessage,"There is currently no data to view.");h.statisticsText=u(h.statisticsText,"Statistics");h.noStatisticsDataMessage= -u(h.noStatisticsDataMessage,"There are currently no statistics to view.");h.unknownTrendText=u(h.unknownTrendText,"Unknown");h.importButtonText=u(h.importButtonText,"Import");h.noMapDataMessage=u(h.noMapDataMessage,"There is currently no data to view.");Q(h.monthNames,12)&&(h.monthNames="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "));Q(h.dayNames,7)&&(h.dayNames="Mon Tue Wed Thu Fri Sat Sun".split(" "))}function Q(a,b){b=X(b)?b:1;return!T(a)||a.lengthI.notFound?ba(c,!1):z(c);v(c.onSetYear,c.currentView.year)}return this};this.setYearToHighest=function(a){if(n(a)&&k.hasOwnProperty(a)){a=k[a].options;var b=O(a),c=0,d;for(d in b)b.hasOwnProperty(d)&&(c=K.max(c,parseInt(d.split(r.dash)[0])));0 -I.notFound?ba(a,!1):z(a),v(a.onSetYear,a.currentView.year))}return this};this.setYearToLowest=function(a){if(n(a)&&k.hasOwnProperty(a)){a=k[a].options;var b=O(a),c=9999,d;for(d in b)b.hasOwnProperty(d)&&(c=K.min(c,parseInt(d.split(r.dash)[0])));9999>c&&(a.currentView.year=c,a.yearsToHide.indexOf(a.currentView.year)>I.notFound?ta(a,!1):z(a),v(a.onSetYear,a.currentView.year))}return this};this.moveToPreviousYear=function(a){n(a)&&k.hasOwnProperty(a)&&ta(k[a].options);return this};this.moveToNextYear= -function(a){n(a)&&k.hasOwnProperty(a)&&ba(k[a].options);return this};this.moveToCurrentYear=function(a){n(a)&&k.hasOwnProperty(a)&&(a=k[a].options,a.currentView.year=(new Date).getFullYear(),a.yearsToHide.indexOf(a.currentView.year)>I.notFound?ba(a,!1):z(a),v(a.onSetYear,a.currentView.year));return this};this.getYear=function(a){var b=null;n(a)&&k.hasOwnProperty(a)&&(b=k[a].options.currentView.year);return b};this.render=function(a,b){G(a)&&G(b)&&xa(ya(b,a));return this};this.renderAll=function(){wa(); -return this};this.switchView=function(a,b){if(n(a)&&n(b)&&k.hasOwnProperty(a)){var c=k[a].options,d=null;"map"===b.toLowerCase()?d=1:"chart"===b.toLowerCase()?d=2:"statistics"===b.toLowerCase()&&(d=3);X(d)&&(c.currentView.view=d,v(c.onViewSwitch,b),z(c,!1,!0))}return this};this.switchType=function(a,b){if(n(a)&&n(b)&&k.hasOwnProperty(a)&&k[a].type.hasOwnProperty(b)){var c=k[a].options;c.currentView.type!==b&&(c.currentView.type=b,v(c.onTypeSwitch,b),z(c))}return this};this.updateOptions=function(a, -b){if(n(a)&&G(b)&&k.hasOwnProperty(a)){var c=k[a].options,d=za(b),e=!1,f;for(f in d)d.hasOwnProperty(f)&&c.hasOwnProperty(f)&&c[f]!==d[f]&&(c[f]=d[f],e=!0);e&&(z(c,!0),v(c.onRefresh,c.currentView.element))}return this};this.destroyAll=function(){for(var a in k)k.hasOwnProperty(a)&&Ka(k[a].options);k={};return this};this.destroy=function(a){n(a)&&k.hasOwnProperty(a)&&(Ka(k[a].options),delete k[a]);return this};this.setConfiguration=function(a,b){if(G(a)){var c=!1,d;for(d in a)a.hasOwnProperty(d)&& -h.hasOwnProperty(d)&&h[d]!==a[d]&&(h[d]=a[d],c=!0);c&&(b=p(b)?b:!0,La(h),b&&this.refreshAll())}return this};this.getIds=function(){var a=[],b;for(b in k)k.hasOwnProperty(b)&&a.push(b);return a};this.getVersion=function(){return"2.7.0"};(function(a,b,c,d){F=a;A=b;K=c;da=d;La();F.addEventListener("DOMContentLoaded",function(){wa()});A.addEventListener("unload",function(){for(var e in k)if(k.hasOwnProperty(e)){var f=k[e].options;p(f.currentView.isInFetchModeTimer)&&clearInterval(f.currentView.isInFetchModeTimer)}}); -p(A.$heat)||(A.$heat=this)})(document,window,Math,JSON)})(); \ No newline at end of file +a instanceof Date}function $a(a){a=a.toLowerCase();var b="text"===a;Y.hasOwnProperty(a)||(Y[a]=b?F.createTextNode(r.empty):F.createElement(a));return Y[a].cloneNode(!1)}function q(a,b,c,d){b=b.toLowerCase();var e="text"===b;Y.hasOwnProperty(b)||(Y[b]=e?F.createTextNode(r.empty):F.createElement(b));b=Y[b].cloneNode(!1);p(c)&&(b.className=c);p(d)?a.insertBefore(b,d):a.appendChild(b);return b}function u(a,b,c,d,e){a=q(a,b,c,e);a.innerHTML=d;return a}function ia(a,b,c){var d=null;c=p(c)?c:!1;A.getComputedStyle? +d=F.defaultView.getComputedStyle(a,null).getPropertyValue(b):a.currentStyle&&(d=a.currentStyle[b]);c&&(d=parseFloat(d,10));return d}function x(a,b){a.className+=r.space+b}function aa(a){a.preventDefault();a.cancelBubble=!0}function Ba(a){for(var b=a.children,c=b.length-1;c--;)a.appendChild(b[c])}function v(a){var b=null;M(a)&&(b=a.apply(null,[].slice.call(arguments,1)));return b}function t(a,b){return n(a)?a:b}function w(a,b){return L(a)?a:b}function C(a,b){return M(a)?a:b}function ca(a,b){return X(a)? +a:b}function na(a){var b=!0,c=null;try{n(a)&&(c=da.parse(a))}catch(d){try{c=eval("("+a+")"),M(c)&&(c=c())}catch(e){h.safeMode||(console.error(h.objectErrorText.replace("{{error_1}}",d.message).replace("{{error_2}}",e.message)),b=!1),c=null}}return{parsed:b,result:c}}function U(){for(var a=[],b=0;32>b;b++){8!==b&&12!==b&&16!==b&&20!==b||a.push(r.dash);var c=K.floor(16*K.random()).toString(16);a.push(c)}return a.join(r.empty)}function P(a){a=a.toString();return 1===a.length?r.zero+a:a}function Aa(a, +b){return a.substring(0,b.length).toLowerCase()===b.toLowerCase()}function N(a){return a.getFullYear()+r.dash+P(a.getMonth()+1)+r.dash+P(a.getDate())}function ta(a,b){b=p(b)?b:!0;for(a.currentView.year--;a.yearsToHide.indexOf(a.currentView.year)>I.notFound;)a.currentView.year--;z(a);b&&v(a.onBackYear,a.currentView.year)}function ba(a,b){b=p(b)?b:!0;for(a.currentView.year++;a.yearsToHide.indexOf(a.currentView.year)>I.notFound;)a.currentView.year++;z(a);b&&v(a.onNextYear,a.currentView.year)}function Ka(a){a.currentView.element.innerHTML= +r.empty;a.currentView.element.className=r.empty;F.body.removeChild(a.currentView.tooltip);a.currentView.isInFetchMode&&p(a.currentView.isInFetchModeTimer)&&clearInterval(a.currentView.isInFetchModeTimer);v(a.onDestroy,a.currentView.element)}function La(a){h=G(a)?a:{};h.safeMode=w(h.safeMode,!0);a=h;var b=h.domElementTypes,c=["*"];n(b)?(b=b.split(r.space),0===b.length&&(b=c)):b=T(b)?b:c;a.domElementTypes=b;h.stText=t(h.stText,"st");h.ndText=t(h.ndText,"nd");h.rdText=t(h.rdText,"rd");h.thText=t(h.thText, +"th");h.backButtonText=t(h.backButtonText,"Back");h.nextButtonText=t(h.nextButtonText,"Next");h.refreshButtonText=t(h.refreshButtonText,"Refresh");h.exportButtonText=t(h.exportButtonText,"Export");h.lessText=t(h.lessText,"Less");h.moreText=t(h.moreText,"More");h.dateText=t(h.dateText,"Date");h.countText=t(h.countText,"Count");h.mapText=t(h.mapText,"Map");h.chartText=t(h.chartText,"Chart");h.noChartDataMessage=t(h.noChartDataMessage,"There is currently no data to view.");h.statisticsText=t(h.statisticsText, +"Statistics");h.noStatisticsDataMessage=t(h.noStatisticsDataMessage,"There are currently no statistics to view.");h.unknownTrendText=t(h.unknownTrendText,"Unknown");h.importButtonText=t(h.importButtonText,"Import");h.noMapDataMessage=t(h.noMapDataMessage,"There is currently no data to view.");h.objectErrorText=t(h.objectErrorText,"Errors in object: {{error_1}}, {{error_2}}");Q(h.monthNames,12)&&(h.monthNames="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "));Q(h.dayNames,7)&&(h.dayNames= +"Mon Tue Wed Thu Fri Sat Sun".split(" "))}function Q(a,b){b=X(b)?b:1;return!T(a)||a.lengthI.notFound?ba(c,!1):z(c);v(c.onSetYear,c.currentView.year)}return this};this.setYearToHighest=function(a){if(n(a)&&k.hasOwnProperty(a)){a= +k[a].options;var b=O(a),c=0,d;for(d in b)b.hasOwnProperty(d)&&(c=K.max(c,parseInt(d.split(r.dash)[0])));0I.notFound?ba(a,!1):z(a),v(a.onSetYear,a.currentView.year))}return this};this.setYearToLowest=function(a){if(n(a)&&k.hasOwnProperty(a)){a=k[a].options;var b=O(a),c=9999,d;for(d in b)b.hasOwnProperty(d)&&(c=K.min(c,parseInt(d.split(r.dash)[0])));9999>c&&(a.currentView.year=c,a.yearsToHide.indexOf(a.currentView.year)>I.notFound? +ta(a,!1):z(a),v(a.onSetYear,a.currentView.year))}return this};this.moveToPreviousYear=function(a){n(a)&&k.hasOwnProperty(a)&&ta(k[a].options);return this};this.moveToNextYear=function(a){n(a)&&k.hasOwnProperty(a)&&ba(k[a].options);return this};this.moveToCurrentYear=function(a){n(a)&&k.hasOwnProperty(a)&&(a=k[a].options,a.currentView.year=(new Date).getFullYear(),a.yearsToHide.indexOf(a.currentView.year)>I.notFound?ba(a,!1):z(a),v(a.onSetYear,a.currentView.year));return this};this.getYear=function(a){var b= +null;n(a)&&k.hasOwnProperty(a)&&(b=k[a].options.currentView.year);return b};this.render=function(a,b){G(a)&&G(b)&&xa(ya(b,a));return this};this.renderAll=function(){wa();return this};this.switchView=function(a,b){if(n(a)&&n(b)&&k.hasOwnProperty(a)){var c=k[a].options,d=null;"map"===b.toLowerCase()?d=1:"chart"===b.toLowerCase()?d=2:"statistics"===b.toLowerCase()&&(d=3);X(d)&&(c.currentView.view=d,v(c.onViewSwitch,b),z(c,!1,!0))}return this};this.switchType=function(a,b){if(n(a)&&n(b)&&k.hasOwnProperty(a)&& +k[a].type.hasOwnProperty(b)){var c=k[a].options;c.currentView.type!==b&&(c.currentView.type=b,v(c.onTypeSwitch,b),z(c))}return this};this.updateOptions=function(a,b){if(n(a)&&G(b)&&k.hasOwnProperty(a)){var c=k[a].options,d=za(b),e=!1,f;for(f in d)d.hasOwnProperty(f)&&c.hasOwnProperty(f)&&c[f]!==d[f]&&(c[f]=d[f],e=!0);e&&(z(c,!0),v(c.onRefresh,c.currentView.element))}return this};this.destroyAll=function(){for(var a in k)k.hasOwnProperty(a)&&Ka(k[a].options);k={};return this};this.destroy=function(a){n(a)&& +k.hasOwnProperty(a)&&(Ka(k[a].options),delete k[a]);return this};this.setConfiguration=function(a,b){if(G(a)){var c=!1,d;for(d in a)a.hasOwnProperty(d)&&h.hasOwnProperty(d)&&h[d]!==a[d]&&(h[d]=a[d],c=!0);c&&(b=p(b)?b:!0,La(h),b&&this.refreshAll())}return this};this.getIds=function(){var a=[],b;for(b in k)k.hasOwnProperty(b)&&a.push(b);return a};this.getVersion=function(){return"2.7.0"};(function(a,b,c,d){F=a;A=b;K=c;da=d;La();F.addEventListener("DOMContentLoaded",function(){wa()});A.addEventListener("unload", +function(){for(var e in k)if(k.hasOwnProperty(e)){var f=k[e].options;p(f.currentView.isInFetchModeTimer)&&clearInterval(f.currentView.isInFetchModeTimer)}});p(A.$heat)||(A.$heat=this)})(document,window,Math,JSON)})(); \ No newline at end of file diff --git a/src/heat.js b/src/heat.js index 43ab6ae4..4137d8d1 100644 --- a/src/heat.js +++ b/src/heat.js @@ -2210,7 +2210,7 @@ } catch ( e2 ) { if ( !_configuration.safeMode ) { - console.error( "Errors in object: " + e1.message + ", " + e2.message ); + console.error( _configuration.objectErrorText.replace( "{{error_1}}", e1.message ).replace( "{{error_2}}", e2.message ) ); parsed = false; } @@ -3169,6 +3169,7 @@ _configuration.unknownTrendText = getDefaultString( _configuration.unknownTrendText, "Unknown" ); _configuration.importButtonText = getDefaultString( _configuration.importButtonText, "Import" ); _configuration.noMapDataMessage = getDefaultString( _configuration.noMapDataMessage, "There is currently no data to view." ); + _configuration.objectErrorText = getDefaultString( _configuration.objectErrorText, "Errors in object: {{error_1}}, {{error_2}}" ); } function buildDefaultConfigurationArrays() { From 805eb5952c158dbbfccf7be6a05717e7337f730c Mon Sep 17 00:00:00 2001 From: William Troup Date: Wed, 6 Mar 2024 11:34:04 +0000 Subject: [PATCH 4/6] Added a new binding option called "showOnlyDataForYearsAvailable", which states if only data for years available is shown (including in the selector, defaults to false). --- dist/heat.js | 111 +++++++++----- dist/heat.js.css | 3 +- dist/heat.js.css.map | 2 +- dist/heat.js.min.css | 2 +- dist/heat.min.js | 141 +++++++++--------- src/heat.js | 154 ++++++++++++++------ src/heat.js.scss | 3 +- test/dist/heat.js.only-years-available.html | 42 ++++++ test/src/heat.js.only-years-available.html | 42 ++++++ 9 files changed, 346 insertions(+), 154 deletions(-) create mode 100644 test/dist/heat.js.only-years-available.html create mode 100644 test/src/heat.js.only-years-available.html diff --git a/dist/heat.js b/dist/heat.js index 23623ea2..dd5be84f 100644 --- a/dist/heat.js +++ b/dist/heat.js @@ -52,6 +52,7 @@ bindingOptions.currentView.type = _configuration.unknownTrendText; bindingOptions.currentView.isInFetchMode = isDefinedFunction(bindingOptions.onDataFetch); bindingOptions.currentView.isInFetchModeTimer = null; + bindingOptions.currentView.yearsAvailable = []; if (bindingOptions.views.chart.enabled) { bindingOptions.currentView.chartContents = null; bindingOptions.currentView.chartContentsScrollLeft = 0; @@ -98,6 +99,7 @@ bindingOptions.currentView.statisticsContentsScrollLeft = bindingOptions.currentView.statisticsContents.scrollLeft; } bindingOptions.currentView.element.innerHTML = _string.empty; + bindingOptions.currentView.yearsAvailable = getYearsAvailableInData(bindingOptions); hideToolTip(bindingOptions); startDataPullTimer(bindingOptions); renderControlToolTip(bindingOptions); @@ -123,23 +125,6 @@ bindingOptions.currentView.mapContents.style.display = "block"; } } - function createDateStorageForElement(elementId, bindingOptions, storeLocalData) { - storeLocalData = isDefined(storeLocalData) ? storeLocalData : true; - _elements_DateCounts[elementId] = {options:bindingOptions, type:{}, types:1}; - _elements_DateCounts[elementId].type[_configuration.unknownTrendText] = {}; - if (storeLocalData && !bindingOptions.currentView.isInFetchMode) { - loadDataFromLocalStorage(bindingOptions); - } - } - function getCurrentViewData(bindingOptions) { - return _elements_DateCounts[bindingOptions.currentView.element.id].type[bindingOptions.currentView.type]; - } - function isMonthVisible(monthsToShow, month) { - return monthsToShow.indexOf(month + 1) > _value.notFound; - } - function isDayVisible(daysToShow, day) { - return daysToShow.indexOf(day) > _value.notFound; - } function renderControlToolTip(bindingOptions) { if (!isDefined(bindingOptions.currentView.tooltip)) { bindingOptions.currentView.tooltip = createElement(_parameter_Document.body, "div", "heat-js-tooltip"); @@ -240,7 +225,7 @@ yearList.style.visibility = "hidden"; var currentYear = thisYear - bindingOptions.extraSelectionYears; for (; currentYear < thisYear + bindingOptions.extraSelectionYears; currentYear++) { - if (bindingOptions.yearsToHide.indexOf(currentYear) === _value.notFound) { + if (isYearVisible(bindingOptions, currentYear)) { var year = renderControlTitleBarYear(bindingOptions, years, currentYear); if (!isDefined(activeYear)) { activeYear = year; @@ -804,6 +789,45 @@ } } } + function createDateStorageForElement(elementId, bindingOptions, storeLocalData) { + storeLocalData = isDefined(storeLocalData) ? storeLocalData : true; + _elements_DateCounts[elementId] = {options:bindingOptions, type:{}, types:1}; + _elements_DateCounts[elementId].type[_configuration.unknownTrendText] = {}; + if (storeLocalData && !bindingOptions.currentView.isInFetchMode) { + loadDataFromLocalStorage(bindingOptions); + } + } + function getCurrentViewData(bindingOptions) { + return _elements_DateCounts[bindingOptions.currentView.element.id].type[bindingOptions.currentView.type]; + } + function isMonthVisible(monthsToShow, month) { + return monthsToShow.indexOf(month + 1) > _value.notFound; + } + function isDayVisible(daysToShow, day) { + return daysToShow.indexOf(day) > _value.notFound; + } + function getYearsAvailableInData(bindingOptions) { + var years = []; + if (bindingOptions.showOnlyDataForYearsAvailable) { + var data = getCurrentViewData(bindingOptions); + var storageDate; + for (storageDate in data) { + if (data.hasOwnProperty(storageDate)) { + var year = parseInt(getStorageDateYear(storageDate)); + if (years.indexOf(year) === _value.notFound) { + years.push(year); + } + } + } + } + years = years.sort(function(a, b) { + return a - b; + }); + return years; + } + function isYearVisible(bindingOptions, year) { + return bindingOptions.yearsToHide.indexOf(year) === _value.notFound && (bindingOptions.currentView.yearsAvailable.length === 0 || bindingOptions.currentView.yearsAvailable.indexOf(year) > _value.notFound); + } function loadDataFromLocalStorage(bindingOptions) { if (bindingOptions.useLocalStorageForData && _parameter_Window.localStorage) { var keysLength = _parameter_Window.localStorage.length; @@ -1240,6 +1264,7 @@ options.showNumbersInGuide = getDefaultBoolean(options.showNumbersInGuide, false); options.showImportButton = getDefaultBoolean(options.showImportButton, false); options.dataFetchDelay = getDefaultNumber(options.dataFetchDelay, 60000); + options.showOnlyDataForYearsAvailable = getDefaultBoolean(options.showOnlyDataForYearsAvailable, false); options = buildAttributeOptionColorRanges(options); options = buildAttributeOptionHolidays(options); options = buildAttributeOptionMapView(options); @@ -1593,24 +1618,42 @@ } function moveToPreviousYear(bindingOptions, callCustomTrigger) { callCustomTrigger = isDefined(callCustomTrigger) ? callCustomTrigger : true; - bindingOptions.currentView.year--; - for (; bindingOptions.yearsToHide.indexOf(bindingOptions.currentView.year) > _value.notFound;) { - bindingOptions.currentView.year--; + var render = true; + var year = bindingOptions.currentView.year; + year--; + for (; !isYearVisible(bindingOptions, year);) { + if (bindingOptions.currentView.yearsAvailable.length > 0 && year <= bindingOptions.currentView.yearsAvailable[0]) { + render = false; + break; + } + year--; } - renderControlContainer(bindingOptions); - if (callCustomTrigger) { - fireCustomTrigger(bindingOptions.onBackYear, bindingOptions.currentView.year); + if (render) { + bindingOptions.currentView.year = year; + renderControlContainer(bindingOptions); + if (callCustomTrigger) { + fireCustomTrigger(bindingOptions.onBackYear, bindingOptions.currentView.year); + } } } function moveToNextYear(bindingOptions, callCustomTrigger) { callCustomTrigger = isDefined(callCustomTrigger) ? callCustomTrigger : true; - bindingOptions.currentView.year++; - for (; bindingOptions.yearsToHide.indexOf(bindingOptions.currentView.year) > _value.notFound;) { - bindingOptions.currentView.year++; + var render = true; + var year = bindingOptions.currentView.year; + year++; + for (; !isYearVisible(bindingOptions, year);) { + if (bindingOptions.currentView.yearsAvailable.length > 0 && year >= bindingOptions.currentView.yearsAvailable[bindingOptions.currentView.yearsAvailable.length - 1]) { + render = false; + break; + } + year++; } - renderControlContainer(bindingOptions); - if (callCustomTrigger) { - fireCustomTrigger(bindingOptions.onNextYear, bindingOptions.currentView.year); + if (render) { + bindingOptions.currentView.year = year; + renderControlContainer(bindingOptions); + if (callCustomTrigger) { + fireCustomTrigger(bindingOptions.onBackYear, bindingOptions.currentView.year); + } } } function destroyElement(bindingOptions) { @@ -1857,7 +1900,7 @@ if (isDefinedString(elementId) && isDefinedNumber(year) && _elements_DateCounts.hasOwnProperty(elementId)) { var bindingOptions = _elements_DateCounts[elementId].options; bindingOptions.currentView.year = year; - if (bindingOptions.yearsToHide.indexOf(bindingOptions.currentView.year) > _value.notFound) { + if (!isYearVisible(bindingOptions, bindingOptions.currentView.year)) { moveToNextYear(bindingOptions, false); } else { renderControlContainer(bindingOptions); @@ -1879,7 +1922,7 @@ } if (maximumYear > 0) { bindingOptions.currentView.year = maximumYear; - if (bindingOptions.yearsToHide.indexOf(bindingOptions.currentView.year) > _value.notFound) { + if (!isYearVisible(bindingOptions, bindingOptions.currentView.year)) { moveToNextYear(bindingOptions, false); } else { renderControlContainer(bindingOptions); @@ -1902,7 +1945,7 @@ } if (minimumYear < 9999) { bindingOptions.currentView.year = minimumYear; - if (bindingOptions.yearsToHide.indexOf(bindingOptions.currentView.year) > _value.notFound) { + if (!isYearVisible(bindingOptions, bindingOptions.currentView.year)) { moveToPreviousYear(bindingOptions, false); } else { renderControlContainer(bindingOptions); @@ -1928,7 +1971,7 @@ if (isDefinedString(elementId) && _elements_DateCounts.hasOwnProperty(elementId)) { var bindingOptions = _elements_DateCounts[elementId].options; bindingOptions.currentView.year = (new Date()).getFullYear(); - if (bindingOptions.yearsToHide.indexOf(bindingOptions.currentView.year) > _value.notFound) { + if (!isYearVisible(bindingOptions, bindingOptions.currentView.year)) { moveToNextYear(bindingOptions, false); } else { renderControlContainer(bindingOptions); diff --git a/dist/heat.js.css b/dist/heat.js.css index 06d04cc7..a3f7aa35 100644 --- a/dist/heat.js.css +++ b/dist/heat.js.css @@ -277,7 +277,8 @@ div.heat-js div.title-bar div.year-text div.years-list div.years { background-color: var(--heat-js-years-background-color); border: var(--heat-js-border-size) solid var(--heat-js-years-border-color); color: var(--heat-js-years-text-color); - height: 183px; + max-height: 183px; + height: 100%; overflow-y: scroll; scroll-snap-type: y mandatory; } diff --git a/dist/heat.js.css.map b/dist/heat.js.css.map index b9ec87be..be41f0e7 100644 --- a/dist/heat.js.css.map +++ b/dist/heat.js.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["../src/heat.js.scss","../src/foundation/_styles.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA;EAEI;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EAGA;EACA;EAGA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;;;AAIJ;AAAA;AAAA;AAAA;AAAA;AA2JA;AAAA;AAAA;AAAA;AAAA;AAMA;ECpQI;EACA;EACA;EACA;EACA;EACA;EDoPA;EACA;EAaA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;;AAGJ;EAnCA;EACA;;AAqCI;EAtCJ;EACA;;;AA6CJ;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;;AAEA;EAGI;EACA;EACA;EACA,gBALe;EAMf;EACA;;AAEA;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAzLZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EAGI,cAXuF;;AA+LvF;EACI;EACA,aAzBW;EA0BX;EACA;EACA;EACA,YA7BW;EA8BX;;AAEA;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;EACA;;AA7QpB;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;EACA;EACA;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAwPA;EACI;;AAGJ;AAAA;EAEI;;AAGJ;EAGI;EACA;EACA;EACA;EACA;EACA,aAPc;EAQd,gBARc;EASd;EACA;;AAEA;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAlRZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EAMI,aAwQsC;;AAEtC;EACI;EACA,aA5BU;EA6BV;EACA;EACA;EACA;EACA;EACA,YAlCU;EAmCV;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;EACA;;AAMhB;AAAA;AAAA;EAGI;;AAEA;EALJ;AAAA;AAAA;IAMQ;;;;AAOhB;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;EACA;;AAEA;EA/RJ;EACA;EACA;EACA;EACA;;AA+RI;EACI;EACA;;AAEA;AAAA;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAVJ;AAAA;IAWQ;;;AAGJ;AAAA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAIR;EACI;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;EACA;;AAMgB;EACI;;AAOpB;AAAA;EAEI;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;;AAGI;AAAA;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACI;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;;AAWpC;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EApaJ;EACA;EACA;EACA;EACA;;AAoaI;EACI;EACA;;AAEA;EAleR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAydQ;IAxdJ;;;AAGJ;AAAA;AAAA;AAAA;AAAA;EAKI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;;AAqbI;EACI;EACA;;AAEA;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;IACI;;;AAIR;EACI;;AAGJ;EACI;EACA;;AAMhB;EACI;EACA;;AAEA;AAAA;EAEI;EACA;EACA;EACA;;AAGJ;EACI;IACI;;;AAIR;EACI;;AAGJ;EACI;EACA;EACA;EACA;;;AAOhB;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;EACA;EACA;;AAEA;EAvgBJ;EACA;EACA;EACA;EACA;;AAugBI;EACI;EACA;;AAEA;EArkBR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EA4jBQ;IA3jBJ;;;AAGJ;AAAA;AAAA;AAAA;AAAA;EAKI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;;AAwhBI;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;IACI;;;AAIR;EACI;;AAGJ;EACI;EACA;;AAMhB;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;;;AAMhB;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EA3lBJ;;AA6lBI;EAJJ;IAKQ;;;AA5lBR;EAulBA;IAtlBI;;;AAGJ;AAAA;AAAA;EAGI;EACA;EACA;;AAGJ;EACI;;AAEA;EACI;;AAGJ;EACI;;;AAglBZ;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;;AAEA;EAHJ;IAIQ;;;AAGJ;AAAA;EAEI;EACA;;AAEA;EALJ;AAAA;IAMQ;;;AAIR;EACI;EACA;EACA;EAjoBR;;AAmoBQ;EALJ;IAMQ;IACA;IACA;IACA;;;AA1vBZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;EACA;EACA;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAwFJ;EA4nBI;IA3nBA;;;AAGJ;AAAA;AAAA;EAGI;EACA;EACA;;AAGJ;EACI;;AAEA;EACI;;AAGJ;EACI;;AAunBA;EACI;EACA;;AAIR;EACI;EACA;EACA;EACA;;AAEA;EANJ;IAOQ;IACA;IACA;;;AAGJ;AAAA;EAEI;EACA;EACA;;AAEA;AAAA;EACI;EACA;;AAGJ;AAAA;EACI;;AAIR;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;;;AASxB;AAAA;AAAA;AAAA;AAAA;AAYQ;AAAA;AAAA;AAAA;AAAA;EACI;;AAGJ;AAAA;AAAA;AAAA;AAAA;EACI;EACA;;AAIR;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;;AAKR;AAAA;AAAA;AAAA;AAAA;AAMA;ECz/BI;EACA;EACA;EACA;EACA;EACA;EDoPA;EACA;EAkwBA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAMA;EACI;IACI;;EAEJ;IACI","file":"heat.js.css"} \ No newline at end of file +{"version":3,"sourceRoot":"","sources":["../src/heat.js.scss","../src/foundation/_styles.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA;EAEI;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EAGA;EACA;EAGA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;;;AAIJ;AAAA;AAAA;AAAA;AAAA;AA2JA;AAAA;AAAA;AAAA;AAAA;AAMA;ECpQI;EACA;EACA;EACA;EACA;EACA;EDoPA;EACA;EAaA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;;AAGJ;EAnCA;EACA;;AAqCI;EAtCJ;EACA;;;AA6CJ;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;;AAEA;EAGI;EACA;EACA;EACA,gBALe;EAMf;EACA;;AAEA;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAzLZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EAGI,cAXuF;;AA+LvF;EACI;EACA,aAzBW;EA0BX;EACA;EACA;EACA,YA7BW;EA8BX;;AAEA;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;EACA;;AA7QpB;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;EACA;EACA;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAwPA;EACI;;AAGJ;AAAA;EAEI;;AAGJ;EAGI;EACA;EACA;EACA;EACA;EACA,aAPc;EAQd,gBARc;EASd;EACA;;AAEA;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAlRZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EAMI,aAwQsC;;AAEtC;EACI;EACA,aA5BU;EA6BV;EACA;EACA;EACA;EACA;EACA,YAlCU;EAmCV;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;EACA;;AAMhB;AAAA;AAAA;EAGI;;AAEA;EALJ;AAAA;AAAA;IAMQ;;;;AAOhB;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;EACA;;AAEA;EAhSJ;EACA;EACA;EACA;EACA;;AAgSI;EACI;EACA;;AAEA;AAAA;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAVJ;AAAA;IAWQ;;;AAGJ;AAAA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAIR;EACI;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;EACA;;AAMgB;EACI;;AAOpB;AAAA;EAEI;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;;AAGI;AAAA;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACI;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;;AAWpC;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EAraJ;EACA;EACA;EACA;EACA;;AAqaI;EACI;EACA;;AAEA;EAneR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EA0dQ;IAzdJ;;;AAGJ;AAAA;AAAA;AAAA;AAAA;EAKI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;;AAsbI;EACI;EACA;;AAEA;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;IACI;;;AAIR;EACI;;AAGJ;EACI;EACA;;AAMhB;EACI;EACA;;AAEA;AAAA;EAEI;EACA;EACA;EACA;;AAGJ;EACI;IACI;;;AAIR;EACI;;AAGJ;EACI;EACA;EACA;EACA;;;AAOhB;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;EACA;EACA;;AAEA;EAxgBJ;EACA;EACA;EACA;EACA;;AAwgBI;EACI;EACA;;AAEA;EAtkBR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EA6jBQ;IA5jBJ;;;AAGJ;AAAA;AAAA;AAAA;AAAA;EAKI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;;AAyhBI;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;IACI;;;AAIR;EACI;;AAGJ;EACI;EACA;;AAMhB;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;;;AAMhB;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EA5lBJ;;AA8lBI;EAJJ;IAKQ;;;AA7lBR;EAwlBA;IAvlBI;;;AAGJ;AAAA;AAAA;EAGI;EACA;EACA;;AAGJ;EACI;;AAEA;EACI;;AAGJ;EACI;;;AAilBZ;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;;AAEA;EAHJ;IAIQ;;;AAGJ;AAAA;EAEI;EACA;;AAEA;EALJ;AAAA;IAMQ;;;AAIR;EACI;EACA;EACA;EAloBR;;AAooBQ;EALJ;IAMQ;IACA;IACA;IACA;;;AA3vBZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;EACA;EACA;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAwFJ;EA6nBI;IA5nBA;;;AAGJ;AAAA;AAAA;EAGI;EACA;EACA;;AAGJ;EACI;;AAEA;EACI;;AAGJ;EACI;;AAwnBA;EACI;EACA;;AAIR;EACI;EACA;EACA;EACA;;AAEA;EANJ;IAOQ;IACA;IACA;;;AAGJ;AAAA;EAEI;EACA;EACA;;AAEA;AAAA;EACI;EACA;;AAGJ;AAAA;EACI;;AAIR;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;;;AASxB;AAAA;AAAA;AAAA;AAAA;AAYQ;AAAA;AAAA;AAAA;AAAA;EACI;;AAGJ;AAAA;AAAA;AAAA;AAAA;EACI;EACA;;AAIR;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;;AAKR;AAAA;AAAA;AAAA;AAAA;AAMA;EC1/BI;EACA;EACA;EACA;EACA;EACA;EDoPA;EACA;EAmwBA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAMA;EACI;IACI;;EAEJ;IACI","file":"heat.js.css"} \ No newline at end of file diff --git a/dist/heat.js.min.css b/dist/heat.js.min.css index f27a9527..6b04c096 100644 --- a/dist/heat.js.min.css +++ b/dist/heat.js.min.css @@ -1,2 +1,2 @@ /*! Heat.js v2.7.0 | (c) Bunoon 2024 | MIT License */ -:root{--heat-js-default-font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--heat-js-text-bold-weight:400;--heat-js-title-bold-weight:900;--heat-js-text-bold-weight-active:900;--heat-js-color-black:#3b3a3a;--heat-js-color-white:#adbac7;--heat-js-color-snow-white:#F5F5F5;--heat-js-color-gray:#AAA;--heat-js-container-background-color:#22272e;--heat-js-container-border-color:#454c56;--heat-js-tooltip-background-color:var(--heat-js-container-background-color);--heat-js-tooltip-border-color:var(--heat-js-container-border-color);--heat-js-tooltip-text-color:var(--heat-js-color-white);--heat-js-years-background-color:var(--heat-js-container-background-color);--heat-js-years-border-color:var(--heat-js-container-border-color);--heat-js-years-text-color:var(--heat-js-color-white);--heat-js-years-background-color-hover:var(--heat-js-button-background-color-hover);--heat-js-years-text-color-hover:var(--heat-js-color-snow-white);--heat-js-title-opener-text-color-hover:var(--heat-js-color-gray);--heat-js-title-background-color:var(--heat-js-container-background-color);--heat-js-title-border-color:var(--heat-js-container-border-color);--heat-js-title-text-color:var(--heat-js-color-white);--heat-js-title-background-color-hover:var(--heat-js-button-background-color-hover);--heat-js-title-text-color-hover:var(--heat-js-color-snow-white);--heat-js-holiday-background-color:rgba(210,43,43,.75);--heat-js-holiday-border-color:rgba(210,43,43,.5);--heat-js-holiday-text-color:var(--heat-js-color-black);--heat-js-day-background-color:#2d333b;--heat-js-day-border-color:var(--heat-js-container-border-color);--heat-js-day-background-color-hover:var(--heat-js-container-border-color);--heat-js-day-spacing:6.3px;--heat-js-day-opacity-hover:.7;--heat-js-day-opacity-active:.5;--heat-js-day-size:1.1rem;--heat-js-day-chart-width:10px;--heat-js-day-color-1-background-color:rgba(80,200,120,.25);--heat-js-day-color-1-border-color:rgba(80,200,120,.15);--heat-js-day-color-1-text-color:var(--heat-js-color-white);--heat-js-day-color-2-background-color:rgba(80,200,120,.5);--heat-js-day-color-2-border-color:rgba(80,200,120,.25);--heat-js-day-color-2-text-color:var(--heat-js-color-white);--heat-js-day-color-3-background-color:rgba(80,200,120,.75);--heat-js-day-color-3-border-color:rgba(80,200,120,.5);--heat-js-day-color-3-text-color:var(--heat-js-color-black);--heat-js-day-color-4-background-color:rgba(80,200,120,1);--heat-js-day-color-4-border-color:rgba(80,200,120,.75);--heat-js-day-color-4-text-color:var(--heat-js-color-black);--heat-js-button-background-color:var(--heat-js-day-background-color);--heat-js-button-border-color:var(--heat-js-container-border-color);--heat-js-button-text-color:var(--heat-js-color-white);--heat-js-button-background-color-hover:var(--heat-js-container-border-color);--heat-js-button-text-color-hover:var(--heat-js-color-snow-white);--heat-js-button-background-color-active:#616b79;--heat-js-button-text-color-active:var(--heat-js-color-snow-white);--heat-js-border-radius:.5rem;--heat-js-border-radius-day:.35rem;--heat-js-border-size:.5px;--heat-js-border-size-day:1px;--heat-js-spacing:10px;--heat-js-spacing-font-size:.85rem;--heat-js-spacing-day-font-size:.6rem;--heat-js-transition:all .3s;--heat-js-animation-length:0.5s}div.heat-js{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:default;box-sizing:border-box;line-height:normal;font-family:var(--heat-js-default-font);display:inline-block;position:relative;border-radius:var(--heat-js-border-radius);background-color:var(--heat-js-container-background-color);color:var(--heat-js-color-white);border:var(--heat-js-border-size) solid var(--heat-js-container-border-color);padding:var(--heat-js-spacing);font-size:var(--heat-js-spacing-font-size);width:100%;max-width:700px;margin:0!important}div.heat-js div.view-switch{animation:fade-in-animation var(--heat-js-animation-length)}div.heat-js div.no-click{pointer-events:none!important}div.heat-js *{box-sizing:border-box;line-height:normal}div.heat-js *::before,div.heat-js *::after{box-sizing:border-box;line-height:normal}div.heat-js div.title-bar{text-align:right;margin-bottom:calc(var(--heat-js-spacing) + var(--heat-js-spacing) / 2)}div.heat-js div.title-bar div.title{float:left;font-weight:var(--heat-js-title-bold-weight);font-size:1.2rem;padding-bottom:3px;transition:var(--heat-js-transition);cursor:pointer}div.heat-js div.title-bar div.title:hover{color:var(--heat-js-title-opener-text-color-hover)}div.heat-js div.title-bar div.title:hover div.down-arrow{border-top-color:var(--heat-js-title-opener-text-color-hover)}div.heat-js div.title-bar div.title:hover div.titles-list{display:block}div.heat-js div.title-bar div.title div.down-arrow{display:inline-block;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:14px solid var(--heat-js-color-white);transition:var(--heat-js-transition);margin-right:var(--heat-js-spacing)}div.heat-js div.title-bar div.title div.titles-list{animation:fade-in-animation var(--heat-js-animation-length);padding-top:3px;display:none;position:absolute;width:100px;margin-top:3px;z-index:1000}div.heat-js div.title-bar div.title div.titles-list div.titles{border-radius:var(--heat-js-border-radius);background-color:var(--heat-js-title-background-color);border:var(--heat-js-border-size) solid var(--heat-js-title-border-color);color:var(--heat-js-title-text-color);overflow-y:scroll}div.heat-js div.title-bar div.title div.titles-list div.titles div.title{color:var(--heat-js-color-white);font-weight:var(--heat-js-text-bold-weight);border-bottom:var(--heat-js-border-size) dashed var(--heat-js-container-border-color);padding:var(--heat-js-spacing);text-align:left;width:100%;transition:var(--heat-js-transition);font-size:var(--heat-js-spacing-font-size)!important}div.heat-js div.title-bar div.title div.titles-list div.titles div.title:not(.title-active):active{opacity:0.5!important}div.heat-js div.title-bar div.title div.titles-list div.titles div.title:not(.title-active):hover{cursor:pointer;background-color:var(--heat-js-title-background-color-hover);color:var(--heat-js-title-text-color-hover)}div.heat-js div.title-bar div.title div.titles-list div.titles div.title:last-child{border-bottom:none}div.heat-js div.title-bar div.title div.titles-list div.titles div.title-active{background-color:var(--heat-js-title-background-color-hover);color:var(--heat-js-title-text-color-hover);font-weight:var(--heat-js-text-bold-weight-active);cursor:default!important}div.heat-js div.title-bar button{background-color:var(--heat-js-button-background-color);border:var(--heat-js-border-size) solid var(--heat-js-button-border-color);color:var(--heat-js-button-text-color);border-radius:var(--heat-js-border-radius);padding-top:5px;padding-bottom:5px;padding-left:9px;padding-right:9px;outline:none;transition:var(--heat-js-transition)}div.heat-js div.title-bar button:not(.active):active{background:var(--heat-js-button-background-color-active)!important;color:var(--heat-js-button-text-color-active)!important}div.heat-js div.title-bar button:not(.active):hover{cursor:pointer;background:var(--heat-js-button-background-color-hover);color:var(--heat-js-button-text-color-hover)}div.heat-js div.title-bar button.active{cursor:default;background:var(--heat-js-button-background-color-hover);color:var(--heat-js-button-text-color-hover);transition:var(--heat-js-transition);font-weight:var(--heat-js-text-bold-weight-active)}div.heat-js div.title-bar button.back{margin-left:calc(var(--heat-js-spacing) * 2)!important}div.heat-js div.title-bar button.export,div.heat-js div.title-bar button.import{margin-right:calc(var(--heat-js-spacing) / 2)!important}div.heat-js div.title-bar div.year-text{margin-left:var(--heat-js-spacing);margin-right:var(--heat-js-spacing);display:inline-block;font-weight:var(--heat-js-title-bold-weight);position:relative;padding-top:5px;padding-bottom:5px;transition:var(--heat-js-transition);cursor:pointer}div.heat-js div.title-bar div.year-text:hover{color:var(--heat-js-title-opener-text-color-hover)}div.heat-js div.title-bar div.year-text:hover div.down-arrow{border-top-color:var(--heat-js-title-opener-text-color-hover)}div.heat-js div.title-bar div.year-text:hover div.years-list{display:block!important}div.heat-js div.title-bar div.year-text div.down-arrow{display:inline-block;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:9px solid var(--heat-js-color-white);transition:var(--heat-js-transition);margin-left:calc(var(--heat-js-spacing) / 2)}div.heat-js div.title-bar div.year-text div.years-list{animation:fade-in-animation var(--heat-js-animation-length);padding-top:5px;display:none;position:absolute;width:80px;left:50%;transform:translateX(-50%);margin-top:5px;z-index:1000}div.heat-js div.title-bar div.year-text div.years-list div.years{border-radius:var(--heat-js-border-radius);background-color:var(--heat-js-years-background-color);border:var(--heat-js-border-size) solid var(--heat-js-years-border-color);color:var(--heat-js-years-text-color);height:183px;overflow-y:scroll;scroll-snap-type:y mandatory}div.heat-js div.title-bar div.year-text div.years-list div.years div.year{color:var(--heat-js-color-white);font-weight:var(--heat-js-text-bold-weight);border-bottom:var(--heat-js-border-size) dashed var(--heat-js-container-border-color);padding:var(--heat-js-spacing);text-align:center;width:100%;transition:var(--heat-js-transition);scroll-snap-align:start}div.heat-js div.title-bar div.year-text div.years-list div.years div.year:not(.year-active):active{opacity:0.5!important}div.heat-js div.title-bar div.year-text div.years-list div.years div.year:not(.year-active):hover{cursor:pointer;background-color:var(--heat-js-years-background-color-hover);color:var(--heat-js-years-text-color-hover)}div.heat-js div.title-bar div.year-text div.years-list div.years div.year:last-child{border-bottom:none}div.heat-js div.title-bar div.year-text div.years-list div.years div.year-active{background-color:var(--heat-js-years-background-color-hover);color:var(--heat-js-years-text-color-hover);font-weight:var(--heat-js-text-bold-weight-active);cursor:default!important}div.heat-js div.title-bar button.export,div.heat-js div.title-bar button.refresh,div.heat-js div.title-bar button.import{display:none}@media (min-width:768px){div.heat-js div.title-bar button.export,div.heat-js div.title-bar button.refresh,div.heat-js div.title-bar button.import{display:inline-block}}div.heat-js div.map-contents{overflow-x:scroll;overflow-y:hidden;min-height:191px;position:relative}div.heat-js div.map-contents div.no-data-message{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-weight:var(--heat-js-text-bold-weight)}div.heat-js div.map-contents div.map{display:inline-flex;flex-direction:row}div.heat-js div.map-contents div.map div.days,div.heat-js div.map-contents div.map div.days-months-bottom{background-color:var(--heat-js-container-background-color);padding-right:calc(var(--heat-js-spacing) * 3);padding-top:calc(var(--heat-js-spacing-font-size) + var(--heat-js-spacing) + 1px);position:sticky;left:0;display:none;z-index:50}@media (min-width:768px){div.heat-js div.map-contents div.map div.days,div.heat-js div.map-contents div.map div.days-months-bottom{display:block}}div.heat-js div.map-contents div.map div.days div.day-name,div.heat-js div.map-contents div.map div.days-months-bottom div.day-name{font-weight:var(--heat-js-text-bold-weight);text-align:left!important;height:var(--heat-js-day-size);margin-bottom:var(--heat-js-day-spacing);display:inline-flex;justify-content:center;flex-direction:column}div.heat-js div.map-contents div.map div.days-months-bottom{padding-top:0!important}div.heat-js div.map-contents div.map div.months{display:flex;justify-content:space-between;flex-grow:1}div.heat-js div.map-contents div.map div.months div.month{flex:1;pointer-events:none}div.heat-js div.map-contents div.map div.months div.month:last-child div.day-columns div.day-column:last-child div.day{margin-right:0!important}div.heat-js div.map-contents div.map div.months div.month div.month-name,div.heat-js div.map-contents div.map div.months div.month div.month-name-bottom{font-weight:var(--heat-js-text-bold-weight);text-align:left!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}div.heat-js div.map-contents div.map div.months div.month div.month-name{margin-bottom:var(--heat-js-spacing)}div.heat-js div.map-contents div.map div.months div.month div.month-name-bottom{margin-top:var(--heat-js-spacing)}div.heat-js div.map-contents div.map div.months div.month div.day-columns{display:flex;justify-content:space-between}div.heat-js div.map-contents div.map div.months div.month div.day-columns div.day-column div.day,div.heat-js div.map-contents div.map div.months div.month div.day-columns div.day-column div.day-disabled{display:flex;border-radius:var(--heat-js-border-radius-day);width:var(--heat-js-day-size);height:var(--heat-js-day-size);margin-right:var(--heat-js-day-spacing);margin-bottom:var(--heat-js-day-spacing);font-size:var(--heat-js-spacing-day-font-size);justify-content:center;align-items:center;overflow:hidden}div.heat-js div.map-contents div.map div.months div.month div.day-columns div.day-column div.day:last-child,div.heat-js div.map-contents div.map div.months div.month div.day-columns div.day-column div.day-disabled:last-child{margin-bottom:0}div.heat-js div.map-contents div.map div.months div.month div.day-columns div.day-column div.day{pointer-events:all;background-color:var(--heat-js-day-background-color);border:var(--heat-js-border-size) solid var(--heat-js-day-border-color);transition:var(--heat-js-transition);transition-property:opacity,background-color,color,border-color}div.heat-js div.map-contents div.map div.months div.month div.day-columns div.day-column div.day:not(.no-hover):hover{cursor:pointer;background:var(--heat-js-day-background-color-hover)}div.heat-js div.chart-contents{display:flex;overflow-x:scroll;overflow-y:hidden;text-wrap:nowrap;white-space:nowrap;position:relative}div.heat-js div.chart-contents div.no-data-message{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-weight:var(--heat-js-text-bold-weight)}div.heat-js div.chart-contents div.chart{display:inline-flex;flex-direction:row}div.heat-js div.chart-contents div.chart div.y-labels{background-color:var(--heat-js-container-background-color);padding-right:calc(var(--heat-js-spacing) * 3);padding-top:calc(var(--heat-js-spacing-font-size) + var(--heat-js-spacing) + 1px);position:sticky;left:0;display:none;border-right:var(--heat-js-border-size) solid var(--heat-js-container-border-color);z-index:50}@media (min-width:768px){div.heat-js div.chart-contents div.chart div.y-labels{display:block}}div.heat-js div.chart-contents div.chart div.y-labels div.label-0,div.heat-js div.chart-contents div.chart div.y-labels div.label-25,div.heat-js div.chart-contents div.chart div.y-labels div.label-50,div.heat-js div.chart-contents div.chart div.y-labels div.label-75,div.heat-js div.chart-contents div.chart div.y-labels div.label-100{font-weight:var(--heat-js-text-bold-weight);text-align:left!important;height:var(--heat-js-day-size);display:inline-flex;justify-content:center;flex-direction:column;position:absolute;left:0;padding-right:var(--heat-js-spacing)}div.heat-js div.chart-contents div.chart div.y-labels div.label-0{top:0}div.heat-js div.chart-contents div.chart div.y-labels div.label-25{top:25%;transform:translateY(-25%)}div.heat-js div.chart-contents div.chart div.y-labels div.label-50{top:50%;transform:translateY(-50%)}div.heat-js div.chart-contents div.chart div.y-labels div.label-75{top:75%;transform:translateY(-75%)}div.heat-js div.chart-contents div.chart div.y-labels div.label-100{bottom:0}div.heat-js div.chart-contents div.chart div.day-lines{flex:1;border-bottom:var(--heat-js-border-size) solid var(--heat-js-container-border-color)}div.heat-js div.chart-contents div.chart div.day-lines div.day-line-number{font-size:var(--heat-js-spacing-day-font-size);padding:calc(var(--heat-js-spacing) / 2);overflow:hidden}div.heat-js div.chart-contents div.chart div.day-lines div.day-line{border-top-left-radius:var(--heat-js-border-radius-day);border-top-right-radius:var(--heat-js-border-radius-day);background-color:var(--heat-js-day-background-color);border:var(--heat-js-border-size) solid var(--heat-js-day-border-color);border-bottom:none!important;vertical-align:bottom;min-width:var(--heat-js-day-chart-width);margin-right:1px;display:inline-block;transition:var(--heat-js-transition)}@media (min-width:768px){div.heat-js div.chart-contents div.chart div.day-lines div.day-line:first-child{margin-left:calc(var(--heat-js-spacing) / 2)}}div.heat-js div.chart-contents div.chart div.day-lines div.day-line:last-child{margin-right:0}div.heat-js div.chart-contents div.chart div.day-lines div.day-line:not(.no-hover):hover{cursor:pointer;background:var(--heat-js-day-background-color-hover)}div.heat-js div.chart-contents div.chart-months{position:relative;height:calc(var(--heat-js-spacing-font-size) + var(--heat-js-spacing))}div.heat-js div.chart-contents div.chart-months div.month-name,div.heat-js div.chart-contents div.chart-months div.month-name-space{font-weight:var(--heat-js-text-bold-weight);text-align:left!important;position:absolute;bottom:0}@media (min-width:768px){div.heat-js div.chart-contents div.chart-months div.month-name:first-child{margin-left:calc(var(--heat-js-spacing) / 2)}}div.heat-js div.chart-contents div.chart-months div.month-name:nth-child(2){margin-left:var(--heat-js-day-chart-width)}div.heat-js div.chart-contents div.chart-months div.month-name-space{left:0;top:0;position:sticky;background-color:var(--heat-js-container-background-color)}div.heat-js div.statistics-contents{display:flex;overflow:hidden;text-wrap:nowrap;white-space:nowrap;position:relative}div.heat-js div.statistics-contents div.no-statistics-message{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-weight:var(--heat-js-text-bold-weight)}div.heat-js div.statistics-contents div.statistics{display:flex;flex-direction:row}div.heat-js div.statistics-contents div.statistics div.y-labels{background-color:var(--heat-js-container-background-color);padding-right:calc(var(--heat-js-spacing) * 3);padding-top:calc(var(--heat-js-spacing-font-size) + var(--heat-js-spacing) + 1px);position:sticky;left:0;display:none;border-right:var(--heat-js-border-size) solid var(--heat-js-container-border-color);z-index:50}@media (min-width:768px){div.heat-js div.statistics-contents div.statistics div.y-labels{display:block}}div.heat-js div.statistics-contents div.statistics div.y-labels div.label-0,div.heat-js div.statistics-contents div.statistics div.y-labels div.label-25,div.heat-js div.statistics-contents div.statistics div.y-labels div.label-50,div.heat-js div.statistics-contents div.statistics div.y-labels div.label-75,div.heat-js div.statistics-contents div.statistics div.y-labels div.label-100{font-weight:var(--heat-js-text-bold-weight);text-align:left!important;height:var(--heat-js-day-size);display:inline-flex;justify-content:center;flex-direction:column;position:absolute;left:0;padding-right:var(--heat-js-spacing)}div.heat-js div.statistics-contents div.statistics div.y-labels div.label-0{top:0}div.heat-js div.statistics-contents div.statistics div.y-labels div.label-25{top:25%;transform:translateY(-25%)}div.heat-js div.statistics-contents div.statistics div.y-labels div.label-50{top:50%;transform:translateY(-50%)}div.heat-js div.statistics-contents div.statistics div.y-labels div.label-75{top:75%;transform:translateY(-75%)}div.heat-js div.statistics-contents div.statistics div.y-labels div.label-100{bottom:0}div.heat-js div.statistics-contents div.statistics div.range-lines{display:flex;align-items:baseline;flex:1;border-bottom:var(--heat-js-border-size) solid var(--heat-js-container-border-color);justify-content:space-between}div.heat-js div.statistics-contents div.statistics div.range-lines div.range-line-number{font-size:var(--heat-js-spacing-day-font-size);padding:calc(var(--heat-js-spacing) / 2);position:relative;overflow:hidden}div.heat-js div.statistics-contents div.statistics div.range-lines div.range-line-number div.count{position:absolute;top:calc(var(--heat-js-spacing) / 2);left:50%;transform:translateX(-50%)}div.heat-js div.statistics-contents div.statistics div.range-lines div.range-line{border-top-left-radius:var(--heat-js-border-radius-day);border-top-right-radius:var(--heat-js-border-radius-day);background-color:var(--heat-js-day-background-color);border:var(--heat-js-border-size) solid var(--heat-js-day-border-color);border-bottom:none!important;vertical-align:bottom;flex:1 100%;margin-right:var(--heat-js-spacing);display:inline-block;transition:var(--heat-js-transition)}@media (min-width:768px){div.heat-js div.statistics-contents div.statistics div.range-lines div.range-line:first-child{margin-left:calc(var(--heat-js-spacing) / 2)}}div.heat-js div.statistics-contents div.statistics div.range-lines div.range-line:last-child{margin-right:0}div.heat-js div.statistics-contents div.statistics div.range-lines div.range-line:not(.no-hover):hover{cursor:pointer;background:var(--heat-js-day-background-color-hover)}div.heat-js div.statistics-contents div.statistics-ranges{display:flex;flex:1;position:relative;justify-content:space-between;align-items:baseline;height:calc(var(--heat-js-spacing-font-size) + var(--heat-js-spacing) + 3px)}div.heat-js div.statistics-contents div.statistics-ranges div.range-name{flex:1 100%;margin-top:var(--heat-js-spacing);font-weight:var(--heat-js-text-bold-weight);text-align:center!important;overflow:hidden;text-overflow:ellipsis}div.heat-js div.description{text-align:center;margin-top:calc(var(--heat-js-spacing) + var(--heat-js-spacing) / 2);text-align:center}@media (min-width:768px){div.heat-js div.description{text-align:left}}@media (min-width:768px){div.heat-js div.description{text-align:left}}div.heat-js div.description span.label,div.heat-js div.description a.label,div.heat-js div.description a.label:visited{color:var(--heat-js-color-white);font-weight:var(--heat-js-text-bold-weight);text-decoration:none}div.heat-js div.description a.label{transition:var(--heat-js-transition)}div.heat-js div.description a.label:active{color:var(--heat-js-color-gray)}div.heat-js div.description a.label:hover{text-decoration:underline}div.heat-js div.guide{display:block}@media (min-width:768px){div.heat-js div.guide{display:flex}}div.heat-js div.guide div.map-types,div.heat-js div.guide div.map-toggles{margin-top:calc(var(--heat-js-spacing) + var(--heat-js-spacing) / 2);width:100%}@media (min-width:768px){div.heat-js div.guide div.map-types,div.heat-js div.guide div.map-toggles{margin-bottom:0}}div.heat-js div.guide div.map-types{text-align:center;flex-grow:unset;margin-right:0;text-align:center}@media (min-width:768px){div.heat-js div.guide div.map-types{text-align:left;width:unset;flex-grow:1;margin-right:var(--heat-js-spacing)}}div.heat-js div.guide div.map-types button{background-color:var(--heat-js-button-background-color);border:var(--heat-js-border-size) solid var(--heat-js-button-border-color);color:var(--heat-js-button-text-color);border-radius:var(--heat-js-border-radius);padding-top:5px;padding-bottom:5px;padding-left:9px;padding-right:9px;outline:none;transition:var(--heat-js-transition)}div.heat-js div.guide div.map-types button:not(.active):active{background:var(--heat-js-button-background-color-active)!important;color:var(--heat-js-button-text-color-active)!important}div.heat-js div.guide div.map-types button:not(.active):hover{cursor:pointer;background:var(--heat-js-button-background-color-hover);color:var(--heat-js-button-text-color-hover)}div.heat-js div.guide div.map-types button.active{cursor:default;background:var(--heat-js-button-background-color-hover);color:var(--heat-js-button-text-color-hover);transition:var(--heat-js-transition);font-weight:var(--heat-js-text-bold-weight-active)}@media (min-width:768px){div.heat-js div.guide div.map-types{text-align:left}}div.heat-js div.guide div.map-types span.label,div.heat-js div.guide div.map-types a.label,div.heat-js div.guide div.map-types a.label:visited{color:var(--heat-js-color-white);font-weight:var(--heat-js-text-bold-weight);text-decoration:none}div.heat-js div.guide div.map-types a.label{transition:var(--heat-js-transition)}div.heat-js div.guide div.map-types a.label:active{color:var(--heat-js-color-gray)}div.heat-js div.guide div.map-types a.label:hover{text-decoration:underline}div.heat-js div.guide div.map-types button{margin-left:0!important;margin-right:calc(var(--heat-js-spacing) / 2)!important}div.heat-js div.guide div.map-toggles{display:flex;align-items:center;justify-content:center;text-align:center}@media (min-width:768px){div.heat-js div.guide div.map-toggles{text-align:right;justify-content:right;width:auto}}div.heat-js div.guide div.map-toggles div.less-text,div.heat-js div.guide div.map-toggles div.more-text{display:inline-block;font-weight:var(--heat-js-text-bold-weight);transition:var(--heat-js-transition)}div.heat-js div.guide div.map-toggles div.less-text:hover,div.heat-js div.guide div.map-toggles div.more-text:hover{cursor:pointer;text-decoration:underline}div.heat-js div.guide div.map-toggles div.less-text:active,div.heat-js div.guide div.map-toggles div.more-text:active{color:var(--heat-js-color-gray)}div.heat-js div.guide div.map-toggles div.less-text{margin-right:var(--heat-js-spacing)}div.heat-js div.guide div.map-toggles div.more-text{margin-left:var(--heat-js-spacing)}div.heat-js div.guide div.map-toggles div.days{display:inline-flex;align-items:center;justify-content:right}div.heat-js div.guide div.map-toggles div.days div.day-number{display:inline-flex!important;justify-content:center;align-items:center;overflow:hidden;text-align:center;font-size:var(--heat-js-spacing-day-font-size);padding-left:calc(var(--heat-js-spacing) / 2);padding-right:calc(var(--heat-js-spacing) / 2)}div.heat-js div.guide div.map-toggles div.days div.day{background-color:var(--heat-js-day-background-color);border:var(--heat-js-border-size) solid var(--heat-js-day-border-color);display:inline-block;border-radius:var(--heat-js-border-radius-day);min-width:var(--heat-js-day-size);height:var(--heat-js-day-size);margin-right:var(--heat-js-day-spacing);transition:var(--heat-js-transition)}div.heat-js div.guide div.map-toggles div.days div.day:last-child{margin-right:0}div.heat-js div.guide div.map-toggles div.days div.day:not(.no-hover):hover{cursor:pointer;background:var(--heat-js-day-background-color-hover)}div.heat-js div.day-color-1:not(.no-hover):active,div.heat-js div.day-color-2:not(.no-hover):active,div.heat-js div.day-color-3:not(.no-hover):active,div.heat-js div.day-color-4:not(.no-hover):active,div.heat-js div.holiday:not(.no-hover):active{opacity:var(--heat-js-day-opacity-active)!important}div.heat-js div.day-color-1:not(.no-hover):hover,div.heat-js div.day-color-2:not(.no-hover):hover,div.heat-js div.day-color-3:not(.no-hover):hover,div.heat-js div.day-color-4:not(.no-hover):hover,div.heat-js div.holiday:not(.no-hover):hover{cursor:pointer;opacity:var(--heat-js-day-opacity-hover)}div.heat-js div.holiday{background-color:var(--heat-js-holiday-background-color)!important;border:var(--heat-js-border-size-day) solid var(--heat-js-holiday-border-color)!important;color:var(--heat-js-holiday-text-color)}div.heat-js div.day-color-1{background-color:var(--heat-js-day-color-1-background-color)!important;border:var(--heat-js-border-size-day) solid var(--heat-js-day-color-1-border-color)!important;color:var(--heat-js-day-color-1-text-color)}div.heat-js div.day-color-2{background-color:var(--heat-js-day-color-2-background-color)!important;border:var(--heat-js-border-size-day) solid var(--heat-js-day-color-2-border-color)!important;color:var(--heat-js-day-color-2-text-color)}div.heat-js div.day-color-3{background-color:var(--heat-js-day-color-3-background-color)!important;border:var(--heat-js-border-size-day) solid var(--heat-js-day-color-3-border-color)!important;color:var(--heat-js-day-color-3-text-color)}div.heat-js div.day-color-4{background-color:var(--heat-js-day-color-4-background-color)!important;border:var(--heat-js-border-size-day) solid var(--heat-js-day-color-4-border-color)!important;color:var(--heat-js-day-color-4-text-color)}div.heat-js-tooltip{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:default;box-sizing:border-box;line-height:normal;font-family:var(--heat-js-default-font);animation:fade-in-animation var(--heat-js-animation-length);position:absolute;background-color:var(--heat-js-tooltip-background-color);border:var(--heat-js-border-size) solid var(--heat-js-tooltip-border-color);color:var(--heat-js-tooltip-text-color);border-radius:var(--heat-js-border-radius);z-index:2000;max-width:300px;padding:var(--heat-js-spacing);font-size:var(--heat-js-spacing-font-size);font-weight:var(--heat-js-text-bold-weight);display:none}@keyframes fade-in-animation{0%{opacity:0}100%{opacity:1}} \ No newline at end of file +:root{--heat-js-default-font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--heat-js-text-bold-weight:400;--heat-js-title-bold-weight:900;--heat-js-text-bold-weight-active:900;--heat-js-color-black:#3b3a3a;--heat-js-color-white:#adbac7;--heat-js-color-snow-white:#F5F5F5;--heat-js-color-gray:#AAA;--heat-js-container-background-color:#22272e;--heat-js-container-border-color:#454c56;--heat-js-tooltip-background-color:var(--heat-js-container-background-color);--heat-js-tooltip-border-color:var(--heat-js-container-border-color);--heat-js-tooltip-text-color:var(--heat-js-color-white);--heat-js-years-background-color:var(--heat-js-container-background-color);--heat-js-years-border-color:var(--heat-js-container-border-color);--heat-js-years-text-color:var(--heat-js-color-white);--heat-js-years-background-color-hover:var(--heat-js-button-background-color-hover);--heat-js-years-text-color-hover:var(--heat-js-color-snow-white);--heat-js-title-opener-text-color-hover:var(--heat-js-color-gray);--heat-js-title-background-color:var(--heat-js-container-background-color);--heat-js-title-border-color:var(--heat-js-container-border-color);--heat-js-title-text-color:var(--heat-js-color-white);--heat-js-title-background-color-hover:var(--heat-js-button-background-color-hover);--heat-js-title-text-color-hover:var(--heat-js-color-snow-white);--heat-js-holiday-background-color:rgba(210,43,43,.75);--heat-js-holiday-border-color:rgba(210,43,43,.5);--heat-js-holiday-text-color:var(--heat-js-color-black);--heat-js-day-background-color:#2d333b;--heat-js-day-border-color:var(--heat-js-container-border-color);--heat-js-day-background-color-hover:var(--heat-js-container-border-color);--heat-js-day-spacing:6.3px;--heat-js-day-opacity-hover:.7;--heat-js-day-opacity-active:.5;--heat-js-day-size:1.1rem;--heat-js-day-chart-width:10px;--heat-js-day-color-1-background-color:rgba(80,200,120,.25);--heat-js-day-color-1-border-color:rgba(80,200,120,.15);--heat-js-day-color-1-text-color:var(--heat-js-color-white);--heat-js-day-color-2-background-color:rgba(80,200,120,.5);--heat-js-day-color-2-border-color:rgba(80,200,120,.25);--heat-js-day-color-2-text-color:var(--heat-js-color-white);--heat-js-day-color-3-background-color:rgba(80,200,120,.75);--heat-js-day-color-3-border-color:rgba(80,200,120,.5);--heat-js-day-color-3-text-color:var(--heat-js-color-black);--heat-js-day-color-4-background-color:rgba(80,200,120,1);--heat-js-day-color-4-border-color:rgba(80,200,120,.75);--heat-js-day-color-4-text-color:var(--heat-js-color-black);--heat-js-button-background-color:var(--heat-js-day-background-color);--heat-js-button-border-color:var(--heat-js-container-border-color);--heat-js-button-text-color:var(--heat-js-color-white);--heat-js-button-background-color-hover:var(--heat-js-container-border-color);--heat-js-button-text-color-hover:var(--heat-js-color-snow-white);--heat-js-button-background-color-active:#616b79;--heat-js-button-text-color-active:var(--heat-js-color-snow-white);--heat-js-border-radius:.5rem;--heat-js-border-radius-day:.35rem;--heat-js-border-size:.5px;--heat-js-border-size-day:1px;--heat-js-spacing:10px;--heat-js-spacing-font-size:.85rem;--heat-js-spacing-day-font-size:.6rem;--heat-js-transition:all .3s;--heat-js-animation-length:0.5s}div.heat-js{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:default;box-sizing:border-box;line-height:normal;font-family:var(--heat-js-default-font);display:inline-block;position:relative;border-radius:var(--heat-js-border-radius);background-color:var(--heat-js-container-background-color);color:var(--heat-js-color-white);border:var(--heat-js-border-size) solid var(--heat-js-container-border-color);padding:var(--heat-js-spacing);font-size:var(--heat-js-spacing-font-size);width:100%;max-width:700px;margin:0!important}div.heat-js div.view-switch{animation:fade-in-animation var(--heat-js-animation-length)}div.heat-js div.no-click{pointer-events:none!important}div.heat-js *{box-sizing:border-box;line-height:normal}div.heat-js *::before,div.heat-js *::after{box-sizing:border-box;line-height:normal}div.heat-js div.title-bar{text-align:right;margin-bottom:calc(var(--heat-js-spacing) + var(--heat-js-spacing) / 2)}div.heat-js div.title-bar div.title{float:left;font-weight:var(--heat-js-title-bold-weight);font-size:1.2rem;padding-bottom:3px;transition:var(--heat-js-transition);cursor:pointer}div.heat-js div.title-bar div.title:hover{color:var(--heat-js-title-opener-text-color-hover)}div.heat-js div.title-bar div.title:hover div.down-arrow{border-top-color:var(--heat-js-title-opener-text-color-hover)}div.heat-js div.title-bar div.title:hover div.titles-list{display:block}div.heat-js div.title-bar div.title div.down-arrow{display:inline-block;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:14px solid var(--heat-js-color-white);transition:var(--heat-js-transition);margin-right:var(--heat-js-spacing)}div.heat-js div.title-bar div.title div.titles-list{animation:fade-in-animation var(--heat-js-animation-length);padding-top:3px;display:none;position:absolute;width:100px;margin-top:3px;z-index:1000}div.heat-js div.title-bar div.title div.titles-list div.titles{border-radius:var(--heat-js-border-radius);background-color:var(--heat-js-title-background-color);border:var(--heat-js-border-size) solid var(--heat-js-title-border-color);color:var(--heat-js-title-text-color);overflow-y:scroll}div.heat-js div.title-bar div.title div.titles-list div.titles div.title{color:var(--heat-js-color-white);font-weight:var(--heat-js-text-bold-weight);border-bottom:var(--heat-js-border-size) dashed var(--heat-js-container-border-color);padding:var(--heat-js-spacing);text-align:left;width:100%;transition:var(--heat-js-transition);font-size:var(--heat-js-spacing-font-size)!important}div.heat-js div.title-bar div.title div.titles-list div.titles div.title:not(.title-active):active{opacity:0.5!important}div.heat-js div.title-bar div.title div.titles-list div.titles div.title:not(.title-active):hover{cursor:pointer;background-color:var(--heat-js-title-background-color-hover);color:var(--heat-js-title-text-color-hover)}div.heat-js div.title-bar div.title div.titles-list div.titles div.title:last-child{border-bottom:none}div.heat-js div.title-bar div.title div.titles-list div.titles div.title-active{background-color:var(--heat-js-title-background-color-hover);color:var(--heat-js-title-text-color-hover);font-weight:var(--heat-js-text-bold-weight-active);cursor:default!important}div.heat-js div.title-bar button{background-color:var(--heat-js-button-background-color);border:var(--heat-js-border-size) solid var(--heat-js-button-border-color);color:var(--heat-js-button-text-color);border-radius:var(--heat-js-border-radius);padding-top:5px;padding-bottom:5px;padding-left:9px;padding-right:9px;outline:none;transition:var(--heat-js-transition)}div.heat-js div.title-bar button:not(.active):active{background:var(--heat-js-button-background-color-active)!important;color:var(--heat-js-button-text-color-active)!important}div.heat-js div.title-bar button:not(.active):hover{cursor:pointer;background:var(--heat-js-button-background-color-hover);color:var(--heat-js-button-text-color-hover)}div.heat-js div.title-bar button.active{cursor:default;background:var(--heat-js-button-background-color-hover);color:var(--heat-js-button-text-color-hover);transition:var(--heat-js-transition);font-weight:var(--heat-js-text-bold-weight-active)}div.heat-js div.title-bar button.back{margin-left:calc(var(--heat-js-spacing) * 2)!important}div.heat-js div.title-bar button.export,div.heat-js div.title-bar button.import{margin-right:calc(var(--heat-js-spacing) / 2)!important}div.heat-js div.title-bar div.year-text{margin-left:var(--heat-js-spacing);margin-right:var(--heat-js-spacing);display:inline-block;font-weight:var(--heat-js-title-bold-weight);position:relative;padding-top:5px;padding-bottom:5px;transition:var(--heat-js-transition);cursor:pointer}div.heat-js div.title-bar div.year-text:hover{color:var(--heat-js-title-opener-text-color-hover)}div.heat-js div.title-bar div.year-text:hover div.down-arrow{border-top-color:var(--heat-js-title-opener-text-color-hover)}div.heat-js div.title-bar div.year-text:hover div.years-list{display:block!important}div.heat-js div.title-bar div.year-text div.down-arrow{display:inline-block;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:9px solid var(--heat-js-color-white);transition:var(--heat-js-transition);margin-left:calc(var(--heat-js-spacing) / 2)}div.heat-js div.title-bar div.year-text div.years-list{animation:fade-in-animation var(--heat-js-animation-length);padding-top:5px;display:none;position:absolute;width:80px;left:50%;transform:translateX(-50%);margin-top:5px;z-index:1000}div.heat-js div.title-bar div.year-text div.years-list div.years{border-radius:var(--heat-js-border-radius);background-color:var(--heat-js-years-background-color);border:var(--heat-js-border-size) solid var(--heat-js-years-border-color);color:var(--heat-js-years-text-color);max-height:183px;height:100%;overflow-y:scroll;scroll-snap-type:y mandatory}div.heat-js div.title-bar div.year-text div.years-list div.years div.year{color:var(--heat-js-color-white);font-weight:var(--heat-js-text-bold-weight);border-bottom:var(--heat-js-border-size) dashed var(--heat-js-container-border-color);padding:var(--heat-js-spacing);text-align:center;width:100%;transition:var(--heat-js-transition);scroll-snap-align:start}div.heat-js div.title-bar div.year-text div.years-list div.years div.year:not(.year-active):active{opacity:0.5!important}div.heat-js div.title-bar div.year-text div.years-list div.years div.year:not(.year-active):hover{cursor:pointer;background-color:var(--heat-js-years-background-color-hover);color:var(--heat-js-years-text-color-hover)}div.heat-js div.title-bar div.year-text div.years-list div.years div.year:last-child{border-bottom:none}div.heat-js div.title-bar div.year-text div.years-list div.years div.year-active{background-color:var(--heat-js-years-background-color-hover);color:var(--heat-js-years-text-color-hover);font-weight:var(--heat-js-text-bold-weight-active);cursor:default!important}div.heat-js div.title-bar button.export,div.heat-js div.title-bar button.refresh,div.heat-js div.title-bar button.import{display:none}@media (min-width:768px){div.heat-js div.title-bar button.export,div.heat-js div.title-bar button.refresh,div.heat-js div.title-bar button.import{display:inline-block}}div.heat-js div.map-contents{overflow-x:scroll;overflow-y:hidden;min-height:191px;position:relative}div.heat-js div.map-contents div.no-data-message{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-weight:var(--heat-js-text-bold-weight)}div.heat-js div.map-contents div.map{display:inline-flex;flex-direction:row}div.heat-js div.map-contents div.map div.days,div.heat-js div.map-contents div.map div.days-months-bottom{background-color:var(--heat-js-container-background-color);padding-right:calc(var(--heat-js-spacing) * 3);padding-top:calc(var(--heat-js-spacing-font-size) + var(--heat-js-spacing) + 1px);position:sticky;left:0;display:none;z-index:50}@media (min-width:768px){div.heat-js div.map-contents div.map div.days,div.heat-js div.map-contents div.map div.days-months-bottom{display:block}}div.heat-js div.map-contents div.map div.days div.day-name,div.heat-js div.map-contents div.map div.days-months-bottom div.day-name{font-weight:var(--heat-js-text-bold-weight);text-align:left!important;height:var(--heat-js-day-size);margin-bottom:var(--heat-js-day-spacing);display:inline-flex;justify-content:center;flex-direction:column}div.heat-js div.map-contents div.map div.days-months-bottom{padding-top:0!important}div.heat-js div.map-contents div.map div.months{display:flex;justify-content:space-between;flex-grow:1}div.heat-js div.map-contents div.map div.months div.month{flex:1;pointer-events:none}div.heat-js div.map-contents div.map div.months div.month:last-child div.day-columns div.day-column:last-child div.day{margin-right:0!important}div.heat-js div.map-contents div.map div.months div.month div.month-name,div.heat-js div.map-contents div.map div.months div.month div.month-name-bottom{font-weight:var(--heat-js-text-bold-weight);text-align:left!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}div.heat-js div.map-contents div.map div.months div.month div.month-name{margin-bottom:var(--heat-js-spacing)}div.heat-js div.map-contents div.map div.months div.month div.month-name-bottom{margin-top:var(--heat-js-spacing)}div.heat-js div.map-contents div.map div.months div.month div.day-columns{display:flex;justify-content:space-between}div.heat-js div.map-contents div.map div.months div.month div.day-columns div.day-column div.day,div.heat-js div.map-contents div.map div.months div.month div.day-columns div.day-column div.day-disabled{display:flex;border-radius:var(--heat-js-border-radius-day);width:var(--heat-js-day-size);height:var(--heat-js-day-size);margin-right:var(--heat-js-day-spacing);margin-bottom:var(--heat-js-day-spacing);font-size:var(--heat-js-spacing-day-font-size);justify-content:center;align-items:center;overflow:hidden}div.heat-js div.map-contents div.map div.months div.month div.day-columns div.day-column div.day:last-child,div.heat-js div.map-contents div.map div.months div.month div.day-columns div.day-column div.day-disabled:last-child{margin-bottom:0}div.heat-js div.map-contents div.map div.months div.month div.day-columns div.day-column div.day{pointer-events:all;background-color:var(--heat-js-day-background-color);border:var(--heat-js-border-size) solid var(--heat-js-day-border-color);transition:var(--heat-js-transition);transition-property:opacity,background-color,color,border-color}div.heat-js div.map-contents div.map div.months div.month div.day-columns div.day-column div.day:not(.no-hover):hover{cursor:pointer;background:var(--heat-js-day-background-color-hover)}div.heat-js div.chart-contents{display:flex;overflow-x:scroll;overflow-y:hidden;text-wrap:nowrap;white-space:nowrap;position:relative}div.heat-js div.chart-contents div.no-data-message{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-weight:var(--heat-js-text-bold-weight)}div.heat-js div.chart-contents div.chart{display:inline-flex;flex-direction:row}div.heat-js div.chart-contents div.chart div.y-labels{background-color:var(--heat-js-container-background-color);padding-right:calc(var(--heat-js-spacing) * 3);padding-top:calc(var(--heat-js-spacing-font-size) + var(--heat-js-spacing) + 1px);position:sticky;left:0;display:none;border-right:var(--heat-js-border-size) solid var(--heat-js-container-border-color);z-index:50}@media (min-width:768px){div.heat-js div.chart-contents div.chart div.y-labels{display:block}}div.heat-js div.chart-contents div.chart div.y-labels div.label-0,div.heat-js div.chart-contents div.chart div.y-labels div.label-25,div.heat-js div.chart-contents div.chart div.y-labels div.label-50,div.heat-js div.chart-contents div.chart div.y-labels div.label-75,div.heat-js div.chart-contents div.chart div.y-labels div.label-100{font-weight:var(--heat-js-text-bold-weight);text-align:left!important;height:var(--heat-js-day-size);display:inline-flex;justify-content:center;flex-direction:column;position:absolute;left:0;padding-right:var(--heat-js-spacing)}div.heat-js div.chart-contents div.chart div.y-labels div.label-0{top:0}div.heat-js div.chart-contents div.chart div.y-labels div.label-25{top:25%;transform:translateY(-25%)}div.heat-js div.chart-contents div.chart div.y-labels div.label-50{top:50%;transform:translateY(-50%)}div.heat-js div.chart-contents div.chart div.y-labels div.label-75{top:75%;transform:translateY(-75%)}div.heat-js div.chart-contents div.chart div.y-labels div.label-100{bottom:0}div.heat-js div.chart-contents div.chart div.day-lines{flex:1;border-bottom:var(--heat-js-border-size) solid var(--heat-js-container-border-color)}div.heat-js div.chart-contents div.chart div.day-lines div.day-line-number{font-size:var(--heat-js-spacing-day-font-size);padding:calc(var(--heat-js-spacing) / 2);overflow:hidden}div.heat-js div.chart-contents div.chart div.day-lines div.day-line{border-top-left-radius:var(--heat-js-border-radius-day);border-top-right-radius:var(--heat-js-border-radius-day);background-color:var(--heat-js-day-background-color);border:var(--heat-js-border-size) solid var(--heat-js-day-border-color);border-bottom:none!important;vertical-align:bottom;min-width:var(--heat-js-day-chart-width);margin-right:1px;display:inline-block;transition:var(--heat-js-transition)}@media (min-width:768px){div.heat-js div.chart-contents div.chart div.day-lines div.day-line:first-child{margin-left:calc(var(--heat-js-spacing) / 2)}}div.heat-js div.chart-contents div.chart div.day-lines div.day-line:last-child{margin-right:0}div.heat-js div.chart-contents div.chart div.day-lines div.day-line:not(.no-hover):hover{cursor:pointer;background:var(--heat-js-day-background-color-hover)}div.heat-js div.chart-contents div.chart-months{position:relative;height:calc(var(--heat-js-spacing-font-size) + var(--heat-js-spacing))}div.heat-js div.chart-contents div.chart-months div.month-name,div.heat-js div.chart-contents div.chart-months div.month-name-space{font-weight:var(--heat-js-text-bold-weight);text-align:left!important;position:absolute;bottom:0}@media (min-width:768px){div.heat-js div.chart-contents div.chart-months div.month-name:first-child{margin-left:calc(var(--heat-js-spacing) / 2)}}div.heat-js div.chart-contents div.chart-months div.month-name:nth-child(2){margin-left:var(--heat-js-day-chart-width)}div.heat-js div.chart-contents div.chart-months div.month-name-space{left:0;top:0;position:sticky;background-color:var(--heat-js-container-background-color)}div.heat-js div.statistics-contents{display:flex;overflow:hidden;text-wrap:nowrap;white-space:nowrap;position:relative}div.heat-js div.statistics-contents div.no-statistics-message{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-weight:var(--heat-js-text-bold-weight)}div.heat-js div.statistics-contents div.statistics{display:flex;flex-direction:row}div.heat-js div.statistics-contents div.statistics div.y-labels{background-color:var(--heat-js-container-background-color);padding-right:calc(var(--heat-js-spacing) * 3);padding-top:calc(var(--heat-js-spacing-font-size) + var(--heat-js-spacing) + 1px);position:sticky;left:0;display:none;border-right:var(--heat-js-border-size) solid var(--heat-js-container-border-color);z-index:50}@media (min-width:768px){div.heat-js div.statistics-contents div.statistics div.y-labels{display:block}}div.heat-js div.statistics-contents div.statistics div.y-labels div.label-0,div.heat-js div.statistics-contents div.statistics div.y-labels div.label-25,div.heat-js div.statistics-contents div.statistics div.y-labels div.label-50,div.heat-js div.statistics-contents div.statistics div.y-labels div.label-75,div.heat-js div.statistics-contents div.statistics div.y-labels div.label-100{font-weight:var(--heat-js-text-bold-weight);text-align:left!important;height:var(--heat-js-day-size);display:inline-flex;justify-content:center;flex-direction:column;position:absolute;left:0;padding-right:var(--heat-js-spacing)}div.heat-js div.statistics-contents div.statistics div.y-labels div.label-0{top:0}div.heat-js div.statistics-contents div.statistics div.y-labels div.label-25{top:25%;transform:translateY(-25%)}div.heat-js div.statistics-contents div.statistics div.y-labels div.label-50{top:50%;transform:translateY(-50%)}div.heat-js div.statistics-contents div.statistics div.y-labels div.label-75{top:75%;transform:translateY(-75%)}div.heat-js div.statistics-contents div.statistics div.y-labels div.label-100{bottom:0}div.heat-js div.statistics-contents div.statistics div.range-lines{display:flex;align-items:baseline;flex:1;border-bottom:var(--heat-js-border-size) solid var(--heat-js-container-border-color);justify-content:space-between}div.heat-js div.statistics-contents div.statistics div.range-lines div.range-line-number{font-size:var(--heat-js-spacing-day-font-size);padding:calc(var(--heat-js-spacing) / 2);position:relative;overflow:hidden}div.heat-js div.statistics-contents div.statistics div.range-lines div.range-line-number div.count{position:absolute;top:calc(var(--heat-js-spacing) / 2);left:50%;transform:translateX(-50%)}div.heat-js div.statistics-contents div.statistics div.range-lines div.range-line{border-top-left-radius:var(--heat-js-border-radius-day);border-top-right-radius:var(--heat-js-border-radius-day);background-color:var(--heat-js-day-background-color);border:var(--heat-js-border-size) solid var(--heat-js-day-border-color);border-bottom:none!important;vertical-align:bottom;flex:1 100%;margin-right:var(--heat-js-spacing);display:inline-block;transition:var(--heat-js-transition)}@media (min-width:768px){div.heat-js div.statistics-contents div.statistics div.range-lines div.range-line:first-child{margin-left:calc(var(--heat-js-spacing) / 2)}}div.heat-js div.statistics-contents div.statistics div.range-lines div.range-line:last-child{margin-right:0}div.heat-js div.statistics-contents div.statistics div.range-lines div.range-line:not(.no-hover):hover{cursor:pointer;background:var(--heat-js-day-background-color-hover)}div.heat-js div.statistics-contents div.statistics-ranges{display:flex;flex:1;position:relative;justify-content:space-between;align-items:baseline;height:calc(var(--heat-js-spacing-font-size) + var(--heat-js-spacing) + 3px)}div.heat-js div.statistics-contents div.statistics-ranges div.range-name{flex:1 100%;margin-top:var(--heat-js-spacing);font-weight:var(--heat-js-text-bold-weight);text-align:center!important;overflow:hidden;text-overflow:ellipsis}div.heat-js div.description{text-align:center;margin-top:calc(var(--heat-js-spacing) + var(--heat-js-spacing) / 2);text-align:center}@media (min-width:768px){div.heat-js div.description{text-align:left}}@media (min-width:768px){div.heat-js div.description{text-align:left}}div.heat-js div.description span.label,div.heat-js div.description a.label,div.heat-js div.description a.label:visited{color:var(--heat-js-color-white);font-weight:var(--heat-js-text-bold-weight);text-decoration:none}div.heat-js div.description a.label{transition:var(--heat-js-transition)}div.heat-js div.description a.label:active{color:var(--heat-js-color-gray)}div.heat-js div.description a.label:hover{text-decoration:underline}div.heat-js div.guide{display:block}@media (min-width:768px){div.heat-js div.guide{display:flex}}div.heat-js div.guide div.map-types,div.heat-js div.guide div.map-toggles{margin-top:calc(var(--heat-js-spacing) + var(--heat-js-spacing) / 2);width:100%}@media (min-width:768px){div.heat-js div.guide div.map-types,div.heat-js div.guide div.map-toggles{margin-bottom:0}}div.heat-js div.guide div.map-types{text-align:center;flex-grow:unset;margin-right:0;text-align:center}@media (min-width:768px){div.heat-js div.guide div.map-types{text-align:left;width:unset;flex-grow:1;margin-right:var(--heat-js-spacing)}}div.heat-js div.guide div.map-types button{background-color:var(--heat-js-button-background-color);border:var(--heat-js-border-size) solid var(--heat-js-button-border-color);color:var(--heat-js-button-text-color);border-radius:var(--heat-js-border-radius);padding-top:5px;padding-bottom:5px;padding-left:9px;padding-right:9px;outline:none;transition:var(--heat-js-transition)}div.heat-js div.guide div.map-types button:not(.active):active{background:var(--heat-js-button-background-color-active)!important;color:var(--heat-js-button-text-color-active)!important}div.heat-js div.guide div.map-types button:not(.active):hover{cursor:pointer;background:var(--heat-js-button-background-color-hover);color:var(--heat-js-button-text-color-hover)}div.heat-js div.guide div.map-types button.active{cursor:default;background:var(--heat-js-button-background-color-hover);color:var(--heat-js-button-text-color-hover);transition:var(--heat-js-transition);font-weight:var(--heat-js-text-bold-weight-active)}@media (min-width:768px){div.heat-js div.guide div.map-types{text-align:left}}div.heat-js div.guide div.map-types span.label,div.heat-js div.guide div.map-types a.label,div.heat-js div.guide div.map-types a.label:visited{color:var(--heat-js-color-white);font-weight:var(--heat-js-text-bold-weight);text-decoration:none}div.heat-js div.guide div.map-types a.label{transition:var(--heat-js-transition)}div.heat-js div.guide div.map-types a.label:active{color:var(--heat-js-color-gray)}div.heat-js div.guide div.map-types a.label:hover{text-decoration:underline}div.heat-js div.guide div.map-types button{margin-left:0!important;margin-right:calc(var(--heat-js-spacing) / 2)!important}div.heat-js div.guide div.map-toggles{display:flex;align-items:center;justify-content:center;text-align:center}@media (min-width:768px){div.heat-js div.guide div.map-toggles{text-align:right;justify-content:right;width:auto}}div.heat-js div.guide div.map-toggles div.less-text,div.heat-js div.guide div.map-toggles div.more-text{display:inline-block;font-weight:var(--heat-js-text-bold-weight);transition:var(--heat-js-transition)}div.heat-js div.guide div.map-toggles div.less-text:hover,div.heat-js div.guide div.map-toggles div.more-text:hover{cursor:pointer;text-decoration:underline}div.heat-js div.guide div.map-toggles div.less-text:active,div.heat-js div.guide div.map-toggles div.more-text:active{color:var(--heat-js-color-gray)}div.heat-js div.guide div.map-toggles div.less-text{margin-right:var(--heat-js-spacing)}div.heat-js div.guide div.map-toggles div.more-text{margin-left:var(--heat-js-spacing)}div.heat-js div.guide div.map-toggles div.days{display:inline-flex;align-items:center;justify-content:right}div.heat-js div.guide div.map-toggles div.days div.day-number{display:inline-flex!important;justify-content:center;align-items:center;overflow:hidden;text-align:center;font-size:var(--heat-js-spacing-day-font-size);padding-left:calc(var(--heat-js-spacing) / 2);padding-right:calc(var(--heat-js-spacing) / 2)}div.heat-js div.guide div.map-toggles div.days div.day{background-color:var(--heat-js-day-background-color);border:var(--heat-js-border-size) solid var(--heat-js-day-border-color);display:inline-block;border-radius:var(--heat-js-border-radius-day);min-width:var(--heat-js-day-size);height:var(--heat-js-day-size);margin-right:var(--heat-js-day-spacing);transition:var(--heat-js-transition)}div.heat-js div.guide div.map-toggles div.days div.day:last-child{margin-right:0}div.heat-js div.guide div.map-toggles div.days div.day:not(.no-hover):hover{cursor:pointer;background:var(--heat-js-day-background-color-hover)}div.heat-js div.day-color-1:not(.no-hover):active,div.heat-js div.day-color-2:not(.no-hover):active,div.heat-js div.day-color-3:not(.no-hover):active,div.heat-js div.day-color-4:not(.no-hover):active,div.heat-js div.holiday:not(.no-hover):active{opacity:var(--heat-js-day-opacity-active)!important}div.heat-js div.day-color-1:not(.no-hover):hover,div.heat-js div.day-color-2:not(.no-hover):hover,div.heat-js div.day-color-3:not(.no-hover):hover,div.heat-js div.day-color-4:not(.no-hover):hover,div.heat-js div.holiday:not(.no-hover):hover{cursor:pointer;opacity:var(--heat-js-day-opacity-hover)}div.heat-js div.holiday{background-color:var(--heat-js-holiday-background-color)!important;border:var(--heat-js-border-size-day) solid var(--heat-js-holiday-border-color)!important;color:var(--heat-js-holiday-text-color)}div.heat-js div.day-color-1{background-color:var(--heat-js-day-color-1-background-color)!important;border:var(--heat-js-border-size-day) solid var(--heat-js-day-color-1-border-color)!important;color:var(--heat-js-day-color-1-text-color)}div.heat-js div.day-color-2{background-color:var(--heat-js-day-color-2-background-color)!important;border:var(--heat-js-border-size-day) solid var(--heat-js-day-color-2-border-color)!important;color:var(--heat-js-day-color-2-text-color)}div.heat-js div.day-color-3{background-color:var(--heat-js-day-color-3-background-color)!important;border:var(--heat-js-border-size-day) solid var(--heat-js-day-color-3-border-color)!important;color:var(--heat-js-day-color-3-text-color)}div.heat-js div.day-color-4{background-color:var(--heat-js-day-color-4-background-color)!important;border:var(--heat-js-border-size-day) solid var(--heat-js-day-color-4-border-color)!important;color:var(--heat-js-day-color-4-text-color)}div.heat-js-tooltip{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:default;box-sizing:border-box;line-height:normal;font-family:var(--heat-js-default-font);animation:fade-in-animation var(--heat-js-animation-length);position:absolute;background-color:var(--heat-js-tooltip-background-color);border:var(--heat-js-border-size) solid var(--heat-js-tooltip-border-color);color:var(--heat-js-tooltip-text-color);border-radius:var(--heat-js-border-radius);z-index:2000;max-width:300px;padding:var(--heat-js-spacing);font-size:var(--heat-js-spacing-font-size);font-weight:var(--heat-js-text-bold-weight);display:none}@keyframes fade-in-animation{0%{opacity:0}100%{opacity:1}} \ No newline at end of file diff --git a/dist/heat.min.js b/dist/heat.min.js index e22c5954..e68f62ef 100644 --- a/dist/heat.min.js +++ b/dist/heat.min.js @@ -1,71 +1,72 @@ /*! Heat.js v2.7.0 | (c) Bunoon 2024 | MIT License */ -(function(){function wa(){for(var a=h.domElementTypes,b=a.length,c=0;cf;f++)a.views.map.daysToShow.indexOf(f+1)>I.notFound&&u(e,"div","day-name",h.dayNames[f]);a.views.map.showDaysInReverseOrder&&Ba(e)}e=q(d,"div","months");d=fa(a); -for(f=0;12>f;f++)if(ha(a.views.map.monthsToShow,f)){g=q(e,"div","month");var m=q(g,"div","day-columns"),E=Z(l,f),D=q(m,"div","day-column"),B=!1;var y=qa(new Date(l,f,1));var H=1;E+=y;for(var J=0;J=y?B=!0:a.views.map.daysToShow.indexOf(H)>I.notFound&&q(D,"div","day-disabled");if(B){var R=null;a.views.map.daysToShow.indexOf(H)>I.notFound&&(R=Qa(a,D,J-y,f,l,d));if(0===(J+1)%7&&(a.views.map.showDaysInReverseOrder&&Ba(D),D=q(m,"div","day-column"),H=0,!p(V)&&p(R))){var Ra=ia(R,"margin-left",!0), -Sa=ia(R,"margin-right",!0);V=R.offsetWidth+Ra+Sa}}H++}a.views.map.showMonthNames&&(E=g.offsetWidth,m=a.views.map.placeMonthNamesOnTheBottom?u(g,"div","month-name-bottom",h.monthNames[f]):u(g,"div","month-name",h.monthNames[f],m),p(m)&&(m.style.width=a.views.map.showMonthDayGaps?E+"px":E-V+"px"));b&&p(V)&&(0m;m++)for(E=Z(a.currentView.year,m),D=0;Dm;m++)if(ha(a.views.chart.monthsToShow,m))for(E=Z(f,m),D=1,d++,B=0;BI.notFound&&Ta(l,a,B+1,m,f,b,g),0===(B+1)%7&&(D=0),D++,y++;if(a.views.chart.showMonthNames){b=q(a.currentView.chartContents,"div","chart-months");d=l.offsetWidth/d;for(g=f=0;12>g;g++)ha(a.views.chart.monthsToShow,g)&&(u(b,"div","month-name",h.monthNames[g]).style.left=e+d*f+"px",f++);b.style.width=l.offsetWidth+"px";l=q(b,"div","month-name-space");l.style.height=b.offsetHeight+"px"; -l.style.width=e+"px"}a.keepScrollPositions&&(a.currentView.chartContents.scrollLeft=a.currentView.chartContentsScrollLeft)}a.currentView.chartContents.style.display="none"}if(a.views.statistics.enabled){d=c;f=q(a.currentView.statisticsContents,"div","statistics");c=q(a.currentView.statisticsContents,"div","statistics-ranges");g=q(f,"div","y-labels");l=q(f,"div","range-lines");b=fa(a);e={};y=0;m=O(a);for(E=e[r.zero]=0;12>E;E++)for(D=Z(a.currentView.year,E),B=0;BI.notFound&&(H=ra(a,b,m[H]),p(H)?(e.hasOwnProperty(H.minimum.toString())||(e[H.minimum.toString()]=0),e[H.minimum]++,y=K.max(y,e[H.minimum])):e[r.zero]++));d&&x(f,"view-switch");0I.notFound}function Na(a){p(a.currentView.tooltip)||(a.currentView.tooltip= -q(F.body,"div","heat-js-tooltip"),a.currentView.tooltip.style.display="none",F.body.addEventListener("mousemove",function(){ea(a)}),F.addEventListener("scroll",function(){ea(a)}))}function W(a,b,c){null!==a&&(a.onmousemove=function(d){Va(d,b,c)})}function Va(a,b,c){aa(a);ea(b);b.currentView.tooltipTimer=setTimeout(function(){b.currentView.tooltip.innerHTML=c;b.currentView.tooltip.style.display="block";var d=b.currentView.tooltip,e=a.pageX,f=a.pageY;var g=F.documentElement;var l=(A.pageXOffset||g.scrollLeft)- -(g.clientLeft||0);g=(A.pageYOffset||g.scrollTop)-(g.clientTop||0);d.style.display="block";e+d.offsetWidth>A.innerWidth?e-=d.offsetWidth:e++;f+d.offsetHeight>A.innerHeight?f-=d.offsetHeight:f++;e=g&&(a.style.visibility="hidden");M(b.onDayClick)?a.onclick=function(){v(b.onDayClick,l,m)}:x(a,"no-hover");f=ra(b,f,m,l);p(f)&&ja(b,f.id)&&(n(f.chartCssClassName)?x(a,f.chartCssClassName):x(a,f.cssClassName))} -function Ua(a,b,c,d,e,f){b=q(b,"div","range-line");var g=Da(e,a);a=c*f;b.style.height=a+"px";0>=a&&(b.style.visibility="hidden");W(b,d,c.toString());d.views.statistics.showRangeNumbers&&0=f.minimum)e=f;else break}return e}function Da(a,b){for(var c=a.length,d=null,e=0;e'); -g.push("");for(f in l)l.hasOwnProperty(f)&&(g.push(""),g.push(""+f+""),g.push(""+l[f]+""),g.push(""));g.push("");c=g.join(r.newLine)}else if("txt"===e){l=ka(a);f=[];for(g in l)l.hasOwnProperty(g)&&f.push(g+": "+l[g].toString());c=f.join(r.newLine)}n(c)&&(l=q(F.body,"a"),l.style.display="none",l.setAttribute("target","_blank"),l.setAttribute("href","data:"+d+";charset=utf-8,"+encodeURIComponent(c)),d=l.setAttribute,g=new Date,f=P(g.getDate())+ -r.dash+P(g.getMonth()+1)+r.dash+g.getFullYear(),g=P(g.getHours())+r.dash+P(g.getMinutes()),c=r.empty,a.currentView.type!==h.unknownTrendText&&(c=a.currentView.type.toLowerCase().replace(r.space,r.underscore)+r.underscore),f=c+f+r.underscore+g+"."+a.exportType.toLowerCase(),d.call(l,"download",f),l.click(),F.body.removeChild(l),v(a.onExport,a.currentView.element))}function ka(a){var b={},c=O(a);if(a.exportOnlyYearBeingViewed)for(var d=0;12>d;d++)for(var e=Z(a.currentView.year,d),f=0;fa.getDay()-1?6:a.getDay()-1}function Fa(a, -b){var c=a,d=qa(b);c=c.replace("{dddd}",h.dayNames[d]);c=c.replace("{dd}",P(b.getDate()));c=c.replace("{d}",b.getDate());d=c.replace;var e=b.getDate(),f=h.thText;if(31===e||21===e||1===e)f=h.stText;else if(22===e||2===e)f=h.ndText;else if(23===e||3===e)f=h.rdText;c=d.call(c,"{o}",f);c=c.replace("{mmmm}",h.monthNames[b.getMonth()]);c=c.replace("{mm}",P(b.getMonth()+1));c=c.replace("{m}",b.getMonth()+1);c=c.replace("{yyyy}",b.getFullYear());c=c.replace("{yyy}",b.getFullYear().toString().substring(1)); -c=c.replace("{yy}",b.getFullYear().toString().substring(2));return c=c.replace("{y}",parseInt(b.getFullYear().toString().substring(2)).toString())}function p(a){return null!==a&&void 0!==a&&a!==r.empty}function G(a){return p(a)&&"object"===typeof a}function L(a){return p(a)&&"boolean"===typeof a}function n(a){return p(a)&&"string"===typeof a}function M(a){return p(a)&&"function"===typeof a}function X(a){return p(a)&&"number"===typeof a}function T(a){return G(a)&&a instanceof Array}function ma(a){return G(a)&& -a instanceof Date}function $a(a){a=a.toLowerCase();var b="text"===a;Y.hasOwnProperty(a)||(Y[a]=b?F.createTextNode(r.empty):F.createElement(a));return Y[a].cloneNode(!1)}function q(a,b,c,d){b=b.toLowerCase();var e="text"===b;Y.hasOwnProperty(b)||(Y[b]=e?F.createTextNode(r.empty):F.createElement(b));b=Y[b].cloneNode(!1);p(c)&&(b.className=c);p(d)?a.insertBefore(b,d):a.appendChild(b);return b}function u(a,b,c,d,e){a=q(a,b,c,e);a.innerHTML=d;return a}function ia(a,b,c){var d=null;c=p(c)?c:!1;A.getComputedStyle? -d=F.defaultView.getComputedStyle(a,null).getPropertyValue(b):a.currentStyle&&(d=a.currentStyle[b]);c&&(d=parseFloat(d,10));return d}function x(a,b){a.className+=r.space+b}function aa(a){a.preventDefault();a.cancelBubble=!0}function Ba(a){for(var b=a.children,c=b.length-1;c--;)a.appendChild(b[c])}function v(a){var b=null;M(a)&&(b=a.apply(null,[].slice.call(arguments,1)));return b}function t(a,b){return n(a)?a:b}function w(a,b){return L(a)?a:b}function C(a,b){return M(a)?a:b}function ca(a,b){return X(a)? -a:b}function na(a){var b=!0,c=null;try{n(a)&&(c=da.parse(a))}catch(d){try{c=eval("("+a+")"),M(c)&&(c=c())}catch(e){h.safeMode||(console.error(h.objectErrorText.replace("{{error_1}}",d.message).replace("{{error_2}}",e.message)),b=!1),c=null}}return{parsed:b,result:c}}function U(){for(var a=[],b=0;32>b;b++){8!==b&&12!==b&&16!==b&&20!==b||a.push(r.dash);var c=K.floor(16*K.random()).toString(16);a.push(c)}return a.join(r.empty)}function P(a){a=a.toString();return 1===a.length?r.zero+a:a}function Aa(a, -b){return a.substring(0,b.length).toLowerCase()===b.toLowerCase()}function N(a){return a.getFullYear()+r.dash+P(a.getMonth()+1)+r.dash+P(a.getDate())}function ta(a,b){b=p(b)?b:!0;for(a.currentView.year--;a.yearsToHide.indexOf(a.currentView.year)>I.notFound;)a.currentView.year--;z(a);b&&v(a.onBackYear,a.currentView.year)}function ba(a,b){b=p(b)?b:!0;for(a.currentView.year++;a.yearsToHide.indexOf(a.currentView.year)>I.notFound;)a.currentView.year++;z(a);b&&v(a.onNextYear,a.currentView.year)}function Ka(a){a.currentView.element.innerHTML= -r.empty;a.currentView.element.className=r.empty;F.body.removeChild(a.currentView.tooltip);a.currentView.isInFetchMode&&p(a.currentView.isInFetchModeTimer)&&clearInterval(a.currentView.isInFetchModeTimer);v(a.onDestroy,a.currentView.element)}function La(a){h=G(a)?a:{};h.safeMode=w(h.safeMode,!0);a=h;var b=h.domElementTypes,c=["*"];n(b)?(b=b.split(r.space),0===b.length&&(b=c)):b=T(b)?b:c;a.domElementTypes=b;h.stText=t(h.stText,"st");h.ndText=t(h.ndText,"nd");h.rdText=t(h.rdText,"rd");h.thText=t(h.thText, -"th");h.backButtonText=t(h.backButtonText,"Back");h.nextButtonText=t(h.nextButtonText,"Next");h.refreshButtonText=t(h.refreshButtonText,"Refresh");h.exportButtonText=t(h.exportButtonText,"Export");h.lessText=t(h.lessText,"Less");h.moreText=t(h.moreText,"More");h.dateText=t(h.dateText,"Date");h.countText=t(h.countText,"Count");h.mapText=t(h.mapText,"Map");h.chartText=t(h.chartText,"Chart");h.noChartDataMessage=t(h.noChartDataMessage,"There is currently no data to view.");h.statisticsText=t(h.statisticsText, -"Statistics");h.noStatisticsDataMessage=t(h.noStatisticsDataMessage,"There are currently no statistics to view.");h.unknownTrendText=t(h.unknownTrendText,"Unknown");h.importButtonText=t(h.importButtonText,"Import");h.noMapDataMessage=t(h.noMapDataMessage,"There is currently no data to view.");h.objectErrorText=t(h.objectErrorText,"Errors in object: {{error_1}}, {{error_2}}");Q(h.monthNames,12)&&(h.monthNames="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "));Q(h.dayNames,7)&&(h.dayNames= -"Mon Tue Wed Thu Fri Sat Sun".split(" "))}function Q(a,b){b=X(b)?b:1;return!T(a)||a.lengthI.notFound?ba(c,!1):z(c);v(c.onSetYear,c.currentView.year)}return this};this.setYearToHighest=function(a){if(n(a)&&k.hasOwnProperty(a)){a= -k[a].options;var b=O(a),c=0,d;for(d in b)b.hasOwnProperty(d)&&(c=K.max(c,parseInt(d.split(r.dash)[0])));0I.notFound?ba(a,!1):z(a),v(a.onSetYear,a.currentView.year))}return this};this.setYearToLowest=function(a){if(n(a)&&k.hasOwnProperty(a)){a=k[a].options;var b=O(a),c=9999,d;for(d in b)b.hasOwnProperty(d)&&(c=K.min(c,parseInt(d.split(r.dash)[0])));9999>c&&(a.currentView.year=c,a.yearsToHide.indexOf(a.currentView.year)>I.notFound? -ta(a,!1):z(a),v(a.onSetYear,a.currentView.year))}return this};this.moveToPreviousYear=function(a){n(a)&&k.hasOwnProperty(a)&&ta(k[a].options);return this};this.moveToNextYear=function(a){n(a)&&k.hasOwnProperty(a)&&ba(k[a].options);return this};this.moveToCurrentYear=function(a){n(a)&&k.hasOwnProperty(a)&&(a=k[a].options,a.currentView.year=(new Date).getFullYear(),a.yearsToHide.indexOf(a.currentView.year)>I.notFound?ba(a,!1):z(a),v(a.onSetYear,a.currentView.year));return this};this.getYear=function(a){var b= -null;n(a)&&k.hasOwnProperty(a)&&(b=k[a].options.currentView.year);return b};this.render=function(a,b){G(a)&&G(b)&&xa(ya(b,a));return this};this.renderAll=function(){wa();return this};this.switchView=function(a,b){if(n(a)&&n(b)&&k.hasOwnProperty(a)){var c=k[a].options,d=null;"map"===b.toLowerCase()?d=1:"chart"===b.toLowerCase()?d=2:"statistics"===b.toLowerCase()&&(d=3);X(d)&&(c.currentView.view=d,v(c.onViewSwitch,b),z(c,!1,!0))}return this};this.switchType=function(a,b){if(n(a)&&n(b)&&k.hasOwnProperty(a)&& -k[a].type.hasOwnProperty(b)){var c=k[a].options;c.currentView.type!==b&&(c.currentView.type=b,v(c.onTypeSwitch,b),z(c))}return this};this.updateOptions=function(a,b){if(n(a)&&G(b)&&k.hasOwnProperty(a)){var c=k[a].options,d=za(b),e=!1,f;for(f in d)d.hasOwnProperty(f)&&c.hasOwnProperty(f)&&c[f]!==d[f]&&(c[f]=d[f],e=!0);e&&(z(c,!0),v(c.onRefresh,c.currentView.element))}return this};this.destroyAll=function(){for(var a in k)k.hasOwnProperty(a)&&Ka(k[a].options);k={};return this};this.destroy=function(a){n(a)&& -k.hasOwnProperty(a)&&(Ka(k[a].options),delete k[a]);return this};this.setConfiguration=function(a,b){if(G(a)){var c=!1,d;for(d in a)a.hasOwnProperty(d)&&h.hasOwnProperty(d)&&h[d]!==a[d]&&(h[d]=a[d],c=!0);c&&(b=p(b)?b:!0,La(h),b&&this.refreshAll())}return this};this.getIds=function(){var a=[],b;for(b in k)k.hasOwnProperty(b)&&a.push(b);return a};this.getVersion=function(){return"2.7.0"};(function(a,b,c,d){F=a;A=b;K=c;da=d;La();F.addEventListener("DOMContentLoaded",function(){wa()});A.addEventListener("unload", -function(){for(var e in k)if(k.hasOwnProperty(e)){var f=k[e].options;p(f.currentView.isInFetchModeTimer)&&clearInterval(f.currentView.isInFetchModeTimer)}});p(A.$heat)||(A.$heat=this)})(document,window,Math,JSON)})(); \ No newline at end of file +(function(){function xa(){for(var a=h.domElementTypes,b=a.length,c=0;cf;f++)a.views.map.daysToShow.indexOf(f+1)>N.notFound&&u(e,"div","day-name",h.dayNames[f]);a.views.map.showDaysInReverseOrder&&Ca(e)}e=q(d, +"div","months");d=ha(a);for(f=0;12>f;f++)if(ia(a.views.map.monthsToShow,f)){g=q(e,"div","month");var m=q(g,"div","day-columns"),E=aa(l,f),D=q(m,"div","day-column"),B=!1;var y=ra(new Date(l,f,1));var H=1;E+=y;for(var I=0;I=y?B=!0:a.views.map.daysToShow.indexOf(H)>N.notFound&&q(D,"div","day-disabled");if(B){var R=null;a.views.map.daysToShow.indexOf(H)>N.notFound&&(R=Sa(a,D,I-y,f,l,d));if(0===(I+1)%7&&(a.views.map.showDaysInReverseOrder&&Ca(D),D=q(m,"div","day-column"),H=0,!p(W)&&p(R))){var Ta= +ja(R,"margin-left",!0),Ua=ja(R,"margin-right",!0);W=R.offsetWidth+Ta+Ua}}H++}a.views.map.showMonthNames&&(E=g.offsetWidth,m=a.views.map.placeMonthNamesOnTheBottom?u(g,"div","month-name-bottom",h.monthNames[f]):u(g,"div","month-name",h.monthNames[f],m),p(m)&&(m.style.width=a.views.map.showMonthDayGaps?E+"px":E-W+"px"));b&&p(W)&&(0m;m++)for(E=aa(a.currentView.year,m),D=0;Dm;m++)if(ia(a.views.chart.monthsToShow,m))for(E=aa(f,m),D=1,d++,B=0;BN.notFound&&Va(l,a,B+1,m,f,b,g),0===(B+1)%7&&(D=0),D++,y++;if(a.views.chart.showMonthNames){b=q(a.currentView.chartContents,"div","chart-months");d=l.offsetWidth/d;for(g=f=0;12>g;g++)ia(a.views.chart.monthsToShow,g)&&(u(b,"div","month-name",h.monthNames[g]).style.left=e+d*f+"px",f++);b.style.width=l.offsetWidth+"px";l=q(b,"div","month-name-space");l.style.height=b.offsetHeight+ +"px";l.style.width=e+"px"}a.keepScrollPositions&&(a.currentView.chartContents.scrollLeft=a.currentView.chartContentsScrollLeft)}a.currentView.chartContents.style.display="none"}if(a.views.statistics.enabled){d=c;f=q(a.currentView.statisticsContents,"div","statistics");c=q(a.currentView.statisticsContents,"div","statistics-ranges");g=q(f,"div","y-labels");l=q(f,"div","range-lines");b=ha(a);e={};y=0;m=M(a);for(E=e[r.zero]=0;12>E;E++)for(D=aa(a.currentView.year,E),B=0;BN.notFound&&(H=sa(a,b,m[H]),p(H)?(e.hasOwnProperty(H.minimum.toString())||(e[H.minimum.toString()]=0),e[H.minimum]++,y=J.max(y,e[H.minimum])):e[r.zero]++));d&&x(f,"view-switch");0A.innerWidth?e-=d.offsetWidth:e++;f+d.offsetHeight>A.innerHeight?f-=d.offsetHeight:f++;e=g&&(a.style.visibility="hidden");L(b.onDayClick)?a.onclick=function(){w(b.onDayClick,l,m)}:x(a,"no-hover");f=sa(b,f,m,l);p(f)&&ka(b,f.id)&&(n(f.chartCssClassName)?x(a,f.chartCssClassName):x(a,f.cssClassName))}function Wa(a,b,c,d,e,f){b=q(b,"div","range-line");var g=Ea(e,a);a=c*f;b.style.height=a+"px";0>=a&&(b.style.visibility="hidden");X(b,d,c.toString()); +d.views.statistics.showRangeNumbers&&0N.notFound}function Na(a){var b=[];if(a.showOnlyDataForYearsAvailable){a=M(a);for(var c in a)if(a.hasOwnProperty(c)){var d=parseInt(c.split(r.dash)[0]);b.indexOf(d)===N.notFound&&b.push(d)}}return b=b.sort(function(e,f){return e- +f})}function T(a,b){return a.yearsToHide.indexOf(b)===N.notFound&&(0===a.currentView.yearsAvailable.length||a.currentView.yearsAvailable.indexOf(b)>N.notFound)}function Oa(a){a.currentView.isInFetchMode&&(p(a.currentView.isInFetchModeTimer)||Ja(a),p(a.currentView.isInFetchModeTimer)||(a.currentView.isInFetchModeTimer=setInterval(function(){Ja(a);z(a)},a.dataFetchDelay)))}function Ja(a){var b=a.currentView.element.id,c=w(a.onDataFetch,b);if(G(c)){pa(b,a,!1);for(var d in c)c.hasOwnProperty(d)&&(k[b].type[h.unknownTrendText].hasOwnProperty(d)|| +(k[b].type[h.unknownTrendText][d]=0),k[b].type[h.unknownTrendText][d]+=c[d])}}function ka(a,b){var c=!1;if("HOLIDAY"===b)c=!0;else for(var d=a.colorRanges.length,e=0;e=f.minimum)e=f;else break}return e}function Ea(a,b){for(var c=a.length,d=null,e=0;e');g.push("");for(f in l)l.hasOwnProperty(f)&&(g.push(""),g.push(""+f+""),g.push(""+l[f]+""),g.push(""));g.push("");c=g.join(r.newLine)}else if("txt"=== +e){l=la(a);f=[];for(g in l)l.hasOwnProperty(g)&&f.push(g+": "+l[g].toString());c=f.join(r.newLine)}n(c)&&(l=q(F.body,"a"),l.style.display="none",l.setAttribute("target","_blank"),l.setAttribute("href","data:"+d+";charset=utf-8,"+encodeURIComponent(c)),d=l.setAttribute,g=new Date,f=P(g.getDate())+r.dash+P(g.getMonth()+1)+r.dash+g.getFullYear(),g=P(g.getHours())+r.dash+P(g.getMinutes()),c=r.empty,a.currentView.type!==h.unknownTrendText&&(c=a.currentView.type.toLowerCase().replace(r.space,r.underscore)+ +r.underscore),f=c+f+r.underscore+g+"."+a.exportType.toLowerCase(),d.call(l,"download",f),l.click(),F.body.removeChild(l),w(a.onExport,a.currentView.element))}function la(a){var b={},c=M(a);if(a.exportOnlyYearBeingViewed)for(var d=0;12>d;d++)for(var e=aa(a.currentView.year,d),f=0;fa.getDay()-1?6:a.getDay()-1}function Ga(a,b){var c=a,d=ra(b);c=c.replace("{dddd}",h.dayNames[d]);c=c.replace("{dd}",P(b.getDate()));c=c.replace("{d}",b.getDate());d= +c.replace;var e=b.getDate(),f=h.thText;if(31===e||21===e||1===e)f=h.stText;else if(22===e||2===e)f=h.ndText;else if(23===e||3===e)f=h.rdText;c=d.call(c,"{o}",f);c=c.replace("{mmmm}",h.monthNames[b.getMonth()]);c=c.replace("{mm}",P(b.getMonth()+1));c=c.replace("{m}",b.getMonth()+1);c=c.replace("{yyyy}",b.getFullYear());c=c.replace("{yyy}",b.getFullYear().toString().substring(1));c=c.replace("{yy}",b.getFullYear().toString().substring(2));return c=c.replace("{y}",parseInt(b.getFullYear().toString().substring(2)).toString())} +function p(a){return null!==a&&void 0!==a&&a!==r.empty}function G(a){return p(a)&&"object"===typeof a}function K(a){return p(a)&&"boolean"===typeof a}function n(a){return p(a)&&"string"===typeof a}function L(a){return p(a)&&"function"===typeof a}function Y(a){return p(a)&&"number"===typeof a}function U(a){return G(a)&&a instanceof Array}function na(a){return G(a)&&a instanceof Date}function bb(a){a=a.toLowerCase();var b="text"===a;Z.hasOwnProperty(a)||(Z[a]=b?F.createTextNode(r.empty):F.createElement(a)); +return Z[a].cloneNode(!1)}function q(a,b,c,d){b=b.toLowerCase();var e="text"===b;Z.hasOwnProperty(b)||(Z[b]=e?F.createTextNode(r.empty):F.createElement(b));b=Z[b].cloneNode(!1);p(c)&&(b.className=c);p(d)?a.insertBefore(b,d):a.appendChild(b);return b}function u(a,b,c,d,e){a=q(a,b,c,e);a.innerHTML=d;return a}function ja(a,b,c){var d=null;c=p(c)?c:!1;A.getComputedStyle?d=F.defaultView.getComputedStyle(a,null).getPropertyValue(b):a.currentStyle&&(d=a.currentStyle[b]);c&&(d=parseFloat(d,10));return d} +function x(a,b){a.className+=r.space+b}function ba(a){a.preventDefault();a.cancelBubble=!0}function Ca(a){for(var b=a.children,c=b.length-1;c--;)a.appendChild(b[c])}function w(a){var b=null;L(a)&&(b=a.apply(null,[].slice.call(arguments,1)));return b}function t(a,b){return n(a)?a:b}function v(a,b){return K(a)?a:b}function C(a,b){return L(a)?a:b}function da(a,b){return Y(a)?a:b}function oa(a){var b=!0,c=null;try{n(a)&&(c=ea.parse(a))}catch(d){try{c=eval("("+a+")"),L(c)&&(c=c())}catch(e){h.safeMode|| +(console.error(h.objectErrorText.replace("{{error_1}}",d.message).replace("{{error_2}}",e.message)),b=!1),c=null}}return{parsed:b,result:c}}function V(){for(var a=[],b=0;32>b;b++){8!==b&&12!==b&&16!==b&&20!==b||a.push(r.dash);var c=J.floor(16*J.random()).toString(16);a.push(c)}return a.join(r.empty)}function P(a){a=a.toString();return 1===a.length?r.zero+a:a}function Ba(a,b){return a.substring(0,b.length).toLowerCase()===b.toLowerCase()}function O(a){return a.getFullYear()+r.dash+P(a.getMonth()+1)+ +r.dash+P(a.getDate())}function ua(a,b){b=p(b)?b:!0;var c=!0,d=a.currentView.year;for(d--;!T(a,d);){if(0=a.currentView.yearsAvailable[a.currentView.yearsAvailable.length-1]){c=!1;break}d++}c&&(a.currentView.year=d,z(a),b&&w(a.onBackYear, +a.currentView.year))}function La(a){a.currentView.element.innerHTML=r.empty;a.currentView.element.className=r.empty;F.body.removeChild(a.currentView.tooltip);a.currentView.isInFetchMode&&p(a.currentView.isInFetchModeTimer)&&clearInterval(a.currentView.isInFetchModeTimer);w(a.onDestroy,a.currentView.element)}function Ma(a){h=G(a)?a:{};h.safeMode=v(h.safeMode,!0);a=h;var b=h.domElementTypes,c=["*"];n(b)?(b=b.split(r.space),0===b.length&&(b=c)):b=U(b)?b:c;a.domElementTypes=b;h.stText=t(h.stText,"st"); +h.ndText=t(h.ndText,"nd");h.rdText=t(h.rdText,"rd");h.thText=t(h.thText,"th");h.backButtonText=t(h.backButtonText,"Back");h.nextButtonText=t(h.nextButtonText,"Next");h.refreshButtonText=t(h.refreshButtonText,"Refresh");h.exportButtonText=t(h.exportButtonText,"Export");h.lessText=t(h.lessText,"Less");h.moreText=t(h.moreText,"More");h.dateText=t(h.dateText,"Date");h.countText=t(h.countText,"Count");h.mapText=t(h.mapText,"Map");h.chartText=t(h.chartText,"Chart");h.noChartDataMessage=t(h.noChartDataMessage, +"There is currently no data to view.");h.statisticsText=t(h.statisticsText,"Statistics");h.noStatisticsDataMessage=t(h.noStatisticsDataMessage,"There are currently no statistics to view.");h.unknownTrendText=t(h.unknownTrendText,"Unknown");h.importButtonText=t(h.importButtonText,"Import");h.noMapDataMessage=t(h.noMapDataMessage,"There is currently no data to view.");h.objectErrorText=t(h.objectErrorText,"Errors in object: {{error_1}}, {{error_2}}");Q(h.monthNames,12)&&(h.monthNames="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" ")); +Q(h.dayNames,7)&&(h.dayNames="Mon Tue Wed Thu Fri Sat Sun".split(" "))}function Q(a,b){b=Y(b)?b:1;return!U(a)||a.lengthc&&(a.currentView.year=c,T(a,a.currentView.year)?z(a):ua(a,!1),w(a.onSetYear,a.currentView.year))}return this};this.moveToPreviousYear=function(a){n(a)&& +k.hasOwnProperty(a)&&ua(k[a].options);return this};this.moveToNextYear=function(a){n(a)&&k.hasOwnProperty(a)&&ca(k[a].options);return this};this.moveToCurrentYear=function(a){n(a)&&k.hasOwnProperty(a)&&(a=k[a].options,a.currentView.year=(new Date).getFullYear(),T(a,a.currentView.year)?z(a):ca(a,!1),w(a.onSetYear,a.currentView.year));return this};this.getYear=function(a){var b=null;n(a)&&k.hasOwnProperty(a)&&(b=k[a].options.currentView.year);return b};this.render=function(a,b){G(a)&&G(b)&&ya(za(b, +a));return this};this.renderAll=function(){xa();return this};this.switchView=function(a,b){if(n(a)&&n(b)&&k.hasOwnProperty(a)){var c=k[a].options,d=null;"map"===b.toLowerCase()?d=1:"chart"===b.toLowerCase()?d=2:"statistics"===b.toLowerCase()&&(d=3);Y(d)&&(c.currentView.view=d,w(c.onViewSwitch,b),z(c,!1,!0))}return this};this.switchType=function(a,b){if(n(a)&&n(b)&&k.hasOwnProperty(a)&&k[a].type.hasOwnProperty(b)){var c=k[a].options;c.currentView.type!==b&&(c.currentView.type=b,w(c.onTypeSwitch,b), +z(c))}return this};this.updateOptions=function(a,b){if(n(a)&&G(b)&&k.hasOwnProperty(a)){var c=k[a].options,d=Aa(b),e=!1,f;for(f in d)d.hasOwnProperty(f)&&c.hasOwnProperty(f)&&c[f]!==d[f]&&(c[f]=d[f],e=!0);e&&(z(c,!0),w(c.onRefresh,c.currentView.element))}return this};this.destroyAll=function(){for(var a in k)k.hasOwnProperty(a)&&La(k[a].options);k={};return this};this.destroy=function(a){n(a)&&k.hasOwnProperty(a)&&(La(k[a].options),delete k[a]);return this};this.setConfiguration=function(a,b){if(G(a)){var c= +!1,d;for(d in a)a.hasOwnProperty(d)&&h.hasOwnProperty(d)&&h[d]!==a[d]&&(h[d]=a[d],c=!0);c&&(b=p(b)?b:!0,Ma(h),b&&this.refreshAll())}return this};this.getIds=function(){var a=[],b;for(b in k)k.hasOwnProperty(b)&&a.push(b);return a};this.getVersion=function(){return"2.7.0"};(function(a,b,c,d){F=a;A=b;J=c;ea=d;Ma();F.addEventListener("DOMContentLoaded",function(){xa()});A.addEventListener("unload",function(){for(var e in k)if(k.hasOwnProperty(e)){var f=k[e].options;p(f.currentView.isInFetchModeTimer)&& +clearInterval(f.currentView.isInFetchModeTimer)}});p(A.$heat)||(A.$heat=this)})(document,window,Math,JSON)})(); \ No newline at end of file diff --git a/src/heat.js b/src/heat.js index 4137d8d1..ef104685 100644 --- a/src/heat.js +++ b/src/heat.js @@ -141,6 +141,7 @@ bindingOptions.currentView.type = _configuration.unknownTrendText; bindingOptions.currentView.isInFetchMode = isDefinedFunction( bindingOptions.onDataFetch ); bindingOptions.currentView.isInFetchModeTimer = null; + bindingOptions.currentView.yearsAvailable = []; if ( bindingOptions.views.chart.enabled ) { bindingOptions.currentView.chartContents = null; @@ -201,7 +202,8 @@ } bindingOptions.currentView.element.innerHTML = _string.empty; - + bindingOptions.currentView.yearsAvailable = getYearsAvailableInData( bindingOptions ); + hideToolTip( bindingOptions ); startDataPullTimer( bindingOptions ); @@ -236,34 +238,6 @@ } } - function createDateStorageForElement( elementId, bindingOptions, storeLocalData ) { - storeLocalData = isDefined( storeLocalData ) ? storeLocalData : true; - - _elements_DateCounts[ elementId ] = { - options: bindingOptions, - type: {}, - types: 1 - }; - - _elements_DateCounts[ elementId ].type[ _configuration.unknownTrendText ] = {}; - - if ( storeLocalData && !bindingOptions.currentView.isInFetchMode ) { - loadDataFromLocalStorage( bindingOptions ); - } - } - - function getCurrentViewData( bindingOptions ) { - return _elements_DateCounts[ bindingOptions.currentView.element.id ].type[ bindingOptions.currentView.type ]; - } - - function isMonthVisible( monthsToShow, month ) { - return monthsToShow.indexOf( month + 1 ) > _value.notFound; - } - - function isDayVisible( daysToShow, day ) { - return daysToShow.indexOf( day ) > _value.notFound; - } - /* * ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- @@ -407,7 +381,7 @@ yearList.style.visibility = "hidden"; for ( var currentYear = thisYear - bindingOptions.extraSelectionYears; currentYear < thisYear + bindingOptions.extraSelectionYears; currentYear++ ) { - if ( bindingOptions.yearsToHide.indexOf( currentYear ) === _value.notFound ) { + if ( isYearVisible( bindingOptions, currentYear ) ) { var year = renderControlTitleBarYear( bindingOptions, years, currentYear ); if ( !isDefined( activeYear ) ) { @@ -1150,6 +1124,69 @@ } + /* + * ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + * Data + * ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + */ + + function createDateStorageForElement( elementId, bindingOptions, storeLocalData ) { + storeLocalData = isDefined( storeLocalData ) ? storeLocalData : true; + + _elements_DateCounts[ elementId ] = { + options: bindingOptions, + type: {}, + types: 1 + }; + + _elements_DateCounts[ elementId ].type[ _configuration.unknownTrendText ] = {}; + + if ( storeLocalData && !bindingOptions.currentView.isInFetchMode ) { + loadDataFromLocalStorage( bindingOptions ); + } + } + + function getCurrentViewData( bindingOptions ) { + return _elements_DateCounts[ bindingOptions.currentView.element.id ].type[ bindingOptions.currentView.type ]; + } + + function isMonthVisible( monthsToShow, month ) { + return monthsToShow.indexOf( month + 1 ) > _value.notFound; + } + + function isDayVisible( daysToShow, day ) { + return daysToShow.indexOf( day ) > _value.notFound; + } + + function getYearsAvailableInData( bindingOptions ) { + var years = []; + + if ( bindingOptions.showOnlyDataForYearsAvailable ) { + var data = getCurrentViewData( bindingOptions ); + + for ( var storageDate in data ) { + if ( data.hasOwnProperty( storageDate ) ) { + var year = parseInt( getStorageDateYear( storageDate ) ); + + if ( years.indexOf( year ) === _value.notFound ) { + years.push( year ); + } + } + } + } + + years = years.sort( function( a, b ) { + return a - b; + } ); + + return years; + } + + function isYearVisible( bindingOptions, year ) { + return bindingOptions.yearsToHide.indexOf( year ) === _value.notFound && ( bindingOptions.currentView.yearsAvailable.length === 0 || bindingOptions.currentView.yearsAvailable.indexOf( year ) > _value.notFound ); + } + + /* * ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- * Local Storage @@ -1730,6 +1767,7 @@ options.showNumbersInGuide = getDefaultBoolean( options.showNumbersInGuide, false ); options.showImportButton = getDefaultBoolean( options.showImportButton, false ); options.dataFetchDelay = getDefaultNumber( options.dataFetchDelay, 60000 ); + options.showOnlyDataForYearsAvailable = getDefaultBoolean( options.showOnlyDataForYearsAvailable, false ); options = buildAttributeOptionColorRanges( options ); options = buildAttributeOptionHolidays( options ); @@ -2679,7 +2717,7 @@ var bindingOptions = _elements_DateCounts[ elementId ].options; bindingOptions.currentView.year = year; - if ( bindingOptions.yearsToHide.indexOf( bindingOptions.currentView.year ) > _value.notFound ) { + if ( !isYearVisible( bindingOptions, bindingOptions.currentView.year ) ) { moveToNextYear( bindingOptions, false ); } else { renderControlContainer( bindingOptions ); @@ -2718,7 +2756,7 @@ if ( maximumYear > 0 ) { bindingOptions.currentView.year = maximumYear; - if ( bindingOptions.yearsToHide.indexOf( bindingOptions.currentView.year ) > _value.notFound ) { + if ( !isYearVisible( bindingOptions, bindingOptions.currentView.year ) ) { moveToNextYear( bindingOptions, false ); } else { renderControlContainer( bindingOptions ); @@ -2758,7 +2796,7 @@ if ( minimumYear < 9999 ) { bindingOptions.currentView.year = minimumYear; - if ( bindingOptions.yearsToHide.indexOf( bindingOptions.currentView.year ) > _value.notFound ) { + if ( !isYearVisible( bindingOptions, bindingOptions.currentView.year ) ) { moveToPreviousYear( bindingOptions, false ); } else { renderControlContainer( bindingOptions ); @@ -2828,7 +2866,7 @@ var bindingOptions = _elements_DateCounts[ elementId ].options; bindingOptions.currentView.year = new Date().getFullYear(); - if ( bindingOptions.yearsToHide.indexOf( bindingOptions.currentView.year ) > _value.notFound ) { + if ( !isYearVisible( bindingOptions, bindingOptions.currentView.year ) ) { moveToNextYear( bindingOptions, false ); } else { renderControlContainer( bindingOptions ); @@ -3001,32 +3039,56 @@ function moveToPreviousYear( bindingOptions, callCustomTrigger ) { callCustomTrigger = isDefined( callCustomTrigger ) ? callCustomTrigger : true; - bindingOptions.currentView.year--; + var render = true, + year = bindingOptions.currentView.year; + + year--; + + while ( !isYearVisible( bindingOptions, year ) ) { + if ( bindingOptions.currentView.yearsAvailable.length > 0 && year <= bindingOptions.currentView.yearsAvailable[ 0 ] ) { + render = false; + break; + } - while ( bindingOptions.yearsToHide.indexOf( bindingOptions.currentView.year ) > _value.notFound ) { - bindingOptions.currentView.year--; + year--; } - renderControlContainer( bindingOptions ); + if ( render ) { + bindingOptions.currentView.year = year; + + renderControlContainer( bindingOptions ); - if ( callCustomTrigger ) { - fireCustomTrigger( bindingOptions.onBackYear, bindingOptions.currentView.year ); + if ( callCustomTrigger ) { + fireCustomTrigger( bindingOptions.onBackYear, bindingOptions.currentView.year ); + } } } function moveToNextYear( bindingOptions, callCustomTrigger ) { callCustomTrigger = isDefined( callCustomTrigger ) ? callCustomTrigger : true; - bindingOptions.currentView.year++; + var render = true, + year = bindingOptions.currentView.year; + + year++; + + while ( !isYearVisible( bindingOptions, year ) ) { + if ( bindingOptions.currentView.yearsAvailable.length > 0 && year >= bindingOptions.currentView.yearsAvailable[ bindingOptions.currentView.yearsAvailable.length - 1 ] ) { + render = false; + break; + } - while ( bindingOptions.yearsToHide.indexOf( bindingOptions.currentView.year ) > _value.notFound ) { - bindingOptions.currentView.year++; + year++; } - renderControlContainer( bindingOptions ); + if ( render ) { + bindingOptions.currentView.year = year; + + renderControlContainer( bindingOptions ); - if ( callCustomTrigger ) { - fireCustomTrigger( bindingOptions.onNextYear, bindingOptions.currentView.year ); + if ( callCustomTrigger ) { + fireCustomTrigger( bindingOptions.onBackYear, bindingOptions.currentView.year ); + } } } diff --git a/src/heat.js.scss b/src/heat.js.scss index 69f83b30..54865d30 100644 --- a/src/heat.js.scss +++ b/src/heat.js.scss @@ -436,7 +436,8 @@ div.heat-js { background-color: var(--heat-js-years-background-color); border: var(--heat-js-border-size) solid var(--heat-js-years-border-color); color: var(--heat-js-years-text-color); - height: 183px; + max-height: 183px; + height: 100%; overflow-y: scroll; scroll-snap-type: y mandatory; diff --git a/test/dist/heat.js.only-years-available.html b/test/dist/heat.js.only-years-available.html new file mode 100644 index 00000000..29809999 --- /dev/null +++ b/test/dist/heat.js.only-years-available.html @@ -0,0 +1,42 @@ + + + + + + Heat.js - Only Years Available + + + + + + +
+

Heat.js - Only Years Available

+

This is a basic example of how to use Heat.js to create a basic heatmap showing only the years available in the data.

+
+ +
+
+
+ + + + \ No newline at end of file diff --git a/test/src/heat.js.only-years-available.html b/test/src/heat.js.only-years-available.html new file mode 100644 index 00000000..bd599e40 --- /dev/null +++ b/test/src/heat.js.only-years-available.html @@ -0,0 +1,42 @@ + + + + + + Heat.js - Only Years Available + + + + + + +
+

Heat.js - Only Years Available

+

This is a basic example of how to use Heat.js to create a basic heatmap showing only the years available in the data.

+
+ +
+
+
+ + + + \ No newline at end of file From d3202a791dc446fd15791a1b33cb20038dca341a Mon Sep 17 00:00:00 2001 From: William Troup Date: Wed, 6 Mar 2024 12:15:10 +0000 Subject: [PATCH 5/6] The current year in the years drop-down list now uses a slightly different style to make it stand out. --- dist/heat.js | 7 +++++-- dist/heat.js.css | 4 ++++ dist/heat.js.css.map | 2 +- dist/heat.js.min.css | 2 +- dist/heat.min.js | 10 +++++----- src/heat.js | 8 ++++++-- src/heat.js.scss | 5 +++++ 7 files changed, 27 insertions(+), 11 deletions(-) diff --git a/dist/heat.js b/dist/heat.js index dd5be84f..9c91e2cf 100644 --- a/dist/heat.js +++ b/dist/heat.js @@ -226,7 +226,7 @@ var currentYear = thisYear - bindingOptions.extraSelectionYears; for (; currentYear < thisYear + bindingOptions.extraSelectionYears; currentYear++) { if (isYearVisible(bindingOptions, currentYear)) { - var year = renderControlTitleBarYear(bindingOptions, years, currentYear); + var year = renderControlTitleBarYear(bindingOptions, years, currentYear, thisYear); if (!isDefined(activeYear)) { activeYear = year; } @@ -258,7 +258,7 @@ }; } } - function renderControlTitleBarYear(bindingOptions, years, currentYear) { + function renderControlTitleBarYear(bindingOptions, years, currentYear, actualYear) { var result = null; var year = createElementWithHTML(years, "div", "year", currentYear); if (bindingOptions.currentView.year !== currentYear) { @@ -267,6 +267,9 @@ renderControlContainer(bindingOptions); fireCustomTrigger(bindingOptions.onSetYear, bindingOptions.currentView.year); }; + if (currentYear === actualYear) { + addClass(year, "year-current"); + } } else { addClass(year, "year-active"); result = year; diff --git a/dist/heat.js.css b/dist/heat.js.css index a3f7aa35..f1a5c8c2 100644 --- a/dist/heat.js.css +++ b/dist/heat.js.css @@ -309,6 +309,10 @@ div.heat-js div.title-bar div.year-text div.years-list div.years div.year-active font-weight: var(--heat-js-text-bold-weight-active); cursor: default !important; } +div.heat-js div.title-bar div.year-text div.years-list div.years div.year-current { + font-style: italic; + font-weight: var(--heat-js-text-bold-weight-active); +} div.heat-js div.title-bar button.export, div.heat-js div.title-bar button.refresh, div.heat-js div.title-bar button.import { diff --git a/dist/heat.js.css.map b/dist/heat.js.css.map index be41f0e7..467aca91 100644 --- a/dist/heat.js.css.map +++ b/dist/heat.js.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["../src/heat.js.scss","../src/foundation/_styles.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA;EAEI;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EAGA;EACA;EAGA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;;;AAIJ;AAAA;AAAA;AAAA;AAAA;AA2JA;AAAA;AAAA;AAAA;AAAA;AAMA;ECpQI;EACA;EACA;EACA;EACA;EACA;EDoPA;EACA;EAaA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;;AAGJ;EAnCA;EACA;;AAqCI;EAtCJ;EACA;;;AA6CJ;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;;AAEA;EAGI;EACA;EACA;EACA,gBALe;EAMf;EACA;;AAEA;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAzLZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EAGI,cAXuF;;AA+LvF;EACI;EACA,aAzBW;EA0BX;EACA;EACA;EACA,YA7BW;EA8BX;;AAEA;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;EACA;;AA7QpB;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;EACA;EACA;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAwPA;EACI;;AAGJ;AAAA;EAEI;;AAGJ;EAGI;EACA;EACA;EACA;EACA;EACA,aAPc;EAQd,gBARc;EASd;EACA;;AAEA;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAlRZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EAMI,aAwQsC;;AAEtC;EACI;EACA,aA5BU;EA6BV;EACA;EACA;EACA;EACA;EACA,YAlCU;EAmCV;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;EACA;;AAMhB;AAAA;AAAA;EAGI;;AAEA;EALJ;AAAA;AAAA;IAMQ;;;;AAOhB;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;EACA;;AAEA;EAhSJ;EACA;EACA;EACA;EACA;;AAgSI;EACI;EACA;;AAEA;AAAA;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAVJ;AAAA;IAWQ;;;AAGJ;AAAA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAIR;EACI;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;EACA;;AAMgB;EACI;;AAOpB;AAAA;EAEI;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;;AAGI;AAAA;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACI;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;;AAWpC;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EAraJ;EACA;EACA;EACA;EACA;;AAqaI;EACI;EACA;;AAEA;EAneR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EA0dQ;IAzdJ;;;AAGJ;AAAA;AAAA;AAAA;AAAA;EAKI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;;AAsbI;EACI;EACA;;AAEA;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;IACI;;;AAIR;EACI;;AAGJ;EACI;EACA;;AAMhB;EACI;EACA;;AAEA;AAAA;EAEI;EACA;EACA;EACA;;AAGJ;EACI;IACI;;;AAIR;EACI;;AAGJ;EACI;EACA;EACA;EACA;;;AAOhB;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;EACA;EACA;;AAEA;EAxgBJ;EACA;EACA;EACA;EACA;;AAwgBI;EACI;EACA;;AAEA;EAtkBR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EA6jBQ;IA5jBJ;;;AAGJ;AAAA;AAAA;AAAA;AAAA;EAKI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;;AAyhBI;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;IACI;;;AAIR;EACI;;AAGJ;EACI;EACA;;AAMhB;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;;;AAMhB;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EA5lBJ;;AA8lBI;EAJJ;IAKQ;;;AA7lBR;EAwlBA;IAvlBI;;;AAGJ;AAAA;AAAA;EAGI;EACA;EACA;;AAGJ;EACI;;AAEA;EACI;;AAGJ;EACI;;;AAilBZ;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;;AAEA;EAHJ;IAIQ;;;AAGJ;AAAA;EAEI;EACA;;AAEA;EALJ;AAAA;IAMQ;;;AAIR;EACI;EACA;EACA;EAloBR;;AAooBQ;EALJ;IAMQ;IACA;IACA;IACA;;;AA3vBZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;EACA;EACA;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAwFJ;EA6nBI;IA5nBA;;;AAGJ;AAAA;AAAA;EAGI;EACA;EACA;;AAGJ;EACI;;AAEA;EACI;;AAGJ;EACI;;AAwnBA;EACI;EACA;;AAIR;EACI;EACA;EACA;EACA;;AAEA;EANJ;IAOQ;IACA;IACA;;;AAGJ;AAAA;EAEI;EACA;EACA;;AAEA;AAAA;EACI;EACA;;AAGJ;AAAA;EACI;;AAIR;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;;;AASxB;AAAA;AAAA;AAAA;AAAA;AAYQ;AAAA;AAAA;AAAA;AAAA;EACI;;AAGJ;AAAA;AAAA;AAAA;AAAA;EACI;EACA;;AAIR;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;;AAKR;AAAA;AAAA;AAAA;AAAA;AAMA;EC1/BI;EACA;EACA;EACA;EACA;EACA;EDoPA;EACA;EAmwBA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAMA;EACI;IACI;;EAEJ;IACI","file":"heat.js.css"} \ No newline at end of file +{"version":3,"sourceRoot":"","sources":["../src/heat.js.scss","../src/foundation/_styles.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA;EAEI;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EAGA;EACA;EAGA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;;;AAIJ;AAAA;AAAA;AAAA;AAAA;AA2JA;AAAA;AAAA;AAAA;AAAA;AAMA;ECpQI;EACA;EACA;EACA;EACA;EACA;EDoPA;EACA;EAaA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;;AAGJ;EAnCA;EACA;;AAqCI;EAtCJ;EACA;;;AA6CJ;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;;AAEA;EAGI;EACA;EACA;EACA,gBALe;EAMf;EACA;;AAEA;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAzLZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EAGI,cAXuF;;AA+LvF;EACI;EACA,aAzBW;EA0BX;EACA;EACA;EACA,YA7BW;EA8BX;;AAEA;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;EACA;;AA7QpB;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;EACA;EACA;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAwPA;EACI;;AAGJ;AAAA;EAEI;;AAGJ;EAGI;EACA;EACA;EACA;EACA;EACA,aAPc;EAQd,gBARc;EASd;EACA;;AAEA;EACI;;AAGJ;EACI;;AAGJ;EACI;;AAlRZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EAMI,aAwQsC;;AAEtC;EACI;EACA,aA5BU;EA6BV;EACA;EACA;EACA;EACA;EACA,YAlCU;EAmCV;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;;AAIR;EACI;EACA;EACA;EACA;;AAGJ;EACI;EACA;;AAMhB;AAAA;AAAA;EAGI;;AAEA;EALJ;AAAA;AAAA;IAMQ;;;;AAOhB;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;EACA;;AAEA;EArSJ;EACA;EACA;EACA;EACA;;AAqSI;EACI;EACA;;AAEA;AAAA;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAVJ;AAAA;IAWQ;;;AAGJ;AAAA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;;AAIR;EACI;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;EACA;;AAMgB;EACI;;AAOpB;AAAA;EAEI;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;;AAGI;AAAA;EAEI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;AAAA;EACI;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;;AAWpC;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EA1aJ;EACA;EACA;EACA;EACA;;AA0aI;EACI;EACA;;AAEA;EAxeR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EA+dQ;IA9dJ;;;AAGJ;AAAA;AAAA;AAAA;AAAA;EAKI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;;AA2bI;EACI;EACA;;AAEA;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;IACI;;;AAIR;EACI;;AAGJ;EACI;EACA;;AAMhB;EACI;EACA;;AAEA;AAAA;EAEI;EACA;EACA;EACA;;AAGJ;EACI;IACI;;;AAIR;EACI;;AAGJ;EACI;EACA;EACA;EACA;;;AAOhB;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EACA;EACA;EACA;;AAEA;EA7gBJ;EACA;EACA;EACA;EACA;;AA6gBI;EACI;EACA;;AAEA;EA3kBR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAkkBQ;IAjkBJ;;;AAGJ;AAAA;AAAA;AAAA;AAAA;EAKI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;EACA;;AAGJ;EACI;;AA8hBI;EACI;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;;AAIR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;IACI;;;AAIR;EACI;;AAGJ;EACI;EACA;;AAMhB;EACI;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;;;AAMhB;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;EACA;EAjmBJ;;AAmmBI;EAJJ;IAKQ;;;AAlmBR;EA6lBA;IA5lBI;;;AAGJ;AAAA;AAAA;EAGI;EACA;EACA;;AAGJ;EACI;;AAEA;EACI;;AAGJ;EACI;;;AAslBZ;AAAA;AAAA;AAAA;AAAA;AAOI;EACI;;AAEA;EAHJ;IAIQ;;;AAGJ;AAAA;EAEI;EACA;;AAEA;EALJ;AAAA;IAMQ;;;AAIR;EACI;EACA;EACA;EAvoBR;;AAyoBQ;EALJ;IAMQ;IACA;IACA;IACA;;;AAhwBZ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;EACA;;AAGJ;EACI;EACA;EACA;;AAIR;EACI;EACA;EACA;EACA;EACA;;AAwFJ;EAkoBI;IAjoBA;;;AAGJ;AAAA;AAAA;EAGI;EACA;EACA;;AAGJ;EACI;;AAEA;EACI;;AAGJ;EACI;;AA6nBA;EACI;EACA;;AAIR;EACI;EACA;EACA;EACA;;AAEA;EANJ;IAOQ;IACA;IACA;;;AAGJ;AAAA;EAEI;EACA;EACA;;AAEA;AAAA;EACI;EACA;;AAGJ;AAAA;EACI;;AAIR;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;;AAEA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACI;;AAGJ;EACI;EACA;;;AASxB;AAAA;AAAA;AAAA;AAAA;AAYQ;AAAA;AAAA;AAAA;AAAA;EACI;;AAGJ;AAAA;AAAA;AAAA;AAAA;EACI;EACA;;AAIR;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;;AAKR;AAAA;AAAA;AAAA;AAAA;AAMA;EC//BI;EACA;EACA;EACA;EACA;EACA;EDoPA;EACA;EAwwBA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAMA;EACI;IACI;;EAEJ;IACI","file":"heat.js.css"} \ No newline at end of file diff --git a/dist/heat.js.min.css b/dist/heat.js.min.css index 6b04c096..34b5826a 100644 --- a/dist/heat.js.min.css +++ b/dist/heat.js.min.css @@ -1,2 +1,2 @@ /*! Heat.js v2.7.0 | (c) Bunoon 2024 | MIT License */ -:root{--heat-js-default-font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--heat-js-text-bold-weight:400;--heat-js-title-bold-weight:900;--heat-js-text-bold-weight-active:900;--heat-js-color-black:#3b3a3a;--heat-js-color-white:#adbac7;--heat-js-color-snow-white:#F5F5F5;--heat-js-color-gray:#AAA;--heat-js-container-background-color:#22272e;--heat-js-container-border-color:#454c56;--heat-js-tooltip-background-color:var(--heat-js-container-background-color);--heat-js-tooltip-border-color:var(--heat-js-container-border-color);--heat-js-tooltip-text-color:var(--heat-js-color-white);--heat-js-years-background-color:var(--heat-js-container-background-color);--heat-js-years-border-color:var(--heat-js-container-border-color);--heat-js-years-text-color:var(--heat-js-color-white);--heat-js-years-background-color-hover:var(--heat-js-button-background-color-hover);--heat-js-years-text-color-hover:var(--heat-js-color-snow-white);--heat-js-title-opener-text-color-hover:var(--heat-js-color-gray);--heat-js-title-background-color:var(--heat-js-container-background-color);--heat-js-title-border-color:var(--heat-js-container-border-color);--heat-js-title-text-color:var(--heat-js-color-white);--heat-js-title-background-color-hover:var(--heat-js-button-background-color-hover);--heat-js-title-text-color-hover:var(--heat-js-color-snow-white);--heat-js-holiday-background-color:rgba(210,43,43,.75);--heat-js-holiday-border-color:rgba(210,43,43,.5);--heat-js-holiday-text-color:var(--heat-js-color-black);--heat-js-day-background-color:#2d333b;--heat-js-day-border-color:var(--heat-js-container-border-color);--heat-js-day-background-color-hover:var(--heat-js-container-border-color);--heat-js-day-spacing:6.3px;--heat-js-day-opacity-hover:.7;--heat-js-day-opacity-active:.5;--heat-js-day-size:1.1rem;--heat-js-day-chart-width:10px;--heat-js-day-color-1-background-color:rgba(80,200,120,.25);--heat-js-day-color-1-border-color:rgba(80,200,120,.15);--heat-js-day-color-1-text-color:var(--heat-js-color-white);--heat-js-day-color-2-background-color:rgba(80,200,120,.5);--heat-js-day-color-2-border-color:rgba(80,200,120,.25);--heat-js-day-color-2-text-color:var(--heat-js-color-white);--heat-js-day-color-3-background-color:rgba(80,200,120,.75);--heat-js-day-color-3-border-color:rgba(80,200,120,.5);--heat-js-day-color-3-text-color:var(--heat-js-color-black);--heat-js-day-color-4-background-color:rgba(80,200,120,1);--heat-js-day-color-4-border-color:rgba(80,200,120,.75);--heat-js-day-color-4-text-color:var(--heat-js-color-black);--heat-js-button-background-color:var(--heat-js-day-background-color);--heat-js-button-border-color:var(--heat-js-container-border-color);--heat-js-button-text-color:var(--heat-js-color-white);--heat-js-button-background-color-hover:var(--heat-js-container-border-color);--heat-js-button-text-color-hover:var(--heat-js-color-snow-white);--heat-js-button-background-color-active:#616b79;--heat-js-button-text-color-active:var(--heat-js-color-snow-white);--heat-js-border-radius:.5rem;--heat-js-border-radius-day:.35rem;--heat-js-border-size:.5px;--heat-js-border-size-day:1px;--heat-js-spacing:10px;--heat-js-spacing-font-size:.85rem;--heat-js-spacing-day-font-size:.6rem;--heat-js-transition:all .3s;--heat-js-animation-length:0.5s}div.heat-js{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:default;box-sizing:border-box;line-height:normal;font-family:var(--heat-js-default-font);display:inline-block;position:relative;border-radius:var(--heat-js-border-radius);background-color:var(--heat-js-container-background-color);color:var(--heat-js-color-white);border:var(--heat-js-border-size) solid var(--heat-js-container-border-color);padding:var(--heat-js-spacing);font-size:var(--heat-js-spacing-font-size);width:100%;max-width:700px;margin:0!important}div.heat-js div.view-switch{animation:fade-in-animation var(--heat-js-animation-length)}div.heat-js div.no-click{pointer-events:none!important}div.heat-js *{box-sizing:border-box;line-height:normal}div.heat-js *::before,div.heat-js *::after{box-sizing:border-box;line-height:normal}div.heat-js div.title-bar{text-align:right;margin-bottom:calc(var(--heat-js-spacing) + var(--heat-js-spacing) / 2)}div.heat-js div.title-bar div.title{float:left;font-weight:var(--heat-js-title-bold-weight);font-size:1.2rem;padding-bottom:3px;transition:var(--heat-js-transition);cursor:pointer}div.heat-js div.title-bar div.title:hover{color:var(--heat-js-title-opener-text-color-hover)}div.heat-js div.title-bar div.title:hover div.down-arrow{border-top-color:var(--heat-js-title-opener-text-color-hover)}div.heat-js div.title-bar div.title:hover div.titles-list{display:block}div.heat-js div.title-bar div.title div.down-arrow{display:inline-block;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:14px solid var(--heat-js-color-white);transition:var(--heat-js-transition);margin-right:var(--heat-js-spacing)}div.heat-js div.title-bar div.title div.titles-list{animation:fade-in-animation var(--heat-js-animation-length);padding-top:3px;display:none;position:absolute;width:100px;margin-top:3px;z-index:1000}div.heat-js div.title-bar div.title div.titles-list div.titles{border-radius:var(--heat-js-border-radius);background-color:var(--heat-js-title-background-color);border:var(--heat-js-border-size) solid var(--heat-js-title-border-color);color:var(--heat-js-title-text-color);overflow-y:scroll}div.heat-js div.title-bar div.title div.titles-list div.titles div.title{color:var(--heat-js-color-white);font-weight:var(--heat-js-text-bold-weight);border-bottom:var(--heat-js-border-size) dashed var(--heat-js-container-border-color);padding:var(--heat-js-spacing);text-align:left;width:100%;transition:var(--heat-js-transition);font-size:var(--heat-js-spacing-font-size)!important}div.heat-js div.title-bar div.title div.titles-list div.titles div.title:not(.title-active):active{opacity:0.5!important}div.heat-js div.title-bar div.title div.titles-list div.titles div.title:not(.title-active):hover{cursor:pointer;background-color:var(--heat-js-title-background-color-hover);color:var(--heat-js-title-text-color-hover)}div.heat-js div.title-bar div.title div.titles-list div.titles div.title:last-child{border-bottom:none}div.heat-js div.title-bar div.title div.titles-list div.titles div.title-active{background-color:var(--heat-js-title-background-color-hover);color:var(--heat-js-title-text-color-hover);font-weight:var(--heat-js-text-bold-weight-active);cursor:default!important}div.heat-js div.title-bar button{background-color:var(--heat-js-button-background-color);border:var(--heat-js-border-size) solid var(--heat-js-button-border-color);color:var(--heat-js-button-text-color);border-radius:var(--heat-js-border-radius);padding-top:5px;padding-bottom:5px;padding-left:9px;padding-right:9px;outline:none;transition:var(--heat-js-transition)}div.heat-js div.title-bar button:not(.active):active{background:var(--heat-js-button-background-color-active)!important;color:var(--heat-js-button-text-color-active)!important}div.heat-js div.title-bar button:not(.active):hover{cursor:pointer;background:var(--heat-js-button-background-color-hover);color:var(--heat-js-button-text-color-hover)}div.heat-js div.title-bar button.active{cursor:default;background:var(--heat-js-button-background-color-hover);color:var(--heat-js-button-text-color-hover);transition:var(--heat-js-transition);font-weight:var(--heat-js-text-bold-weight-active)}div.heat-js div.title-bar button.back{margin-left:calc(var(--heat-js-spacing) * 2)!important}div.heat-js div.title-bar button.export,div.heat-js div.title-bar button.import{margin-right:calc(var(--heat-js-spacing) / 2)!important}div.heat-js div.title-bar div.year-text{margin-left:var(--heat-js-spacing);margin-right:var(--heat-js-spacing);display:inline-block;font-weight:var(--heat-js-title-bold-weight);position:relative;padding-top:5px;padding-bottom:5px;transition:var(--heat-js-transition);cursor:pointer}div.heat-js div.title-bar div.year-text:hover{color:var(--heat-js-title-opener-text-color-hover)}div.heat-js div.title-bar div.year-text:hover div.down-arrow{border-top-color:var(--heat-js-title-opener-text-color-hover)}div.heat-js div.title-bar div.year-text:hover div.years-list{display:block!important}div.heat-js div.title-bar div.year-text div.down-arrow{display:inline-block;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:9px solid var(--heat-js-color-white);transition:var(--heat-js-transition);margin-left:calc(var(--heat-js-spacing) / 2)}div.heat-js div.title-bar div.year-text div.years-list{animation:fade-in-animation var(--heat-js-animation-length);padding-top:5px;display:none;position:absolute;width:80px;left:50%;transform:translateX(-50%);margin-top:5px;z-index:1000}div.heat-js div.title-bar div.year-text div.years-list div.years{border-radius:var(--heat-js-border-radius);background-color:var(--heat-js-years-background-color);border:var(--heat-js-border-size) solid var(--heat-js-years-border-color);color:var(--heat-js-years-text-color);max-height:183px;height:100%;overflow-y:scroll;scroll-snap-type:y mandatory}div.heat-js div.title-bar div.year-text div.years-list div.years div.year{color:var(--heat-js-color-white);font-weight:var(--heat-js-text-bold-weight);border-bottom:var(--heat-js-border-size) dashed var(--heat-js-container-border-color);padding:var(--heat-js-spacing);text-align:center;width:100%;transition:var(--heat-js-transition);scroll-snap-align:start}div.heat-js div.title-bar div.year-text div.years-list div.years div.year:not(.year-active):active{opacity:0.5!important}div.heat-js div.title-bar div.year-text div.years-list div.years div.year:not(.year-active):hover{cursor:pointer;background-color:var(--heat-js-years-background-color-hover);color:var(--heat-js-years-text-color-hover)}div.heat-js div.title-bar div.year-text div.years-list div.years div.year:last-child{border-bottom:none}div.heat-js div.title-bar div.year-text div.years-list div.years div.year-active{background-color:var(--heat-js-years-background-color-hover);color:var(--heat-js-years-text-color-hover);font-weight:var(--heat-js-text-bold-weight-active);cursor:default!important}div.heat-js div.title-bar button.export,div.heat-js div.title-bar button.refresh,div.heat-js div.title-bar button.import{display:none}@media (min-width:768px){div.heat-js div.title-bar button.export,div.heat-js div.title-bar button.refresh,div.heat-js div.title-bar button.import{display:inline-block}}div.heat-js div.map-contents{overflow-x:scroll;overflow-y:hidden;min-height:191px;position:relative}div.heat-js div.map-contents div.no-data-message{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-weight:var(--heat-js-text-bold-weight)}div.heat-js div.map-contents div.map{display:inline-flex;flex-direction:row}div.heat-js div.map-contents div.map div.days,div.heat-js div.map-contents div.map div.days-months-bottom{background-color:var(--heat-js-container-background-color);padding-right:calc(var(--heat-js-spacing) * 3);padding-top:calc(var(--heat-js-spacing-font-size) + var(--heat-js-spacing) + 1px);position:sticky;left:0;display:none;z-index:50}@media (min-width:768px){div.heat-js div.map-contents div.map div.days,div.heat-js div.map-contents div.map div.days-months-bottom{display:block}}div.heat-js div.map-contents div.map div.days div.day-name,div.heat-js div.map-contents div.map div.days-months-bottom div.day-name{font-weight:var(--heat-js-text-bold-weight);text-align:left!important;height:var(--heat-js-day-size);margin-bottom:var(--heat-js-day-spacing);display:inline-flex;justify-content:center;flex-direction:column}div.heat-js div.map-contents div.map div.days-months-bottom{padding-top:0!important}div.heat-js div.map-contents div.map div.months{display:flex;justify-content:space-between;flex-grow:1}div.heat-js div.map-contents div.map div.months div.month{flex:1;pointer-events:none}div.heat-js div.map-contents div.map div.months div.month:last-child div.day-columns div.day-column:last-child div.day{margin-right:0!important}div.heat-js div.map-contents div.map div.months div.month div.month-name,div.heat-js div.map-contents div.map div.months div.month div.month-name-bottom{font-weight:var(--heat-js-text-bold-weight);text-align:left!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}div.heat-js div.map-contents div.map div.months div.month div.month-name{margin-bottom:var(--heat-js-spacing)}div.heat-js div.map-contents div.map div.months div.month div.month-name-bottom{margin-top:var(--heat-js-spacing)}div.heat-js div.map-contents div.map div.months div.month div.day-columns{display:flex;justify-content:space-between}div.heat-js div.map-contents div.map div.months div.month div.day-columns div.day-column div.day,div.heat-js div.map-contents div.map div.months div.month div.day-columns div.day-column div.day-disabled{display:flex;border-radius:var(--heat-js-border-radius-day);width:var(--heat-js-day-size);height:var(--heat-js-day-size);margin-right:var(--heat-js-day-spacing);margin-bottom:var(--heat-js-day-spacing);font-size:var(--heat-js-spacing-day-font-size);justify-content:center;align-items:center;overflow:hidden}div.heat-js div.map-contents div.map div.months div.month div.day-columns div.day-column div.day:last-child,div.heat-js div.map-contents div.map div.months div.month div.day-columns div.day-column div.day-disabled:last-child{margin-bottom:0}div.heat-js div.map-contents div.map div.months div.month div.day-columns div.day-column div.day{pointer-events:all;background-color:var(--heat-js-day-background-color);border:var(--heat-js-border-size) solid var(--heat-js-day-border-color);transition:var(--heat-js-transition);transition-property:opacity,background-color,color,border-color}div.heat-js div.map-contents div.map div.months div.month div.day-columns div.day-column div.day:not(.no-hover):hover{cursor:pointer;background:var(--heat-js-day-background-color-hover)}div.heat-js div.chart-contents{display:flex;overflow-x:scroll;overflow-y:hidden;text-wrap:nowrap;white-space:nowrap;position:relative}div.heat-js div.chart-contents div.no-data-message{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-weight:var(--heat-js-text-bold-weight)}div.heat-js div.chart-contents div.chart{display:inline-flex;flex-direction:row}div.heat-js div.chart-contents div.chart div.y-labels{background-color:var(--heat-js-container-background-color);padding-right:calc(var(--heat-js-spacing) * 3);padding-top:calc(var(--heat-js-spacing-font-size) + var(--heat-js-spacing) + 1px);position:sticky;left:0;display:none;border-right:var(--heat-js-border-size) solid var(--heat-js-container-border-color);z-index:50}@media (min-width:768px){div.heat-js div.chart-contents div.chart div.y-labels{display:block}}div.heat-js div.chart-contents div.chart div.y-labels div.label-0,div.heat-js div.chart-contents div.chart div.y-labels div.label-25,div.heat-js div.chart-contents div.chart div.y-labels div.label-50,div.heat-js div.chart-contents div.chart div.y-labels div.label-75,div.heat-js div.chart-contents div.chart div.y-labels div.label-100{font-weight:var(--heat-js-text-bold-weight);text-align:left!important;height:var(--heat-js-day-size);display:inline-flex;justify-content:center;flex-direction:column;position:absolute;left:0;padding-right:var(--heat-js-spacing)}div.heat-js div.chart-contents div.chart div.y-labels div.label-0{top:0}div.heat-js div.chart-contents div.chart div.y-labels div.label-25{top:25%;transform:translateY(-25%)}div.heat-js div.chart-contents div.chart div.y-labels div.label-50{top:50%;transform:translateY(-50%)}div.heat-js div.chart-contents div.chart div.y-labels div.label-75{top:75%;transform:translateY(-75%)}div.heat-js div.chart-contents div.chart div.y-labels div.label-100{bottom:0}div.heat-js div.chart-contents div.chart div.day-lines{flex:1;border-bottom:var(--heat-js-border-size) solid var(--heat-js-container-border-color)}div.heat-js div.chart-contents div.chart div.day-lines div.day-line-number{font-size:var(--heat-js-spacing-day-font-size);padding:calc(var(--heat-js-spacing) / 2);overflow:hidden}div.heat-js div.chart-contents div.chart div.day-lines div.day-line{border-top-left-radius:var(--heat-js-border-radius-day);border-top-right-radius:var(--heat-js-border-radius-day);background-color:var(--heat-js-day-background-color);border:var(--heat-js-border-size) solid var(--heat-js-day-border-color);border-bottom:none!important;vertical-align:bottom;min-width:var(--heat-js-day-chart-width);margin-right:1px;display:inline-block;transition:var(--heat-js-transition)}@media (min-width:768px){div.heat-js div.chart-contents div.chart div.day-lines div.day-line:first-child{margin-left:calc(var(--heat-js-spacing) / 2)}}div.heat-js div.chart-contents div.chart div.day-lines div.day-line:last-child{margin-right:0}div.heat-js div.chart-contents div.chart div.day-lines div.day-line:not(.no-hover):hover{cursor:pointer;background:var(--heat-js-day-background-color-hover)}div.heat-js div.chart-contents div.chart-months{position:relative;height:calc(var(--heat-js-spacing-font-size) + var(--heat-js-spacing))}div.heat-js div.chart-contents div.chart-months div.month-name,div.heat-js div.chart-contents div.chart-months div.month-name-space{font-weight:var(--heat-js-text-bold-weight);text-align:left!important;position:absolute;bottom:0}@media (min-width:768px){div.heat-js div.chart-contents div.chart-months div.month-name:first-child{margin-left:calc(var(--heat-js-spacing) / 2)}}div.heat-js div.chart-contents div.chart-months div.month-name:nth-child(2){margin-left:var(--heat-js-day-chart-width)}div.heat-js div.chart-contents div.chart-months div.month-name-space{left:0;top:0;position:sticky;background-color:var(--heat-js-container-background-color)}div.heat-js div.statistics-contents{display:flex;overflow:hidden;text-wrap:nowrap;white-space:nowrap;position:relative}div.heat-js div.statistics-contents div.no-statistics-message{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-weight:var(--heat-js-text-bold-weight)}div.heat-js div.statistics-contents div.statistics{display:flex;flex-direction:row}div.heat-js div.statistics-contents div.statistics div.y-labels{background-color:var(--heat-js-container-background-color);padding-right:calc(var(--heat-js-spacing) * 3);padding-top:calc(var(--heat-js-spacing-font-size) + var(--heat-js-spacing) + 1px);position:sticky;left:0;display:none;border-right:var(--heat-js-border-size) solid var(--heat-js-container-border-color);z-index:50}@media (min-width:768px){div.heat-js div.statistics-contents div.statistics div.y-labels{display:block}}div.heat-js div.statistics-contents div.statistics div.y-labels div.label-0,div.heat-js div.statistics-contents div.statistics div.y-labels div.label-25,div.heat-js div.statistics-contents div.statistics div.y-labels div.label-50,div.heat-js div.statistics-contents div.statistics div.y-labels div.label-75,div.heat-js div.statistics-contents div.statistics div.y-labels div.label-100{font-weight:var(--heat-js-text-bold-weight);text-align:left!important;height:var(--heat-js-day-size);display:inline-flex;justify-content:center;flex-direction:column;position:absolute;left:0;padding-right:var(--heat-js-spacing)}div.heat-js div.statistics-contents div.statistics div.y-labels div.label-0{top:0}div.heat-js div.statistics-contents div.statistics div.y-labels div.label-25{top:25%;transform:translateY(-25%)}div.heat-js div.statistics-contents div.statistics div.y-labels div.label-50{top:50%;transform:translateY(-50%)}div.heat-js div.statistics-contents div.statistics div.y-labels div.label-75{top:75%;transform:translateY(-75%)}div.heat-js div.statistics-contents div.statistics div.y-labels div.label-100{bottom:0}div.heat-js div.statistics-contents div.statistics div.range-lines{display:flex;align-items:baseline;flex:1;border-bottom:var(--heat-js-border-size) solid var(--heat-js-container-border-color);justify-content:space-between}div.heat-js div.statistics-contents div.statistics div.range-lines div.range-line-number{font-size:var(--heat-js-spacing-day-font-size);padding:calc(var(--heat-js-spacing) / 2);position:relative;overflow:hidden}div.heat-js div.statistics-contents div.statistics div.range-lines div.range-line-number div.count{position:absolute;top:calc(var(--heat-js-spacing) / 2);left:50%;transform:translateX(-50%)}div.heat-js div.statistics-contents div.statistics div.range-lines div.range-line{border-top-left-radius:var(--heat-js-border-radius-day);border-top-right-radius:var(--heat-js-border-radius-day);background-color:var(--heat-js-day-background-color);border:var(--heat-js-border-size) solid var(--heat-js-day-border-color);border-bottom:none!important;vertical-align:bottom;flex:1 100%;margin-right:var(--heat-js-spacing);display:inline-block;transition:var(--heat-js-transition)}@media (min-width:768px){div.heat-js div.statistics-contents div.statistics div.range-lines div.range-line:first-child{margin-left:calc(var(--heat-js-spacing) / 2)}}div.heat-js div.statistics-contents div.statistics div.range-lines div.range-line:last-child{margin-right:0}div.heat-js div.statistics-contents div.statistics div.range-lines div.range-line:not(.no-hover):hover{cursor:pointer;background:var(--heat-js-day-background-color-hover)}div.heat-js div.statistics-contents div.statistics-ranges{display:flex;flex:1;position:relative;justify-content:space-between;align-items:baseline;height:calc(var(--heat-js-spacing-font-size) + var(--heat-js-spacing) + 3px)}div.heat-js div.statistics-contents div.statistics-ranges div.range-name{flex:1 100%;margin-top:var(--heat-js-spacing);font-weight:var(--heat-js-text-bold-weight);text-align:center!important;overflow:hidden;text-overflow:ellipsis}div.heat-js div.description{text-align:center;margin-top:calc(var(--heat-js-spacing) + var(--heat-js-spacing) / 2);text-align:center}@media (min-width:768px){div.heat-js div.description{text-align:left}}@media (min-width:768px){div.heat-js div.description{text-align:left}}div.heat-js div.description span.label,div.heat-js div.description a.label,div.heat-js div.description a.label:visited{color:var(--heat-js-color-white);font-weight:var(--heat-js-text-bold-weight);text-decoration:none}div.heat-js div.description a.label{transition:var(--heat-js-transition)}div.heat-js div.description a.label:active{color:var(--heat-js-color-gray)}div.heat-js div.description a.label:hover{text-decoration:underline}div.heat-js div.guide{display:block}@media (min-width:768px){div.heat-js div.guide{display:flex}}div.heat-js div.guide div.map-types,div.heat-js div.guide div.map-toggles{margin-top:calc(var(--heat-js-spacing) + var(--heat-js-spacing) / 2);width:100%}@media (min-width:768px){div.heat-js div.guide div.map-types,div.heat-js div.guide div.map-toggles{margin-bottom:0}}div.heat-js div.guide div.map-types{text-align:center;flex-grow:unset;margin-right:0;text-align:center}@media (min-width:768px){div.heat-js div.guide div.map-types{text-align:left;width:unset;flex-grow:1;margin-right:var(--heat-js-spacing)}}div.heat-js div.guide div.map-types button{background-color:var(--heat-js-button-background-color);border:var(--heat-js-border-size) solid var(--heat-js-button-border-color);color:var(--heat-js-button-text-color);border-radius:var(--heat-js-border-radius);padding-top:5px;padding-bottom:5px;padding-left:9px;padding-right:9px;outline:none;transition:var(--heat-js-transition)}div.heat-js div.guide div.map-types button:not(.active):active{background:var(--heat-js-button-background-color-active)!important;color:var(--heat-js-button-text-color-active)!important}div.heat-js div.guide div.map-types button:not(.active):hover{cursor:pointer;background:var(--heat-js-button-background-color-hover);color:var(--heat-js-button-text-color-hover)}div.heat-js div.guide div.map-types button.active{cursor:default;background:var(--heat-js-button-background-color-hover);color:var(--heat-js-button-text-color-hover);transition:var(--heat-js-transition);font-weight:var(--heat-js-text-bold-weight-active)}@media (min-width:768px){div.heat-js div.guide div.map-types{text-align:left}}div.heat-js div.guide div.map-types span.label,div.heat-js div.guide div.map-types a.label,div.heat-js div.guide div.map-types a.label:visited{color:var(--heat-js-color-white);font-weight:var(--heat-js-text-bold-weight);text-decoration:none}div.heat-js div.guide div.map-types a.label{transition:var(--heat-js-transition)}div.heat-js div.guide div.map-types a.label:active{color:var(--heat-js-color-gray)}div.heat-js div.guide div.map-types a.label:hover{text-decoration:underline}div.heat-js div.guide div.map-types button{margin-left:0!important;margin-right:calc(var(--heat-js-spacing) / 2)!important}div.heat-js div.guide div.map-toggles{display:flex;align-items:center;justify-content:center;text-align:center}@media (min-width:768px){div.heat-js div.guide div.map-toggles{text-align:right;justify-content:right;width:auto}}div.heat-js div.guide div.map-toggles div.less-text,div.heat-js div.guide div.map-toggles div.more-text{display:inline-block;font-weight:var(--heat-js-text-bold-weight);transition:var(--heat-js-transition)}div.heat-js div.guide div.map-toggles div.less-text:hover,div.heat-js div.guide div.map-toggles div.more-text:hover{cursor:pointer;text-decoration:underline}div.heat-js div.guide div.map-toggles div.less-text:active,div.heat-js div.guide div.map-toggles div.more-text:active{color:var(--heat-js-color-gray)}div.heat-js div.guide div.map-toggles div.less-text{margin-right:var(--heat-js-spacing)}div.heat-js div.guide div.map-toggles div.more-text{margin-left:var(--heat-js-spacing)}div.heat-js div.guide div.map-toggles div.days{display:inline-flex;align-items:center;justify-content:right}div.heat-js div.guide div.map-toggles div.days div.day-number{display:inline-flex!important;justify-content:center;align-items:center;overflow:hidden;text-align:center;font-size:var(--heat-js-spacing-day-font-size);padding-left:calc(var(--heat-js-spacing) / 2);padding-right:calc(var(--heat-js-spacing) / 2)}div.heat-js div.guide div.map-toggles div.days div.day{background-color:var(--heat-js-day-background-color);border:var(--heat-js-border-size) solid var(--heat-js-day-border-color);display:inline-block;border-radius:var(--heat-js-border-radius-day);min-width:var(--heat-js-day-size);height:var(--heat-js-day-size);margin-right:var(--heat-js-day-spacing);transition:var(--heat-js-transition)}div.heat-js div.guide div.map-toggles div.days div.day:last-child{margin-right:0}div.heat-js div.guide div.map-toggles div.days div.day:not(.no-hover):hover{cursor:pointer;background:var(--heat-js-day-background-color-hover)}div.heat-js div.day-color-1:not(.no-hover):active,div.heat-js div.day-color-2:not(.no-hover):active,div.heat-js div.day-color-3:not(.no-hover):active,div.heat-js div.day-color-4:not(.no-hover):active,div.heat-js div.holiday:not(.no-hover):active{opacity:var(--heat-js-day-opacity-active)!important}div.heat-js div.day-color-1:not(.no-hover):hover,div.heat-js div.day-color-2:not(.no-hover):hover,div.heat-js div.day-color-3:not(.no-hover):hover,div.heat-js div.day-color-4:not(.no-hover):hover,div.heat-js div.holiday:not(.no-hover):hover{cursor:pointer;opacity:var(--heat-js-day-opacity-hover)}div.heat-js div.holiday{background-color:var(--heat-js-holiday-background-color)!important;border:var(--heat-js-border-size-day) solid var(--heat-js-holiday-border-color)!important;color:var(--heat-js-holiday-text-color)}div.heat-js div.day-color-1{background-color:var(--heat-js-day-color-1-background-color)!important;border:var(--heat-js-border-size-day) solid var(--heat-js-day-color-1-border-color)!important;color:var(--heat-js-day-color-1-text-color)}div.heat-js div.day-color-2{background-color:var(--heat-js-day-color-2-background-color)!important;border:var(--heat-js-border-size-day) solid var(--heat-js-day-color-2-border-color)!important;color:var(--heat-js-day-color-2-text-color)}div.heat-js div.day-color-3{background-color:var(--heat-js-day-color-3-background-color)!important;border:var(--heat-js-border-size-day) solid var(--heat-js-day-color-3-border-color)!important;color:var(--heat-js-day-color-3-text-color)}div.heat-js div.day-color-4{background-color:var(--heat-js-day-color-4-background-color)!important;border:var(--heat-js-border-size-day) solid var(--heat-js-day-color-4-border-color)!important;color:var(--heat-js-day-color-4-text-color)}div.heat-js-tooltip{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:default;box-sizing:border-box;line-height:normal;font-family:var(--heat-js-default-font);animation:fade-in-animation var(--heat-js-animation-length);position:absolute;background-color:var(--heat-js-tooltip-background-color);border:var(--heat-js-border-size) solid var(--heat-js-tooltip-border-color);color:var(--heat-js-tooltip-text-color);border-radius:var(--heat-js-border-radius);z-index:2000;max-width:300px;padding:var(--heat-js-spacing);font-size:var(--heat-js-spacing-font-size);font-weight:var(--heat-js-text-bold-weight);display:none}@keyframes fade-in-animation{0%{opacity:0}100%{opacity:1}} \ No newline at end of file +:root{--heat-js-default-font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--heat-js-text-bold-weight:400;--heat-js-title-bold-weight:900;--heat-js-text-bold-weight-active:900;--heat-js-color-black:#3b3a3a;--heat-js-color-white:#adbac7;--heat-js-color-snow-white:#F5F5F5;--heat-js-color-gray:#AAA;--heat-js-container-background-color:#22272e;--heat-js-container-border-color:#454c56;--heat-js-tooltip-background-color:var(--heat-js-container-background-color);--heat-js-tooltip-border-color:var(--heat-js-container-border-color);--heat-js-tooltip-text-color:var(--heat-js-color-white);--heat-js-years-background-color:var(--heat-js-container-background-color);--heat-js-years-border-color:var(--heat-js-container-border-color);--heat-js-years-text-color:var(--heat-js-color-white);--heat-js-years-background-color-hover:var(--heat-js-button-background-color-hover);--heat-js-years-text-color-hover:var(--heat-js-color-snow-white);--heat-js-title-opener-text-color-hover:var(--heat-js-color-gray);--heat-js-title-background-color:var(--heat-js-container-background-color);--heat-js-title-border-color:var(--heat-js-container-border-color);--heat-js-title-text-color:var(--heat-js-color-white);--heat-js-title-background-color-hover:var(--heat-js-button-background-color-hover);--heat-js-title-text-color-hover:var(--heat-js-color-snow-white);--heat-js-holiday-background-color:rgba(210,43,43,.75);--heat-js-holiday-border-color:rgba(210,43,43,.5);--heat-js-holiday-text-color:var(--heat-js-color-black);--heat-js-day-background-color:#2d333b;--heat-js-day-border-color:var(--heat-js-container-border-color);--heat-js-day-background-color-hover:var(--heat-js-container-border-color);--heat-js-day-spacing:6.3px;--heat-js-day-opacity-hover:.7;--heat-js-day-opacity-active:.5;--heat-js-day-size:1.1rem;--heat-js-day-chart-width:10px;--heat-js-day-color-1-background-color:rgba(80,200,120,.25);--heat-js-day-color-1-border-color:rgba(80,200,120,.15);--heat-js-day-color-1-text-color:var(--heat-js-color-white);--heat-js-day-color-2-background-color:rgba(80,200,120,.5);--heat-js-day-color-2-border-color:rgba(80,200,120,.25);--heat-js-day-color-2-text-color:var(--heat-js-color-white);--heat-js-day-color-3-background-color:rgba(80,200,120,.75);--heat-js-day-color-3-border-color:rgba(80,200,120,.5);--heat-js-day-color-3-text-color:var(--heat-js-color-black);--heat-js-day-color-4-background-color:rgba(80,200,120,1);--heat-js-day-color-4-border-color:rgba(80,200,120,.75);--heat-js-day-color-4-text-color:var(--heat-js-color-black);--heat-js-button-background-color:var(--heat-js-day-background-color);--heat-js-button-border-color:var(--heat-js-container-border-color);--heat-js-button-text-color:var(--heat-js-color-white);--heat-js-button-background-color-hover:var(--heat-js-container-border-color);--heat-js-button-text-color-hover:var(--heat-js-color-snow-white);--heat-js-button-background-color-active:#616b79;--heat-js-button-text-color-active:var(--heat-js-color-snow-white);--heat-js-border-radius:.5rem;--heat-js-border-radius-day:.35rem;--heat-js-border-size:.5px;--heat-js-border-size-day:1px;--heat-js-spacing:10px;--heat-js-spacing-font-size:.85rem;--heat-js-spacing-day-font-size:.6rem;--heat-js-transition:all .3s;--heat-js-animation-length:0.5s}div.heat-js{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:default;box-sizing:border-box;line-height:normal;font-family:var(--heat-js-default-font);display:inline-block;position:relative;border-radius:var(--heat-js-border-radius);background-color:var(--heat-js-container-background-color);color:var(--heat-js-color-white);border:var(--heat-js-border-size) solid var(--heat-js-container-border-color);padding:var(--heat-js-spacing);font-size:var(--heat-js-spacing-font-size);width:100%;max-width:700px;margin:0!important}div.heat-js div.view-switch{animation:fade-in-animation var(--heat-js-animation-length)}div.heat-js div.no-click{pointer-events:none!important}div.heat-js *{box-sizing:border-box;line-height:normal}div.heat-js *::before,div.heat-js *::after{box-sizing:border-box;line-height:normal}div.heat-js div.title-bar{text-align:right;margin-bottom:calc(var(--heat-js-spacing) + var(--heat-js-spacing) / 2)}div.heat-js div.title-bar div.title{float:left;font-weight:var(--heat-js-title-bold-weight);font-size:1.2rem;padding-bottom:3px;transition:var(--heat-js-transition);cursor:pointer}div.heat-js div.title-bar div.title:hover{color:var(--heat-js-title-opener-text-color-hover)}div.heat-js div.title-bar div.title:hover div.down-arrow{border-top-color:var(--heat-js-title-opener-text-color-hover)}div.heat-js div.title-bar div.title:hover div.titles-list{display:block}div.heat-js div.title-bar div.title div.down-arrow{display:inline-block;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:14px solid var(--heat-js-color-white);transition:var(--heat-js-transition);margin-right:var(--heat-js-spacing)}div.heat-js div.title-bar div.title div.titles-list{animation:fade-in-animation var(--heat-js-animation-length);padding-top:3px;display:none;position:absolute;width:100px;margin-top:3px;z-index:1000}div.heat-js div.title-bar div.title div.titles-list div.titles{border-radius:var(--heat-js-border-radius);background-color:var(--heat-js-title-background-color);border:var(--heat-js-border-size) solid var(--heat-js-title-border-color);color:var(--heat-js-title-text-color);overflow-y:scroll}div.heat-js div.title-bar div.title div.titles-list div.titles div.title{color:var(--heat-js-color-white);font-weight:var(--heat-js-text-bold-weight);border-bottom:var(--heat-js-border-size) dashed var(--heat-js-container-border-color);padding:var(--heat-js-spacing);text-align:left;width:100%;transition:var(--heat-js-transition);font-size:var(--heat-js-spacing-font-size)!important}div.heat-js div.title-bar div.title div.titles-list div.titles div.title:not(.title-active):active{opacity:0.5!important}div.heat-js div.title-bar div.title div.titles-list div.titles div.title:not(.title-active):hover{cursor:pointer;background-color:var(--heat-js-title-background-color-hover);color:var(--heat-js-title-text-color-hover)}div.heat-js div.title-bar div.title div.titles-list div.titles div.title:last-child{border-bottom:none}div.heat-js div.title-bar div.title div.titles-list div.titles div.title-active{background-color:var(--heat-js-title-background-color-hover);color:var(--heat-js-title-text-color-hover);font-weight:var(--heat-js-text-bold-weight-active);cursor:default!important}div.heat-js div.title-bar button{background-color:var(--heat-js-button-background-color);border:var(--heat-js-border-size) solid var(--heat-js-button-border-color);color:var(--heat-js-button-text-color);border-radius:var(--heat-js-border-radius);padding-top:5px;padding-bottom:5px;padding-left:9px;padding-right:9px;outline:none;transition:var(--heat-js-transition)}div.heat-js div.title-bar button:not(.active):active{background:var(--heat-js-button-background-color-active)!important;color:var(--heat-js-button-text-color-active)!important}div.heat-js div.title-bar button:not(.active):hover{cursor:pointer;background:var(--heat-js-button-background-color-hover);color:var(--heat-js-button-text-color-hover)}div.heat-js div.title-bar button.active{cursor:default;background:var(--heat-js-button-background-color-hover);color:var(--heat-js-button-text-color-hover);transition:var(--heat-js-transition);font-weight:var(--heat-js-text-bold-weight-active)}div.heat-js div.title-bar button.back{margin-left:calc(var(--heat-js-spacing) * 2)!important}div.heat-js div.title-bar button.export,div.heat-js div.title-bar button.import{margin-right:calc(var(--heat-js-spacing) / 2)!important}div.heat-js div.title-bar div.year-text{margin-left:var(--heat-js-spacing);margin-right:var(--heat-js-spacing);display:inline-block;font-weight:var(--heat-js-title-bold-weight);position:relative;padding-top:5px;padding-bottom:5px;transition:var(--heat-js-transition);cursor:pointer}div.heat-js div.title-bar div.year-text:hover{color:var(--heat-js-title-opener-text-color-hover)}div.heat-js div.title-bar div.year-text:hover div.down-arrow{border-top-color:var(--heat-js-title-opener-text-color-hover)}div.heat-js div.title-bar div.year-text:hover div.years-list{display:block!important}div.heat-js div.title-bar div.year-text div.down-arrow{display:inline-block;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:9px solid var(--heat-js-color-white);transition:var(--heat-js-transition);margin-left:calc(var(--heat-js-spacing) / 2)}div.heat-js div.title-bar div.year-text div.years-list{animation:fade-in-animation var(--heat-js-animation-length);padding-top:5px;display:none;position:absolute;width:80px;left:50%;transform:translateX(-50%);margin-top:5px;z-index:1000}div.heat-js div.title-bar div.year-text div.years-list div.years{border-radius:var(--heat-js-border-radius);background-color:var(--heat-js-years-background-color);border:var(--heat-js-border-size) solid var(--heat-js-years-border-color);color:var(--heat-js-years-text-color);max-height:183px;height:100%;overflow-y:scroll;scroll-snap-type:y mandatory}div.heat-js div.title-bar div.year-text div.years-list div.years div.year{color:var(--heat-js-color-white);font-weight:var(--heat-js-text-bold-weight);border-bottom:var(--heat-js-border-size) dashed var(--heat-js-container-border-color);padding:var(--heat-js-spacing);text-align:center;width:100%;transition:var(--heat-js-transition);scroll-snap-align:start}div.heat-js div.title-bar div.year-text div.years-list div.years div.year:not(.year-active):active{opacity:0.5!important}div.heat-js div.title-bar div.year-text div.years-list div.years div.year:not(.year-active):hover{cursor:pointer;background-color:var(--heat-js-years-background-color-hover);color:var(--heat-js-years-text-color-hover)}div.heat-js div.title-bar div.year-text div.years-list div.years div.year:last-child{border-bottom:none}div.heat-js div.title-bar div.year-text div.years-list div.years div.year-active{background-color:var(--heat-js-years-background-color-hover);color:var(--heat-js-years-text-color-hover);font-weight:var(--heat-js-text-bold-weight-active);cursor:default!important}div.heat-js div.title-bar div.year-text div.years-list div.years div.year-current{font-style:italic;font-weight:var(--heat-js-text-bold-weight-active)}div.heat-js div.title-bar button.export,div.heat-js div.title-bar button.refresh,div.heat-js div.title-bar button.import{display:none}@media (min-width:768px){div.heat-js div.title-bar button.export,div.heat-js div.title-bar button.refresh,div.heat-js div.title-bar button.import{display:inline-block}}div.heat-js div.map-contents{overflow-x:scroll;overflow-y:hidden;min-height:191px;position:relative}div.heat-js div.map-contents div.no-data-message{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-weight:var(--heat-js-text-bold-weight)}div.heat-js div.map-contents div.map{display:inline-flex;flex-direction:row}div.heat-js div.map-contents div.map div.days,div.heat-js div.map-contents div.map div.days-months-bottom{background-color:var(--heat-js-container-background-color);padding-right:calc(var(--heat-js-spacing) * 3);padding-top:calc(var(--heat-js-spacing-font-size) + var(--heat-js-spacing) + 1px);position:sticky;left:0;display:none;z-index:50}@media (min-width:768px){div.heat-js div.map-contents div.map div.days,div.heat-js div.map-contents div.map div.days-months-bottom{display:block}}div.heat-js div.map-contents div.map div.days div.day-name,div.heat-js div.map-contents div.map div.days-months-bottom div.day-name{font-weight:var(--heat-js-text-bold-weight);text-align:left!important;height:var(--heat-js-day-size);margin-bottom:var(--heat-js-day-spacing);display:inline-flex;justify-content:center;flex-direction:column}div.heat-js div.map-contents div.map div.days-months-bottom{padding-top:0!important}div.heat-js div.map-contents div.map div.months{display:flex;justify-content:space-between;flex-grow:1}div.heat-js div.map-contents div.map div.months div.month{flex:1;pointer-events:none}div.heat-js div.map-contents div.map div.months div.month:last-child div.day-columns div.day-column:last-child div.day{margin-right:0!important}div.heat-js div.map-contents div.map div.months div.month div.month-name,div.heat-js div.map-contents div.map div.months div.month div.month-name-bottom{font-weight:var(--heat-js-text-bold-weight);text-align:left!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}div.heat-js div.map-contents div.map div.months div.month div.month-name{margin-bottom:var(--heat-js-spacing)}div.heat-js div.map-contents div.map div.months div.month div.month-name-bottom{margin-top:var(--heat-js-spacing)}div.heat-js div.map-contents div.map div.months div.month div.day-columns{display:flex;justify-content:space-between}div.heat-js div.map-contents div.map div.months div.month div.day-columns div.day-column div.day,div.heat-js div.map-contents div.map div.months div.month div.day-columns div.day-column div.day-disabled{display:flex;border-radius:var(--heat-js-border-radius-day);width:var(--heat-js-day-size);height:var(--heat-js-day-size);margin-right:var(--heat-js-day-spacing);margin-bottom:var(--heat-js-day-spacing);font-size:var(--heat-js-spacing-day-font-size);justify-content:center;align-items:center;overflow:hidden}div.heat-js div.map-contents div.map div.months div.month div.day-columns div.day-column div.day:last-child,div.heat-js div.map-contents div.map div.months div.month div.day-columns div.day-column div.day-disabled:last-child{margin-bottom:0}div.heat-js div.map-contents div.map div.months div.month div.day-columns div.day-column div.day{pointer-events:all;background-color:var(--heat-js-day-background-color);border:var(--heat-js-border-size) solid var(--heat-js-day-border-color);transition:var(--heat-js-transition);transition-property:opacity,background-color,color,border-color}div.heat-js div.map-contents div.map div.months div.month div.day-columns div.day-column div.day:not(.no-hover):hover{cursor:pointer;background:var(--heat-js-day-background-color-hover)}div.heat-js div.chart-contents{display:flex;overflow-x:scroll;overflow-y:hidden;text-wrap:nowrap;white-space:nowrap;position:relative}div.heat-js div.chart-contents div.no-data-message{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-weight:var(--heat-js-text-bold-weight)}div.heat-js div.chart-contents div.chart{display:inline-flex;flex-direction:row}div.heat-js div.chart-contents div.chart div.y-labels{background-color:var(--heat-js-container-background-color);padding-right:calc(var(--heat-js-spacing) * 3);padding-top:calc(var(--heat-js-spacing-font-size) + var(--heat-js-spacing) + 1px);position:sticky;left:0;display:none;border-right:var(--heat-js-border-size) solid var(--heat-js-container-border-color);z-index:50}@media (min-width:768px){div.heat-js div.chart-contents div.chart div.y-labels{display:block}}div.heat-js div.chart-contents div.chart div.y-labels div.label-0,div.heat-js div.chart-contents div.chart div.y-labels div.label-25,div.heat-js div.chart-contents div.chart div.y-labels div.label-50,div.heat-js div.chart-contents div.chart div.y-labels div.label-75,div.heat-js div.chart-contents div.chart div.y-labels div.label-100{font-weight:var(--heat-js-text-bold-weight);text-align:left!important;height:var(--heat-js-day-size);display:inline-flex;justify-content:center;flex-direction:column;position:absolute;left:0;padding-right:var(--heat-js-spacing)}div.heat-js div.chart-contents div.chart div.y-labels div.label-0{top:0}div.heat-js div.chart-contents div.chart div.y-labels div.label-25{top:25%;transform:translateY(-25%)}div.heat-js div.chart-contents div.chart div.y-labels div.label-50{top:50%;transform:translateY(-50%)}div.heat-js div.chart-contents div.chart div.y-labels div.label-75{top:75%;transform:translateY(-75%)}div.heat-js div.chart-contents div.chart div.y-labels div.label-100{bottom:0}div.heat-js div.chart-contents div.chart div.day-lines{flex:1;border-bottom:var(--heat-js-border-size) solid var(--heat-js-container-border-color)}div.heat-js div.chart-contents div.chart div.day-lines div.day-line-number{font-size:var(--heat-js-spacing-day-font-size);padding:calc(var(--heat-js-spacing) / 2);overflow:hidden}div.heat-js div.chart-contents div.chart div.day-lines div.day-line{border-top-left-radius:var(--heat-js-border-radius-day);border-top-right-radius:var(--heat-js-border-radius-day);background-color:var(--heat-js-day-background-color);border:var(--heat-js-border-size) solid var(--heat-js-day-border-color);border-bottom:none!important;vertical-align:bottom;min-width:var(--heat-js-day-chart-width);margin-right:1px;display:inline-block;transition:var(--heat-js-transition)}@media (min-width:768px){div.heat-js div.chart-contents div.chart div.day-lines div.day-line:first-child{margin-left:calc(var(--heat-js-spacing) / 2)}}div.heat-js div.chart-contents div.chart div.day-lines div.day-line:last-child{margin-right:0}div.heat-js div.chart-contents div.chart div.day-lines div.day-line:not(.no-hover):hover{cursor:pointer;background:var(--heat-js-day-background-color-hover)}div.heat-js div.chart-contents div.chart-months{position:relative;height:calc(var(--heat-js-spacing-font-size) + var(--heat-js-spacing))}div.heat-js div.chart-contents div.chart-months div.month-name,div.heat-js div.chart-contents div.chart-months div.month-name-space{font-weight:var(--heat-js-text-bold-weight);text-align:left!important;position:absolute;bottom:0}@media (min-width:768px){div.heat-js div.chart-contents div.chart-months div.month-name:first-child{margin-left:calc(var(--heat-js-spacing) / 2)}}div.heat-js div.chart-contents div.chart-months div.month-name:nth-child(2){margin-left:var(--heat-js-day-chart-width)}div.heat-js div.chart-contents div.chart-months div.month-name-space{left:0;top:0;position:sticky;background-color:var(--heat-js-container-background-color)}div.heat-js div.statistics-contents{display:flex;overflow:hidden;text-wrap:nowrap;white-space:nowrap;position:relative}div.heat-js div.statistics-contents div.no-statistics-message{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-weight:var(--heat-js-text-bold-weight)}div.heat-js div.statistics-contents div.statistics{display:flex;flex-direction:row}div.heat-js div.statistics-contents div.statistics div.y-labels{background-color:var(--heat-js-container-background-color);padding-right:calc(var(--heat-js-spacing) * 3);padding-top:calc(var(--heat-js-spacing-font-size) + var(--heat-js-spacing) + 1px);position:sticky;left:0;display:none;border-right:var(--heat-js-border-size) solid var(--heat-js-container-border-color);z-index:50}@media (min-width:768px){div.heat-js div.statistics-contents div.statistics div.y-labels{display:block}}div.heat-js div.statistics-contents div.statistics div.y-labels div.label-0,div.heat-js div.statistics-contents div.statistics div.y-labels div.label-25,div.heat-js div.statistics-contents div.statistics div.y-labels div.label-50,div.heat-js div.statistics-contents div.statistics div.y-labels div.label-75,div.heat-js div.statistics-contents div.statistics div.y-labels div.label-100{font-weight:var(--heat-js-text-bold-weight);text-align:left!important;height:var(--heat-js-day-size);display:inline-flex;justify-content:center;flex-direction:column;position:absolute;left:0;padding-right:var(--heat-js-spacing)}div.heat-js div.statistics-contents div.statistics div.y-labels div.label-0{top:0}div.heat-js div.statistics-contents div.statistics div.y-labels div.label-25{top:25%;transform:translateY(-25%)}div.heat-js div.statistics-contents div.statistics div.y-labels div.label-50{top:50%;transform:translateY(-50%)}div.heat-js div.statistics-contents div.statistics div.y-labels div.label-75{top:75%;transform:translateY(-75%)}div.heat-js div.statistics-contents div.statistics div.y-labels div.label-100{bottom:0}div.heat-js div.statistics-contents div.statistics div.range-lines{display:flex;align-items:baseline;flex:1;border-bottom:var(--heat-js-border-size) solid var(--heat-js-container-border-color);justify-content:space-between}div.heat-js div.statistics-contents div.statistics div.range-lines div.range-line-number{font-size:var(--heat-js-spacing-day-font-size);padding:calc(var(--heat-js-spacing) / 2);position:relative;overflow:hidden}div.heat-js div.statistics-contents div.statistics div.range-lines div.range-line-number div.count{position:absolute;top:calc(var(--heat-js-spacing) / 2);left:50%;transform:translateX(-50%)}div.heat-js div.statistics-contents div.statistics div.range-lines div.range-line{border-top-left-radius:var(--heat-js-border-radius-day);border-top-right-radius:var(--heat-js-border-radius-day);background-color:var(--heat-js-day-background-color);border:var(--heat-js-border-size) solid var(--heat-js-day-border-color);border-bottom:none!important;vertical-align:bottom;flex:1 100%;margin-right:var(--heat-js-spacing);display:inline-block;transition:var(--heat-js-transition)}@media (min-width:768px){div.heat-js div.statistics-contents div.statistics div.range-lines div.range-line:first-child{margin-left:calc(var(--heat-js-spacing) / 2)}}div.heat-js div.statistics-contents div.statistics div.range-lines div.range-line:last-child{margin-right:0}div.heat-js div.statistics-contents div.statistics div.range-lines div.range-line:not(.no-hover):hover{cursor:pointer;background:var(--heat-js-day-background-color-hover)}div.heat-js div.statistics-contents div.statistics-ranges{display:flex;flex:1;position:relative;justify-content:space-between;align-items:baseline;height:calc(var(--heat-js-spacing-font-size) + var(--heat-js-spacing) + 3px)}div.heat-js div.statistics-contents div.statistics-ranges div.range-name{flex:1 100%;margin-top:var(--heat-js-spacing);font-weight:var(--heat-js-text-bold-weight);text-align:center!important;overflow:hidden;text-overflow:ellipsis}div.heat-js div.description{text-align:center;margin-top:calc(var(--heat-js-spacing) + var(--heat-js-spacing) / 2);text-align:center}@media (min-width:768px){div.heat-js div.description{text-align:left}}@media (min-width:768px){div.heat-js div.description{text-align:left}}div.heat-js div.description span.label,div.heat-js div.description a.label,div.heat-js div.description a.label:visited{color:var(--heat-js-color-white);font-weight:var(--heat-js-text-bold-weight);text-decoration:none}div.heat-js div.description a.label{transition:var(--heat-js-transition)}div.heat-js div.description a.label:active{color:var(--heat-js-color-gray)}div.heat-js div.description a.label:hover{text-decoration:underline}div.heat-js div.guide{display:block}@media (min-width:768px){div.heat-js div.guide{display:flex}}div.heat-js div.guide div.map-types,div.heat-js div.guide div.map-toggles{margin-top:calc(var(--heat-js-spacing) + var(--heat-js-spacing) / 2);width:100%}@media (min-width:768px){div.heat-js div.guide div.map-types,div.heat-js div.guide div.map-toggles{margin-bottom:0}}div.heat-js div.guide div.map-types{text-align:center;flex-grow:unset;margin-right:0;text-align:center}@media (min-width:768px){div.heat-js div.guide div.map-types{text-align:left;width:unset;flex-grow:1;margin-right:var(--heat-js-spacing)}}div.heat-js div.guide div.map-types button{background-color:var(--heat-js-button-background-color);border:var(--heat-js-border-size) solid var(--heat-js-button-border-color);color:var(--heat-js-button-text-color);border-radius:var(--heat-js-border-radius);padding-top:5px;padding-bottom:5px;padding-left:9px;padding-right:9px;outline:none;transition:var(--heat-js-transition)}div.heat-js div.guide div.map-types button:not(.active):active{background:var(--heat-js-button-background-color-active)!important;color:var(--heat-js-button-text-color-active)!important}div.heat-js div.guide div.map-types button:not(.active):hover{cursor:pointer;background:var(--heat-js-button-background-color-hover);color:var(--heat-js-button-text-color-hover)}div.heat-js div.guide div.map-types button.active{cursor:default;background:var(--heat-js-button-background-color-hover);color:var(--heat-js-button-text-color-hover);transition:var(--heat-js-transition);font-weight:var(--heat-js-text-bold-weight-active)}@media (min-width:768px){div.heat-js div.guide div.map-types{text-align:left}}div.heat-js div.guide div.map-types span.label,div.heat-js div.guide div.map-types a.label,div.heat-js div.guide div.map-types a.label:visited{color:var(--heat-js-color-white);font-weight:var(--heat-js-text-bold-weight);text-decoration:none}div.heat-js div.guide div.map-types a.label{transition:var(--heat-js-transition)}div.heat-js div.guide div.map-types a.label:active{color:var(--heat-js-color-gray)}div.heat-js div.guide div.map-types a.label:hover{text-decoration:underline}div.heat-js div.guide div.map-types button{margin-left:0!important;margin-right:calc(var(--heat-js-spacing) / 2)!important}div.heat-js div.guide div.map-toggles{display:flex;align-items:center;justify-content:center;text-align:center}@media (min-width:768px){div.heat-js div.guide div.map-toggles{text-align:right;justify-content:right;width:auto}}div.heat-js div.guide div.map-toggles div.less-text,div.heat-js div.guide div.map-toggles div.more-text{display:inline-block;font-weight:var(--heat-js-text-bold-weight);transition:var(--heat-js-transition)}div.heat-js div.guide div.map-toggles div.less-text:hover,div.heat-js div.guide div.map-toggles div.more-text:hover{cursor:pointer;text-decoration:underline}div.heat-js div.guide div.map-toggles div.less-text:active,div.heat-js div.guide div.map-toggles div.more-text:active{color:var(--heat-js-color-gray)}div.heat-js div.guide div.map-toggles div.less-text{margin-right:var(--heat-js-spacing)}div.heat-js div.guide div.map-toggles div.more-text{margin-left:var(--heat-js-spacing)}div.heat-js div.guide div.map-toggles div.days{display:inline-flex;align-items:center;justify-content:right}div.heat-js div.guide div.map-toggles div.days div.day-number{display:inline-flex!important;justify-content:center;align-items:center;overflow:hidden;text-align:center;font-size:var(--heat-js-spacing-day-font-size);padding-left:calc(var(--heat-js-spacing) / 2);padding-right:calc(var(--heat-js-spacing) / 2)}div.heat-js div.guide div.map-toggles div.days div.day{background-color:var(--heat-js-day-background-color);border:var(--heat-js-border-size) solid var(--heat-js-day-border-color);display:inline-block;border-radius:var(--heat-js-border-radius-day);min-width:var(--heat-js-day-size);height:var(--heat-js-day-size);margin-right:var(--heat-js-day-spacing);transition:var(--heat-js-transition)}div.heat-js div.guide div.map-toggles div.days div.day:last-child{margin-right:0}div.heat-js div.guide div.map-toggles div.days div.day:not(.no-hover):hover{cursor:pointer;background:var(--heat-js-day-background-color-hover)}div.heat-js div.day-color-1:not(.no-hover):active,div.heat-js div.day-color-2:not(.no-hover):active,div.heat-js div.day-color-3:not(.no-hover):active,div.heat-js div.day-color-4:not(.no-hover):active,div.heat-js div.holiday:not(.no-hover):active{opacity:var(--heat-js-day-opacity-active)!important}div.heat-js div.day-color-1:not(.no-hover):hover,div.heat-js div.day-color-2:not(.no-hover):hover,div.heat-js div.day-color-3:not(.no-hover):hover,div.heat-js div.day-color-4:not(.no-hover):hover,div.heat-js div.holiday:not(.no-hover):hover{cursor:pointer;opacity:var(--heat-js-day-opacity-hover)}div.heat-js div.holiday{background-color:var(--heat-js-holiday-background-color)!important;border:var(--heat-js-border-size-day) solid var(--heat-js-holiday-border-color)!important;color:var(--heat-js-holiday-text-color)}div.heat-js div.day-color-1{background-color:var(--heat-js-day-color-1-background-color)!important;border:var(--heat-js-border-size-day) solid var(--heat-js-day-color-1-border-color)!important;color:var(--heat-js-day-color-1-text-color)}div.heat-js div.day-color-2{background-color:var(--heat-js-day-color-2-background-color)!important;border:var(--heat-js-border-size-day) solid var(--heat-js-day-color-2-border-color)!important;color:var(--heat-js-day-color-2-text-color)}div.heat-js div.day-color-3{background-color:var(--heat-js-day-color-3-background-color)!important;border:var(--heat-js-border-size-day) solid var(--heat-js-day-color-3-border-color)!important;color:var(--heat-js-day-color-3-text-color)}div.heat-js div.day-color-4{background-color:var(--heat-js-day-color-4-background-color)!important;border:var(--heat-js-border-size-day) solid var(--heat-js-day-color-4-border-color)!important;color:var(--heat-js-day-color-4-text-color)}div.heat-js-tooltip{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;cursor:default;box-sizing:border-box;line-height:normal;font-family:var(--heat-js-default-font);animation:fade-in-animation var(--heat-js-animation-length);position:absolute;background-color:var(--heat-js-tooltip-background-color);border:var(--heat-js-border-size) solid var(--heat-js-tooltip-border-color);color:var(--heat-js-tooltip-text-color);border-radius:var(--heat-js-border-radius);z-index:2000;max-width:300px;padding:var(--heat-js-spacing);font-size:var(--heat-js-spacing-font-size);font-weight:var(--heat-js-text-bold-weight);display:none}@keyframes fade-in-animation{0%{opacity:0}100%{opacity:1}} \ No newline at end of file diff --git a/dist/heat.min.js b/dist/heat.min.js index e68f62ef..e21d3021 100644 --- a/dist/heat.min.js +++ b/dist/heat.min.js @@ -20,11 +20,11 @@ a.currentView.mapContents.offsetHeight/y;a.views.statistics.showColorRangeLabels 0);d.style.display="block";e+d.offsetWidth>A.innerWidth?e-=d.offsetWidth:e++;f+d.offsetHeight>A.innerHeight?f-=d.offsetHeight:f++;e=g&&(a.style.visibility="hidden");L(b.onDayClick)?a.onclick=function(){w(b.onDayClick,l,m)}:x(a,"no-hover");f=sa(b,f,m,l);p(f)&&ka(b,f.id)&&(n(f.chartCssClassName)?x(a,f.chartCssClassName):x(a,f.cssClassName))}function Wa(a,b,c,d,e,f){b=q(b,"div","range-line");var g=Ea(e,a);a=c*f;b.style.height=a+"px";0>=a&&(b.style.visibility="hidden");X(b,d,c.toString()); -d.views.statistics.showRangeNumbers&&0=g&&(a.style.visibility="hidden");L(b.onDayClick)?a.onclick=function(){w(b.onDayClick,l,m)}:x(a,"no-hover");f=sa(b,f,m,l);p(f)&&ka(b,f.id)&&(n(f.chartCssClassName)?x(a,f.chartCssClassName):x(a,f.cssClassName))}function Wa(a,b,c,d,e,f){b=q(b,"div","range-line");var g=Ea(e,a);a=c*f;b.style.height= +a+"px";0>=a&&(b.style.visibility="hidden");X(b,d,c.toString());d.views.statistics.showRangeNumbers&&0 Date: Wed, 6 Mar 2024 12:48:10 +0000 Subject: [PATCH 6/6] Added a new binding option called "showHolidaysInDayToolTips", which states if the holidays should be shown in the regular day tooltips (defaults to false). --- dist/heat.js | 35 +++++++----- dist/heat.min.js | 138 +++++++++++++++++++++++------------------------ src/heat.js | 50 ++++++++++++----- 3 files changed, 128 insertions(+), 95 deletions(-) diff --git a/dist/heat.js b/dist/heat.js index 9c91e2cf..ff157b39 100644 --- a/dist/heat.js +++ b/dist/heat.js @@ -394,11 +394,7 @@ var date = new Date(year, month, actualDay); var dateCount = _elements_DateCounts[bindingOptions.currentView.element.id].type[bindingOptions.currentView.type][toStorageDate(date)]; dateCount = isDefinedNumber(dateCount) ? dateCount : 0; - if (isDefinedFunction(bindingOptions.onDayToolTipRender)) { - addToolTip(day, bindingOptions, fireCustomTrigger(bindingOptions.onDayToolTipRender, date, dateCount)); - } else { - addToolTip(day, bindingOptions, getCustomFormattedDateText(bindingOptions.dayToolTipText, date)); - } + renderDayToolTip(bindingOptions, day, date, dateCount); if (bindingOptions.views.map.showDayNumbers && dateCount > 0) { day.innerHTML = dateCount.toString(); } @@ -518,11 +514,7 @@ var dayLine = createElement(dayLines, "div", "day-line"); var dateCount = getCurrentViewData(bindingOptions)[toStorageDate(date)]; dateCount = isDefinedNumber(dateCount) ? dateCount : 0; - if (isDefinedFunction(bindingOptions.onDayToolTipRender)) { - addToolTip(dayLine, bindingOptions, fireCustomTrigger(bindingOptions.onDayToolTipRender, date, dateCount)); - } else { - addToolTip(dayLine, bindingOptions, getCustomFormattedDateText(bindingOptions.dayToolTipText, date)); - } + renderDayToolTip(bindingOptions, dayLine, date, dateCount); if (bindingOptions.views.chart.showLineNumbers && dateCount > 0) { addClass(dayLine, "day-line-number"); dayLine.innerHTML = dateCount.toString(); @@ -665,7 +657,7 @@ var storageDateParts = getStorageDate(storageDate); var storageDateObject = new Date(storageDateParts[2], storageDateParts[1], storageDateParts[0]); var weekDayNumber = getWeekdayNumber(storageDateObject); - if (!isHoliday(bindingOptions, storageDateObject) && isMonthVisible(bindingOptions.views.statistics.monthsToShow, storageDateObject.getMonth()) && isDayVisible(bindingOptions.views.statistics.daysToShow, weekDayNumber)) { + if (!isHoliday(bindingOptions, storageDateObject).matched && isMonthVisible(bindingOptions.views.statistics.monthsToShow, storageDateObject.getMonth()) && isDayVisible(bindingOptions.views.statistics.daysToShow, weekDayNumber)) { var useColorRange = getColorRange(bindingOptions, colorRanges, data[storageDate]); if (!isDefined(useColorRange)) { types[_string.zero]++; @@ -792,6 +784,20 @@ } } } + function renderDayToolTip(bindingOptions, day, date, dateCount) { + if (isDefinedFunction(bindingOptions.onDayToolTipRender)) { + addToolTip(day, bindingOptions, fireCustomTrigger(bindingOptions.onDayToolTipRender, date, dateCount)); + } else { + var tooltip = getCustomFormattedDateText(bindingOptions.dayToolTipText, date); + if (bindingOptions.showHolidaysInDayToolTips) { + var holiday = isHoliday(bindingOptions, date); + if (holiday.matched && isDefinedString(holiday.name)) { + tooltip = tooltip + (": " + holiday.name); + } + } + addToolTip(day, bindingOptions, tooltip); + } + } function createDateStorageForElement(elementId, bindingOptions, storeLocalData) { storeLocalData = isDefined(storeLocalData) ? storeLocalData : true; _elements_DateCounts[elementId] = {options:bindingOptions, type:{}, types:1}; @@ -962,7 +968,7 @@ } function getColorRange(bindingOptions, colorRanges, dateCount, date) { var useColorRange = null; - if (isDefined(date) && isHoliday(bindingOptions, date)) { + if (isDefined(date) && isHoliday(bindingOptions, date).matched) { useColorRange = {cssClassName:"holiday", id:_internal_Name_Holiday, visible:true}; } if (!isDefined(useColorRange)) { @@ -1000,6 +1006,7 @@ function isHoliday(bindingOptions, date) { var holidaysLength = bindingOptions.holidays.length; var holidayMatched = false; + var holidayName = null; var day = date.getDate(); var month = date.getMonth() + 1; var year = date.getFullYear(); @@ -1014,11 +1021,12 @@ holidayMatched = day === parseInt(dateParts[0]) && month === parseInt(dateParts[1]) && year === parseInt(dateParts[2]); } if (holidayMatched) { + holidayName = holiday.name; break; } } } - return holidayMatched; + return {matched:holidayMatched, name:holidayName}; } function makeAreaDroppable(element, bindingOptions) { if (bindingOptions.allowFileImports && !bindingOptions.currentView.isInFetchMode) { @@ -1268,6 +1276,7 @@ options.showImportButton = getDefaultBoolean(options.showImportButton, false); options.dataFetchDelay = getDefaultNumber(options.dataFetchDelay, 60000); options.showOnlyDataForYearsAvailable = getDefaultBoolean(options.showOnlyDataForYearsAvailable, false); + options.showHolidaysInDayToolTips = getDefaultBoolean(options.showHolidaysInDayToolTips, false); options = buildAttributeOptionColorRanges(options); options = buildAttributeOptionHolidays(options); options = buildAttributeOptionMapView(options); diff --git a/dist/heat.min.js b/dist/heat.min.js index e21d3021..4526a5d7 100644 --- a/dist/heat.min.js +++ b/dist/heat.min.js @@ -1,72 +1,72 @@ /*! Heat.js v2.7.0 | (c) Bunoon 2024 | MIT License */ -(function(){function xa(){for(var a=h.domElementTypes,b=a.length,c=0;cf;f++)a.views.map.daysToShow.indexOf(f+1)>N.notFound&&u(e,"div","day-name",h.dayNames[f]);a.views.map.showDaysInReverseOrder&&Ca(e)}e=q(d, -"div","months");d=ha(a);for(f=0;12>f;f++)if(ia(a.views.map.monthsToShow,f)){g=q(e,"div","month");var m=q(g,"div","day-columns"),E=aa(l,f),D=q(m,"div","day-column"),B=!1;var y=ra(new Date(l,f,1));var H=1;E+=y;for(var I=0;I=y?B=!0:a.views.map.daysToShow.indexOf(H)>N.notFound&&q(D,"div","day-disabled");if(B){var R=null;a.views.map.daysToShow.indexOf(H)>N.notFound&&(R=Sa(a,D,I-y,f,l,d));if(0===(I+1)%7&&(a.views.map.showDaysInReverseOrder&&Ca(D),D=q(m,"div","day-column"),H=0,!p(W)&&p(R))){var Ta= -ja(R,"margin-left",!0),Ua=ja(R,"margin-right",!0);W=R.offsetWidth+Ta+Ua}}H++}a.views.map.showMonthNames&&(E=g.offsetWidth,m=a.views.map.placeMonthNamesOnTheBottom?u(g,"div","month-name-bottom",h.monthNames[f]):u(g,"div","month-name",h.monthNames[f],m),p(m)&&(m.style.width=a.views.map.showMonthDayGaps?E+"px":E-W+"px"));b&&p(W)&&(0m;m++)for(E=aa(a.currentView.year,m),D=0;Dm;m++)if(ia(a.views.chart.monthsToShow,m))for(E=aa(f,m),D=1,d++,B=0;BN.notFound&&Va(l,a,B+1,m,f,b,g),0===(B+1)%7&&(D=0),D++,y++;if(a.views.chart.showMonthNames){b=q(a.currentView.chartContents,"div","chart-months");d=l.offsetWidth/d;for(g=f=0;12>g;g++)ia(a.views.chart.monthsToShow,g)&&(u(b,"div","month-name",h.monthNames[g]).style.left=e+d*f+"px",f++);b.style.width=l.offsetWidth+"px";l=q(b,"div","month-name-space");l.style.height=b.offsetHeight+ -"px";l.style.width=e+"px"}a.keepScrollPositions&&(a.currentView.chartContents.scrollLeft=a.currentView.chartContentsScrollLeft)}a.currentView.chartContents.style.display="none"}if(a.views.statistics.enabled){d=c;f=q(a.currentView.statisticsContents,"div","statistics");c=q(a.currentView.statisticsContents,"div","statistics-ranges");g=q(f,"div","y-labels");l=q(f,"div","range-lines");b=ha(a);e={};y=0;m=M(a);for(E=e[r.zero]=0;12>E;E++)for(D=aa(a.currentView.year,E),B=0;BN.notFound&&(H=sa(a,b,m[H]),p(H)?(e.hasOwnProperty(H.minimum.toString())||(e[H.minimum.toString()]=0),e[H.minimum]++,y=J.max(y,e[H.minimum])):e[r.zero]++));d&&x(f,"view-switch");0f;f++)a.views.map.daysToShow.indexOf(f+1)>M.notFound&&u(e,"div","day-name",h.dayNames[f]);a.views.map.showDaysInReverseOrder&&Da(e)}e=q(d, +"div","months");d=fa(a);for(f=0;12>f;f++)if(ha(a.views.map.monthsToShow,f)){g=q(e,"div","month");var m=q(g,"div","day-columns"),C=Z(l,f),A=q(m,"div","day-column"),D=!1;var y=ra(new Date(l,f,1));var H=1;C+=y;for(var I=0;I=y?D=!0:a.views.map.daysToShow.indexOf(H)>M.notFound&&q(A,"div","day-disabled");if(D){var R=null;a.views.map.daysToShow.indexOf(H)>M.notFound&&(R=Sa(a,A,I-y,f,l,d));if(0===(I+1)%7&&(a.views.map.showDaysInReverseOrder&&Da(A),A=q(m,"div","day-column"),H=0,!p(W)&&p(R))){var Ta= +ia(R,"margin-left",!0),Ua=ia(R,"margin-right",!0);W=R.offsetWidth+Ta+Ua}}H++}a.views.map.showMonthNames&&(C=g.offsetWidth,m=a.views.map.placeMonthNamesOnTheBottom?u(g,"div","month-name-bottom",h.monthNames[f]):u(g,"div","month-name",h.monthNames[f],m),p(m)&&(m.style.width=a.views.map.showMonthDayGaps?C+"px":C-W+"px"));b&&p(W)&&(0m;m++)for(C=Z(a.currentView.year,m),A=0;Am;m++)if(ha(a.views.chart.monthsToShow,m))for(C=Z(f,m),A=1,d++,D=0;DM.notFound&&Va(l,a,D+1,m,f,b,g),0===(D+1)%7&&(A=0),A++,y++;if(a.views.chart.showMonthNames){b=q(a.currentView.chartContents,"div","chart-months");d=l.offsetWidth/d;for(g=f=0;12>g;g++)ha(a.views.chart.monthsToShow,g)&&(u(b,"div","month-name",h.monthNames[g]).style.left=e+d*f+"px",f++);b.style.width=l.offsetWidth+"px";l=q(b,"div","month-name-space");l.style.height=b.offsetHeight+"px"; +l.style.width=e+"px"}a.keepScrollPositions&&(a.currentView.chartContents.scrollLeft=a.currentView.chartContentsScrollLeft)}a.currentView.chartContents.style.display="none"}if(a.views.statistics.enabled){d=c;f=q(a.currentView.statisticsContents,"div","statistics");c=q(a.currentView.statisticsContents,"div","statistics-ranges");g=q(f,"div","y-labels");l=q(f,"div","range-lines");b=fa(a);e={};y=0;m=L(a);for(C=e[r.zero]=0;12>C;C++)for(A=Z(a.currentView.year,C),D=0;DM.notFound&&(H=ta(a,b,m[H]),p(H)?(e.hasOwnProperty(H.minimum.toString())||(e[H.minimum.toString()]=0),e[H.minimum]++,y=J.max(y,e[H.minimum])):e[r.zero]++));d&&x(f,"view-switch");0A.innerWidth?e-=d.offsetWidth:e++;f+d.offsetHeight>A.innerHeight?f-=d.offsetHeight:f++;eB.innerWidth?e-=d.offsetWidth:e++;f+d.offsetHeight>B.innerHeight?f-=d.offsetHeight:f++;e=g&&(a.style.visibility="hidden");L(b.onDayClick)?a.onclick=function(){w(b.onDayClick,l,m)}:x(a,"no-hover");f=sa(b,f,m,l);p(f)&&ka(b,f.id)&&(n(f.chartCssClassName)?x(a,f.chartCssClassName):x(a,f.cssClassName))}function Wa(a,b,c,d,e,f){b=q(b,"div","range-line");var g=Ea(e,a);a=c*f;b.style.height= -a+"px";0>=a&&(b.style.visibility="hidden");X(b,d,c.toString());d.views.statistics.showRangeNumbers&&0N.notFound}function Na(a){var b=[];if(a.showOnlyDataForYearsAvailable){a=M(a);for(var c in a)if(a.hasOwnProperty(c)){var d=parseInt(c.split(r.dash)[0]);b.indexOf(d)===N.notFound&&b.push(d)}}return b=b.sort(function(e,f){return e- -f})}function T(a,b){return a.yearsToHide.indexOf(b)===N.notFound&&(0===a.currentView.yearsAvailable.length||a.currentView.yearsAvailable.indexOf(b)>N.notFound)}function Oa(a){a.currentView.isInFetchMode&&(p(a.currentView.isInFetchModeTimer)||Ja(a),p(a.currentView.isInFetchModeTimer)||(a.currentView.isInFetchModeTimer=setInterval(function(){Ja(a);z(a)},a.dataFetchDelay)))}function Ja(a){var b=a.currentView.element.id,c=w(a.onDataFetch,b);if(G(c)){pa(b,a,!1);for(var d in c)c.hasOwnProperty(d)&&(k[b].type[h.unknownTrendText].hasOwnProperty(d)|| -(k[b].type[h.unknownTrendText][d]=0),k[b].type[h.unknownTrendText][d]+=c[d])}}function ka(a,b){var c=!1;if("HOLIDAY"===b)c=!0;else for(var d=a.colorRanges.length,e=0;e=f.minimum)e=f;else break}return e}function Ea(a,b){for(var c=a.length,d=null,e=0;e');g.push("");for(f in l)l.hasOwnProperty(f)&&(g.push(""),g.push(""+f+""),g.push(""+l[f]+""),g.push(""));g.push("");c=g.join(r.newLine)}else if("txt"=== -e){l=la(a);f=[];for(g in l)l.hasOwnProperty(g)&&f.push(g+": "+l[g].toString());c=f.join(r.newLine)}n(c)&&(l=q(F.body,"a"),l.style.display="none",l.setAttribute("target","_blank"),l.setAttribute("href","data:"+d+";charset=utf-8,"+encodeURIComponent(c)),d=l.setAttribute,g=new Date,f=P(g.getDate())+r.dash+P(g.getMonth()+1)+r.dash+g.getFullYear(),g=P(g.getHours())+r.dash+P(g.getMinutes()),c=r.empty,a.currentView.type!==h.unknownTrendText&&(c=a.currentView.type.toLowerCase().replace(r.space,r.underscore)+ -r.underscore),f=c+f+r.underscore+g+"."+a.exportType.toLowerCase(),d.call(l,"download",f),l.click(),F.body.removeChild(l),w(a.onExport,a.currentView.element))}function la(a){var b={},c=M(a);if(a.exportOnlyYearBeingViewed)for(var d=0;12>d;d++)for(var e=aa(a.currentView.year,d),f=0;fa.getDay()-1?6:a.getDay()-1}function Ga(a,b){var c=a,d=ra(b);c=c.replace("{dddd}",h.dayNames[d]);c=c.replace("{dd}",P(b.getDate()));c=c.replace("{d}",b.getDate());d= -c.replace;var e=b.getDate(),f=h.thText;if(31===e||21===e||1===e)f=h.stText;else if(22===e||2===e)f=h.ndText;else if(23===e||3===e)f=h.rdText;c=d.call(c,"{o}",f);c=c.replace("{mmmm}",h.monthNames[b.getMonth()]);c=c.replace("{mm}",P(b.getMonth()+1));c=c.replace("{m}",b.getMonth()+1);c=c.replace("{yyyy}",b.getFullYear());c=c.replace("{yyy}",b.getFullYear().toString().substring(1));c=c.replace("{yy}",b.getFullYear().toString().substring(2));return c=c.replace("{y}",parseInt(b.getFullYear().toString().substring(2)).toString())} -function p(a){return null!==a&&void 0!==a&&a!==r.empty}function G(a){return p(a)&&"object"===typeof a}function K(a){return p(a)&&"boolean"===typeof a}function n(a){return p(a)&&"string"===typeof a}function L(a){return p(a)&&"function"===typeof a}function Y(a){return p(a)&&"number"===typeof a}function U(a){return G(a)&&a instanceof Array}function na(a){return G(a)&&a instanceof Date}function bb(a){a=a.toLowerCase();var b="text"===a;Z.hasOwnProperty(a)||(Z[a]=b?F.createTextNode(r.empty):F.createElement(a)); -return Z[a].cloneNode(!1)}function q(a,b,c,d){b=b.toLowerCase();var e="text"===b;Z.hasOwnProperty(b)||(Z[b]=e?F.createTextNode(r.empty):F.createElement(b));b=Z[b].cloneNode(!1);p(c)&&(b.className=c);p(d)?a.insertBefore(b,d):a.appendChild(b);return b}function u(a,b,c,d,e){a=q(a,b,c,e);a.innerHTML=d;return a}function ja(a,b,c){var d=null;c=p(c)?c:!1;A.getComputedStyle?d=F.defaultView.getComputedStyle(a,null).getPropertyValue(b):a.currentStyle&&(d=a.currentStyle[b]);c&&(d=parseFloat(d,10));return d} -function x(a,b){a.className+=r.space+b}function ba(a){a.preventDefault();a.cancelBubble=!0}function Ca(a){for(var b=a.children,c=b.length-1;c--;)a.appendChild(b[c])}function w(a){var b=null;L(a)&&(b=a.apply(null,[].slice.call(arguments,1)));return b}function t(a,b){return n(a)?a:b}function v(a,b){return K(a)?a:b}function C(a,b){return L(a)?a:b}function da(a,b){return Y(a)?a:b}function oa(a){var b=!0,c=null;try{n(a)&&(c=ea.parse(a))}catch(d){try{c=eval("("+a+")"),L(c)&&(c=c())}catch(e){h.safeMode|| -(console.error(h.objectErrorText.replace("{{error_1}}",d.message).replace("{{error_2}}",e.message)),b=!1),c=null}}return{parsed:b,result:c}}function V(){for(var a=[],b=0;32>b;b++){8!==b&&12!==b&&16!==b&&20!==b||a.push(r.dash);var c=J.floor(16*J.random()).toString(16);a.push(c)}return a.join(r.empty)}function P(a){a=a.toString();return 1===a.length?r.zero+a:a}function Ba(a,b){return a.substring(0,b.length).toLowerCase()===b.toLowerCase()}function O(a){return a.getFullYear()+r.dash+P(a.getMonth()+1)+ -r.dash+P(a.getDate())}function ua(a,b){b=p(b)?b:!0;var c=!0,d=a.currentView.year;for(d--;!T(a,d);){if(0=a.currentView.yearsAvailable[a.currentView.yearsAvailable.length-1]){c=!1;break}d++}c&&(a.currentView.year=d,z(a),b&&w(a.onBackYear, -a.currentView.year))}function La(a){a.currentView.element.innerHTML=r.empty;a.currentView.element.className=r.empty;F.body.removeChild(a.currentView.tooltip);a.currentView.isInFetchMode&&p(a.currentView.isInFetchModeTimer)&&clearInterval(a.currentView.isInFetchModeTimer);w(a.onDestroy,a.currentView.element)}function Ma(a){h=G(a)?a:{};h.safeMode=v(h.safeMode,!0);a=h;var b=h.domElementTypes,c=["*"];n(b)?(b=b.split(r.space),0===b.length&&(b=c)):b=U(b)?b:c;a.domElementTypes=b;h.stText=t(h.stText,"st"); -h.ndText=t(h.ndText,"nd");h.rdText=t(h.rdText,"rd");h.thText=t(h.thText,"th");h.backButtonText=t(h.backButtonText,"Back");h.nextButtonText=t(h.nextButtonText,"Next");h.refreshButtonText=t(h.refreshButtonText,"Refresh");h.exportButtonText=t(h.exportButtonText,"Export");h.lessText=t(h.lessText,"Less");h.moreText=t(h.moreText,"More");h.dateText=t(h.dateText,"Date");h.countText=t(h.countText,"Count");h.mapText=t(h.mapText,"Map");h.chartText=t(h.chartText,"Chart");h.noChartDataMessage=t(h.noChartDataMessage, -"There is currently no data to view.");h.statisticsText=t(h.statisticsText,"Statistics");h.noStatisticsDataMessage=t(h.noStatisticsDataMessage,"There are currently no statistics to view.");h.unknownTrendText=t(h.unknownTrendText,"Unknown");h.importButtonText=t(h.importButtonText,"Import");h.noMapDataMessage=t(h.noMapDataMessage,"There is currently no data to view.");h.objectErrorText=t(h.objectErrorText,"Errors in object: {{error_1}}, {{error_2}}");Q(h.monthNames,12)&&(h.monthNames="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" ")); -Q(h.dayNames,7)&&(h.dayNames="Mon Tue Wed Thu Fri Sat Sun".split(" "))}function Q(a,b){b=Y(b)?b:1;return!U(a)||a.lengthc&&(a.currentView.year=c,T(a,a.currentView.year)?z(a):ua(a,!1),w(a.onSetYear,a.currentView.year))}return this};this.moveToPreviousYear=function(a){n(a)&& -k.hasOwnProperty(a)&&ua(k[a].options);return this};this.moveToNextYear=function(a){n(a)&&k.hasOwnProperty(a)&&ca(k[a].options);return this};this.moveToCurrentYear=function(a){n(a)&&k.hasOwnProperty(a)&&(a=k[a].options,a.currentView.year=(new Date).getFullYear(),T(a,a.currentView.year)?z(a):ca(a,!1),w(a.onSetYear,a.currentView.year));return this};this.getYear=function(a){var b=null;n(a)&&k.hasOwnProperty(a)&&(b=k[a].options.currentView.year);return b};this.render=function(a,b){G(a)&&G(b)&&ya(za(b, -a));return this};this.renderAll=function(){xa();return this};this.switchView=function(a,b){if(n(a)&&n(b)&&k.hasOwnProperty(a)){var c=k[a].options,d=null;"map"===b.toLowerCase()?d=1:"chart"===b.toLowerCase()?d=2:"statistics"===b.toLowerCase()&&(d=3);Y(d)&&(c.currentView.view=d,w(c.onViewSwitch,b),z(c,!1,!0))}return this};this.switchType=function(a,b){if(n(a)&&n(b)&&k.hasOwnProperty(a)&&k[a].type.hasOwnProperty(b)){var c=k[a].options;c.currentView.type!==b&&(c.currentView.type=b,w(c.onTypeSwitch,b), -z(c))}return this};this.updateOptions=function(a,b){if(n(a)&&G(b)&&k.hasOwnProperty(a)){var c=k[a].options,d=Aa(b),e=!1,f;for(f in d)d.hasOwnProperty(f)&&c.hasOwnProperty(f)&&c[f]!==d[f]&&(c[f]=d[f],e=!0);e&&(z(c,!0),w(c.onRefresh,c.currentView.element))}return this};this.destroyAll=function(){for(var a in k)k.hasOwnProperty(a)&&La(k[a].options);k={};return this};this.destroy=function(a){n(a)&&k.hasOwnProperty(a)&&(La(k[a].options),delete k[a]);return this};this.setConfiguration=function(a,b){if(G(a)){var c= -!1,d;for(d in a)a.hasOwnProperty(d)&&h.hasOwnProperty(d)&&h[d]!==a[d]&&(h[d]=a[d],c=!0);c&&(b=p(b)?b:!0,Ma(h),b&&this.refreshAll())}return this};this.getIds=function(){var a=[],b;for(b in k)k.hasOwnProperty(b)&&a.push(b);return a};this.getVersion=function(){return"2.7.0"};(function(a,b,c,d){F=a;A=b;J=c;ea=d;Ma();F.addEventListener("DOMContentLoaded",function(){xa()});A.addEventListener("unload",function(){for(var e in k)if(k.hasOwnProperty(e)){var f=k[e].options;p(f.currentView.isInFetchModeTimer)&& -clearInterval(f.currentView.isInFetchModeTimer)}});p(A.$heat)||(A.$heat=this)})(document,window,Math,JSON)})(); \ No newline at end of file +"no-click");u(b,"button","next",h.nextButtonText).onclick=function(){ba(a)}}}}function ua(a,b,c,d){a.currentView.view===c?x(b,"title-active"):b.onclick=function(){a.currentView.view=c;w(a.onViewSwitch,d);z(a,!1,!0)}}function Za(a,b,c,d){var e=null;b=u(b,"div","year",c);a.currentView.year!==c?(b.onclick=function(){a.currentView.year=c;z(a);w(a.onSetYear,a.currentView.year)},c===d&&x(b,"year-current")):(x(b,"year-active"),e=b);return e}function Sa(a,b,c,d,e,f){c+=1;b=q(b,"div","day");var g=new Date(e, +d,c),l=k[a.currentView.element.id].type[a.currentView.type][N(g)];l=X(l)?l:0;Ga(a,b,g,l);a.views.map.showDayNumbers&&0=g&&(a.style.visibility="hidden");O(b.onDayClick)?a.onclick=function(){w(b.onDayClick,l,m)}:x(a,"no-hover");f=ta(b,f,m,l);p(f)&&ka(b,f.id)&&(n(f.chartCssClassName)?x(a,f.chartCssClassName):x(a,f.cssClassName))}function Wa(a,b,c,d,e,f){b=q(b,"div","range-line");var g=Ea(e,a);a=c*f;b.style.height=a+"px";0>=a&&(b.style.visibility="hidden");ja(b,d,c.toString());d.views.statistics.showRangeNumbers&&0M.notFound} +function Na(a){var b=[];if(a.showOnlyDataForYearsAvailable){a=L(a);for(var c in a)if(a.hasOwnProperty(c)){var d=parseInt(c.split(r.dash)[0]);b.indexOf(d)===M.notFound&&b.push(d)}}return b=b.sort(function(e,f){return e-f})}function T(a,b){return a.yearsToHide.indexOf(b)===M.notFound&&(0===a.currentView.yearsAvailable.length||a.currentView.yearsAvailable.indexOf(b)>M.notFound)}function Oa(a){a.currentView.isInFetchMode&&(p(a.currentView.isInFetchModeTimer)||Ja(a),p(a.currentView.isInFetchModeTimer)|| +(a.currentView.isInFetchModeTimer=setInterval(function(){Ja(a);z(a)},a.dataFetchDelay)))}function Ja(a){var b=a.currentView.element.id,c=w(a.onDataFetch,b);if(G(c)){pa(b,a,!1);for(var d in c)c.hasOwnProperty(d)&&(k[b].type[h.unknownTrendText].hasOwnProperty(d)||(k[b].type[h.unknownTrendText][d]=0),k[b].type[h.unknownTrendText][d]+=c[d])}}function ka(a,b){var c=!1;if("HOLIDAY"===b)c=!0;else for(var d=a.colorRanges.length,e=0;e=f.minimum)e=f;else break}return e}function Ea(a,b){for(var c=a.length,d=null,e=0;e');g.push("");for(f in l)l.hasOwnProperty(f)&&(g.push(""),g.push(""+f+""),g.push(""+l[f]+""),g.push(""));g.push("");c=g.join(r.newLine)}else if("txt"===e){l=la(a);f=[];for(g in l)l.hasOwnProperty(g)&&f.push(g+": "+l[g].toString());c=f.join(r.newLine)}n(c)&&(l=q(F.body,"a"),l.style.display="none",l.setAttribute("target","_blank"),l.setAttribute("href","data:"+d+";charset=utf-8,"+encodeURIComponent(c)), +d=l.setAttribute,g=new Date,f=P(g.getDate())+r.dash+P(g.getMonth()+1)+r.dash+g.getFullYear(),g=P(g.getHours())+r.dash+P(g.getMinutes()),c=r.empty,a.currentView.type!==h.unknownTrendText&&(c=a.currentView.type.toLowerCase().replace(r.space,r.underscore)+r.underscore),f=c+f+r.underscore+g+"."+a.exportType.toLowerCase(),d.call(l,"download",f),l.click(),F.body.removeChild(l),w(a.onExport,a.currentView.element))}function la(a){var b={},c=L(a);if(a.exportOnlyYearBeingViewed)for(var d=0;12>d;d++)for(var e= +Z(a.currentView.year,d),f=0;fa.getDay()-1?6:a.getDay()-1}function p(a){return null!==a&&void 0!==a&&a!==r.empty}function G(a){return p(a)&&"object"===typeof a}function K(a){return p(a)&&"boolean"===typeof a}function n(a){return p(a)&&"string"===typeof a}function O(a){return p(a)&&"function"===typeof a}function X(a){return p(a)&&"number"===typeof a}function U(a){return G(a)&&a instanceof Array}function na(a){return G(a)&& +a instanceof Date}function bb(a){a=a.toLowerCase();var b="text"===a;Y.hasOwnProperty(a)||(Y[a]=b?F.createTextNode(r.empty):F.createElement(a));return Y[a].cloneNode(!1)}function q(a,b,c,d){b=b.toLowerCase();var e="text"===b;Y.hasOwnProperty(b)||(Y[b]=e?F.createTextNode(r.empty):F.createElement(b));b=Y[b].cloneNode(!1);p(c)&&(b.className=c);p(d)?a.insertBefore(b,d):a.appendChild(b);return b}function u(a,b,c,d,e){a=q(a,b,c,e);a.innerHTML=d;return a}function ia(a,b,c){var d=null;c=p(c)?c:!1;B.getComputedStyle? +d=F.defaultView.getComputedStyle(a,null).getPropertyValue(b):a.currentStyle&&(d=a.currentStyle[b]);c&&(d=parseFloat(d,10));return d}function x(a,b){a.className+=r.space+b}function aa(a){a.preventDefault();a.cancelBubble=!0}function Da(a){for(var b=a.children,c=b.length-1;c--;)a.appendChild(b[c])}function w(a){var b=null;O(a)&&(b=a.apply(null,[].slice.call(arguments,1)));return b}function t(a,b){return n(a)?a:b}function v(a,b){return K(a)?a:b}function E(a,b){return O(a)?a:b}function ca(a,b){return X(a)? +a:b}function oa(a){var b=!0,c=null;try{n(a)&&(c=da.parse(a))}catch(d){try{c=eval("("+a+")"),O(c)&&(c=c())}catch(e){h.safeMode||(console.error(h.objectErrorText.replace("{{error_1}}",d.message).replace("{{error_2}}",e.message)),b=!1),c=null}}return{parsed:b,result:c}}function V(){for(var a=[],b=0;32>b;b++){8!==b&&12!==b&&16!==b&&20!==b||a.push(r.dash);var c=J.floor(16*J.random()).toString(16);a.push(c)}return a.join(r.empty)}function P(a){a=a.toString();return 1===a.length?r.zero+a:a}function Ca(a, +b){return a.substring(0,b.length).toLowerCase()===b.toLowerCase()}function N(a){return a.getFullYear()+r.dash+P(a.getMonth()+1)+r.dash+P(a.getDate())}function va(a,b){b=p(b)?b:!0;var c=!0,d=a.currentView.year;for(d--;!T(a,d);){if(0=a.currentView.yearsAvailable[a.currentView.yearsAvailable.length-1]){c=!1;break}d++}c&&(a.currentView.year=d,z(a),b&&w(a.onBackYear,a.currentView.year))}function La(a){a.currentView.element.innerHTML=r.empty;a.currentView.element.className=r.empty;F.body.removeChild(a.currentView.tooltip);a.currentView.isInFetchMode&&p(a.currentView.isInFetchModeTimer)&&clearInterval(a.currentView.isInFetchModeTimer);w(a.onDestroy,a.currentView.element)}function Ma(a){h=G(a)?a:{};h.safeMode=v(h.safeMode,!0);a= +h;var b=h.domElementTypes,c=["*"];n(b)?(b=b.split(r.space),0===b.length&&(b=c)):b=U(b)?b:c;a.domElementTypes=b;h.stText=t(h.stText,"st");h.ndText=t(h.ndText,"nd");h.rdText=t(h.rdText,"rd");h.thText=t(h.thText,"th");h.backButtonText=t(h.backButtonText,"Back");h.nextButtonText=t(h.nextButtonText,"Next");h.refreshButtonText=t(h.refreshButtonText,"Refresh");h.exportButtonText=t(h.exportButtonText,"Export");h.lessText=t(h.lessText,"Less");h.moreText=t(h.moreText,"More");h.dateText=t(h.dateText,"Date"); +h.countText=t(h.countText,"Count");h.mapText=t(h.mapText,"Map");h.chartText=t(h.chartText,"Chart");h.noChartDataMessage=t(h.noChartDataMessage,"There is currently no data to view.");h.statisticsText=t(h.statisticsText,"Statistics");h.noStatisticsDataMessage=t(h.noStatisticsDataMessage,"There are currently no statistics to view.");h.unknownTrendText=t(h.unknownTrendText,"Unknown");h.importButtonText=t(h.importButtonText,"Import");h.noMapDataMessage=t(h.noMapDataMessage,"There is currently no data to view."); +h.objectErrorText=t(h.objectErrorText,"Errors in object: {{error_1}}, {{error_2}}");Q(h.monthNames,12)&&(h.monthNames="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "));Q(h.dayNames,7)&&(h.dayNames="Mon Tue Wed Thu Fri Sat Sun".split(" "))}function Q(a,b){b=X(b)?b:1;return!U(a)||a.lengthc&&(a.currentView.year=c,T(a,a.currentView.year)?z(a):va(a,!1),w(a.onSetYear,a.currentView.year))}return this};this.moveToPreviousYear=function(a){n(a)&&k.hasOwnProperty(a)&&va(k[a].options);return this};this.moveToNextYear=function(a){n(a)&&k.hasOwnProperty(a)&&ba(k[a].options);return this};this.moveToCurrentYear=function(a){n(a)&&k.hasOwnProperty(a)&&(a=k[a].options,a.currentView.year=(new Date).getFullYear(),T(a,a.currentView.year)?z(a):ba(a,!1),w(a.onSetYear, +a.currentView.year));return this};this.getYear=function(a){var b=null;n(a)&&k.hasOwnProperty(a)&&(b=k[a].options.currentView.year);return b};this.render=function(a,b){G(a)&&G(b)&&za(Aa(b,a));return this};this.renderAll=function(){ya();return this};this.switchView=function(a,b){if(n(a)&&n(b)&&k.hasOwnProperty(a)){var c=k[a].options,d=null;"map"===b.toLowerCase()?d=1:"chart"===b.toLowerCase()?d=2:"statistics"===b.toLowerCase()&&(d=3);X(d)&&(c.currentView.view=d,w(c.onViewSwitch,b),z(c,!1,!0))}return this}; +this.switchType=function(a,b){if(n(a)&&n(b)&&k.hasOwnProperty(a)&&k[a].type.hasOwnProperty(b)){var c=k[a].options;c.currentView.type!==b&&(c.currentView.type=b,w(c.onTypeSwitch,b),z(c))}return this};this.updateOptions=function(a,b){if(n(a)&&G(b)&&k.hasOwnProperty(a)){var c=k[a].options,d=Ba(b),e=!1,f;for(f in d)d.hasOwnProperty(f)&&c.hasOwnProperty(f)&&c[f]!==d[f]&&(c[f]=d[f],e=!0);e&&(z(c,!0),w(c.onRefresh,c.currentView.element))}return this};this.destroyAll=function(){for(var a in k)k.hasOwnProperty(a)&& +La(k[a].options);k={};return this};this.destroy=function(a){n(a)&&k.hasOwnProperty(a)&&(La(k[a].options),delete k[a]);return this};this.setConfiguration=function(a,b){if(G(a)){var c=!1,d;for(d in a)a.hasOwnProperty(d)&&h.hasOwnProperty(d)&&h[d]!==a[d]&&(h[d]=a[d],c=!0);c&&(b=p(b)?b:!0,Ma(h),b&&this.refreshAll())}return this};this.getIds=function(){var a=[],b;for(b in k)k.hasOwnProperty(b)&&a.push(b);return a};this.getVersion=function(){return"2.7.0"};(function(a,b,c,d){F=a;B=b;J=c;da=d;Ma();F.addEventListener("DOMContentLoaded", +function(){ya()});B.addEventListener("unload",function(){for(var e in k)if(k.hasOwnProperty(e)){var f=k[e].options;p(f.currentView.isInFetchModeTimer)&&clearInterval(f.currentView.isInFetchModeTimer)}});p(B.$heat)||(B.$heat=this)})(document,window,Math,JSON)})(); \ No newline at end of file diff --git a/src/heat.js b/src/heat.js index 98a7baa7..5b71545a 100644 --- a/src/heat.js +++ b/src/heat.js @@ -604,11 +604,7 @@ dateCount = isDefinedNumber( dateCount ) ? dateCount : 0; - if ( isDefinedFunction( bindingOptions.onDayToolTipRender ) ) { - addToolTip( day, bindingOptions, fireCustomTrigger( bindingOptions.onDayToolTipRender, date, dateCount ) ); - } else { - addToolTip( day, bindingOptions, getCustomFormattedDateText( bindingOptions.dayToolTipText, date ) ); - } + renderDayToolTip( bindingOptions, day, date, dateCount ); if ( bindingOptions.views.map.showDayNumbers && dateCount > 0 ) { day.innerHTML = dateCount.toString(); @@ -765,11 +761,7 @@ dateCount = isDefinedNumber( dateCount ) ? dateCount : 0; - if ( isDefinedFunction( bindingOptions.onDayToolTipRender ) ) { - addToolTip( dayLine, bindingOptions, fireCustomTrigger( bindingOptions.onDayToolTipRender, date, dateCount ) ); - } else { - addToolTip( dayLine, bindingOptions, getCustomFormattedDateText( bindingOptions.dayToolTipText, date ) ); - } + renderDayToolTip( bindingOptions, dayLine, date, dateCount ); if ( bindingOptions.views.chart.showLineNumbers && dateCount > 0 ) { addClass( dayLine, "day-line-number" ); @@ -958,7 +950,7 @@ storageDateObject = new Date( storageDateParts[ 2 ], storageDateParts[ 1 ], storageDateParts[ 0 ] ), weekDayNumber = getWeekdayNumber( storageDateObject ); - if ( !isHoliday( bindingOptions, storageDateObject ) && isMonthVisible( bindingOptions.views.statistics.monthsToShow, storageDateObject.getMonth() ) && isDayVisible( bindingOptions.views.statistics.daysToShow, weekDayNumber ) ) { + if ( !isHoliday( bindingOptions, storageDateObject ).matched && isMonthVisible( bindingOptions.views.statistics.monthsToShow, storageDateObject.getMonth() ) && isDayVisible( bindingOptions.views.statistics.daysToShow, weekDayNumber ) ) { var useColorRange = getColorRange( bindingOptions, colorRanges, data[ storageDate ] ); if ( !isDefined( useColorRange ) ) { @@ -1128,6 +1120,32 @@ } + /* + * ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + * Render: Shared + * ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- + */ + + function renderDayToolTip( bindingOptions, day, date, dateCount ) { + if ( isDefinedFunction( bindingOptions.onDayToolTipRender ) ) { + addToolTip( day, bindingOptions, fireCustomTrigger( bindingOptions.onDayToolTipRender, date, dateCount ) ); + } else { + + var tooltip = getCustomFormattedDateText( bindingOptions.dayToolTipText, date ); + + if ( bindingOptions.showHolidaysInDayToolTips ) { + var holiday = isHoliday( bindingOptions, date ); + + if ( holiday.matched && isDefinedString( holiday.name ) ) { + tooltip += ": " + holiday.name; + } + } + + addToolTip( day, bindingOptions, tooltip ); + } + } + + /* * ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- * Data @@ -1369,7 +1387,7 @@ function getColorRange( bindingOptions, colorRanges, dateCount, date ) { var useColorRange = null; - if ( isDefined( date ) && isHoliday( bindingOptions, date ) ) { + if ( isDefined( date ) && isHoliday( bindingOptions, date ).matched ) { useColorRange = { cssClassName: "holiday", id: _internal_Name_Holiday, @@ -1426,6 +1444,7 @@ function isHoliday( bindingOptions, date ) { var holidaysLength = bindingOptions.holidays.length, holidayMatched = false, + holidayName = null, day = date.getDate(), month = date.getMonth() + 1, year = date.getFullYear(); @@ -1443,12 +1462,16 @@ } if ( holidayMatched ) { + holidayName = holiday.name; break; } } } - return holidayMatched; + return { + matched: holidayMatched, + name: holidayName + }; } @@ -1772,6 +1795,7 @@ options.showImportButton = getDefaultBoolean( options.showImportButton, false ); options.dataFetchDelay = getDefaultNumber( options.dataFetchDelay, 60000 ); options.showOnlyDataForYearsAvailable = getDefaultBoolean( options.showOnlyDataForYearsAvailable, false ); + options.showHolidaysInDayToolTips = getDefaultBoolean( options.showHolidaysInDayToolTips, false ); options = buildAttributeOptionColorRanges( options ); options = buildAttributeOptionHolidays( options );