Socket
Socket
Sign inDemoInstall

reactjs-calendar-heatmap

Package Overview
Dependencies
Maintainers
1
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

reactjs-calendar-heatmap - npm Package Compare versions

Comparing version 0.0.7 to 0.0.8

2

dist/calendar-heatmap.min.js

@@ -1,1 +0,1 @@

!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("react"),require("moment"),require("d3")):"function"==typeof define&&define.amd?define(["react","moment","d3"],e):"object"==typeof exports?exports.CalendarHeatmap=e(require("react"),require("moment"),require("d3")):t.CalendarHeatmap=e(t.React,t.moment,t.d3)}(this,function(t,e,n){return function(t){function e(i){if(n[i])return n[i].exports;var a=n[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,e),a.l=!0,a.exports}var n={};return e.m=t,e.c=n,e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="/",e(e.s=0)}([function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),a=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=a.default,t.exports=e.default},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function a(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),u=n(2),d=a(u),c=n(3),f=i(c),h=n(4),p=a(h),m=n(5),v=i(m),g=function(t){function e(t){r(this,e);var n=s(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return n.settings={gutter:5,item_gutter:1,width:1e3,height:200,item_size:10,label_padding:40,max_block_height:20,transition_duration:500,tooltip_width:250,tooltip_padding:15},n.in_transition=!1,n.overview=n.props.overview,n.history=["global"],n.selected={},n.calcDimensions=n.calcDimensions.bind(n),n}return o(e,t),l(e,[{key:"componentDidMount",value:function(){this.createElements(),this.parseData(),this.drawChart(),window.addEventListener("resize",this.calcDimensions)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("resize",this.calcDimensions)}},{key:"createElements",value:function(){this.svg=p.select("#calendar-heatmap").append("svg").attr("class","svg"),this.items=this.svg.append("g"),this.labels=this.svg.append("g"),this.buttons=this.svg.append("g"),this.tooltip=p.select("#calendar-heatmap").append("div").attr("class",v.default.heatmapTooltip).style("opacity",0).style("pointer-events","none").style("position","absolute").style("z-index",9999).style("width","250px").style("max-width","250px").style("overflow","hidden").style("padding","15px").style("font-size","12px").style("line-height","14px").style("color","rgb(51, 51, 51)").style("background","rgba(255, 255, 255, 0.75)"),this.calcDimensions()}},{key:"calcDimensions",value:function(){var t=Math.round(((0,f.default)()-(0,f.default)().subtract(1,"year").startOf("week"))/864e5),e=Math.trunc(t/7),n=e+1;this.settings.width=this.container.offsetWidth<1e3?1e3:this.container.offsetWidth,this.settings.item_size=(this.settings.width-this.settings.label_padding)/n-this.settings.gutter,this.settings.height=this.settings.label_padding+7*(this.settings.item_size+this.settings.gutter),this.svg.attr("width",this.settings.width).attr("height",this.settings.height),this.props.data&&this.props.data[0].summary&&this.drawChart()}},{key:"parseData",value:function(){this.props.data&&(this.props.data[0].summary||this.props.data.map(function(t){var e=t.details.reduce(function(t,e){return t[e.name]?t[e.name].value+=e.value:t[e.name]={value:e.value},t},{}),n=Object.keys(e).map(function(t){return{name:t,value:e[t].value}});return t.summary=n.sort(function(t,e){return e.value-t.value}),t}))}},{key:"drawChart",value:function(){"global"===this.overview?this.drawGlobalOverview():"year"===this.overview?this.drawYearOverview():"month"===this.overview?this.drawMonthOverview():"week"===this.overview?this.drawWeekOverview():"day"===this.overview&&this.drawDayOverview()}},{key:"drawGlobalOverview",value:function(){var t=this;this.history[this.history.length-1]!==this.overview&&this.history.push(this.overview);var e=(0,f.default)(this.props.data[0].date).startOf("year"),n=(0,f.default)(this.props.data[this.props.data.length-1].date).endOf("year"),i=p.timeYears(e,n).map(function(e){var n=(0,f.default)(e);return{date:n,total:t.props.data.reduce(function(t,e){return(0,f.default)(e.date).year()===n.year()&&(t+=e.total),t},0),summary:function(){var e=t.props.data.reduce(function(t,e){return(0,f.default)(e.date).year()===n.year()&&e.summary.map(function(e){t[e.name]?t[e.name].value+=e.value:t[e.name]={value:e.value}}),t},{});return Object.keys(e).map(function(t){return{name:t,value:e[t].value}}).sort(function(t,e){return e.value-t.value})}()}}),a=p.max(i,function(t){return t.total}),r=p.timeYears(e,n).map(function(t){return(0,f.default)(t)}),s=p.scaleBand().rangeRound([0,this.settings.width]).padding([.05]).domain(r.map(function(t){return t.year()}));this.items.selectAll(".item-block-year").remove();this.items.selectAll(".item-block-year").data(i).enter().append("rect").attr("class","item item-block-year").style("cursor","pointer").attr("width",function(){return(t.settings.width-t.settings.label_padding)/r.length-5*t.settings.gutter}).attr("height",function(){return t.settings.height-t.settings.label_padding}).attr("transform",function(e){return"translate("+s(e.date.year())+","+2*t.settings.tooltip_padding+")"}).attr("fill",function(e){return p.scaleLinear().range(["#ffffff",t.props.color]).domain([-.15*a,a])(e.total)||"#ff4500"}).on("click",function(e){t.in_transition||(t.in_transition=!0,t.selected=e,t.hideTooltip(),t.removeGlobalOverview(),t.overview="year",t.drawChart())}).style("opacity",0).on("mouseover",function(e){if(!t.in_transition){var n="";n+="<div><span><strong>Total time tracked:</strong></span>";var i=parseInt(e.total,10),a=Math.floor(i/86400);a>0&&(n+="<span>"+(1===a?"1 day":a+" days")+"</span></div>");var r=Math.floor((i-86400*a)/3600);r>0&&(n+=a>0?"<div><span></span><span>"+(1===r?"1 hour":r+" hours")+"</span></div>":"<span>"+(1===r?"1 hour":r+" hours")+"</span></div>");var o=Math.floor((i-86400*a-3600*r)/60);if(o>0&&(n+=a>0||r>0?"<div><span></span><span>"+(1===o?"1 minute":o+" minutes")+"</span></div>":"<span>"+(1===o?"1 minute":o+" minutes")+"</span></div>"),n+="<br />",e.summary.length<=5)for(var l=0;l<e.summary.length;)n+="<div><span><strong>"+e.summary[l].name+"</strong></span>",n+="<span>"+t.formatTime(e.summary[l].value)+"</span></div>",l++;else{for(var u=0;u<5;)n+="<div><span><strong>"+e.summary[u].name+"</strong></span>",n+="<span>"+t.formatTime(e.summary[u].value)+"</span></div>",u++;n+="<br />",u=5;for(var d=0;u<e.summary.length;)d=+e.summary[u].value,u++;n+="<div><span><strong>Other:</strong></span>",n+="<span>"+t.formatTime(d)+"</span></div>"}for(var c=s(e.date.year())+2*t.settings.tooltip_padding;t.settings.width-c<t.settings.tooltip_width+5*t.settings.tooltip_padding;)c-=10;var f=3*t.settings.tooltip_padding;t.tooltip.html(n).style("left",c+"px").style("top",f+"px").transition().duration(t.settings.transition_duration/2).ease(p.easeLinear).style("opacity",1)}}).on("mouseout",function(){t.in_transition||t.hideTooltip()}).transition().delay(function(e,n){return t.settings.transition_duration*(n+1)/10}).duration(function(){return t.settings.transition_duration}).ease(p.easeLinear).style("opacity",1).call(function(t,e){t.empty()&&e();var n=0;t.each(function(){++n}).on("end",function(){--n||e.apply(this,arguments)})},function(){t.in_transition=!1});this.labels.selectAll(".label-year").remove(),this.labels.selectAll(".label-year").data(r).enter().append("text").attr("class","label label-year").style("cursor","pointer").style("fill","rgb(170, 170, 170)").attr("font-size",function(){return Math.floor(t.settings.label_padding/3)+"px"}).text(function(t){return t.year()}).attr("x",function(t){return s(t.year())}).attr("y",this.settings.label_padding/2).on("mouseenter",function(e){t.in_transition||t.items.selectAll(".item-block-year").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",function(t){return(0,f.default)(t.date).year()===e.year()?1:.1})}).on("mouseout",function(){t.in_transition||t.items.selectAll(".item-block-year").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",1)}).on("click",function(e){t.in_transition||(t.in_transition=!0,t.selected=e,t.hideTooltip(),t.removeGlobalOverview(),t.overview="year",t.drawChart())})}},{key:"drawYearOverview",value:function(){var t=this;this.history[this.history.length-1]!==this.overview&&this.history.push(this.overview);var e=(0,f.default)(this.selected.date).startOf("year"),n=(0,f.default)(this.selected.date).endOf("year"),i=this.props.data.filter(function(t){return e<=(0,f.default)(t.date)&&(0,f.default)(t.date)<n}),a=p.max(i,function(t){return t.total}),r=p.scaleLinear().range(["#ffffff",this.props.color]).domain([-.15*a,a]),s=function(n){var i=(0,f.default)(n.date),a=Math.round((i-(0,f.default)(e).startOf("week"))/864e5);return Math.trunc(a/7)*(t.settings.item_size+t.settings.gutter)+t.settings.label_padding},o=function(e){return t.settings.label_padding+(0,f.default)(e.date).weekday()*(t.settings.item_size+t.settings.gutter)},l=function(e){return a<=0?t.settings.item_size:.75*t.settings.item_size+t.settings.item_size*e.total/a*.25};this.items.selectAll(".item-circle").remove(),this.items.selectAll(".item-circle").data(i).enter().append("rect").attr("class","item item-circle").style("cursor","pointer").style("opacity",0).attr("x",function(e){return s(e)+(t.settings.item_size-l(e))/2}).attr("y",function(e){return o(e)+(t.settings.item_size-l(e))/2}).attr("rx",function(t){return l(t)}).attr("ry",function(t){return l(t)}).attr("width",function(t){return l(t)}).attr("height",function(t){return l(t)}).attr("fill",function(t){return t.total>0?r(t.total):"transparent"}).on("click",function(e){t.in_transition||0!==e.total&&(t.in_transition=!0,t.selected=e,t.hideTooltip(),t.removeYearOverview(),t.overview="day",t.drawChart())}).on("mouseover",function(e){if(!t.in_transition){var n=p.select(p.event.currentTarget);!function e(){n=n.transition().duration(t.settings.transition_duration).ease(p.easeLinear).attr("x",function(e){return s(e)-(1.1*t.settings.item_size-t.settings.item_size)/2}).attr("y",function(e){return o(e)-(1.1*t.settings.item_size-t.settings.item_size)/2}).attr("width",1.1*t.settings.item_size).attr("height",1.1*t.settings.item_size).transition().duration(t.settings.transition_duration).ease(p.easeLinear).attr("x",function(e){return s(e)+(t.settings.item_size-l(e))/2}).attr("y",function(e){return o(e)+(t.settings.item_size-l(e))/2}).attr("width",function(t){return l(t)}).attr("height",function(t){return l(t)}).on("end",e)}();var i="";i+='<div class="'+v.default.header+'"><strong>'+(e.total?t.formatTime(e.total):"No time")+" tracked</strong></div>",i+="<div>on "+(0,f.default)(e.date).format("dddd, MMM Do YYYY")+"</div><br>";for(var a=0;a<e.summary.length;)i+="<div><span><strong>"+e.summary[a].name+"</strong></span>",i+="<span>"+t.formatTime(e.summary[a].value)+"</span></div>",a++;var r=s(e)+t.settings.item_size;t.settings.width-r<t.settings.tooltip_width+3*t.settings.tooltip_padding&&(r-=t.settings.tooltip_width+2*t.settings.tooltip_padding);var u=o(e)+t.settings.item_size;t.tooltip.html(i).style("left",r+"px").style("top",u+"px").transition().duration(t.settings.transition_duration/2).ease(p.easeLinear).style("opacity",1)}}).on("mouseout",function(){t.in_transition||(p.select(p.event.currentTarget).transition().duration(t.settings.transition_duration/2).ease(p.easeLinear).attr("x",function(e){return s(e)+(t.settings.item_size-l(e))/2}).attr("y",function(e){return o(e)+(t.settings.item_size-l(e))/2}).attr("width",function(t){return l(t)}).attr("height",function(t){return l(t)}),t.hideTooltip())}).transition().delay(function(){return(Math.cos(Math.PI*Math.random())+1)*t.settings.transition_duration}).duration(function(){return t.settings.transition_duration}).ease(p.easeLinear).style("opacity",1).call(function(t,e){t.empty()&&e();var n=0;t.each(function(){return++n}).on("end",function(){--n||e.apply(this,arguments)})},function(){t.in_transition=!1});var u=p.timeMonths(e,n),d=p.scaleLinear().range([0,this.settings.width]).domain([0,u.length]);this.labels.selectAll(".label-month").remove(),this.labels.selectAll(".label-month").data(u).enter().append("text").attr("class","label label-month").style("cursor","pointer").style("fill","rgb(170, 170, 170)").attr("font-size",function(){return Math.floor(t.settings.label_padding/3)+"px"}).text(function(t){return t.toLocaleDateString("en-us",{month:"short"})}).attr("x",function(t,e){return d(e)+(d(e)-d(e-1))/2}).attr("y",this.settings.label_padding/2).on("mouseenter",function(e){if(!t.in_transition){var n=(0,f.default)(e);t.items.selectAll(".item-circle").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",function(t){return(0,f.default)(t.date).isSame(n,"month")?1:.1})}}).on("mouseout",function(){t.in_transition||t.items.selectAll(".item-circle").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",1)}).on("click",function(e){if(!t.in_transition){t.props.data.filter(function(t){return(0,f.default)(e).startOf("month")<=(0,f.default)(t.date)&&(0,f.default)(t.date)<(0,f.default)(e).endOf("month")}).length&&(t.selected={date:e},t.in_transition=!0,t.hideTooltip(),t.removeYearOverview(),t.overview="month",t.drawChart())}});var c=p.timeDays((0,f.default)().startOf("week"),(0,f.default)().endOf("week")),h=p.scaleBand().rangeRound([this.settings.label_padding,this.settings.height]).domain(c.map(function(t){return(0,f.default)(t).weekday()}));this.labels.selectAll(".label-day").remove(),this.labels.selectAll(".label-day").data(c).enter().append("text").attr("class","label label-day").style("cursor","pointer").style("fill","rgb(170, 170, 170)").attr("x",this.settings.label_padding/3).attr("y",function(t,e){return h(e)+h.bandwidth()/1.75}).style("text-anchor","left").attr("font-size",function(){return Math.floor(t.settings.label_padding/3)+"px"}).text(function(t){return(0,f.default)(t).format("dddd")[0]}).on("mouseenter",function(e){if(!t.in_transition){var n=(0,f.default)(e);t.items.selectAll(".item-circle").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",function(t){return(0,f.default)(t.date).day()===n.day()?1:.1})}}).on("mouseout",function(){t.in_transition||t.items.selectAll(".item-circle").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",1)}),this.drawButton()}},{key:"drawMonthOverview",value:function(){var t=this;this.history[this.history.length-1]!==this.overview&&this.history.push(this.overview);for(var e=(0,f.default)(this.selected.date).startOf("month"),n=(0,f.default)(this.selected.date).endOf("month"),i=this.props.data.filter(function(t){return e<=(0,f.default)(t.date)&&(0,f.default)(t.date)<n}),a=p.max(i,function(t){return p.max(t.summary,function(t){return t.value})}),r=p.timeDays((0,f.default)().startOf("week"),(0,f.default)().endOf("week")),s=p.scaleBand().rangeRound([this.settings.label_padding,this.settings.height]).domain(r.map(function(t){return(0,f.default)(t).weekday()})),o=[e.clone()];e.week()!==n.week();)o.push(e.add(1,"week").clone());var l=p.scaleBand().rangeRound([this.settings.label_padding,this.settings.width]).padding([.05]).domain(o.map(function(t){return t.week()}));this.items.selectAll(".item-block-month").remove();var u=this.items.selectAll(".item-block-month").data(i).enter().append("g").attr("class","item item-block-month").style("cursor","pointer").attr("width",function(){return(t.settings.width-t.settings.label_padding)/o.length-5*t.settings.gutter}).attr("height",function(){return Math.min(s.bandwidth(),t.settings.max_block_height)}).attr("transform",function(t){return"translate("+l((0,f.default)(t.date).week())+","+(s((0,f.default)(t.date).weekday())+s.bandwidth()/1.75-15)+")"}).attr("total",function(t){return t.total}).attr("date",function(t){return t.date}).attr("offset",0).on("click",function(e){t.in_transition||0!==e.total&&(t.in_transition=!0,t.selected=e,t.hideTooltip(),t.removeMonthOverview(),t.overview="day",t.drawChart())}),d=(this.settings.width-this.settings.label_padding)/o.length-5*this.settings.gutter,c=p.scaleLinear().rangeRound([0,d]),h=this.settings.item_gutter;u.selectAll(".item-block-rect").data(function(t){return t.summary}).enter().append("rect").attr("class","item item-block-rect").style("cursor","pointer").attr("x",function(t){var e=parseInt(p.select(this.parentNode).attr("total")),n=parseInt(p.select(this.parentNode).attr("offset"));return c.domain([0,e]),p.select(this.parentNode).attr("offset",n+c(t.value)),n}).attr("width",function(t){var e=parseInt(p.select(this.parentNode).attr("total"));return c.domain([0,e]),Math.max(c(t.value)-h,1)}).attr("height",function(){return Math.min(s.bandwidth(),t.settings.max_block_height)}).attr("fill",function(e){return p.scaleLinear().range(["#ffffff",t.props.color]).domain([-.15*a,a])(e.value)||"#ff4500"}).style("opacity",0).on("mouseover",function(e){if(!t.in_transition){var n=p.select(p.event.currentTarget.parentNode),i=new Date(n.attr("date")),a="";a+='<div class="'+v.default.header+'"><strong>'+e.name+"</strong></div><br>",a+="<div><strong>"+(e.value?t.formatTime(e.value):"No time")+" tracked</strong></div>",a+="<div>on "+(0,f.default)(i).format("dddd, MMM Do YYYY")+"</div>";for(var r=l((0,f.default)(i).week())+t.settings.tooltip_padding;t.settings.width-r<t.settings.tooltip_width+3*t.settings.tooltip_padding;)r-=10;var o=s((0,f.default)(i).weekday())+2*t.settings.tooltip_padding;t.tooltip.html(a).style("left",r+"px").style("top",o+"px").transition().duration(t.settings.transition_duration/2).ease(p.easeLinear).style("opacity",1)}}).on("mouseout",function(){t.in_transition||t.hideTooltip()}).transition().delay(function(){return(Math.cos(Math.PI*Math.random())+1)*t.settings.transition_duration}).duration(function(){return t.settings.transition_duration}).ease(p.easeLinear).style("opacity",1).call(function(t,e){t.empty()&&e();var n=0;t.each(function(){return++n}).on("end",function(){--n||e.apply(this,arguments)})},function(){t.in_transition=!1}),this.labels.selectAll(".label-week").remove(),this.labels.selectAll(".label-week").data(o).enter().append("text").attr("class","label label-week").style("cursor","pointer").style("fill","rgb(170, 170, 170)").attr("font-size",function(){return Math.floor(t.settings.label_padding/3)+"px"}).text(function(t){return"Week "+t.week()}).attr("x",function(t){return l(t.week())}).attr("y",this.settings.label_padding/2).on("mouseenter",function(e){t.in_transition||t.items.selectAll(".item-block-month").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",function(t){return(0,f.default)(t.date).week()===e.week()?1:.1})}).on("mouseout",function(){t.in_transition||t.items.selectAll(".item-block-month").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",1)}).on("click",function(e){if(!t.in_transition){t.props.data.filter(function(t){return e.startOf("week")<=(0,f.default)(t.date)&&(0,f.default)(t.date)<e.endOf("week")}).length&&(t.in_transition=!0,t.selected={date:e},t.hideTooltip(),t.removeMonthOverview(),t.overview="week",t.drawChart())}}),this.labels.selectAll(".label-day").remove(),this.labels.selectAll(".label-day").data(r).enter().append("text").attr("class","label label-day").style("cursor","pointer").style("fill","rgb(170, 170, 170)").attr("x",this.settings.label_padding/3).attr("y",function(t,e){return s(e)+s.bandwidth()/1.75}).style("text-anchor","left").attr("font-size",function(){return Math.floor(t.settings.label_padding/3)+"px"}).text(function(t){return(0,f.default)(t).format("dddd")[0]}).on("mouseenter",function(e){if(!t.in_transition){var n=(0,f.default)(e);t.items.selectAll(".item-block-month").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",function(t){return(0,f.default)(t.date).day()===n.day()?1:.1})}}).on("mouseout",function(){t.in_transition||t.items.selectAll(".item-block-month").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",1)}),this.drawButton()}},{key:"drawWeekOverview",value:function(){var t=this;this.history[this.history.length-1]!==this.overview&&this.history.push(this.overview);var e=(0,f.default)(this.selected.date).startOf("week"),n=(0,f.default)(this.selected.date).endOf("week"),i=this.props.data.filter(function(t){return e<=(0,f.default)(t.date)&&(0,f.default)(t.date)<n}),a=p.max(i,function(t){return p.max(t.summary,function(t){return t.value})}),r=p.timeDays((0,f.default)().startOf("week"),(0,f.default)().endOf("week")),s=p.scaleBand().rangeRound([this.settings.label_padding,this.settings.height]).domain(r.map(function(t){return(0,f.default)(t).weekday()})),o=[e],l=p.scaleBand().rangeRound([this.settings.label_padding,this.settings.width]).padding([.01]).domain(o.map(function(t){return t.week()}));this.items.selectAll(".item-block-week").remove();var u=this.items.selectAll(".item-block-week").data(i).enter().append("g").attr("class","item item-block-week").style("cursor","pointer").attr("width",function(){return(t.settings.width-t.settings.label_padding)/o.length-5*t.settings.gutter}).attr("height",function(){return Math.min(s.bandwidth(),t.settings.max_block_height)}).attr("transform",function(t){return"translate("+l((0,f.default)(t.date).week())+","+(s((0,f.default)(t.date).weekday())+s.bandwidth()/1.75-15)+")"}).attr("total",function(t){return t.total}).attr("date",function(t){return t.date}).attr("offset",0).on("click",function(e){t.in_transition||0!==e.total&&(t.in_transition=!0,t.selected=e,t.hideTooltip(),t.removeWeekOverview(),t.overview="day",t.drawChart())}),d=(this.settings.width-this.settings.label_padding)/o.length-5*this.settings.gutter,c=p.scaleLinear().rangeRound([0,d]),h=this.settings.item_gutter;u.selectAll(".item-block-rect").data(function(t){return t.summary}).enter().append("rect").attr("class","item item-block-rect").style("cursor","pointer").attr("x",function(t){var e=parseInt(p.select(this.parentNode).attr("total")),n=parseInt(p.select(this.parentNode).attr("offset"));return c.domain([0,e]),p.select(this.parentNode).attr("offset",n+c(t.value)),n}).attr("width",function(t){var e=parseInt(p.select(this.parentNode).attr("total"));return c.domain([0,e]),Math.max(c(t.value)-h,1)}).attr("height",function(){return Math.min(s.bandwidth(),t.settings.max_block_height)}).attr("fill",function(e){return p.scaleLinear().range(["#ffffff",t.props.color]).domain([-.15*a,a])(e.value)||"#ff4500"}).style("opacity",0).on("mouseover",function(e){if(!t.in_transition){var n=p.select(p.event.currentTarget.parentNode),i=new Date(n.attr("date")),a="";a+='<div class="'+v.default.header+'"><strong>'+e.name+"</strong></div><br>",a+="<div><strong>"+(e.value?t.formatTime(e.value):"No time")+" tracked</strong></div>",a+="<div>on "+(0,f.default)(i).format("dddd, MMM Do YYYY")+"</div>";var r=parseInt(n.attr("total"));c.domain([0,r]);for(var o=parseInt(p.select(p.event.currentTarget).attr("x"))+c(e.value)/4+t.settings.tooltip_width/4;t.settings.width-o<t.settings.tooltip_width+3*t.settings.tooltip_padding;)o-=10;var l=s((0,f.default)(i).weekday())+1.5*t.settings.tooltip_padding;t.tooltip.html(a).style("left",o+"px").style("top",l+"px").transition().duration(t.settings.transition_duration/2).ease(p.easeLinear).style("opacity",1)}}).on("mouseout",function(){t.in_transition||t.hideTooltip()}).transition().delay(function(){return(Math.cos(Math.PI*Math.random())+1)*t.settings.transition_duration}).duration(function(){return t.settings.transition_duration}).ease(p.easeLinear).style("opacity",1).call(function(t,e){t.empty()&&e();var n=0;t.each(function(){return++n}).on("end",function(){--n||e.apply(this,arguments)})},function(){t.in_transition=!1}),this.labels.selectAll(".label-week").remove(),this.labels.selectAll(".label-week").data(o).enter().append("text").attr("class","label label-week").style("cursor","pointer").style("fill","rgb(170, 170, 170)").attr("font-size",function(){return Math.floor(t.settings.label_padding/3)+"px"}).text(function(t){return"Week "+t.week()}).attr("x",function(t){return l(t.week())}).attr("y",this.settings.label_padding/2).on("mouseenter",function(e){t.in_transition||t.items.selectAll(".item-block-week").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",function(t){return(0,f.default)(t.date).week()===e.week()?1:.1})}).on("mouseout",function(){t.in_transition||t.items.selectAll(".item-block-week").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",1)}),this.labels.selectAll(".label-day").remove(),this.labels.selectAll(".label-day").data(r).enter().append("text").attr("class","label label-day").style("cursor","pointer").style("fill","rgb(170, 170, 170)").attr("x",this.settings.label_padding/3).attr("y",function(t,e){return s(e)+s.bandwidth()/1.75}).style("text-anchor","left").attr("font-size",function(){return Math.floor(t.settings.label_padding/3)+"px"}).text(function(t){return(0,f.default)(t).format("dddd")[0]}).on("mouseenter",function(e){if(!t.in_transition){var n=(0,f.default)(e);t.items.selectAll(".item-block-week").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",function(t){return(0,f.default)(t.date).day()===n.day()?1:.1})}}).on("mouseout",function(){t.in_transition||t.items.selectAll(".item-block-week").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",1)}),this.drawButton()}},{key:"drawDayOverview",value:function(){var t=this;this.history[this.history.length-1]!==this.overview&&this.history.push(this.overview),Object.keys(this.selected).length||(this.selected=this.props.data[this.props.data.length-1]);var e=this.selected.summary.map(function(t){return t.name}),n=p.scaleBand().rangeRound([this.settings.label_padding,this.settings.height]).domain(e),i=p.scaleTime().range([2*this.settings.label_padding,this.settings.width]).domain([(0,f.default)(this.selected.date).startOf("day"),(0,f.default)(this.selected.date).endOf("day")]);this.items.selectAll(".item-block").remove(),this.items.selectAll(".item-block").data(this.selected.details).enter().append("rect").attr("class","item item-block").style("cursor","pointer").attr("x",function(t){return i((0,f.default)(t.date))}).attr("y",function(t){return n(t.name)+n.bandwidth()/2-15}).attr("width",function(t){var e=i(p.timeSecond.offset((0,f.default)(t.date),t.value));return Math.max(e-i((0,f.default)(t.date)),1)}).attr("height",function(){return Math.min(n.bandwidth(),t.settings.max_block_height)}).attr("fill",function(){return t.props.color}).style("opacity",0).on("mouseover",function(e){if(!t.in_transition){var a="";a+='<div class="'+v.default.header+'"><strong>'+e.name+"</strong><div><br>",a+="<div><strong>"+(e.value?t.formatTime(e.value):"No time")+" tracked</strong></div>",a+="<div>on "+(0,f.default)(e.date).format("dddd, MMM Do YYYY HH:mm")+"</div>";for(var r=100*e.value/86400+i((0,f.default)(e.date));t.settings.width-r<t.settings.tooltip_width+3*t.settings.tooltip_padding;)r-=10;var s=n(e.name)+n.bandwidth()/2+t.settings.tooltip_padding/2;t.tooltip.html(a).style("left",r+"px").style("top",s+"px").transition().duration(t.settings.transition_duration/2).ease(p.easeLinear).style("opacity",1)}}).on("mouseout",function(){t.in_transition||t.hideTooltip()}).on("click",function(e){t.props.handler&&"function"==typeof t.props.handler&&t.props.handler(e)}).transition().delay(function(){return(Math.cos(Math.PI*Math.random())+1)*t.settings.transition_duration}).duration(function(){return t.settings.transition_duration}).ease(p.easeLinear).style("opacity",.5).call(function(t,e){t.empty()&&e();var n=0;t.each(function(){return++n}).on("end",function(){--n||e.apply(this,arguments)})},function(){t.in_transition=!1});var a=p.timeHours((0,f.default)(this.selected.date).startOf("day"),(0,f.default)(this.selected.date).endOf("day")),r=p.scaleTime().range([2*this.settings.label_padding,this.settings.width]).domain([0,a.length]);this.labels.selectAll(".label-time").remove(),this.labels.selectAll(".label-time").data(a).enter().append("text").attr("class","label label-time").style("cursor","pointer").style("fill","rgb(170, 170, 170)").attr("font-size",function(){return Math.floor(t.settings.label_padding/3)+"px"}).text(function(t){return(0,f.default)(t).format("HH:mm")}).attr("x",function(t,e){return r(e)}).attr("y",this.settings.label_padding/2).on("mouseenter",function(e){if(!t.in_transition){var n=i((0,f.default)(e));t.items.selectAll(".item-block").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",function(t){var e=i((0,f.default)(t.date)),a=i((0,f.default)(t.date).add(t.value,"seconds"));return n>=e&&n<=a?1:.1})}}).on("mouseout",function(){t.in_transition||t.items.selectAll(".item-block").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",.5)});var s=this.settings.label_padding;this.labels.selectAll(".label-project").remove(),this.labels.selectAll(".label-project").data(e).enter().append("text").attr("class","label label-project").style("cursor","pointer").style("fill","rgb(170, 170, 170)").attr("x",this.settings.gutter).attr("y",function(t){return n(t)+n.bandwidth()/2}).attr("min-height",function(){return n.bandwidth()}).style("text-anchor","left").attr("font-size",function(){return Math.floor(t.settings.label_padding/3)+"px"}).text(function(t){return t}).each(function(){for(var t=p.select(this),e=t.node().getComputedTextLength(),n=t.text();e>1.5*s&&n.length>0;)n=n.slice(0,-1),t.text(n+"..."),e=t.node().getComputedTextLength()}).on("mouseenter",function(e){t.in_transition||t.items.selectAll(".item-block").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",function(t){return t.name===e?1:.1})}).on("mouseout",function(){t.in_transition||t.items.selectAll(".item-block").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",.5)}),this.drawButton()}},{key:"drawButton",value:function(){var t=this;this.buttons.selectAll(".button").remove();var e=this.buttons.append("g").attr("class","button button-back").style("cursor","pointer").attr("fill","transparent").style("opacity",0).style("stroke-width",2).style("stroke","rgb(170, 170, 170)").on("click",function(){t.in_transition||(t.in_transition=!0,"year"===t.overview?t.removeYearOverview():"month"===t.overview?t.removeMonthOverview():"week"===t.overview?t.removeWeekOverview():"day"===t.overview&&t.removeDayOverview(),t.history.pop(),t.overview=t.history.pop(),t.drawChart())});e.append("circle").attr("cx",this.settings.label_padding/2.25).attr("cy",this.settings.label_padding/2.5).attr("r",this.settings.item_size/2),e.append("text").style("stroke-width",1).style("text-anchor","middle").style("fill","rgb(170, 170, 170)").attr("x",this.settings.label_padding/2.25).attr("y",this.settings.label_padding/2.5).attr("dy",function(){return Math.floor(t.settings.width/100)/3}).attr("font-size",function(){return Math.floor(t.settings.label_padding/3)+"px"}).html("&#x2190"),e.transition().duration(this.settings.transition_duration).ease(p.easeLinear).style("opacity",1)}},{key:"removeGlobalOverview",value:function(){this.items.selectAll(".item-block-year").transition().duration(this.settings.transition_duration).ease(p.easeLinear).style("opacity",0).remove(),this.labels.selectAll(".label-year").remove()}},{key:"removeYearOverview",value:function(){this.items.selectAll(".item-circle").transition().duration(this.settings.transition_duration).ease(p.easeLinear).style("opacity",0).remove(),this.labels.selectAll(".label-day").remove(),this.labels.selectAll(".label-month").remove(),this.hideBackButton()}},{key:"removeMonthOverview",value:function(){var t=this;this.items.selectAll(".item-block-month").selectAll(".item-block-rect").transition().duration(this.settings.transition_duration).ease(p.easeLinear).style("opacity",0).attr("x",function(e,n){return n%2==0?-t.settings.width/3:t.settings.width/3}).remove(),this.labels.selectAll(".label-day").remove(),this.labels.selectAll(".label-week").remove(),this.hideBackButton()}},{key:"removeWeekOverview",value:function(){var t=this;this.items.selectAll(".item-block-week").selectAll(".item-block-rect").transition().duration(this.settings.transition_duration).ease(p.easeLinear).style("opacity",0).attr("x",function(e,n){return n%2==0?-t.settings.width/3:t.settings.width/3}).remove(),this.labels.selectAll(".label-day").remove(),this.labels.selectAll(".label-week").remove(),this.hideBackButton()}},{key:"removeDayOverview",value:function(){var t=this;this.items.selectAll(".item-block").transition().duration(this.settings.transition_duration).ease(p.easeLinear).style("opacity",0).attr("x",function(e,n){return n%2==0?-t.settings.width/3:t.settings.width/3}).remove(),this.labels.selectAll(".label-time").remove(),this.labels.selectAll(".label-project").remove(),this.hideBackButton()}},{key:"hideTooltip",value:function(){this.tooltip.transition().duration(this.settings.transition_duration/2).ease(p.easeLinear).style("opacity",0)}},{key:"hideBackButton",value:function(){this.buttons.selectAll(".button").transition().duration(this.settings.transition_duration).ease(p.easeLinear).style("opacity",0).remove()}},{key:"formatTime",value:function(t){var e=Math.floor(t/3600),n=Math.floor((t-3600*e)/60),i="";return e>0&&(i+=1===e?"1 hour ":e+" hours "),n>0&&(i+=1===n?"1 minute":n+" minutes"),0===e&&0===n&&(i=Math.round(t)+" seconds"),i}},{key:"render",value:function(){var t=this;return d.createElement("div",{id:"calendar-heatmap",className:v.default.calendarHeatmap,ref:function(e){t.container=e}})}}]),e}(d.Component);g.defaultProps={data:[],overview:"year",color:"#ff4500",handler:void 0},e.default=g,t.exports=e.default},function(e,n){e.exports=t},function(t,n){t.exports=e},function(t,e){t.exports=n},function(t,e,n){var i=n(6);"string"==typeof i&&(i=[[t.i,i,""]]);var a={hmr:!0};a.transform=void 0;n(8)(i,a);i.locals&&(t.exports=i.locals)},function(t,e,n){e=t.exports=n(7)(void 0),e.push([t.i,".calendar-heatmap__calendarHeatmap___2vEkr {\n font-family: Helvetica, Arial, sans-serif;\n user-select: none;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n}\n.calendar-heatmap__calendarHeatmap___2vEkr .calendar-heatmap__heatmapTooltip___2eEYm {\n pointer-events: none;\n position: absolute;\n z-index: 9999;\n width: 250px;\n max-width: 250px;\n overflow: hidden;\n padding: 15px;\n font-size: 12px;\n line-height: 14px;\n color: rgb(51, 51, 51);\n font-family: Helvetica, arial, 'Open Sans', sans-serif;\n background: rgba(255, 255, 255, 0.75);\n}\n.calendar-heatmap__calendarHeatmap___2vEkr .calendar-heatmap__heatmapTooltip___2eEYm .calendar-heatmap__header___y_GbL strong {\n display: inline-block;\n width: 250px;\n}\n.calendar-heatmap__calendarHeatmap___2vEkr .calendar-heatmap__heatmapTooltip___2eEYm span {\n display: inline-block;\n width: 50%;\n padding-right: 10px;\n box-sizing: border-box;\n}\n.calendar-heatmap__calendarHeatmap___2vEkr .calendar-heatmap__heatmapTooltip___2eEYm span,\n.calendar-heatmap__calendarHeatmap___2vEkr .calendar-heatmap__heatmapTooltip___2eEYm .calendar-heatmap__header___y_GbL strong {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n",""]),e.locals={calendarHeatmap:"calendar-heatmap__calendarHeatmap___2vEkr",heatmapTooltip:"calendar-heatmap__heatmapTooltip___2eEYm",header:"calendar-heatmap__header___y_GbL"}},function(t,e){function n(t,e){var n=t[1]||"",a=t[3];if(!a)return n;if(e&&"function"==typeof btoa){var r=i(a);return[n].concat(a.sources.map(function(t){return"/*# sourceURL="+a.sourceRoot+t+" */"})).concat([r]).join("\n")}return[n].join("\n")}function i(t){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(t))))+" */"}t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var i=n(e,t);return e[2]?"@media "+e[2]+"{"+i+"}":i}).join("")},e.i=function(t,n){"string"==typeof t&&(t=[[null,t,""]]);for(var i={},a=0;a<this.length;a++){var r=this[a][0];"number"==typeof r&&(i[r]=!0)}for(a=0;a<t.length;a++){var s=t[a];"number"==typeof s[0]&&i[s[0]]||(n&&!s[2]?s[2]=n:n&&(s[2]="("+s[2]+") and ("+n+")"),e.push(s))}},e}},function(t,e,n){function i(t,e){for(var n=0;n<t.length;n++){var i=t[n],a=p[i.id];if(a){a.refs++;for(var r=0;r<a.parts.length;r++)a.parts[r](i.parts[r]);for(;r<i.parts.length;r++)a.parts.push(d(i.parts[r],e))}else{for(var s=[],r=0;r<i.parts.length;r++)s.push(d(i.parts[r],e));p[i.id]={id:i.id,refs:1,parts:s}}}}function a(t,e){for(var n=[],i={},a=0;a<t.length;a++){var r=t[a],s=e.base?r[0]+e.base:r[0],o=r[1],l=r[2],u=r[3],d={css:o,media:l,sourceMap:u};i[s]?i[s].parts.push(d):n.push(i[s]={id:s,parts:[d]})}return n}function r(t,e){var n=v(t.insertInto);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");var i=_[_.length-1];if("top"===t.insertAt)i?i.nextSibling?n.insertBefore(e,i.nextSibling):n.appendChild(e):n.insertBefore(e,n.firstChild),_.push(e);else if("bottom"===t.insertAt)n.appendChild(e);else{if("object"!=typeof t.insertAt||!t.insertAt.before)throw new Error("[Style Loader]\n\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\n Must be 'top', 'bottom', or Object.\n (https://github.com/webpack-contrib/style-loader#insertat)\n");var a=v(t.insertInto+" "+t.insertAt.before);n.insertBefore(e,a)}}function s(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t);var e=_.indexOf(t);e>=0&&_.splice(e,1)}function o(t){var e=document.createElement("style");return t.attrs.type="text/css",u(e,t.attrs),r(t,e),e}function l(t){var e=document.createElement("link");return t.attrs.type="text/css",t.attrs.rel="stylesheet",u(e,t.attrs),r(t,e),e}function u(t,e){Object.keys(e).forEach(function(n){t.setAttribute(n,e[n])})}function d(t,e){var n,i,a,r;if(e.transform&&t.css){if(!(r=e.transform(t.css)))return function(){};t.css=r}if(e.singleton){var u=y++;n=g||(g=o(e)),i=c.bind(null,n,u,!1),a=c.bind(null,n,u,!0)}else t.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=l(e),i=h.bind(null,n,e),a=function(){s(n),n.href&&URL.revokeObjectURL(n.href)}):(n=o(e),i=f.bind(null,n),a=function(){s(n)});return i(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;i(t=e)}else a()}}function c(t,e,n,i){var a=n?"":i.css;if(t.styleSheet)t.styleSheet.cssText=w(e,a);else{var r=document.createTextNode(a),s=t.childNodes;s[e]&&t.removeChild(s[e]),s.length?t.insertBefore(r,s[e]):t.appendChild(r)}}function f(t,e){var n=e.css,i=e.media;if(i&&t.setAttribute("media",i),t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}function h(t,e,n){var i=n.css,a=n.sourceMap,r=void 0===e.convertToAbsoluteUrls&&a;(e.convertToAbsoluteUrls||r)&&(i=b(i)),a&&(i+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+" */");var s=new Blob([i],{type:"text/css"}),o=t.href;t.href=URL.createObjectURL(s),o&&URL.revokeObjectURL(o)}var p={},m=function(t){var e;return function(){return void 0===e&&(e=t.apply(this,arguments)),e}}(function(){return window&&document&&document.all&&!window.atob}),v=function(t){var e={};return function(n){if(void 0===e[n]){var i=t.call(this,n);if(i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(t){i=null}e[n]=i}return e[n]}}(function(t){return document.querySelector(t)}),g=null,y=0,_=[],b=n(9);t.exports=function(t,e){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");e=e||{},e.attrs="object"==typeof e.attrs?e.attrs:{},e.singleton||(e.singleton=m()),e.insertInto||(e.insertInto="head"),e.insertAt||(e.insertAt="bottom");var n=a(t,e);return i(n,e),function(t){for(var r=[],s=0;s<n.length;s++){var o=n[s],l=p[o.id];l.refs--,r.push(l)}if(t){i(a(t,e),e)}for(var s=0;s<r.length;s++){var l=r[s];if(0===l.refs){for(var u=0;u<l.parts.length;u++)l.parts[u]();delete p[l.id]}}}};var w=function(){var t=[];return function(e,n){return t[e]=n,t.filter(Boolean).join("\n")}}()},function(t,e){t.exports=function(t){var e="undefined"!=typeof window&&window.location;if(!e)throw new Error("fixUrls requires window.location");if(!t||"string"!=typeof t)return t;var n=e.protocol+"//"+e.host,i=n+e.pathname.replace(/\/[^\/]*$/,"/");return t.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,function(t,e){var a=e.trim().replace(/^"(.*)"$/,function(t,e){return e}).replace(/^'(.*)'$/,function(t,e){return e});if(/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/)/i.test(a))return t;var r;return r=0===a.indexOf("//")?a:0===a.indexOf("/")?n+a:i+a.replace(/^\.\//,""),"url("+JSON.stringify(r)+")"})}}])});
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("react"),require("moment"),require("d3")):"function"==typeof define&&define.amd?define(["react","moment","d3"],e):"object"==typeof exports?exports.CalendarHeatmap=e(require("react"),require("moment"),require("d3")):t.CalendarHeatmap=e(t.React,t.moment,t.d3)}(this,function(t,e,n){return function(t){function e(i){if(n[i])return n[i].exports;var a=n[i]={i:i,l:!1,exports:{}};return t[i].call(a.exports,a,a.exports,e),a.l=!0,a.exports}var n={};return e.m=t,e.c=n,e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="/",e(e.s=0)}([function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var i=n(1),a=function(t){return t&&t.__esModule?t:{default:t}}(i);e.default=a.default,t.exports=e.default},function(t,e,n){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function a(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e.default=t,e}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function s(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(e,"__esModule",{value:!0});var l=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}(),u=n(2),d=a(u),c=n(3),f=i(c),h=n(4),p=a(h),m=n(5),v=i(m),g=function(t){function e(t){r(this,e);var n=s(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return n.settings={gutter:5,item_gutter:1,width:1e3,height:200,item_size:10,label_padding:40,max_block_height:20,transition_duration:500,tooltip_width:250,tooltip_padding:15},n.in_transition=!1,n.overview=n.props.overview,n.history=["global"],n.selected={},n.calcDimensions=n.calcDimensions.bind(n),n}return o(e,t),l(e,[{key:"componentDidMount",value:function(){this.createElements(),this.parseData(),this.drawChart(),window.addEventListener("resize",this.calcDimensions)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("resize",this.calcDimensions)}},{key:"createElements",value:function(){this.svg=p.select("#calendar-heatmap").append("svg").attr("class","svg"),this.items=this.svg.append("g"),this.labels=this.svg.append("g"),this.buttons=this.svg.append("g"),this.tooltip=p.select("#calendar-heatmap").append("div").attr("class",v.default.heatmapTooltip).style("opacity",0).style("pointer-events","none").style("position","absolute").style("z-index",9999).style("width","250px").style("max-width","250px").style("overflow","hidden").style("padding","15px").style("font-size","12px").style("line-height","14px").style("color","rgb(51, 51, 51)").style("background","rgba(255, 255, 255, 0.75)"),this.calcDimensions()}},{key:"calcDimensions",value:function(){var t=Math.round(((0,f.default)()-(0,f.default)().subtract(1,"year").startOf("week"))/864e5),e=Math.trunc(t/7),n=e+1;this.settings.width=this.container.offsetWidth<1e3?1e3:this.container.offsetWidth,this.settings.item_size=(this.settings.width-this.settings.label_padding)/n-this.settings.gutter,this.settings.height=this.settings.label_padding+7*(this.settings.item_size+this.settings.gutter),this.svg.attr("width",this.settings.width).attr("height",this.settings.height),this.props.data&&this.props.data[0].summary&&this.drawChart()}},{key:"parseData",value:function(){this.props.data&&(this.props.data[0].summary||this.props.data.map(function(t){var e=t.details.reduce(function(t,e){return t[e.name]?t[e.name].value+=e.value:t[e.name]={value:e.value},t},{}),n=Object.keys(e).map(function(t){return{name:t,value:e[t].value}});return t.summary=n.sort(function(t,e){return e.value-t.value}),t}))}},{key:"drawChart",value:function(){"global"===this.overview?this.drawGlobalOverview():"year"===this.overview?this.drawYearOverview():"month"===this.overview?this.drawMonthOverview():"week"===this.overview?this.drawWeekOverview():"day"===this.overview&&this.drawDayOverview()}},{key:"drawGlobalOverview",value:function(){var t=this;this.history[this.history.length-1]!==this.overview&&this.history.push(this.overview);var e=(0,f.default)(this.props.data[0].date).startOf("year"),n=(0,f.default)(this.props.data[this.props.data.length-1].date).endOf("year"),i=p.timeYears(e,n).map(function(e){var n=(0,f.default)(e);return{date:n,total:t.props.data.reduce(function(t,e){return(0,f.default)(e.date).year()===n.year()&&(t+=e.total),t},0),summary:function(){var e=t.props.data.reduce(function(t,e){return(0,f.default)(e.date).year()===n.year()&&e.summary.map(function(e){t[e.name]?t[e.name].value+=e.value:t[e.name]={value:e.value}}),t},{});return Object.keys(e).map(function(t){return{name:t,value:e[t].value}}).sort(function(t,e){return e.value-t.value})}()}}),a=p.max(i,function(t){return t.total}),r=p.timeYears(e,n).map(function(t){return(0,f.default)(t)}),s=p.scaleBand().rangeRound([0,this.settings.width]).padding([.05]).domain(r.map(function(t){return t.year()}));this.items.selectAll(".item-block-year").remove();this.items.selectAll(".item-block-year").data(i).enter().append("rect").attr("class","item item-block-year").style("cursor","pointer").attr("width",function(){return(t.settings.width-t.settings.label_padding)/r.length-5*t.settings.gutter}).attr("height",function(){return t.settings.height-t.settings.label_padding}).attr("transform",function(e){return"translate("+s(e.date.year())+","+2*t.settings.tooltip_padding+")"}).attr("fill",function(e){return p.scaleLinear().range(["#ffffff",t.props.color]).domain([-.15*a,a])(e.total)||"#ff4500"}).on("click",function(e){t.in_transition||(t.in_transition=!0,t.selected=e,t.hideTooltip(),t.removeGlobalOverview(),t.overview="year",t.drawChart())}).style("opacity",0).on("mouseover",function(e){if(!t.in_transition){var n="";n+="<div><span><strong>Total time tracked:</strong></span>";var i=parseInt(e.total,10),a=Math.floor(i/86400);a>0&&(n+="<span>"+(1===a?"1 day":a+" days")+"</span></div>");var r=Math.floor((i-86400*a)/3600);r>0&&(n+=a>0?"<div><span></span><span>"+(1===r?"1 hour":r+" hours")+"</span></div>":"<span>"+(1===r?"1 hour":r+" hours")+"</span></div>");var o=Math.floor((i-86400*a-3600*r)/60);if(o>0&&(n+=a>0||r>0?"<div><span></span><span>"+(1===o?"1 minute":o+" minutes")+"</span></div>":"<span>"+(1===o?"1 minute":o+" minutes")+"</span></div>"),n+="<br />",e.summary.length<=5)for(var l=0;l<e.summary.length;)n+="<div><span><strong>"+e.summary[l].name+"</strong></span>",n+="<span>"+t.formatTime(e.summary[l].value)+"</span></div>",l++;else{for(var u=0;u<5;)n+="<div><span><strong>"+e.summary[u].name+"</strong></span>",n+="<span>"+t.formatTime(e.summary[u].value)+"</span></div>",u++;n+="<br />",u=5;for(var d=0;u<e.summary.length;)d=+e.summary[u].value,u++;n+="<div><span><strong>Other:</strong></span>",n+="<span>"+t.formatTime(d)+"</span></div>"}for(var c=s(e.date.year())+2*t.settings.tooltip_padding;t.settings.width-c<t.settings.tooltip_width+5*t.settings.tooltip_padding;)c-=10;var f=3*t.settings.tooltip_padding;t.tooltip.html(n).style("left",c+"px").style("top",f+"px").transition().duration(t.settings.transition_duration/2).ease(p.easeLinear).style("opacity",1)}}).on("mouseout",function(){t.in_transition||t.hideTooltip()}).transition().delay(function(e,n){return t.settings.transition_duration*(n+1)/10}).duration(function(){return t.settings.transition_duration}).ease(p.easeLinear).style("opacity",1).call(function(t,e){t.empty()&&e();var n=0;t.each(function(){++n}).on("end",function(){--n||e.apply(this,arguments)})},function(){t.in_transition=!1});this.labels.selectAll(".label-year").remove(),this.labels.selectAll(".label-year").data(r).enter().append("text").attr("class","label label-year").style("cursor","pointer").style("fill","rgb(170, 170, 170)").attr("font-size",function(){return Math.floor(t.settings.label_padding/3)+"px"}).text(function(t){return t.year()}).attr("x",function(t){return s(t.year())}).attr("y",this.settings.label_padding/2).on("mouseenter",function(e){t.in_transition||t.items.selectAll(".item-block-year").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",function(t){return(0,f.default)(t.date).year()===e.year()?1:.1})}).on("mouseout",function(){t.in_transition||t.items.selectAll(".item-block-year").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",1)}).on("click",function(e){t.in_transition||(t.in_transition=!0,t.selected={date:e},t.hideTooltip(),t.removeGlobalOverview(),t.overview="year",t.drawChart())})}},{key:"drawYearOverview",value:function(){var t=this;this.history[this.history.length-1]!==this.overview&&this.history.push(this.overview);var e=(0,f.default)(this.selected.date).startOf("year"),n=(0,f.default)(this.selected.date).endOf("year"),i=this.props.data.filter(function(t){return e<=(0,f.default)(t.date)&&(0,f.default)(t.date)<n}),a=p.max(i,function(t){return t.total}),r=p.scaleLinear().range(["#ffffff",this.props.color]).domain([-.15*a,a]),s=function(n){var i=(0,f.default)(n.date),a=Math.round((i-(0,f.default)(e).startOf("week"))/864e5);return Math.trunc(a/7)*(t.settings.item_size+t.settings.gutter)+t.settings.label_padding},o=function(e){return t.settings.label_padding+(0,f.default)(e.date).weekday()*(t.settings.item_size+t.settings.gutter)},l=function(e){return a<=0?t.settings.item_size:.75*t.settings.item_size+t.settings.item_size*e.total/a*.25};this.items.selectAll(".item-circle").remove(),this.items.selectAll(".item-circle").data(i).enter().append("rect").attr("class","item item-circle").style("cursor","pointer").style("opacity",0).attr("x",function(e){return s(e)+(t.settings.item_size-l(e))/2}).attr("y",function(e){return o(e)+(t.settings.item_size-l(e))/2}).attr("rx",function(t){return l(t)}).attr("ry",function(t){return l(t)}).attr("width",function(t){return l(t)}).attr("height",function(t){return l(t)}).attr("fill",function(t){return t.total>0?r(t.total):"transparent"}).on("click",function(e){t.in_transition||0!==e.total&&(t.in_transition=!0,t.selected=e,t.hideTooltip(),t.removeYearOverview(),t.overview="day",t.drawChart())}).on("mouseover",function(e){if(!t.in_transition){var n=p.select(p.event.currentTarget);!function e(){n=n.transition().duration(t.settings.transition_duration).ease(p.easeLinear).attr("x",function(e){return s(e)-(1.1*t.settings.item_size-t.settings.item_size)/2}).attr("y",function(e){return o(e)-(1.1*t.settings.item_size-t.settings.item_size)/2}).attr("width",1.1*t.settings.item_size).attr("height",1.1*t.settings.item_size).transition().duration(t.settings.transition_duration).ease(p.easeLinear).attr("x",function(e){return s(e)+(t.settings.item_size-l(e))/2}).attr("y",function(e){return o(e)+(t.settings.item_size-l(e))/2}).attr("width",function(t){return l(t)}).attr("height",function(t){return l(t)}).on("end",e)}();var i="";i+='<div class="'+v.default.header+'"><strong>'+(e.total?t.formatTime(e.total):"No time")+" tracked</strong></div>",i+="<div>on "+(0,f.default)(e.date).format("dddd, MMM Do YYYY")+"</div><br>";for(var a=0;a<e.summary.length;)i+="<div><span><strong>"+e.summary[a].name+"</strong></span>",i+="<span>"+t.formatTime(e.summary[a].value)+"</span></div>",a++;var r=s(e)+t.settings.item_size;t.settings.width-r<t.settings.tooltip_width+3*t.settings.tooltip_padding&&(r-=t.settings.tooltip_width+2*t.settings.tooltip_padding);var u=o(e)+t.settings.item_size;t.tooltip.html(i).style("left",r+"px").style("top",u+"px").transition().duration(t.settings.transition_duration/2).ease(p.easeLinear).style("opacity",1)}}).on("mouseout",function(){t.in_transition||(p.select(p.event.currentTarget).transition().duration(t.settings.transition_duration/2).ease(p.easeLinear).attr("x",function(e){return s(e)+(t.settings.item_size-l(e))/2}).attr("y",function(e){return o(e)+(t.settings.item_size-l(e))/2}).attr("width",function(t){return l(t)}).attr("height",function(t){return l(t)}),t.hideTooltip())}).transition().delay(function(){return(Math.cos(Math.PI*Math.random())+1)*t.settings.transition_duration}).duration(function(){return t.settings.transition_duration}).ease(p.easeLinear).style("opacity",1).call(function(t,e){t.empty()&&e();var n=0;t.each(function(){return++n}).on("end",function(){--n||e.apply(this,arguments)})},function(){t.in_transition=!1});var u=p.timeMonths(e,n),d=p.scaleLinear().range([0,this.settings.width]).domain([0,u.length]);this.labels.selectAll(".label-month").remove(),this.labels.selectAll(".label-month").data(u).enter().append("text").attr("class","label label-month").style("cursor","pointer").style("fill","rgb(170, 170, 170)").attr("font-size",function(){return Math.floor(t.settings.label_padding/3)+"px"}).text(function(t){return t.toLocaleDateString("en-us",{month:"short"})}).attr("x",function(t,e){return d(e)+(d(e)-d(e-1))/2}).attr("y",this.settings.label_padding/2).on("mouseenter",function(e){if(!t.in_transition){var n=(0,f.default)(e);t.items.selectAll(".item-circle").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",function(t){return(0,f.default)(t.date).isSame(n,"month")?1:.1})}}).on("mouseout",function(){t.in_transition||t.items.selectAll(".item-circle").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",1)}).on("click",function(e){if(!t.in_transition){t.props.data.filter(function(t){return(0,f.default)(e).startOf("month")<=(0,f.default)(t.date)&&(0,f.default)(t.date)<(0,f.default)(e).endOf("month")}).length&&(t.selected={date:e},t.in_transition=!0,t.hideTooltip(),t.removeYearOverview(),t.overview="month",t.drawChart())}});var c=p.timeDays((0,f.default)().startOf("week"),(0,f.default)().endOf("week")),h=p.scaleBand().rangeRound([this.settings.label_padding,this.settings.height]).domain(c.map(function(t){return(0,f.default)(t).weekday()}));this.labels.selectAll(".label-day").remove(),this.labels.selectAll(".label-day").data(c).enter().append("text").attr("class","label label-day").style("cursor","pointer").style("fill","rgb(170, 170, 170)").attr("x",this.settings.label_padding/3).attr("y",function(t,e){return h(e)+h.bandwidth()/1.75}).style("text-anchor","left").attr("font-size",function(){return Math.floor(t.settings.label_padding/3)+"px"}).text(function(t){return(0,f.default)(t).format("dddd")[0]}).on("mouseenter",function(e){if(!t.in_transition){var n=(0,f.default)(e);t.items.selectAll(".item-circle").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",function(t){return(0,f.default)(t.date).day()===n.day()?1:.1})}}).on("mouseout",function(){t.in_transition||t.items.selectAll(".item-circle").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",1)}),this.drawButton()}},{key:"drawMonthOverview",value:function(){var t=this;this.history[this.history.length-1]!==this.overview&&this.history.push(this.overview);for(var e=(0,f.default)(this.selected.date).startOf("month"),n=(0,f.default)(this.selected.date).endOf("month"),i=this.props.data.filter(function(t){return e<=(0,f.default)(t.date)&&(0,f.default)(t.date)<n}),a=p.max(i,function(t){return p.max(t.summary,function(t){return t.value})}),r=p.timeDays((0,f.default)().startOf("week"),(0,f.default)().endOf("week")),s=p.scaleBand().rangeRound([this.settings.label_padding,this.settings.height]).domain(r.map(function(t){return(0,f.default)(t).weekday()})),o=[e.clone()];e.week()!==n.week();)o.push(e.add(1,"week").clone());var l=p.scaleBand().rangeRound([this.settings.label_padding,this.settings.width]).padding([.05]).domain(o.map(function(t){return t.week()}));this.items.selectAll(".item-block-month").remove();var u=this.items.selectAll(".item-block-month").data(i).enter().append("g").attr("class","item item-block-month").style("cursor","pointer").attr("width",function(){return(t.settings.width-t.settings.label_padding)/o.length-5*t.settings.gutter}).attr("height",function(){return Math.min(s.bandwidth(),t.settings.max_block_height)}).attr("transform",function(t){return"translate("+l((0,f.default)(t.date).week())+","+(s((0,f.default)(t.date).weekday())+s.bandwidth()/1.75-15)+")"}).attr("total",function(t){return t.total}).attr("date",function(t){return t.date}).attr("offset",0).on("click",function(e){t.in_transition||0!==e.total&&(t.in_transition=!0,t.selected=e,t.hideTooltip(),t.removeMonthOverview(),t.overview="day",t.drawChart())}),d=(this.settings.width-this.settings.label_padding)/o.length-5*this.settings.gutter,c=p.scaleLinear().rangeRound([0,d]),h=this.settings.item_gutter;u.selectAll(".item-block-rect").data(function(t){return t.summary}).enter().append("rect").attr("class","item item-block-rect").style("cursor","pointer").attr("x",function(t){var e=parseInt(p.select(this.parentNode).attr("total")),n=parseInt(p.select(this.parentNode).attr("offset"));return c.domain([0,e]),p.select(this.parentNode).attr("offset",n+c(t.value)),n}).attr("width",function(t){var e=parseInt(p.select(this.parentNode).attr("total"));return c.domain([0,e]),Math.max(c(t.value)-h,1)}).attr("height",function(){return Math.min(s.bandwidth(),t.settings.max_block_height)}).attr("fill",function(e){return p.scaleLinear().range(["#ffffff",t.props.color]).domain([-.15*a,a])(e.value)||"#ff4500"}).style("opacity",0).on("mouseover",function(e){if(!t.in_transition){var n=p.select(p.event.currentTarget.parentNode),i=new Date(n.attr("date")),a="";a+='<div class="'+v.default.header+'"><strong>'+e.name+"</strong></div><br>",a+="<div><strong>"+(e.value?t.formatTime(e.value):"No time")+" tracked</strong></div>",a+="<div>on "+(0,f.default)(i).format("dddd, MMM Do YYYY")+"</div>";for(var r=l((0,f.default)(i).week())+t.settings.tooltip_padding;t.settings.width-r<t.settings.tooltip_width+3*t.settings.tooltip_padding;)r-=10;var o=s((0,f.default)(i).weekday())+2*t.settings.tooltip_padding;t.tooltip.html(a).style("left",r+"px").style("top",o+"px").transition().duration(t.settings.transition_duration/2).ease(p.easeLinear).style("opacity",1)}}).on("mouseout",function(){t.in_transition||t.hideTooltip()}).transition().delay(function(){return(Math.cos(Math.PI*Math.random())+1)*t.settings.transition_duration}).duration(function(){return t.settings.transition_duration}).ease(p.easeLinear).style("opacity",1).call(function(t,e){t.empty()&&e();var n=0;t.each(function(){return++n}).on("end",function(){--n||e.apply(this,arguments)})},function(){t.in_transition=!1}),this.labels.selectAll(".label-week").remove(),this.labels.selectAll(".label-week").data(o).enter().append("text").attr("class","label label-week").style("cursor","pointer").style("fill","rgb(170, 170, 170)").attr("font-size",function(){return Math.floor(t.settings.label_padding/3)+"px"}).text(function(t){return"Week "+t.week()}).attr("x",function(t){return l(t.week())}).attr("y",this.settings.label_padding/2).on("mouseenter",function(e){t.in_transition||t.items.selectAll(".item-block-month").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",function(t){return(0,f.default)(t.date).week()===e.week()?1:.1})}).on("mouseout",function(){t.in_transition||t.items.selectAll(".item-block-month").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",1)}).on("click",function(e){if(!t.in_transition){t.props.data.filter(function(t){return e.startOf("week")<=(0,f.default)(t.date)&&(0,f.default)(t.date)<e.endOf("week")}).length&&(t.in_transition=!0,t.selected={date:e},t.hideTooltip(),t.removeMonthOverview(),t.overview="week",t.drawChart())}}),this.labels.selectAll(".label-day").remove(),this.labels.selectAll(".label-day").data(r).enter().append("text").attr("class","label label-day").style("cursor","pointer").style("fill","rgb(170, 170, 170)").attr("x",this.settings.label_padding/3).attr("y",function(t,e){return s(e)+s.bandwidth()/1.75}).style("text-anchor","left").attr("font-size",function(){return Math.floor(t.settings.label_padding/3)+"px"}).text(function(t){return(0,f.default)(t).format("dddd")[0]}).on("mouseenter",function(e){if(!t.in_transition){var n=(0,f.default)(e);t.items.selectAll(".item-block-month").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",function(t){return(0,f.default)(t.date).day()===n.day()?1:.1})}}).on("mouseout",function(){t.in_transition||t.items.selectAll(".item-block-month").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",1)}),this.drawButton()}},{key:"drawWeekOverview",value:function(){var t=this;this.history[this.history.length-1]!==this.overview&&this.history.push(this.overview);var e=(0,f.default)(this.selected.date).startOf("week"),n=(0,f.default)(this.selected.date).endOf("week"),i=this.props.data.filter(function(t){return e<=(0,f.default)(t.date)&&(0,f.default)(t.date)<n}),a=p.max(i,function(t){return p.max(t.summary,function(t){return t.value})}),r=p.timeDays((0,f.default)().startOf("week"),(0,f.default)().endOf("week")),s=p.scaleBand().rangeRound([this.settings.label_padding,this.settings.height]).domain(r.map(function(t){return(0,f.default)(t).weekday()})),o=[e],l=p.scaleBand().rangeRound([this.settings.label_padding,this.settings.width]).padding([.01]).domain(o.map(function(t){return t.week()}));this.items.selectAll(".item-block-week").remove();var u=this.items.selectAll(".item-block-week").data(i).enter().append("g").attr("class","item item-block-week").style("cursor","pointer").attr("width",function(){return(t.settings.width-t.settings.label_padding)/o.length-5*t.settings.gutter}).attr("height",function(){return Math.min(s.bandwidth(),t.settings.max_block_height)}).attr("transform",function(t){return"translate("+l((0,f.default)(t.date).week())+","+(s((0,f.default)(t.date).weekday())+s.bandwidth()/1.75-15)+")"}).attr("total",function(t){return t.total}).attr("date",function(t){return t.date}).attr("offset",0).on("click",function(e){t.in_transition||0!==e.total&&(t.in_transition=!0,t.selected=e,t.hideTooltip(),t.removeWeekOverview(),t.overview="day",t.drawChart())}),d=(this.settings.width-this.settings.label_padding)/o.length-5*this.settings.gutter,c=p.scaleLinear().rangeRound([0,d]),h=this.settings.item_gutter;u.selectAll(".item-block-rect").data(function(t){return t.summary}).enter().append("rect").attr("class","item item-block-rect").style("cursor","pointer").attr("x",function(t){var e=parseInt(p.select(this.parentNode).attr("total")),n=parseInt(p.select(this.parentNode).attr("offset"));return c.domain([0,e]),p.select(this.parentNode).attr("offset",n+c(t.value)),n}).attr("width",function(t){var e=parseInt(p.select(this.parentNode).attr("total"));return c.domain([0,e]),Math.max(c(t.value)-h,1)}).attr("height",function(){return Math.min(s.bandwidth(),t.settings.max_block_height)}).attr("fill",function(e){return p.scaleLinear().range(["#ffffff",t.props.color]).domain([-.15*a,a])(e.value)||"#ff4500"}).style("opacity",0).on("mouseover",function(e){if(!t.in_transition){var n=p.select(p.event.currentTarget.parentNode),i=new Date(n.attr("date")),a="";a+='<div class="'+v.default.header+'"><strong>'+e.name+"</strong></div><br>",a+="<div><strong>"+(e.value?t.formatTime(e.value):"No time")+" tracked</strong></div>",a+="<div>on "+(0,f.default)(i).format("dddd, MMM Do YYYY")+"</div>";var r=parseInt(n.attr("total"));c.domain([0,r]);for(var o=parseInt(p.select(p.event.currentTarget).attr("x"))+c(e.value)/4+t.settings.tooltip_width/4;t.settings.width-o<t.settings.tooltip_width+3*t.settings.tooltip_padding;)o-=10;var l=s((0,f.default)(i).weekday())+1.5*t.settings.tooltip_padding;t.tooltip.html(a).style("left",o+"px").style("top",l+"px").transition().duration(t.settings.transition_duration/2).ease(p.easeLinear).style("opacity",1)}}).on("mouseout",function(){t.in_transition||t.hideTooltip()}).transition().delay(function(){return(Math.cos(Math.PI*Math.random())+1)*t.settings.transition_duration}).duration(function(){return t.settings.transition_duration}).ease(p.easeLinear).style("opacity",1).call(function(t,e){t.empty()&&e();var n=0;t.each(function(){return++n}).on("end",function(){--n||e.apply(this,arguments)})},function(){t.in_transition=!1}),this.labels.selectAll(".label-week").remove(),this.labels.selectAll(".label-week").data(o).enter().append("text").attr("class","label label-week").style("cursor","pointer").style("fill","rgb(170, 170, 170)").attr("font-size",function(){return Math.floor(t.settings.label_padding/3)+"px"}).text(function(t){return"Week "+t.week()}).attr("x",function(t){return l(t.week())}).attr("y",this.settings.label_padding/2).on("mouseenter",function(e){t.in_transition||t.items.selectAll(".item-block-week").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",function(t){return(0,f.default)(t.date).week()===e.week()?1:.1})}).on("mouseout",function(){t.in_transition||t.items.selectAll(".item-block-week").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",1)}),this.labels.selectAll(".label-day").remove(),this.labels.selectAll(".label-day").data(r).enter().append("text").attr("class","label label-day").style("cursor","pointer").style("fill","rgb(170, 170, 170)").attr("x",this.settings.label_padding/3).attr("y",function(t,e){return s(e)+s.bandwidth()/1.75}).style("text-anchor","left").attr("font-size",function(){return Math.floor(t.settings.label_padding/3)+"px"}).text(function(t){return(0,f.default)(t).format("dddd")[0]}).on("mouseenter",function(e){if(!t.in_transition){var n=(0,f.default)(e);t.items.selectAll(".item-block-week").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",function(t){return(0,f.default)(t.date).day()===n.day()?1:.1})}}).on("mouseout",function(){t.in_transition||t.items.selectAll(".item-block-week").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",1)}),this.drawButton()}},{key:"drawDayOverview",value:function(){var t=this;this.history[this.history.length-1]!==this.overview&&this.history.push(this.overview),Object.keys(this.selected).length||(this.selected=this.props.data[this.props.data.length-1]);var e=this.selected.summary.map(function(t){return t.name}),n=p.scaleBand().rangeRound([this.settings.label_padding,this.settings.height]).domain(e),i=p.scaleTime().range([2*this.settings.label_padding,this.settings.width]).domain([(0,f.default)(this.selected.date).startOf("day"),(0,f.default)(this.selected.date).endOf("day")]);this.items.selectAll(".item-block").remove(),this.items.selectAll(".item-block").data(this.selected.details).enter().append("rect").attr("class","item item-block").style("cursor","pointer").attr("x",function(t){return i((0,f.default)(t.date))}).attr("y",function(t){return n(t.name)+n.bandwidth()/2-15}).attr("width",function(t){var e=i(p.timeSecond.offset((0,f.default)(t.date),t.value));return Math.max(e-i((0,f.default)(t.date)),1)}).attr("height",function(){return Math.min(n.bandwidth(),t.settings.max_block_height)}).attr("fill",function(){return t.props.color}).style("opacity",0).on("mouseover",function(e){if(!t.in_transition){var a="";a+='<div class="'+v.default.header+'"><strong>'+e.name+"</strong><div><br>",a+="<div><strong>"+(e.value?t.formatTime(e.value):"No time")+" tracked</strong></div>",a+="<div>on "+(0,f.default)(e.date).format("dddd, MMM Do YYYY HH:mm")+"</div>";for(var r=100*e.value/86400+i((0,f.default)(e.date));t.settings.width-r<t.settings.tooltip_width+3*t.settings.tooltip_padding;)r-=10;var s=n(e.name)+n.bandwidth()/2+t.settings.tooltip_padding/2;t.tooltip.html(a).style("left",r+"px").style("top",s+"px").transition().duration(t.settings.transition_duration/2).ease(p.easeLinear).style("opacity",1)}}).on("mouseout",function(){t.in_transition||t.hideTooltip()}).on("click",function(e){t.props.handler&&"function"==typeof t.props.handler&&t.props.handler(e)}).transition().delay(function(){return(Math.cos(Math.PI*Math.random())+1)*t.settings.transition_duration}).duration(function(){return t.settings.transition_duration}).ease(p.easeLinear).style("opacity",.5).call(function(t,e){t.empty()&&e();var n=0;t.each(function(){return++n}).on("end",function(){--n||e.apply(this,arguments)})},function(){t.in_transition=!1});var a=p.timeHours((0,f.default)(this.selected.date).startOf("day"),(0,f.default)(this.selected.date).endOf("day")),r=p.scaleTime().range([2*this.settings.label_padding,this.settings.width]).domain([0,a.length]);this.labels.selectAll(".label-time").remove(),this.labels.selectAll(".label-time").data(a).enter().append("text").attr("class","label label-time").style("cursor","pointer").style("fill","rgb(170, 170, 170)").attr("font-size",function(){return Math.floor(t.settings.label_padding/3)+"px"}).text(function(t){return(0,f.default)(t).format("HH:mm")}).attr("x",function(t,e){return r(e)}).attr("y",this.settings.label_padding/2).on("mouseenter",function(e){if(!t.in_transition){var n=i((0,f.default)(e));t.items.selectAll(".item-block").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",function(t){var e=i((0,f.default)(t.date)),a=i((0,f.default)(t.date).add(t.value,"seconds"));return n>=e&&n<=a?1:.1})}}).on("mouseout",function(){t.in_transition||t.items.selectAll(".item-block").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",.5)});var s=this.settings.label_padding;this.labels.selectAll(".label-project").remove(),this.labels.selectAll(".label-project").data(e).enter().append("text").attr("class","label label-project").style("cursor","pointer").style("fill","rgb(170, 170, 170)").attr("x",this.settings.gutter).attr("y",function(t){return n(t)+n.bandwidth()/2}).attr("min-height",function(){return n.bandwidth()}).style("text-anchor","left").attr("font-size",function(){return Math.floor(t.settings.label_padding/3)+"px"}).text(function(t){return t}).each(function(){for(var t=p.select(this),e=t.node().getComputedTextLength(),n=t.text();e>1.5*s&&n.length>0;)n=n.slice(0,-1),t.text(n+"..."),e=t.node().getComputedTextLength()}).on("mouseenter",function(e){t.in_transition||t.items.selectAll(".item-block").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",function(t){return t.name===e?1:.1})}).on("mouseout",function(){t.in_transition||t.items.selectAll(".item-block").transition().duration(t.settings.transition_duration).ease(p.easeLinear).style("opacity",.5)}),this.drawButton()}},{key:"drawButton",value:function(){var t=this;this.buttons.selectAll(".button").remove();var e=this.buttons.append("g").attr("class","button button-back").style("cursor","pointer").attr("fill","transparent").style("opacity",0).style("stroke-width",2).style("stroke","rgb(170, 170, 170)").on("click",function(){t.in_transition||(t.in_transition=!0,"year"===t.overview?t.removeYearOverview():"month"===t.overview?t.removeMonthOverview():"week"===t.overview?t.removeWeekOverview():"day"===t.overview&&t.removeDayOverview(),t.history.pop(),t.overview=t.history.pop(),t.drawChart())});e.append("circle").attr("cx",this.settings.label_padding/2.25).attr("cy",this.settings.label_padding/2.5).attr("r",this.settings.item_size/2),e.append("text").style("stroke-width",1).style("text-anchor","middle").style("fill","rgb(170, 170, 170)").attr("x",this.settings.label_padding/2.25).attr("y",this.settings.label_padding/2.5).attr("dy",function(){return Math.floor(t.settings.width/100)/3}).attr("font-size",function(){return Math.floor(t.settings.label_padding/3)+"px"}).html("&#x2190"),e.transition().duration(this.settings.transition_duration).ease(p.easeLinear).style("opacity",1)}},{key:"removeGlobalOverview",value:function(){this.items.selectAll(".item-block-year").transition().duration(this.settings.transition_duration).ease(p.easeLinear).style("opacity",0).remove(),this.labels.selectAll(".label-year").remove()}},{key:"removeYearOverview",value:function(){this.items.selectAll(".item-circle").transition().duration(this.settings.transition_duration).ease(p.easeLinear).style("opacity",0).remove(),this.labels.selectAll(".label-day").remove(),this.labels.selectAll(".label-month").remove(),this.hideBackButton()}},{key:"removeMonthOverview",value:function(){var t=this;this.items.selectAll(".item-block-month").selectAll(".item-block-rect").transition().duration(this.settings.transition_duration).ease(p.easeLinear).style("opacity",0).attr("x",function(e,n){return n%2==0?-t.settings.width/3:t.settings.width/3}).remove(),this.labels.selectAll(".label-day").remove(),this.labels.selectAll(".label-week").remove(),this.hideBackButton()}},{key:"removeWeekOverview",value:function(){var t=this;this.items.selectAll(".item-block-week").selectAll(".item-block-rect").transition().duration(this.settings.transition_duration).ease(p.easeLinear).style("opacity",0).attr("x",function(e,n){return n%2==0?-t.settings.width/3:t.settings.width/3}).remove(),this.labels.selectAll(".label-day").remove(),this.labels.selectAll(".label-week").remove(),this.hideBackButton()}},{key:"removeDayOverview",value:function(){var t=this;this.items.selectAll(".item-block").transition().duration(this.settings.transition_duration).ease(p.easeLinear).style("opacity",0).attr("x",function(e,n){return n%2==0?-t.settings.width/3:t.settings.width/3}).remove(),this.labels.selectAll(".label-time").remove(),this.labels.selectAll(".label-project").remove(),this.hideBackButton()}},{key:"hideTooltip",value:function(){this.tooltip.transition().duration(this.settings.transition_duration/2).ease(p.easeLinear).style("opacity",0)}},{key:"hideBackButton",value:function(){this.buttons.selectAll(".button").transition().duration(this.settings.transition_duration).ease(p.easeLinear).style("opacity",0).remove()}},{key:"formatTime",value:function(t){var e=Math.floor(t/3600),n=Math.floor((t-3600*e)/60),i="";return e>0&&(i+=1===e?"1 hour ":e+" hours "),n>0&&(i+=1===n?"1 minute":n+" minutes"),0===e&&0===n&&(i=Math.round(t)+" seconds"),i}},{key:"render",value:function(){var t=this;return d.createElement("div",{id:"calendar-heatmap",className:v.default.calendarHeatmap,ref:function(e){t.container=e}})}}]),e}(d.Component);g.defaultProps={data:[],overview:"year",color:"#ff4500",handler:void 0},e.default=g,t.exports=e.default},function(e,n){e.exports=t},function(t,n){t.exports=e},function(t,e){t.exports=n},function(t,e,n){var i=n(6);"string"==typeof i&&(i=[[t.i,i,""]]);var a={hmr:!0};a.transform=void 0;n(8)(i,a);i.locals&&(t.exports=i.locals)},function(t,e,n){e=t.exports=n(7)(void 0),e.push([t.i,".calendar-heatmap__calendarHeatmap___2vEkr {\n font-family: Helvetica, Arial, sans-serif;\n user-select: none;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n}\n.calendar-heatmap__calendarHeatmap___2vEkr .calendar-heatmap__heatmapTooltip___2eEYm {\n pointer-events: none;\n position: absolute;\n z-index: 9999;\n width: 250px;\n max-width: 250px;\n overflow: hidden;\n padding: 15px;\n font-size: 12px;\n line-height: 14px;\n color: rgb(51, 51, 51);\n font-family: Helvetica, arial, 'Open Sans', sans-serif;\n background: rgba(255, 255, 255, 0.75);\n}\n.calendar-heatmap__calendarHeatmap___2vEkr .calendar-heatmap__heatmapTooltip___2eEYm .calendar-heatmap__header___y_GbL strong {\n display: inline-block;\n width: 250px;\n}\n.calendar-heatmap__calendarHeatmap___2vEkr .calendar-heatmap__heatmapTooltip___2eEYm span {\n display: inline-block;\n width: 50%;\n padding-right: 10px;\n box-sizing: border-box;\n}\n.calendar-heatmap__calendarHeatmap___2vEkr .calendar-heatmap__heatmapTooltip___2eEYm span,\n.calendar-heatmap__calendarHeatmap___2vEkr .calendar-heatmap__heatmapTooltip___2eEYm .calendar-heatmap__header___y_GbL strong {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n",""]),e.locals={calendarHeatmap:"calendar-heatmap__calendarHeatmap___2vEkr",heatmapTooltip:"calendar-heatmap__heatmapTooltip___2eEYm",header:"calendar-heatmap__header___y_GbL"}},function(t,e){function n(t,e){var n=t[1]||"",a=t[3];if(!a)return n;if(e&&"function"==typeof btoa){var r=i(a);return[n].concat(a.sources.map(function(t){return"/*# sourceURL="+a.sourceRoot+t+" */"})).concat([r]).join("\n")}return[n].join("\n")}function i(t){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(t))))+" */"}t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var i=n(e,t);return e[2]?"@media "+e[2]+"{"+i+"}":i}).join("")},e.i=function(t,n){"string"==typeof t&&(t=[[null,t,""]]);for(var i={},a=0;a<this.length;a++){var r=this[a][0];"number"==typeof r&&(i[r]=!0)}for(a=0;a<t.length;a++){var s=t[a];"number"==typeof s[0]&&i[s[0]]||(n&&!s[2]?s[2]=n:n&&(s[2]="("+s[2]+") and ("+n+")"),e.push(s))}},e}},function(t,e,n){function i(t,e){for(var n=0;n<t.length;n++){var i=t[n],a=p[i.id];if(a){a.refs++;for(var r=0;r<a.parts.length;r++)a.parts[r](i.parts[r]);for(;r<i.parts.length;r++)a.parts.push(d(i.parts[r],e))}else{for(var s=[],r=0;r<i.parts.length;r++)s.push(d(i.parts[r],e));p[i.id]={id:i.id,refs:1,parts:s}}}}function a(t,e){for(var n=[],i={},a=0;a<t.length;a++){var r=t[a],s=e.base?r[0]+e.base:r[0],o=r[1],l=r[2],u=r[3],d={css:o,media:l,sourceMap:u};i[s]?i[s].parts.push(d):n.push(i[s]={id:s,parts:[d]})}return n}function r(t,e){var n=v(t.insertInto);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");var i=_[_.length-1];if("top"===t.insertAt)i?i.nextSibling?n.insertBefore(e,i.nextSibling):n.appendChild(e):n.insertBefore(e,n.firstChild),_.push(e);else if("bottom"===t.insertAt)n.appendChild(e);else{if("object"!=typeof t.insertAt||!t.insertAt.before)throw new Error("[Style Loader]\n\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\n Must be 'top', 'bottom', or Object.\n (https://github.com/webpack-contrib/style-loader#insertat)\n");var a=v(t.insertInto+" "+t.insertAt.before);n.insertBefore(e,a)}}function s(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t);var e=_.indexOf(t);e>=0&&_.splice(e,1)}function o(t){var e=document.createElement("style");return t.attrs.type="text/css",u(e,t.attrs),r(t,e),e}function l(t){var e=document.createElement("link");return t.attrs.type="text/css",t.attrs.rel="stylesheet",u(e,t.attrs),r(t,e),e}function u(t,e){Object.keys(e).forEach(function(n){t.setAttribute(n,e[n])})}function d(t,e){var n,i,a,r;if(e.transform&&t.css){if(!(r=e.transform(t.css)))return function(){};t.css=r}if(e.singleton){var u=y++;n=g||(g=o(e)),i=c.bind(null,n,u,!1),a=c.bind(null,n,u,!0)}else t.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=l(e),i=h.bind(null,n,e),a=function(){s(n),n.href&&URL.revokeObjectURL(n.href)}):(n=o(e),i=f.bind(null,n),a=function(){s(n)});return i(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;i(t=e)}else a()}}function c(t,e,n,i){var a=n?"":i.css;if(t.styleSheet)t.styleSheet.cssText=w(e,a);else{var r=document.createTextNode(a),s=t.childNodes;s[e]&&t.removeChild(s[e]),s.length?t.insertBefore(r,s[e]):t.appendChild(r)}}function f(t,e){var n=e.css,i=e.media;if(i&&t.setAttribute("media",i),t.styleSheet)t.styleSheet.cssText=n;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(n))}}function h(t,e,n){var i=n.css,a=n.sourceMap,r=void 0===e.convertToAbsoluteUrls&&a;(e.convertToAbsoluteUrls||r)&&(i=b(i)),a&&(i+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+" */");var s=new Blob([i],{type:"text/css"}),o=t.href;t.href=URL.createObjectURL(s),o&&URL.revokeObjectURL(o)}var p={},m=function(t){var e;return function(){return void 0===e&&(e=t.apply(this,arguments)),e}}(function(){return window&&document&&document.all&&!window.atob}),v=function(t){var e={};return function(n){if(void 0===e[n]){var i=t.call(this,n);if(i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(t){i=null}e[n]=i}return e[n]}}(function(t){return document.querySelector(t)}),g=null,y=0,_=[],b=n(9);t.exports=function(t,e){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");e=e||{},e.attrs="object"==typeof e.attrs?e.attrs:{},e.singleton||(e.singleton=m()),e.insertInto||(e.insertInto="head"),e.insertAt||(e.insertAt="bottom");var n=a(t,e);return i(n,e),function(t){for(var r=[],s=0;s<n.length;s++){var o=n[s],l=p[o.id];l.refs--,r.push(l)}if(t){i(a(t,e),e)}for(var s=0;s<r.length;s++){var l=r[s];if(0===l.refs){for(var u=0;u<l.parts.length;u++)l.parts[u]();delete p[l.id]}}}};var w=function(){var t=[];return function(e,n){return t[e]=n,t.filter(Boolean).join("\n")}}()},function(t,e){t.exports=function(t){var e="undefined"!=typeof window&&window.location;if(!e)throw new Error("fixUrls requires window.location");if(!t||"string"!=typeof t)return t;var n=e.protocol+"//"+e.host,i=n+e.pathname.replace(/\/[^\/]*$/,"/");return t.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,function(t,e){var a=e.trim().replace(/^"(.*)"$/,function(t,e){return e}).replace(/^'(.*)'$/,function(t,e){return e});if(/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/)/i.test(a))return t;var r;return r=0===a.indexOf("//")?a:0===a.indexOf("/")?n+a:i+a.replace(/^\.\//,""),"url("+JSON.stringify(r)+")"})}}])});
{
"name": "reactjs-calendar-heatmap",
"version": "0.0.7",
"version": "0.0.8",
"description": "React component for d3.js calendar heatmap graph.",

@@ -5,0 +5,0 @@ "homepage": "https://github.com/g1eb/reactjs-calendar-heatmap#readme",

@@ -209,3 +209,3 @@ import * as React from 'react'

// Add month data items to the overview
// Add global data items to the overview
this.items.selectAll('.item-block-year').remove()

@@ -245,3 +245,3 @@ let item_block = this.items.selectAll('.item-block-year')

// Remove all month overview related items and labels
// Remove all global overview related items and labels
this.removeGlobalOverview()

@@ -402,4 +402,4 @@

// Set selected month to the one clicked on
this.selected = d
// Set selected year to the one clicked on
this.selected = { date: d }

@@ -409,3 +409,3 @@ // Hide tooltip

// Remove all year overview related items and labels
// Remove all global overview related items and labels
this.removeGlobalOverview()

@@ -412,0 +412,0 @@

@@ -8,3 +8,3 @@ var webpack = require('webpack');

'calendar-heatmap': './src/index.js',
'calendar-heatmap.min': './src/index.js'
'calendar-heatmap.min': './src/index.js',
},

@@ -21,3 +21,3 @@

'moment': 'moment',
'd3': 'd3'
'd3': 'd3',
},

@@ -31,3 +31,3 @@

libraryTarget: 'umd',
library: 'CalendarHeatmap'
library: 'CalendarHeatmap',
},

@@ -40,4 +40,4 @@

compress: {
warnings: false
}
warnings: false,
},
})

@@ -52,11 +52,11 @@ ],

use: {
loader: 'babel-loader'
loader: 'babel-loader',
},
}, {
test: /\.css$/,
loader: 'style-loader!css-loader?modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]'
}
]
}
loader: 'style-loader!css-loader?modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]',
},
],
},
};

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc