!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,r,u){"use strict";function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function o(t,e){for(var r=0;r=t.length||this.props.datasetKeyProvider!==c.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,r,a=this,n=this.props.options,i=this.memoizeDataProps(this.props);this.chartInstance&&(n&&(this.chartInstance.options=u.helpers.configMerge(this.chartInstance.options,n)),t=this.getCurrentDatasets(),e=i.datasets||[],this.checkDatasets(t),o=rn(t,this.props.datasetKeyProvider),this.chartInstance.config.data.datasets=e.map(function(r){var n=o[a.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=y(r,["data"]);return f(f({},n),t)}return r}),r=y(i,["datasets"]),this.chartInstance.config.data=f(f({},this.chartInstance.config.data),r),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,i=this.memoizeDataProps();void 0===r||vr(c.defaultProps.legend,r)||(e.legend=r),this.chartInstance=new u(a,{type:n,data:i,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 r.createElement("canvas",{ref:this.ref,height:t.height,width:t.width,id:t.id,onClick:this.handleOnClick})}}]),c}();i(on,"getLabelAsKey",function(t){return t.label}),i(on,"propTypes",{data:N.oneOfType([N.object,N.func]).isRequired,getDatasetAtEvent:N.func,getElementAtEvent:N.func,getElementsAtEvent:N.func,height:N.number,legend:N.object,onElementsClick:N.func,options:N.object,plugins:N.arrayOf(N.object),redraw:N.bool,type:function(t,e,r){if(!u.controllers[t[e]])return Error("Invalid chart type `"+t[e]+"` supplied to `"+r+"`.")},width:N.number,datasetKeyProvider:N.func}),i(on,"defaultProps",{legend:{display:!0,position:"bottom"},type:"doughnut",height:150,width:300,redraw:!1,options:{},datasetKeyProvider:on.getLabelAsKey});var an=function(){p(e,r.Component);var t=d(e);function e(){return n(this,e),t.apply(this,arguments)}return a(e,[{key:"render",value:function(){var e=this;return r.createElement(on,c({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"doughnut"}))}}]),e}(),un=function(){p(e,r.Component);var t=d(e);function e(){return n(this,e),t.apply(this,arguments)}return a(e,[{key:"render",value:function(){var e=this;return r.createElement(on,c({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"pie"}))}}]),e}(),cn=function(){p(e,r.Component);var t=d(e);function e(){return n(this,e),t.apply(this,arguments)}return a(e,[{key:"render",value:function(){var e=this;return r.createElement(on,c({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"line"}))}}]),e}(),sn=function(){p(e,r.Component);var t=d(e);function e(){return n(this,e),t.apply(this,arguments)}return a(e,[{key:"render",value:function(){var e=this;return r.createElement(on,c({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"bar"}))}}]),e}(),fn=function(){p(e,r.Component);var t=d(e);function e(){return n(this,e),t.apply(this,arguments)}return a(e,[{key:"render",value:function(){var e=this;return r.createElement(on,c({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"horizontalBar"}))}}]),e}(),pn=function(){p(e,r.Component);var t=d(e);function e(){return n(this,e),t.apply(this,arguments)}return a(e,[{key:"render",value:function(){var e=this;return r.createElement(on,c({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"radar"}))}}]),e}(),ln=function(){p(e,r.Component);var t=d(e);function e(){return n(this,e),t.apply(this,arguments)}return a(e,[{key:"render",value:function(){var e=this;return r.createElement(on,c({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"polarArea"}))}}]),e}(),hn=function(){p(e,r.Component);var t=d(e);function e(){return n(this,e),t.apply(this,arguments)}return a(e,[{key:"render",value:function(){var e=this;return r.createElement(on,c({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"bubble"}))}}]),e}(),yn=function(){p(e,r.Component);var t=d(e);function e(){return n(this,e),t.apply(this,arguments)}return a(e,[{key:"render",value:function(){var e=this;return r.createElement(on,c({},this.props,{ref:function(t){return e.chartInstance=t&&t.chartInstance},type:"scatter"}))}}]),e}(),vn=u.defaults;t.Chart=u,t.Bar=sn,t.Bubble=hn,t.Doughnut=an,t.HorizontalBar=fn,t.Line=cn,t.Pie=un,t.Polar=ln,t.Radar=pn,t.Scatter=yn,t.default=on,t.defaults=vn,Object.defineProperty(t,"__esModule",{value:!0})});