smart-webcomponents-react
Version:
[](https://jqwidgets.com/license/)
6 lines (4 loc) • 174 kB
JavaScript
/* Smart UI v23.0.8 (2025-05-13)
Copyright (c) 2011-2024 jQWidgets.
License: https://htmlelements.com/license/ */ //
Smart("smart-chart",class extends Smart.BaseElement{static get properties(){return{animationDuration:{value:300,type:"number"},backgroundColor:{value:null,type:"string?"},backgroundImage:{value:"",type:"string"},borderLineColor:{value:null,type:"string?"},borderLineWidth:{value:1,type:"number"},caption:{value:"Caption",type:"string"},clip:{value:!0,type:"boolean"},colorScheme:{value:"scheme01",type:"string"},columnSeriesOverlap:{value:!1,type:"boolean"},crosshairsColor:{value:null,type:"string?"},crosshairsDashStyle:{value:"2,2",type:"string"},crosshairsLineWidth:{value:1,type:"number"},dataSource:{value:[],type:"object",reflectToAttribute:!1},description:{value:"Description",type:"string"},draw:{value:null,type:"function?"},drawBefore:{value:null,type:"function?"},enableAxisTextAnimation:{value:!1,type:"boolean"},enableCrosshairs:{value:!1,type:"boolean"},greyScale:{value:!1,type:"boolean"},legendLayout:{value:{flow:{value:"horizontal",allowedValues:["horizontal","vertical"],type:"string"},height:{value:null,type:"number?"},left:{value:null,type:"number?"},top:{value:null,type:"number?"},width:{value:null,type:"number?"}},type:"object?"},localization:{value:{decimalSeparator:{value:".",type:"string"},patterns:{value:null,type:"object?"},thousandsSeparator:{value:"",type:"string"}},type:"object"},messages:{value:{en:{invalidRadiusDataField:"smart-chart: Invalid radiusDataField value at [{{index}}]",invalidSeries:"smart-chart: Invalid property: each series group must have a 'series' property which must be a valid array.",invalidSeriesGroups:"smart-chart: Invalid property: 'seriesGroups' property is required and must be a valid array.",invalidType:'smart-chart: Invalid serie type "{{type}}".',missingAxis:"smart-chart: seriesGroup[{{index}}] is missing {{axis}} definition.",missingReference:"smart-chart: Missing reference to {{files}}.",missingType:"smart-chart: Invalid property: each series group must have a valid 'type' property."}},type:"object",extend:!0},padding:{value:{bottom:{value:5,type:"number"},left:{value:5,type:"number"},right:{value:5,type:"number"},top:{value:5,type:"number"}},type:"object"},renderEngine:{value:"",allowedValues:["","SVG","HTML5"],type:"string"},rightToLeft:{value:!1,type:"boolean"},seriesGroups:{value:[],type:"any",reflectToAttribute:!1},showBorderLine:{value:!0,type:"boolean"},showLegend:{value:!0,type:"boolean"},showToolTips:{value:!0,type:"boolean"},showToolTipsOnAllSeries:{value:!1,type:"boolean"},theme:{value:"light",allowedValues:["light","dark"],type:"string"},titlePadding:{value:{bottom:{value:10,type:"number"},left:{value:5,type:"number"},right:{value:5,type:"number"},top:{value:5,type:"number"}},type:"object"},toolTipBackground:{value:null,type:"string?"},toolTipFormatFunction:{value:null,type:"function?"},toolTipHideDelay:{value:4e3,type:"number"},toolTipLineColor:{value:null,type:"string?"},toolTipShowDelay:{value:300,type:"number"},valueAxis:{value:{alternatingBackgroundColor:{value:"",type:"string"},alternatingBackgroundColor2:{value:"",type:"string"},alternatingBackgroundOpacity:{value:1,type:"number"},axisSize:{value:null,type:"any"},bands:{value:null,type:"array?"},baselineValue:{value:0,type:"any"},customDraw:{value:!1,type:"boolean"},flip:{value:!1,type:"boolean"},formatFunction:{value:null,type:"function?"},formatSettings:{value:{dateFormat:{value:null,type:"string?"},decimalPlaces:{value:null,type:"number?"},decimalSeparator:{value:null,type:"string?"},negativeWithBrackets:{value:!1,type:"boolean"},prefix:{value:"",type:"string"},sufix:{value:"",type:"string"},thousandsSeparator:{value:null,type:"string?"}},type:"object"},gridLines:{value:{color:{value:"",type:"string"},custom:{value:null,type:"array?"},dashStyle:{value:"",type:"string"},lineWidth:{value:1,type:"number"},step:{value:null,type:"number?"},unitInterval:{value:null,type:"number?"},visible:{value:!0,type:"any"}},type:"object"},labels:{value:{angle:{value:0,type:"number"},autoRotate:{value:!1,type:"boolean"},class:{value:null,type:"string?"},custom:{value:null,type:"array?"},formatFunction:{value:null,type:"function?"},formatSettings:{value:{dateFormat:{value:null,type:"string?"},decimalPlaces:{value:null,type:"number?"},decimalSeparator:{value:null,type:"string?"},negativeWithBrackets:{value:!1,type:"boolean"},prefix:{value:"",type:"string"},sufix:{value:"",type:"string"},thousandsSeparator:{value:null,type:"string?"}},type:"object"},horizontalAlignment:{value:"center",allowedValues:["left","center","right"],type:"string"},offset:{value:{x:{value:0,type:"number"},y:{value:0,type:"number"}},type:"object"},rotationPoint:{value:"auto",allowedValues:["auto","left","center","right","topleft","topcenter","topright","bottomleft","bottomcenter","bottomright","centermiddle"],type:"string"},step:{value:null,type:"number?"},unitInterval:{value:null,type:"number?"},verticalAlignment:{value:"center",allowedValues:["top","center","bottom"],type:"string"},visible:{value:!0,type:"any"}},type:"object"},line:{value:{color:{value:"",type:"string"},dashStyle:{value:"",type:"string"},lineWidth:{value:1,type:"number"},visible:{value:!0,type:"any"}},type:"object"},logarithmicScale:{value:!1,type:"boolean"},logarithmicScaleBase:{value:10,type:"number"},maxValue:{value:NaN,type:"any"},minValue:{value:NaN,type:"any"},padding:{value:{bottom:{value:0,type:"number"},left:{value:0,type:"number"},right:{value:0,type:"number"},top:{value:0,type:"number"}},type:"object"},position:{value:"left",allowedValues:["left","right","top","bottom"],type:"string"},textRotationAngle:{value:null,type:"number?"},textRotationPoint:{value:"auto",allowedValues:["auto","left","center","right","topleft","topcenter","topright","bottomleft","bottomcenter","bottomright","centermiddle"],type:"string"},tickMarks:{value:{color:{value:"",type:"string"},custom:{value:null,type:"array?"},dashStyle:{value:"",type:"string"},lineWidth:{value:1,type:"number"},size:{value:4,type:"number"},step:{value:null,type:"number?"},unitInterval:{value:null,type:"number?"},visible:{value:!0,type:"any"}},type:"object"},title:{value:{class:{value:null,type:"string?"},horizontalAlignment:{value:"center",allowedValues:["left","center","right"],type:"string"},text:{value:"",type:"string"},verticalAlignment:{value:"center",allowedValues:["top","center","bottom"],type:"string"},visible:{value:!0,type:"boolean"}},type:"object"},unitInterval:{value:null,type:"number?"},valuesOnTicks:{value:!0,type:"boolean"},visible:{value:!0,type:"boolean"}},type:"object"},xAxis:{value:{alternatingBackgroundColor:{value:"",type:"string"},alternatingBackgroundColor2:{value:"",type:"string"},alternatingBackgroundOpacity:{value:1,type:"number"},axisSize:{value:null,type:"any"},bands:{value:null,type:"array?"},baseUnit:{value:null,allowedValues:["year","month","day","hour","minute","second","millisecond",null],type:"string?"},customDraw:{value:!1,type:"boolean"},dataField:{value:"",type:"string"},dateFormat:{value:null,type:"string?"},displayText:{value:null,type:"string?"},flip:{value:!1,type:"boolean"},formatFunction:{value:null,type:"function?"},formatSettings:{value:{dateFormat:{value:null,type:"string?"},decimalPlaces:{value:null,type:"number?"},decimalSeparator:{value:null,type:"string?"},negativeWithBrackets:{value:!1,type:"boolean"},prefix:{value:"",type:"string"},sufix:{value:"",type:"string"},thousandsSeparator:{value:null,type:"string?"}},type:"object"},gridLines:{value:{color:{value:"",type:"string"},custom:{value:null,type:"array?"},dashStyle:{value:"",type:"string"},lineWidth:{value:1,type:"number"},step:{value:null,type:"number?"},unitInterval:{value:null,type:"number?"},visible:{value:!0,type:"any"}},type:"object"},labels:{value:{angle:{value:0,type:"number"},autoRotate:{value:!1,type:"boolean"},class:{value:null,type:"string?"},custom:{value:null,type:"array?"},formatFunction:{value:null,type:"function?"},formatSettings:{value:{dateFormat:{value:null,type:"string?"},decimalPlaces:{value:null,type:"number?"},decimalSeparator:{value:null,type:"string?"},negativeWithBrackets:{value:!1,type:"boolean"},prefix:{value:"",type:"string"},sufix:{value:"",type:"string"},thousandsSeparator:{value:null,type:"string?"}},type:"object"},horizontalAlignment:{value:"center",allowedValues:["left","center","right"],type:"string"},offset:{value:{x:{value:0,type:"number"},y:{value:0,type:"number"}},type:"object"},rotationPoint:{value:"auto",allowedValues:["auto","left","center","right","topleft","topcenter","topright","bottomleft","bottomcenter","bottomright","centermiddle"],type:"string"},step:{value:null,type:"number?"},unitInterval:{value:null,type:"number?"},verticalAlignment:{value:"center",allowedValues:["top","center","bottom"],type:"string"},visible:{value:!0,type:"any"}},type:"object"},line:{value:{color:{value:"",type:"string"},dashStyle:{value:"",type:"string"},lineWidth:{value:1,type:"number"},visible:{value:!0,type:"any"}},type:"object"},logarithmicScale:{value:!1,type:"boolean"},logarithmicScaleBase:{value:10,type:"number"},maxValue:{value:NaN,type:"any"},minValue:{value:NaN,type:"any"},padding:{value:{bottom:{value:0,type:"number"},left:{value:0,type:"number"},right:{value:0,type:"number"},top:{value:0,type:"number"}},type:"object"},position:{value:"bottom",allowedValues:["bottom","top","left","right"],type:"string"},rangeSelector:{value:{backgroundColor:{value:null,type:"string?"},backgroundImage:{value:"",type:"string"},baseUnit:{value:null,allowedValues:["year","month","day","hour","minute","second","millisecond",null],type:"string?"},borderLineColor:{value:null,type:"string?"},borderLineWidth:{value:null,type:"number?"},caption:{value:"",type:"string"},colorScheme:{value:null,type:"string?"},columnSeriesOverlap:{value:!1,type:"boolean"},columnsGapPercent:{value:25,type:"number"},dataField:{value:null,type:"string?"},description:{value:"",type:"string"},greyScale:{value:null,type:"boolean?"},gridLines:{value:{color:{value:"",type:"string"},custom:{value:null,type:"array?"},dashStyle:{value:"",type:"string"},lineWidth:{value:1,type:"number"},step:{value:null,type:"number?"},unitInterval:{value:null,type:"number?"},visible:{value:!0,type:"any"}},type:"object"},labels:{value:{angle:{value:0,type:"number"},autoRotate:{value:!1,type:"boolean"},class:{value:null,type:"string?"},custom:{value:null,type:"array?"},formatFunction:{value:null,type:"function?"},formatSettings:{value:{dateFormat:{value:null,type:"string?"},decimalPlaces:{value:null,type:"number?"},decimalSeparator:{value:null,type:"string?"},negativeWithBrackets:{value:!1,type:"boolean"},prefix:{value:"",type:"string"},sufix:{value:"",type:"string"},thousandsSeparator:{value:null,type:"string?"}},type:"object"},horizontalAlignment:{value:"center",allowedValues:["left","center","right"],type:"string"},offset:{value:{x:{value:0,type:"number"},y:{value:0,type:"number"}},type:"object"},rotationPoint:{value:"auto",allowedValues:["auto","left","center","right","topleft","topcenter","topright","bottomleft","bottomcenter","bottomright","centermiddle"],type:"string"},step:{value:null,type:"number?"},unitInterval:{value:null,type:"number?"},verticalAlignment:{value:"center",allowedValues:["top","center","bottom"],type:"string"},visible:{value:!0,type:"any"}},type:"object"},maxValue:{value:NaN,type:"any"},minValue:{value:NaN,type:"any"},padding:{value:{bottom:{value:0,type:"number"},left:{value:0,type:"number"},right:{value:0,type:"number"},top:{value:0,type:"number"}},type:"object"},position:{value:null,allowedValues:["bottom","top","left","right"],type:"string?"},renderTo:{value:null,type:"any"},rightToLeft:{value:null,type:"boolean?"},seriesGapPercent:{value:10,type:"number"},seriesGroups:{value:null,type:"array?"},serieType:{value:"area",type:"string"},showBorderLine:{value:null,type:"boolean?"},size:{value:null,type:"number?"},skipOverlappingPoints:{value:!0,type:"boolean"},titlePadding:{value:{bottom:{value:10,type:"number"},left:{value:5,type:"number"},right:{value:5,type:"number"},top:{value:5,type:"number"}},type:"object"},unitInterval:{value:null,type:"number?"},valueAxis:{value:{alternatingBackgroundColor:{value:"",type:"string"},alternatingBackgroundColor2:{value:"",type:"string"},alternatingBackgroundOpacity:{value:1,type:"number"},axisSize:{value:null,type:"any"},bands:{value:null,type:"array?"},baselineValue:{value:0,type:"any"},customDraw:{value:!1,type:"boolean"},flip:{value:!1,type:"boolean"},formatFunction:{value:null,type:"function?"},formatSettings:{value:{dateFormat:{value:null,type:"string?"},decimalPlaces:{value:null,type:"number?"},decimalSeparator:{value:null,type:"string?"},negativeWithBrackets:{value:!1,type:"boolean"},prefix:{value:"",type:"string"},sufix:{value:"",type:"string"},thousandsSeparator:{value:null,type:"string?"}},type:"object"},gridLines:{value:{color:{value:"",type:"string"},custom:{value:null,type:"array?"},dashStyle:{value:"",type:"string"},lineWidth:{value:1,type:"number"},step:{value:null,type:"number?"},unitInterval:{value:null,type:"number?"},visible:{value:!0,type:"any"}},type:"object"},labels:{value:{angle:{value:0,type:"number"},autoRotate:{value:!1,type:"boolean"},class:{value:null,type:"string?"},custom:{value:null,type:"array?"},formatFunction:{value:null,type:"function?"},formatSettings:{value:{dateFormat:{value:null,type:"string?"},decimalPlaces:{value:null,type:"number?"},decimalSeparator:{value:null,type:"string?"},negativeWithBrackets:{value:!1,type:"boolean"},prefix:{value:"",type:"string"},sufix:{value:"",type:"string"},thousandsSeparator:{value:null,type:"string?"}},type:"object"},horizontalAlignment:{value:"center",allowedValues:["left","center","right"],type:"string"},offset:{value:{x:{value:0,type:"number"},y:{value:0,type:"number"}},type:"object"},rotationPoint:{value:"auto",allowedValues:["auto","left","center","right","topleft","topcenter","topright","bottomleft","bottomcenter","bottomright","centermiddle"],type:"string"},step:{value:null,type:"number?"},unitInterval:{value:null,type:"number?"},verticalAlignment:{value:"center",allowedValues:["top","center","bottom"],type:"string"},visible:{value:!0,type:"any"}},type:"object"},line:{value:{color:{value:"",type:"string"},dashStyle:{value:"",type:"string"},lineWidth:{value:1,type:"number"},visible:{value:!0,type:"any"}},type:"object"},logarithmicScale:{value:!1,type:"boolean"},logarithmicScaleBase:{value:10,type:"number"},maxValue:{value:NaN,type:"any"},minValue:{value:NaN,type:"any"},padding:{value:{bottom:{value:0,type:"number"},left:{value:0,type:"number"},right:{value:0,type:"number"},top:{value:0,type:"number"}},type:"object"},position:{value:"left",allowedValues:["left","right","top","bottom"],type:"string"},textRotationAngle:{value:null,type:"number?"},textRotationPoint:{value:"auto",allowedValues:["auto","left","center","right","topleft","topcenter","topright","bottomleft","bottomcenter","bottomright","centermiddle"],type:"string"},tickMarks:{value:{color:{value:"",type:"string"},custom:{value:null,type:"array?"},dashStyle:{value:"",type:"string"},lineWidth:{value:1,type:"number"},size:{value:4,type:"number"},step:{value:null,type:"number?"},unitInterval:{value:null,type:"number?"},visible:{value:!0,type:"any"}},type:"object"},title:{value:{class:{value:null,type:"string?"},horizontalAlignment:{value:"center",allowedValues:["left","center","right"],type:"string"},text:{value:"",type:"string"},verticalAlignment:{value:"center",allowedValues:["top","center","bottom"],type:"string"},visible:{value:!0,type:"boolean"}},type:"object"},unitInterval:{value:null,type:"number?"},valuesOnTicks:{value:!0,type:"boolean"},visible:{value:!1,type:"boolean"}},type:"object"},visible:{value:!1,type:"boolean"}},type:"object"},textRotationAngle:{value:null,type:"number?"},textRotationPoint:{value:"auto",allowedValues:["auto","left","center","right","topleft","topcenter","topright","bottomleft","bottomcenter","bottomright","centermiddle"],type:"string"},tickMarks:{value:{color:{value:"",type:"string"},custom:{value:null,type:"array?"},dashStyle:{value:"",type:"string"},lineWidth:{value:1,type:"number"},size:{value:4,type:"number"},step:{value:null,type:"number?"},unitInterval:{value:null,type:"number?"},visible:{value:!0,type:"any"}},type:"object"},title:{value:{class:{value:null,type:"string?"},horizontalAlignment:{value:"center",allowedValues:["left","center","right"],type:"string"},text:{value:"",type:"string"},verticalAlignment:{value:"center",allowedValues:["top","center","bottom"],type:"string"},visible:{value:!0,type:"boolean"}},type:"object"},toolTipFormatFunction:{value:null,type:"function?"},toolTipFormatSettings:{value:{dateFormat:{value:null,type:"string?"},decimalPlaces:{value:null,type:"number?"},decimalSeparator:{value:null,type:"string?"},negativeWithBrackets:{value:!1,type:"boolean"},prefix:{value:"",type:"string"},sufix:{value:"",type:"string"},thousandsSeparator:{value:null,type:"string?"}},type:"object"},type:{value:"auto",allowedValues:["auto","date","basic","linear"],type:"string"},unitInterval:{value:null,type:"number?"},valuesOnTicks:{value:!0,type:"boolean"},visible:{value:!0,type:"boolean"}},type:"object",reflectToAttribute:!1}}}get _legendLayout(){const e=this.legendLayout;return null!==e.height||null!==e.left||null!==e.top||null!==e.width||"vertical"===e.flow}_getFormatSettings(e,t){if(!e)return null;const i=e[t||"formatSettings"];return i&&(i.dateFormat||null!==i.decimalPlaces||i.decimalSeparator||i.negativeWithBrackets||i.prefix||i.sufix||i.thousandsSeparator)?i:null}static get listeners(){return{click:"_clickHandler",down:"_downMoveHandler",mouseleave:"_mouseleaveHandler",move:"_moveHandler",resize:"_resizeHandler","document.move":"_downMoveHandler","document.up":"_documentUpHandler"}}static get requires(){return{"Smart.Utilities.Draw":"smart.draw.js"}}static get styleUrls(){return["smart.chart.css"]}template(){return'<div role="presentation"></div>'}ready(){super.ready(),this.checkLicense()}render(){const e=this;e._observeSeriesGroups(),e._isTouchDevice=Smart.Utilities.Core.isMobile,e._setDefaults(),e._createColorsCache(),e.refresh(),e._setAriaProperties(),super.render()}attached(){const e=this;super.attached(),e.isCompleted&&!e._isRangeSelectorInstance&&Object.values(e._rangeSelectorInstances).forEach((e=>{e.parentDiv.parentDiv.appendChild(e.parentDiv)}))}detached(){const e=this;super.detached(),e._isRangeSelectorInstance||(e._ttEl&&e._ttEl.box&&e._ttEl.box.remove(),delete e._ttEl,Object.values(e._rangeSelectorInstances).forEach((e=>{e.parentDiv.remove()})))}_setAriaProperties(){const e=this;if(e._isRangeSelectorInstance)return;const t=e.xAxis,i=e.valueAxis,r=e.seriesGroups;let s=e.$.content.children[1],a="",l=!0;function n(e,t){e&&(e.title&&e.title.text||e.description||e.dataField)&&(a+='; "',e.title&&e.title.text?a+=e.title.text:a+=e.description||e.dataField,a+='" on the '+t,isNaN(e.minValue)||(a+=" from "+e.minValue),isNaN(e.maxValue)||(a+=" up to "+e.maxValue))}e.setAttribute("role","figure"),s||(s=document.createElement("div"),s.id=e.id+"DescriptionContainer",s.className="smart-hidden",e.$.content.appendChild(s)),e.setAttribute("aria-labelledby",e.id+"TitleText"),e.setAttribute("aria-describedby",e.id+"TitleDescription "+s.id),a+="This chart displays:",n(t,"x-axis"),n(i,"y-axis");for(let e=0;e<r.length;e++){const t=r[e];if(n(t.valueAxis,"y-axis"),t.series){l=l&&"horizontal"===t.orientation;for(let i=0;i<t.series.length;i++){const r=t.series[i];0===i&&(a+=0===e?" for ":"; "),a+='"'+(r.displayText||r.dataField)+'"',i!==t.series.length-1&&(a+=", ")}}}a=a.replace(":;",":"),a=a.replace(/<.+?>/g,""),l&&(a=a.replace(/x-axis/g,"@@@"),a=a.replace(/y-axis/g,"x-axis"),a=a.replace(/@@@/g,"y-axis")),e.description&&(a="; "+a),s.innerHTML=a}_observeSeriesGroups(){const e=this;function t(t){e.context!==e&&t.newValue!==t.oldValue&&e.update()}if(e._validateSeriesGroups(),Array.isArray(e.seriesGroups)){e.seriesGroups=new Smart.ObservableArray(e.seriesGroups),e.seriesGroups.canNotify=!0;for(let i=0;i<e.seriesGroups.length;i++)Array.isArray(e.seriesGroups[i].series)&&(e.seriesGroups[i].series=new Smart.ObservableArray(e.seriesGroups[i].series),e.seriesGroups[i].series.canNotify=!0,e.seriesGroups[i].series.notify(t));e.seriesGroups.notify(t)}}_downMoveHandler(e){const t=this;let i=e.originalEvent.target;t.shadowRoot&&i===t&&(i=e.originalEvent.composedPath()[0]);const r=i.closest(".smart-chart-range-selector");if(!r)return;const s=r.firstElementChild,a=s.parentChart;t!==s&&t!==a||a["_onSliderMouse"+e.type.slice(0,1).toUpperCase()+e.type.slice(1)](e)}_documentUpHandler(e){const t=this;t._draggingRangeSelector&&t._onSliderMouseUp(e)}_setDefaults(){const e=this;e.axisPadding=5,e.enableEvents=!0,e.enableSampling=!0,e._itemsToggleState=[],e._isToggleRefresh=!1,e._isSelectorRefresh=!1,e._sliders=[],e._selectorRange=[],e._rangeSelectorInstances={},e._resizeState={},e._isRangeSelectorInstance=e._isRangeSelectorInstance||!1,e._renderData={},e._smartPlot=null,e._animTickInt=50,e._seriesTypes=["line","stackedline","stackedline100","spline","stackedspline","stackedspline100","stepline","stackedstepline","stackedstepline100","area","stackedarea","stackedarea100","splinearea","stackedsplinearea","stackedsplinearea100","steparea","stackedsteparea","stackedsteparea100","rangearea","splinerangearea","steprangearea","column","stackedcolumn","stackedcolumn100","rangecolumn","scatter","stackedscatter","stackedscatter100","bubble","stackedbubble","stackedbubble100","pie","donut","candlestick","ohlc","waterfall","stackedwaterfall"],e.colorSchemes=[{name:"scheme01",colors:["#307DD7","#AA4643","#89A54E","#71588F","#4198AF"]},{name:"scheme02",colors:["#7FD13B","#EA157A","#FEB80A","#00ADDC","#738AC8"]},{name:"scheme03",colors:["#E8601A","#FF9639","#F5BD6A","#599994","#115D6E"]},{name:"scheme04",colors:["#D02841","#FF7C41","#FFC051","#5B5F4D","#364651"]},{name:"scheme05",colors:["#25A0DA","#309B46","#8EBC00","#FF7515","#FFAE00"]},{name:"scheme06",colors:["#0A3A4A","#196674","#33A6B2","#9AC836","#D0E64B"]},{name:"scheme07",colors:["#CC6B32","#FFAB48","#FFE7AD","#A7C9AE","#888A63"]},{name:"scheme08",colors:["#3F3943","#01A2A6","#29D9C2","#BDF271","#FFFFA6"]},{name:"scheme09",colors:["#1B2B32","#37646F","#A3ABAF","#E1E7E8","#B22E2F"]},{name:"scheme10",colors:["#5A4B53","#9C3C58","#DE2B5B","#D86A41","#D2A825"]},{name:"scheme11",colors:["#993144","#FFA257","#CCA56A","#ADA072","#949681"]},{name:"scheme12",colors:["#105B63","#EEEAC5","#FFD34E","#DB9E36","#BD4932"]},{name:"scheme13",colors:["#BBEBBC","#F0EE94","#F5C465","#FA7642","#FF1E54"]},{name:"scheme14",colors:["#60573E","#F2EEAC","#BFA575","#A63841","#BFB8A3"]},{name:"scheme15",colors:["#444546","#FFBB6E","#F28D00","#D94F00","#7F203B"]},{name:"scheme16",colors:["#583C39","#674E49","#948658","#F0E99A","#564E49"]},{name:"scheme17",colors:["#142D58","#447F6E","#E1B65B","#C8782A","#9E3E17"]},{name:"scheme18",colors:["#4D2B1F","#635D61","#7992A2","#97BFD5","#BFDCF5"]},{name:"scheme19",colors:["#844341","#D5CC92","#BBA146","#897B26","#55591C"]},{name:"scheme20",colors:["#56626B","#6C9380","#C0CA55","#F07C6C","#AD5472"]},{name:"scheme21",colors:["#96003A","#FF7347","#FFBC7B","#FF4154","#642223"]},{name:"scheme22",colors:["#5D7359","#E0D697","#D6AA5C","#8C5430","#661C0E"]},{name:"scheme23",colors:["#16193B","#35478C","#4E7AC7","#7FB2F0","#ADD5F7"]},{name:"scheme24",colors:["#7B1A25","#BF5322","#9DA860","#CEA457","#B67818"]},{name:"scheme25",colors:["#0081DA","#3AAFFF","#99C900","#FFEB3D","#309B46"]},{name:"scheme26",colors:["#0069A5","#0098EE","#7BD2F6","#FFB800","#FF6800"]},{name:"scheme27",colors:["#FF6800","#A0A700","#FF8D00","#678900","#0069A5"]},{name:"scheme28",colors:["#3A43BA","#281E5D","#48AAAD","#0492C2","#1E456E","#59788D","#52B2C0","#82EDFD"]},{name:"scheme29",colors:["#003F5C","#BC5090","#58508D","#FF6361","#FFA600"]},{name:"scheme30",colors:["#16736F","#A2D56A","#1C515C","#62B773","#EEEF63","#1F313F","#309577"]},{name:"scheme31",colors:["#74CC66","#191A4D","#2D867A","#EEE3CD","#224D19","#0D261B","#5771C7","#B6D7E7","#206052","#6B5724","#C3AF4B","#603620","#536722","#B6E7B9","#34819D","#94ACDB"]},{name:"scheme32",colors:["#87C5FF","#5B5B60","#9BE076","#F7A384","#7479D3","#F13A80","#E4D388","#2BC6B2","#F45B14"]}]}_clickHandler(e){const t=this;if(t.disabled||t._isRangeSelectorInstance)return;let i=e.pageX||e.clientX||e.screenX,r=e.pageY||e.clientY||e.screenY;const s=t.getBoundingClientRect();t._isTouchDevice&&(i=e.pageX,r=e.pageY),i-=s.left,r-=s.top,t._mouseX=i,t._mouseY=r,!isNaN(t._lastClickTs)&&(new Date).valueOf()-t._lastClickTs<100||(this._hostClickTimer=setTimeout((function(){if(t._isTouchDevice||(t._cancelTooltipTimer(),t._hideToolTip(),t._unselect()),t._pointMarker&&t._pointMarker.element){const i=t.seriesGroups[t._pointMarker.gidx],r=i.series[t._pointMarker.sidx];e.stopImmediatePropagation(),t._raiseItemEvent("click",i,r,t._pointMarker.iidx)}}),100),"HTML5"===t.renderEngine&&t._canvasClickHandler(i,r))}_canvasClickHandler(e,t){const i=this,r=i.renderer._elements;let s;for(let i in r)if(Object.prototype.hasOwnProperty.call(r,i)&&"0"!==i){const a=r[i];if(t>a.y&&t<a.y+a.height&&e>a.x&&e<a.x+a.width){s=a;break}}if(s&&s.purpose&&"legend-toggle"===s.purpose){const e=s.data;i._toggleSerie(e.groupIndex,e.seriesIndex,e.itemIndex)}}_mouseleaveHandler(){const e=this;if(e.disabled||e._isRangeSelectorInstance)return;const t=e._mouseX,i=e._mouseY,r=e._plotRect;r&&t>=r.x&&t<=r.x+r.width&&i>=r.y&&i<=r.y+r.height||(e._cancelTooltipTimer(),e._hideToolTip(0),e._unselect())}_moveHandler(e){const t=this;if(t.disabled)return;if(t._isRangeSelectorInstance){const i=t.parentChart;null===i.xAxis.rangeSelector.renderTo&&(i._unselect(),i._hideToolTip()),"touchmove"===e.originalEvent.type&&e.originalEvent.preventDefault()}else t.style.cursor="default";let i=e.pageX||e.clientX||e.screenX,r=e.pageY||e.clientY||e.screenY;const s=t.getBoundingClientRect();t._isTouchDevice&&(i=e.pageX,r=e.pageY),i-=s.left,r-=s.top,t.onmousemove(i,r)}_resizeHandler(){const e=this,t=e.animation;e._isRangeSelectorInstance||(e.animation="none",e.refresh(),e.animation=t)}propertyChangedHandler(e,t,i){const r=this;switch(e){case"animation":case"theme":r._ttEl&&r._ttEl.box.setAttribute(e,i);break;case"rightToLeft":if(!r._ttEl||!r._ttEl.box)break;i?r._ttEl.box.setAttribute("right-to-left",i):r._ttEl.box.removeAttribute("right-to-left");break;case"seriesGroups":r._observeSeriesGroups();break;case"xAxis_rangeSelector_renderTo":if(null===i){const e=t.getElementsByClassName("smart-chart-range-selector")[0];e.parentElement.removeChild(e)}}this.refresh()}_initRenderer(){const e=this;e._draw=new Smart.Utilities.Draw(e.$.content,e.renderEngine),e.renderer=e._draw.renderer,e._smartPlot||(e._smartPlot=new Smart.Utilities.Plot(e.renderer)),e.$.content.firstElementChild.setAttribute("role","presentation")}_internalRefresh(){const e=this;if(!(e.offsetWidth||e.offsetHeight||e.getClientRects().length))return;e._stopAnimations(),e.renderer&&(e._isToggleRefresh||e._isUpdate)||(e._hideToolTip(0),e.$.content.innerHTML="",e._initRenderer());const t=e.renderer;if(!t)return;const i=t.getRect();e._render({x:1,y:1,width:i.width,height:i.height}),this.$.fireEvent("refreshBegin",{instance:this}),t instanceof Smart.Utilities.HTML5Renderer&&t.refresh(),e._isUpdate=!1,this.$.fireEvent("refreshEnd",{instance:this})}saveAsPNG(e){return this._saveAsImage("png",e)}saveAsJPEG(e){return this._saveAsImage("jpeg",e)}saveAsPDF(e,t){return this._saveAsImage("pdf",e,t)}print(){return this._saveAsImage("print")}_saveAsImage(e,t,i){const r=this;return r._draw._widgetToImage(r,e,t,r._hasRangeSelector?r._selectorSaveAsImageCallback:void 0,i)}_selectorSaveAsImageCallback(e,t){let i=e;for(let e=0;e<i.seriesGroups.length;e++){let r=i._getXAxis(e);if(!r||!r.rangeSelector||!r.rangeSelector.visible||r.rangeSelector.renderTo)continue;let s=i._rangeSelectorInstances[e];if(!s)continue;let a=s.renderer.getRect(),l=s.renderer.getContainer().getElementsByTagName("canvas")[0].getContext("2d"),n=i._sliders[e],o="horizontal"===i.seriesGroups[e].orientation,h=o?"height":"width",d=o?"width":"height",u=o?"y":"x",g=o?"x":"y",f={};f[u]=n.startOffset+n.rect[u],f[g]=n.rect[g],f[h]=n.endOffset-n.startOffset,f[d]=n.rect[d];let p=r.rangeSelector.colorSelectedRange||"blue",c=r.rangeSelector.colorRangeLine||"grey",m=[];m.push(s.renderer.rect(f.x,f.y,f.width,f.height,{fill:p,opacity:.1}));const y=i.renderer;o?(m.push(s.renderer.line(y._ptrnd(n.rect.x+n.rect.width),y._ptrnd(n.rect.y),y._ptrnd(n.rect.x+n.rect.width),y._ptrnd(f.y),{stroke:c,opacity:.5})),m.push(s.renderer.line(y._ptrnd(n.rect.x+n.rect.width),y._ptrnd(f.y+f.height),y._ptrnd(n.rect.x+n.rect.width),y._ptrnd(n.rect.y+n.rect.height),{stroke:c,opacity:.5})),m.push(s.renderer.line(y._ptrnd(n.rect.x),y._ptrnd(f.y),y._ptrnd(n.rect.x+n.rect.width),y._ptrnd(f.y),{stroke:c,opacity:.5})),m.push(s.renderer.line(y._ptrnd(n.rect.x),y._ptrnd(f.y+f.height),y._ptrnd(n.rect.x+n.rect.width),y._ptrnd(f.y+f.height),{stroke:c,opacity:.5}))):(m.push(s.renderer.line(y._ptrnd(n.rect.x),y._ptrnd(n.rect.y),y._ptrnd(f.x),y._ptrnd(n.rect.y),{stroke:c,opacity:.5})),m.push(s.renderer.line(y._ptrnd(f.x+f.width),y._ptrnd(n.rect.y),y._ptrnd(n.rect.x+n.rect.width),y._ptrnd(n.rect.y),{stroke:c,opacity:.5})),m.push(s.renderer.line(y._ptrnd(f.x),y._ptrnd(n.rect.y),y._ptrnd(f.x),y._ptrnd(n.rect.y+n.rect.height),{stroke:c,opacity:.5})),m.push(s.renderer.line(y._ptrnd(f.x+f.width),y._ptrnd(n.rect.y),y._ptrnd(f.x+f.width),y._ptrnd(n.rect.y+n.rect.height),{stroke:c,opacity:.5}))),s.renderer.refresh();let _=l.getImageData(a.x,a.y,a.width,a.height);const x=t.getContext("2d"),v=i.getBoundingClientRect(),b=s.getBoundingClientRect();x.putImageData(_,b.left-v.left,b.top-v.top,1,1,a.width,a.height);for(let e=0;e<m.length;e++)s.renderer.removeElement(m[e]);s.renderer.refresh()}return!0}refresh(){this._internalRefresh(),this._setAriaProperties()}update(){this._isUpdate=!0,this._internalRefresh()}clear(){const e=this;e.caption="",e.description="",e.refresh()}_validateSeriesGroups(){const e=this;Array.isArray(this.seriesGroups)||e.seriesGroups instanceof Smart.ObservableArray||e.error(e.localize("invalidSeriesGroups"));for(let t=0;t<this.seriesGroups.length;t++){const i=this.seriesGroups[t];i.type||e.error(e.localize("missingType")),Array.isArray(i.series)||i.series instanceof Smart.ObservableArray||e.error(e.localize("invalidSeries"))}}_render(e){var t=this,i=t.renderer;t._colorsCache.clear(),!t._isToggleRefresh&&t._isUpdate&&t._renderData&&t._renderDataClone(),t._renderData=[],i.clear(),t._unselect(),t._hideToolTip(0);var r=t.backgroundImage;t.style.backgroundImage=null==r||""===r?"":-1!==r.indexOf("(")?r:'url("'+r+'")',t._rect=e;var s=t.padding||{left:5,top:5,right:5,bottom:5},a=i.createClipRect(e),l=i.beginGroup();i.setClip(l,a);var n=i.rect(e.x,e.y,e.width-2,e.height-2);if(null==r||""===r?i.attr(n,{fill:t.backgroundColor||t._getThemeColor("background")}):i.attr(n,{fill:"transparent"}),!1!==t.showBorderLine){var o=this.borderLineWidth;(isNaN(o)||o<0||o>10)&&(o=1),i.attr(n,{"stroke-width":o,stroke:t.borderLineColor||t._getThemeColor("line")})}"function"==typeof t.drawBefore&&t.drawBefore(i,e);var h={x:s.left,y:s.top,width:e.width-s.left-s.right,height:e.height-s.top-s.bottom};t._paddedRect=h;var d,u=t.titlePadding||{left:2,top:2,right:2,bottom:2};t.caption&&t.caption.length>0&&(d=i.measureText(t.caption,0,{class:"smart-chart-title-text"}),i.text(t.caption,h.x+u.left,h.y+u.top,h.width-(u.left+u.right),d.height,0,{class:"smart-chart-title-text"},!0,"center","center").id=t.id+"TitleText",h.y+=d.height,h.height-=d.height),t.description&&t.description.length>0&&(d=i.measureText(t.description,0,{class:"smart-chart-title-description"}),i.text(t.description,h.x+u.left,h.y+u.top,h.width-(u.left+u.right),d.height,0,{class:"smart-chart-title-description"},!0,"center","center").id=t.id+"TitleDescription",h.y+=d.height,h.height-=d.height),(t.caption||t.description)&&(h.y+=u.bottom+u.top,h.height-=u.bottom+u.top);var g={x:h.x,y:h.y,width:h.width,height:h.height};t._plotRect=g,t._buildStats(g);var f,p=t._isPieOnlySeries(),c=t.seriesGroups,m={xAxis:{},valueAxis:{}};for(let e=0;e<c.length&&!p;e++){if("pie"===c[e].type||"donut"===c[e].type)continue;var y=t._getXAxis(e);y||t.error(t.localize("missingAxis",{index:e,axis:"xAxis"}));let i=y===t._getXAxis()?-1:e;m.xAxis[i]=0}var _=t.axisPadding;isNaN(_)&&(_=5);var x={left:0,right:0,leftCount:0,rightCount:0},v=[];for(let e=0;e<c.length;e++){const i=c[e];if("pie"===i.type||"donut"===i.type||!0===i.spider||!0===i.polar){v.push({width:0,position:0,xRel:0});continue}f="horizontal"===i.orientation;let r=t._getXAxis(e),s=r===t._getXAxis()?-1:e;var b=t._getValueAxis(e),N=b===t._getValueAxis()?-1:e,M=f?r.axisSize:b.axisSize,A={x:0,y:g.y,width:g.width,height:g.height},w=f?t._getXAxis(e).position:b.position;M&&"auto"!==M||(f?(M=this._renderXAxis(e,A,!0,g).width,1==(1&m.xAxis[s])?M=0:M>0&&(m.xAxis[s]|=1)):(M=t._renderValueAxis(e,A,!0,g).width,1==(1&m.valueAxis[N])?M=0:M>0&&(m.valueAxis[N]|=1))),"left"!==w&&!0===t.rightToLeft&&(w="right"),"right"!==w&&(w="left"),x[w+"Count"]>0&&x[w]>0&&M>0&&(x[w]+=_),v.push({width:M,position:w,xRel:x[w]}),x[w]+=M,x[w+"Count"]++}var S=Math.max(1,Math.max(e.width,e.height)),C={top:0,bottom:0,topCount:0,bottomCount:0},k=[];for(let e=0;e<c.length;e++){const i=c[e];if("pie"===i.type||"donut"===i.type||!0===i.spider||!0===i.polar){k.push({height:0,position:0,yRel:0});continue}f="horizontal"===i.orientation;let r=this._getValueAxis(e),s=r===t._getValueAxis()?-1:e,a=t._getXAxis(e),l=a===t._getXAxis()?-1:e,n=f?r.axisSize:a.axisSize,o=f?r.position:a.position;n&&"auto"!==n||(f?(n=t._renderValueAxis(e,{x:0,y:0,width:S,height:0},!0,g).height,2==(2&m.valueAxis[s])?n=0:n>0&&(m.valueAxis[s]|=2)):(n=t._renderXAxis(e,{x:0,y:0,width:S,height:0},!0).height,2==(2&m.xAxis[l])?n=0:n>0&&(m.xAxis[l]|=2))),"top"!==o&&(o="bottom"),C[o+"Count"]>0&&C[o]>0&&n>0&&(C[o]+=_),k.push({height:n,position:o,yRel:C[o]}),C[o]+=n,C[o+"Count"]++}t._createAnimationGroup("series");const D=!1!==t.showLegend,T=t._legendLayout;var F=D?t._renderLegend(T?t._rect:h,!0):{width:0,height:0};if(!T||isNaN(this.legendLayout.left)&&isNaN(this.legendLayout.top)||(F={width:0,height:0}),h.height<C.top+C.bottom+F.height||h.width<x.left+x.right)i.endGroup();else{g.height-=C.top+C.bottom+F.height,g.x+=x.left,g.width-=x.left+x.right,g.y+=C.top;var O=[];if(!p)for(let e=0;e<c.length;e++){const i=c[e];if(!0===i.polar||!0===i.spider||"pie"===i.type||"donut"===i.type)continue;f="horizontal"===i.orientation;let r=t._getXAxis(e)===t._getXAxis()?-1:e,s=t._getValueAxis(e)===t._getValueAxis()?-1:e,a={x:g.x,y:0,width:g.width,height:k[e].height};if("top"!==k[e].position?a.y=g.y+g.height+k[e].yRel:a.y=g.y-k[e].yRel-k[e].height,f){if(4==(4&m.valueAxis[s]))continue;if(!t._isGroupVisible(e))continue;t._renderValueAxis(e,a,!1,g),m.valueAxis[s]|=4}else{if(O.push(a),4==(4&m.xAxis[r]))continue;if(!t._isGroupVisible(e))continue;t._renderXAxis(e,a,!1,g),m.xAxis[r]|=4}}if(D){const e=t._legendLayout,i=e?t._rect:h;let r=h.x+this.renderer._ptrnd((h.width-F.width)/2),s=g.y+g.height+C.bottom,a=h.width,l=F.height;e&&(isNaN(t.legendLayout.left)||(r=t.legendLayout.left),isNaN(t.legendLayout.top)||(s=t.legendLayout.top),isNaN(t.legendLayout.width)||(a=t.legendLayout.width),isNaN(t.legendLayout.height)||(l=t.legendLayout.height)),r+a>i.x+i.width&&(a=i.x+i.width-r),s+l>i.y+i.height&&(l=i.y+i.height-s),t._renderLegend({x:r,y:s,width:a,height:l})}if(t._hasHorizontalLines=!1,!p)for(let e=0;e<c.length;e++){const i=c[e];if(!0===i.polar||!0===i.spider||"pie"===i.type||"donut"===i.type)continue;f="horizontal"===c[e].orientation;let r={x:g.x-v[e].xRel-v[e].width,y:g.y,width:v[e].width,height:g.height};"left"!==v[e].position&&(r.x=g.x+g.width+v[e].xRel);let s=t._getXAxis(e)===t._getXAxis()?-1:e,a=t._getValueAxis(e)===t._getValueAxis()?-1:e;if(f){if(O.push(r),8==(8&m.xAxis[s]))continue;if(!t._isGroupVisible(e))continue;t._renderXAxis(e,r,!1,g),m.xAxis[s]|=8}else{if(8==(8&m.valueAxis[a]))continue;if(!t._isGroupVisible(e))continue;t._renderValueAxis(e,r,!1,g),m.valueAxis[a]|=8}}if(!(g.width<=0||g.height<=0)){t._plotRect={x:g.x,y:g.y,width:g.width,height:g.height};for(let e=0;e<c.length;e++)this._drawPlotAreaLines(e,!0,{gridLines:!1,tickMarks:!1,alternatingBackground:!0}),this._drawPlotAreaLines(e,!1,{gridLines:!1,tickMarks:!1,alternatingBackground:!0});for(let e=0;e<c.length;e++)this._drawPlotAreaLines(e,!0,{gridLines:!0,tickMarks:!0,alternatingBackground:!1}),this._drawPlotAreaLines(e,!1,{gridLines:!0,tickMarks:!0,alternatingBackground:!1});var I=!1;for(let e=0;e<c.length&&!I;e++){const t=c[e];if(void 0!==t.annotations||"function"==typeof t.draw||"function"==typeof t.drawBefore){I=!0;break}}var P=i.beginGroup();if(t.clip&&!I){var R=i.createClipRect({x:g.x-2,y:g.y,width:g.width+4,height:g.height});i.setClip(P,R)}for(let r=0;r<c.length;r++){const s=c[r];var L=!1;for(var G in t._seriesTypes)if(t._seriesTypes[G]===s.type){L=!0;break}L||t.error(t.localize("invalidType",{type:s.type})),"function"==typeof s.drawBefore&&s.drawBefore(i,e,r,this),!0!==s.polar&&!0!==s.spider||-1===s.type.indexOf("pie")&&-1===s.type.indexOf("donut")&&t._renderSpiderAxis(r,g),t._renderAxisBands(r,g,!0),t._renderAxisBands(r,g,!1)}for(let r=0;r<c.length;r++){const s=c[r];if(t._isColumnType(s.type)?t._renderColumnSeries(r,g):-1!==s.type.indexOf("pie")||-1!==s.type.indexOf("donut")?t._renderPieSeries(r,g):-1!==s.type.indexOf("line")||-1!==s.type.indexOf("area")?t._renderLineSeries(r,g):-1!==s.type.indexOf("scatter")||-1!==s.type.indexOf("bubble")?t._renderScatterSeries(r,g):-1===s.type.indexOf("candlestick")&&-1===s.type.indexOf("ohlc")||t._renderCandleStickSeries(r,g,-1!==s.type.indexOf("ohlc")),s.annotations){this._moduleAnnotations||t.error(t.localize("missingReference",{files:"smart.chart.annotations.js"}));for(let e=0;e<s.annotations.length;e++)t._renderAnnotation(r,s.annotations[e],g)}"function"==typeof s.draw&&s.draw(i,e,r,this)}if(i.endGroup(),t.disabled){var V=i.rect(e.x,e.y,e.width,e.height);i.attr(V,{fill:"#777777",opacity:.5,stroke:"#00FFFFFF"})}"function"==typeof t.draw&&t.draw(i,e),i.endGroup(),t._startAnimation("series"),t._credits&&t._credits();var E=!1;for(let e=0;e<t.seriesGroups.length&&!E;e++){let i=t._getXAxis(e);i&&i.rangeSelector&&i.rangeSelector.visible&&(E=!0,t._hasRangeSelector=!0)}if(E){this._moduleRangeSelector||t.error(t.localize("missingReference",{files:"smart.chart.rangeselector.js"}));var B=[];t._isSelectorRefresh||(t._rangeSelectorInstances={});for(let e=0;e<t.seriesGroups.length;e++){var H=this._getXAxis(e);-1===B.indexOf(H)&&this._renderXAxisRangeSelector(e,O[e])&&B.push(H)}}}}}_credits(){}_isPieOnlySeries(){let e=this.seriesGroups;if(0===e.length)return!1;for(let t=0;t<e.length;t++)if("pie"!==e[t].type&&"donut"!==e[t].type)return!1;return!0}_renderChartLegend(e,t,i,r){var s=this,a=s.renderer,l={x:t.x,y:t.y,width:t.width,height:t.height};l.width>=6&&(l.x+=3,l.width-=6),l.height>=6&&(l.y+=3,l.height-=6);var n={width:l.width,height:0},o=0,h=0,d=20,u=0,g=10,f=0;for(let I=0;I<e.length;I++){var p=e[I].css;p||(p="smart-chart-legend-text"),d=20;var c=e[I].text,m=a.measureText(c,0,{class:p});m.height>d&&(d=m.height),m.width>f&&(f=m.width),r?(0!==I&&(h+=d),h>l.height&&(h=0,o+=f+20+g,f=m.width,n.width=o+f)):(0!==o&&(o+=10),o+20+m.width>l.width&&m.width<l.width&&(o=0,h+=d,d=20,u=l.width,n.height=h+d));var y=!1;if(m.width>l.width){y=!0;var _=l.width,x=c.split(/\s+/);let e=[],t="";for(let i=0;i<x.length;i++){var v=t+(t.length>0?" ":"")+x[i];s.renderer.measureText(v,0,{class:p}).width>_&&v.length>0&&t.length>0?(e.push({text:t}),t=x[i]):t=v,i+1===x.length&&e.push({text:t})}m.width=0;var b=0;for(let t=0;t<e.length;t++){var N=e[t].text;let i=s.renderer.measureText(N,0,{class:p});m.width=Math.max(m.width,i.width),b+=m.height}m.height=b}var M=o+m.width<l.width&&h+m.height<t.height;if(s._legendLayout){let e=l.x+o+m.width<s._rect.x+s._rect.width&&l.y+h+m.height<s._rect.y+s._rect.height;this._renderInBounds=e}if(!i&&M){var A=e[I].seriesIndex,w=e[I].groupIndex,S=e[I].itemIndex,C=e[I].fillColor,k=e[I].lineColor,D=s._isSerieVisible(w,A,S),T=a.beginGroup(),F=D?e[I].opacity:.1;if(y){let t=c,i=l.width,n=t.split(/\s+/);var O=0;let u=[],f="";for(let e=0;e<n.length;e++){let t=f+(f.length>0?" ":"")+n[e],r=s.renderer.measureText(t,0,{class:p});r.width>i&&t.length>0&&f.length>0?(u.push({text:f,dy:O}),O+=r.height,f=n[e]):f=t,e+1===n.length&&u.push({text:f,dy:O})}for(let e=0;e<u.length;e++){let t=u[e].text;O=u[e].dy,s.renderer.measureText(t,0,{class:p}),r?s.renderer.text(t,l.x+o+15,l.y+h+O,m.width,d,0,{class:p},!1,"left","center"):s.renderer.text(t,l.x+o+15,l.y+h+O,m.width,d,0,{class:p},!1,"center","center")}let y=a.rect(l.x+o,l.y+h+5+O/2,g,g);r&&(h+=O),s.renderer.attr(y,{fill:C,"fill-opacity":F,stroke:k,"stroke-width":1,"stroke-opacity":e[I].opacity})}else{let t,i=a.rect(l.x+o,l.y+h+5,g,g);s.renderer.attr(i,{fill:C,"fill-opacity":F,stroke:k,"stroke-width":1,"stroke-opacity":e[I].opacity,purpose:"legend-toggle",data:e[I]}),t=r?s.renderer.text(c,l.x+o+15,l.y+h,m.width,m.height+5,0,{class:p},!1,"left","center"):s.renderer.text(c,l.x+o+15,l.y+h,m.width,d,0,{class:p},!1,"center","center"),a.attr(t,{purpose:"legend-toggle",data:e[I]})}s.renderer.endGroup(),s._setLegendToggleHandler(w,A,S,T)}r||u<(o+=m.width+20)&&(u=o)}if(i)return n.height=this.renderer._ptrnd(h+d+5),n.width=this.renderer._ptrnd(u),n}isSerieVisible(e,t,i){return this._isSerieVisible(e,t,i)}_isSerieVisible(e,t,i){for(;this._itemsToggleState.length<e+1;)this._itemsToggleState.push([]);let r=this._itemsToggleState[e];for(;r.length<t+1;)r.push(!!isNaN(i)||[]);let s=r[t];if(isNaN(i))return s;for(Array.isArray(s)||(r[t]=s=[]);s.length<i+1;)s.push(!0);return s[i]}isGroupVisible(e){return this._isGroupVisible(e)}_isGroupVisible(e){let t=!1,i=this.seriesGroups[e].series;if(!i)return t;for(let r=0;r<i.length;r++)if(this._isSerieVisible(e,r)){t=!0;break}return t}_toggleSerie(e,t,i,r){let s=!this._isSerieVisible(e,t,i);void 0!==r&&(s=r);let a=this.seriesGroups[e],l=a.series[t];if(this.$.fireEvent("toggle",{state:s,seriesGroup:a,serie:l,elementIndex:i}),isNaN(i))this._itemsToggleState[e][t]=s;else{let r=this._itemsToggleState[e][t];for(Array.isArray(r)||(r=[]);r.length<i;)r.push(!0);r[i]=s}this._isToggleRefresh=!0,this.update(),this._isToggleRefresh=!1}showSerie(e,t,i){this._toggleSerie(e,t,i,!0)}hideSerie(e,t,i){this._toggleSerie(e,t,i,!1)}_setLegendToggleHandler(e,t,i,r){let s=this.seriesGroups[e],a=s.series[t].enableSeriesToggle;if(null==a&&(a=!1!==s.enableSeriesToggle),a){let s=this;this.renderer.addHandler(r,"click",(function(){s._toggleSerie(e,t,i)}))}}_renderLegend(e,t){let i=this,r=[];for(let e=0;e<i.seriesGroups.length;e++){let t=i.seriesGroups[e];if(!1!==t.showLegend)for(let s=0;s<t.series.length;s++){let a=t.series[s];if(!1===a.showLegend)continue;let l,n=i._getSerieSettings(e,s);if("pie"===t.type||"donut"===t.type){let o=i._getXAxis(e);const h=a.legendFormatSettings||t.legendFormatSettings||i._getFormatSettings(o)||i._getFormatSettings(a)||i._getFormatSettings(t);let d=a.legendFormatFunction||t.legendFormatFunction||o.formatFunction||a.formatFunction||t.formatFunction,u=i._getDataLen(e);for(let t=0;t<u;t++){l=i._getDataValue(t,a.displayText,e),l=i._formatValue(l,h,d,e,s,t);let o=i._getColors(e,s,t);r.push({groupIndex:e,seriesIndex:s,itemIndex:t,text:l,css:a.displayTextClass,fillColor:o.fillColor,lineColor:o.lineColor,opacity:n.opacity})}continue}const o=a.legendFormatSettings||t.legendFormatSettings;let h=a.legendFormatFunction||t.legendFormatFunction;l=i._formatValue(a.displayText||a.dataField||"",o,h,e,s,NaN);let d=i._getSeriesColors(e,s),u=this._get([a.legendFillColor,a.legendColor,d.fillColor]),g=this._get([a.legendLineColor,a.legendColor,d.lineColor]);r.push({groupIndex:e,seriesIndex:s,text:l,css:a.displayTextClass,fillColor:u,lineColor:g,opacity:n.opacity})}}return i._renderChartLegend(r,e,t,i._legendLayout&&"vertical"===i.legendLayout.flow)}_getInterval(e,t){if(!e)return t;let i=this._get([e.unitInterval,t]);return isNaN(e.step)||null===e.step||(i=e.step*t),i}_getOffsets(e,t,i,r,s,a,l,n,o){let h,d=this._getInterval(s[e],n),u=[];if((""===e||s[e].visible&&"custom"!==s[e].visible)&&(u=this._generateIntervalValues(r,d,n,l,o)),"labels"!==e){let e=l?a.left:0;if(!l&&n>1&&(e=a.left*(n+1)),1===u.length&&(e*=2),h=this._valuesToOffsets(u,t,r,i,a,!1,e),!l){let e=(a.left+a.right)*d/n;t.flip?h.unshift(h[0]+e):h.push(h[h.length-1]+e)}}else{let e=a.left;1===u.length&&(e*=2),h=this._valuesToOffsets(u,t,r,i,a,l,e)}let g=this._arraysToObjectsArray([u,h],["value","offset"]);if(t[e]&&t[e].custom){let s=this._objectsArraysToArray(t[e].custom,"value"),n=this._objectsArraysToArray(t[e].custom,"offset"),o=this._valuesToOffsets(s,t,r,i,a,l,a.left);for(let i=0;i<t[e].custom.length;i++)g.push({value:s[i],offset:isNaN(n[i])?o[i]:n[i]})}return g}_renderXAxis(e,t,i,r){let s=this,a=s._getXAxis(e),l=s.seriesGroups[e],n="horizontal"===l.orientation,o={width:0,height:0},h=s._getAxisSettings(a);if(!a||!h.visible||"spider"===l.type)return o;if(!s._isGroupVisible(e)||this._isPieGroup(e))return o;let d=s._alignValuesWithTicks(e);for(;s._renderData.length<e+1;)s._renderData.push({});s.rightToLeft?(a._flip=a.flip,a.flip=!0):void 0!==a._flip&&(a.flip=a._flip);let u=n?t.height:t.width,g=s._calculateXOffsets(e,u),f=g.axisStats,p=a.rangeSelector&&a.rangeSelector.visible,c=0;p&&(this._moduleRangeSelector||s.error(s.localize("missingReference",{files:"smart.chart.rangeselector.js"})),c=this._selectorGetSize(a));let m=n&&"right"===a.position||!n&&"top"===a.position;!i&&p&&(n?(t.width-=c,"right"!==a.position&&(t.x+=c)):(t.height-=c,"top"===a.position&&(t.y+=c)));let y={rangeLength:g.rangeLength,itemWidth:g.itemWidth,intervalWidth:g.intervalWidth,data:g,settings:h,isMirror:m,rect:t};s._renderData[e].xAxis=y;let _=f.interval;if(isNaN(_))return o;n&&(h.title.angle-=90,h.labels.angle-=90);let x,v,b=this._getInterval(h.gridLines,_),N=this._getInterval(h.tickMarks,_),M=this._getInterval(h.labels,_),A=f.min,w=f.max,S=g.padding,C=!0===a.flip||s.rightToLeft,k={min:A,max:w};f.logAxis.enabled&&(k.min=f.logAxis.minPow,k.max=f.logAxis.maxPow),"date"===a.type?(h.gridLines.offsets=this._generateDTOffsets(A,w,u,S,b,_,f.dateTimeUnit,d,NaN,!1,C),h.tickMarks.offsets=this._generateDTOffsets(A,w,u,S,N,_,f.dateTimeUnit,d,NaN,!1,C),x=this._generateDTOffsets(A,w,u,S,M,_,f.dateTimeUnit,d,NaN,!0,C)):(h.gridLines.offsets=this._getOffsets("gridLines",a,u,f,h,S,d,_),h.tickMarks.offsets=this._getOffsets("tickMarks",a,u,f,h,S,d,_),x=this._getOffsets("labels",a,u,f,h,S,d,_)),s._elementRenderInfo&&s._elementRenderInfo.length>e&&(v=s._elementRenderInfo[e].xAxis);let D,T=[];h.labels.formatFunction&&(D=h.labels.formatFunction);const F=s._getFormatSettings(h.labels);let O;F&&(O=Object.assign({},F)),"date"===a.type&&(a.dateFormat&&!D?O?O.dateFormat=O.dateFormat||a.dateFormat:O={dateFormat:a.dateFormat}:D||O&&(!O||O.dateFormat)||(D=this._getDefaultDTFormatFn(a.baseUnit||"day")));for(let t=0;t<x.length;t++){let i,r=x[t].value,l=x[t].offset;if(isNaN(l))continue;"date"!==a.type&&f.useIndeces&&a.dataField&&(i=Math.round(r),r=s._getDataValue(i,a.dataField,e),null==r&&(r=""));let n=s._formatValue(r,O,D,e,void 0,i);null!=n&&""!==n.toString()||(isNaN(i)&&(i=t),i>=f.filterRange.min&&i<=f.filterRange.max&&(n=f.useIndeces?(f.min+i).toString():void 0===r?"":r.toString()));let o={key:r,text:n,targetX:l,x:l};v&&v.itemOffsets[r]&&(o.x=v.itemOffsets[r].x,o.y=v.itemOffsets[r].y),T.push(o)}let I=s._getAnimProps(e),P=I.enabled&&T.length<500?I.duration:0;!1===s.enableAxisTextAnimation&&(P=0);let R={items:T,renderData:y},L=s._renderAxis(n,m,h,{x:t.x,y:t.y,width:t.width,height:t.height},r,_,!1,!0,R,i,P);return n?L.width+=c:L.height+=c,L}_animateAxisText(e,t){let i=e.items,r=e.textSettings;for(let e=0;e<i.length;e++){let s=i[e];if(!s)continue;if(!s.visible)continue;let a=s.targetX,l=s.targetY;isNaN(s.x)||isNaN(s.y)||(a=s.x+(a-s.x)*t,l=s.y+(l-s.y)*t),s.element&&(this.renderer.removeElement(s.element),s.element=void 0),s.element=this.renderer.text(s.text,a,l,s.width,s.height,r.angle,{class:r.style},!1,r.halign,r.valign,r.textRotationPoint)}}_getPolarAxisCoords(e,t){let i=this.seriesGroups[e],r=t.x+this._draw.getNum([i.offsetX,t.width/2]),s=t.y+this._draw.getNum([i.offsetY,t.height/2]),a=Math.min(t.width,t.height),l=i.radius;this._isPercent(l)&&(l=parseFloat(l)/100*a/2),isNaN(l)&&(l=a/2*.6);let n=this._alignValuesWithTicks(e),o=this._get([i.startAngle,i.minAngle,0])-90;o=isNaN(o)?0:2*Math.PI*o/360;let h=this._get([i.endAngle,i.maxAngle,360])-90;if(h=isNaN(h)?2*Math.PI:2*Math.PI*h/360,o>h){let e=o;o=h,h=e}let d=this.renderer._rnd(Math.abs(o-h)/(2*Math.PI),.001,!0),u=2*Math.PI*l*d,g=this._calcGroupOffsets(e,t).xoffsets;if(!g)return;let f,p=!(Math.abs(Math.abs(h-o)-2*Math.PI)>1e-5);if(i.spider){const t=this._getXAxisStats(e,this._getXAxis(e),u);let i=t.interval;(isNaN(i)||0===i)&&(i=1);let r=(t.max-t.min)/i+(p?1:0);if(r=Math.round(r),r>2){let e=Math.cos(Math.abs(h-o)/2/r);e=this.renderer._rnd(e,.01),0===e&&(e=1),f=l/e,f>l&&n&&(l=f)}}return l=this.renderer._ptrnd(l),{x:r,y:s,r:l,adjR:this._get([f,l]),itemWidth:g.itemWidth,rangeLength:g.rangeLength,valuesOnTicks:n,startAngle:o,endAngle:h,isClosedCircle:p,axisSize:u}}_toPolarCoord(e,t,i,r){let s=Math.abs(e.startAngle-e.endAngle)/(2*Math.PI),a=2*(i-t.x)*Math.PI*s/Math.max(1,t.width)+e.startAngle,l=(t.height+t.y-r)*e.r/Math.max(1,t.height),n=e.x+l*Math.cos(a),o=e.y+l*Math.sin(a);return{x:this.renderer._ptrnd(n),y:this.renderer._ptrnd(o)}}_renderSpiderAxis(e,t){let i=this,r=i._getXAxis(e),s=this._getAxisSettings(r);if(!r||!s.visible)return;let a=i.seriesGroups[e],l=i._getPolarAxisCoords(e,t);if(!l)return;let n=this.renderer._ptrnd(l.x),o=this.renderer._ptrnd(l.y),h=l.adjR,d=l.startAngle,u=l.endAngle;if(h<1)return;let g=this.renderer._rnd(Math.abs(d-u)/(2*Math.PI),.001,!0),f=2*Math.PI*h*g,p=l.isClosedCircle,c=this._renderData[e].xoffsets;if(!c.rangeLength)return;let m=c.axisStats.interval;for((isNaN(m)||m<1)