!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("react"),require("chart.js")):"function"==typeof define&&define.amd?define(["exports","react","chart.js"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).ReactChartjs2={},t.React,t.Chart)}(this,function(t,e,r){"use strict";function n(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var o=n(e),i=n(r);function a(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function u(t,e){for(var r=0;r=t.length||this.props.datasetKeyProvider!==u.getLabelAsKey||(e=!1,t.forEach(function(t){t.label||(e=!0)}),e&&console.error('[react-chartjs-2] Warning: Each dataset needs a unique key. By default, the "label" property on each dataset is used. Alternatively, you may provide a "datasetKeyProvider" as a prop that returns a unique key.'))}},{key:"getCurrentDatasets",value:function(){return this.chartInstance&&this.chartInstance.config.data&&this.chartInstance.config.data.datasets||[]}},{key:"saveCurrentDatasets",value:function(){var e=this;this.datasets=this.datasets||{},this.getCurrentDatasets().forEach(function(t){e.datasets[e.props.datasetKeyProvider(t)]=t})}},{key:"updateChart",value:function(){var t,e,o=this,r=this.props.options,n=this.memoizeDataProps(this.props);this.chartInstance&&(r&&(this.chartInstance.options=i.default.helpers.configMerge(this.chartInstance.options,r)),t=this.getCurrentDatasets(),r=n.datasets||[],this.checkDatasets(t),e=Cr(t,this.props.datasetKeyProvider),this.chartInstance.config.data.datasets=r.map(function(r){var n=e[o.props.datasetKeyProvider(r)];if(n&&n.type===r.type&&r.data){n.data.splice(r.data.length),r.data.forEach(function(t,e){n.data[e]=r.data[e]});var t=d(r,["data"]);return p(p({},n),t)}return r}),n=d(n,["datasets"]),this.chartInstance.config.data=p(p({},this.chartInstance.config.data),n),this.chartInstance.update())}},{key:"renderChart",value:function(){var t=this.props,e=t.options,r=t.legend,n=t.type,o=t.plugins,a=this.element,t=this.memoizeDataProps();void 0===r||Ue(u.defaultProps.legend,r)||(e.legend=r),this.chartInstance=new i.default(a,{type:n,data:t,options:e,plugins:o})}},{key:"destroyChart",value:function(){var t;this.chartInstance&&(this.saveCurrentDatasets(),t=Object.values(this.datasets),this.chartInstance.config.data.datasets=t,this.chartInstance.destroy())}},{key:"render",value:function(){var t=this.props;return o.default.createElement("canvas",{ref:this.ref,height:t.height,width:t.width,id:t.id,onClick:this.handleOnClick})}}]),u}();s(Ar,"getLabelAsKey",function(t){return t.label}),s(Ar,"propTypes",{data:G.oneOfType([G.object,G.func]).isRequired,getDatasetAtEvent:G.func,getElementAtEvent:G.func,getElementsAtEvent:G.func,height:G.number,legend:G.object,onElementsClick:G.func,options:G.object,plugins:G.arrayOf(G.object),redraw:G.bool,type:function(t,e,r){if(!i.default.controllers[t[e]])return Error("Invalid chart type `"+t[e]+"` supplied to `"+r+"`.")},width:G.number,datasetKeyProvider:G.func}),s(Ar,"defaultProps",{legend:{display:!0,position:"bottom"},type:"doughnut",height:150,width:300,redraw:!1,options:{},datasetKeyProvider:Ar.getLabelAsKey});X=function(){h(e,o["default"].Component);var t=g(e);function e(){return a(this,e),t.apply(this,arguments)}return c(e,[{key:"render",value:function(){var e=this;return o.default.createElement(Ar,f({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"doughnut"}))}}]),e}(),e=function(){h(e,o["default"].Component);var t=g(e);function e(){return a(this,e),t.apply(this,arguments)}return c(e,[{key:"render",value:function(){var e=this;return o.default.createElement(Ar,f({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"pie"}))}}]),e}(),tt=function(){h(e,o["default"].Component);var t=g(e);function e(){return a(this,e),t.apply(this,arguments)}return c(e,[{key:"render",value:function(){var e=this;return o.default.createElement(Ar,f({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"line"}))}}]),e}(),et=function(){h(e,o["default"].Component);var t=g(e);function e(){return a(this,e),t.apply(this,arguments)}return c(e,[{key:"render",value:function(){var e=this;return o.default.createElement(Ar,f({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"bar"}))}}]),e}(),ot=function(){h(e,o["default"].Component);var t=g(e);function e(){return a(this,e),t.apply(this,arguments)}return c(e,[{key:"render",value:function(){var e=this;return o.default.createElement(Ar,f({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"horizontalBar"}))}}]),e}(),_=function(){h(e,o["default"].Component);var t=g(e);function e(){return a(this,e),t.apply(this,arguments)}return c(e,[{key:"render",value:function(){var e=this;return o.default.createElement(Ar,f({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"radar"}))}}]),e}(),j=function(){h(e,o["default"].Component);var t=g(e);function e(){return a(this,e),t.apply(this,arguments)}return c(e,[{key:"render",value:function(){var e=this;return o.default.createElement(Ar,f({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"polarArea"}))}}]),e}(),Z=function(){h(e,o["default"].Component);var t=g(e);function e(){return a(this,e),t.apply(this,arguments)}return c(e,[{key:"render",value:function(){var e=this;return o.default.createElement(Ar,f({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"bubble"}))}}]),e}(),r=function(){h(e,o["default"].Component);var t=g(e);function e(){return a(this,e),t.apply(this,arguments)}return c(e,[{key:"render",value:function(){var e=this;return o.default.createElement(Ar,f({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"scatter"}))}}]),e}(),G=i.default.defaults;Object.defineProperty(t,"Chart",{enumerable:!0,get:function(){return i.default}}),t.Bar=et,t.Bubble=Z,t.Doughnut=X,t.HorizontalBar=ot,t.Line=tt,t.Pie=e,t.Polar=j,t.Radar=_,t.Scatter=r,t.default=Ar,t.defaults=G,Object.defineProperty(t,"__esModule",{value:!0})});