import AST from"../Core/Renderer/HTML/AST.js";import Chart from"../Core/Chart/Chart.js";import palette from"../Core/Color/Palette.js";import U from"../Core/Utilities.js";var addEvent=U.addEvent,extend=U.extend,getOptions=U.getOptions,chartPrototype=Chart.prototype,defaultOptions=getOptions();extend(defaultOptions.lang,{noData:"No data to display"}),defaultOptions.noData={attr:{zIndex:1},position:{x:0,y:0,align:"center",verticalAlign:"middle"},style:{fontWeight:"bold",fontSize:"12px",color:palette.neutralColor60}},chartPrototype.showNoData=function(t){var a=this.options,o=t||a&&a.lang.noData,e=a&&(a.noData||{});this.renderer&&(this.noDataLabel||(this.noDataLabel=this.renderer.label(o,0,0,void 0,void 0,void 0,e.useHTML,void 0,"no-data").add()),this.styledMode||this.noDataLabel.attr(AST.filterUserAttributes(e.attr||{})).css(e.style||{}),this.noDataLabel.align(extend(this.noDataLabel.getBBox(),e.position||{}),!1,"plotBox"))},chartPrototype.hideNoData=function(){this.noDataLabel&&(this.noDataLabel=this.noDataLabel.destroy())},chartPrototype.hasData=function(){for(var t=this.series||[],a=t.length;a--;)if(t[a].hasData()&&!t[a].options.isInternal)return!0;return this.loadingShown},addEvent(Chart,"render",function(){this.hasData()?this.hideNoData():this.showNoData()});