!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.ChartjsPluginScrollBar=t():e.ChartjsPluginScrollBar=t()}(self,(()=>(()=>{"use strict";var e={d:(t,o)=>{for(var n in o)e.o(o,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:o[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{default:()=>g});var o=0,n=0,i=16,s={wheel:function(e){},touchend:function(e){},touchstart:function(e){},click:function(e){}},l=function(e,t,o,n){var i=o-t+1;return e?(o-=i,(t-=i)<0&&(t=0,o=i-1)):(t+=i,(o+=i)>=n-1&&(t=n-i,o=n-1)),{min:t,max:o}},c=function(e,t){e.beginPath(),e.fillStyle="#ededed",e.fillRect(t.containerX,t.containerY,t.containerWidth,t.containerHeight),e.closePath(),e.beginPath(),e.fillStyle="#cccccc",e.fillRect(t.scrollX,t.scrollY,t.scrollWidth,t.scrollHeight),e.closePath()},a=function(e,t,o,n){e.beginPath(),e.lineWidth=1,e.strokeStyle="#E8E8E8",e.strokeRect(t.x,t.y,t.width,t.height),e.fill(),e.closePath(),e.beginPath(),e.lineWidth=1,e.strokeStyle="#666666","Horizontal"===n&&(e.moveTo(o.x+o.offsetX,o.y-o.offsetY),e.lineTo(o.x-o.offsetX,o.y),e.lineTo(o.x+o.offsetX,o.y+o.offsetY)),"Vertical"===n&&(e.moveTo(o.x-o.offsetX,o.y-o.offsetY),e.lineTo(o.x,o.y+o.offsetY),e.lineTo(o.x+o.offsetX,o.y-o.offsetY)),e.stroke(),e.closePath()},f=function(e,t){var o=l(e,+t.options.scales.x.min,+t.options.scales.x.max,t.data.labels.length),n=o.min,i=o.max;t.options.scales.x.min=n,t.options.scales.x.max=i,t.update()},r=function(e,t){var o=l(e,+t.options.scales.y.min,+t.options.scales.y.max,t.data.labels.length),n=o.min,i=o.max;t.options.scales.y.min=n,t.options.scales.y.max=i,t.update()},h=function(e,t){"x"!==t.options.indexAxis||isNaN(+t.options.scales.x.min)||(e.preventDefault(),e.stopPropagation(),f(0!==e.deltaX?e.deltaX<0:e.deltaY<0,t)),"y"!==t.options.indexAxis||isNaN(+t.options.scales.y.min)||(e.preventDefault(),e.stopPropagation(),r(e.deltaY<0,t))},d=function(e,t){e.preventDefault(),e.stopPropagation(),o=e.changedTouches[0].clientX,n=e.changedTouches[0].clientY},u=function(e,t){var i=e.changedTouches[0].clientX,s=e.changedTouches[0].clientY;e.preventDefault(),e.stopPropagation(),"x"!==t.options.indexAxis||i===o||isNaN(+t.options.scales.x.min)||f(i-o>0,t),"y"!==t.options.indexAxis||s===n||isNaN(+t.options.scales.y.min)||r(s-n>0,t)},p=function(e,t){var o=t.canvas.getBoundingClientRect(),n=!1,s=!1;"x"!==t.options.indexAxis||isNaN(+t.options.scales.x.min)||(n=e.offsetX>=0&&e.offsetX<=i&&e.offsetY>=o.height-i-.5&&e.offsetY<=o.height-.5,s=e.offsetX>=21&&e.offsetX<=37&&e.offsetY>=o.height-i-.5&&e.offsetY<=o.height-.5,(n||s)&&f(n,t)),"y"!==t.options.indexAxis||isNaN(+t.options.scales.y.min)||(n=e.offsetX>=0&&e.offsetX<=i&&e.offsetY>=o.height-32-1&&e.offsetY<=o.height-i-1,s=e.offsetX>=0&&e.offsetX<=i&&e.offsetY>=o.height-i-1&&e.offsetY<=o.height-1,(n||s)&&r(n,t))};const g={id:"scrollBar",beforeInit:function(e,t,o){s={wheel:function(t){return h(t,e)},touchstart:function(e){return d(e)},touchend:function(t){return u(t,e)},click:function(t){return p(t,e)}},e.canvas.addEventListener("wheel",s.wheel,{passive:!1}),e.canvas.addEventListener("touchstart",s.touchstart,{passive:!0}),e.canvas.addEventListener("touchend",s.touchend,{passive:!0}),e.canvas.addEventListener("click",s.click,{passive:!0})},afterDraw:function(e,t,o){if(o.enable&&null!=e.data.labels&&null!=o.scrollType){var n=e.ctx,s=e.canvas.getBoundingClientRect(),l=e.data.labels.length,f="Vertical"===o.scrollType?+e.options.scales.y.max-+e.options.scales.y.min+1:+e.options.scales.x.max-+e.options.scales.x.min+1,r=("Vertical"===o.scrollType?(s.height-45)/l:(s.width-45)/l)*f,h=(s.height-45)/l*+e.options.scales.y.min+1,d=45+(s.width-45)/l*+e.options.scales.x.min;f<l&&("Vertical"===o.scrollType?(c(n,{containerX:0,containerY:1,containerWidth:8,containerHeight:s.height-45,scrollX:0,scrollY:h,scrollWidth:8,scrollHeight:r}),a(n,{x:0,y:s.height-i-1,width:i,height:i},{x:8,y:s.height-8-1,offsetX:4.5,offsetY:2.5},o.scrollType),a(n,{x:0,y:s.height-32-6,width:i,height:i},{x:8,y:s.height-24-6,offsetX:-4.5,offsetY:-2.5},o.scrollType)):"Horizontal"===o.scrollType&&(c(n,{containerX:45,containerY:s.height-8-1,containerWidth:s.width-45,containerHeight:8,scrollX:d,scrollY:s.height-8-1,scrollWidth:r,scrollHeight:8}),a(n,{x:0,y:s.height-i-1,width:i,height:i},{x:8,y:s.height-8.5,offsetX:2.5,offsetY:4.5},o.scrollType),a(n,{x:21,y:s.height-i-1,width:i,height:i},{x:29,y:s.height-8.5,offsetX:-2.5,offsetY:4.5},o.scrollType)))}},beforeUpdate:function(e,t,o){s={wheel:function(t){return h(t,e)},touchstart:function(e){return d(e)},touchend:function(t){return u(t,e)},click:function(t){return p(t,e)}}}};return t})()));