ag-charts-enterprise
Version:
Advanced Charting / Charts supporting Javascript / Typescript / React / Angular / Vue
1 lines • 578 kB
JavaScript
"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__export=(e,t)=>{for(var i in t)__defProp(e,i,{get:t[i],enumerable:!0})},__copyProps=(e,t,i,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of __getOwnPropNames(t))!__hasOwnProp.call(e,a)&&a!==i&&__defProp(e,a,{get:()=>t[a],enumerable:!(o=__getOwnPropDesc(t,a))||o.enumerable});return e},__toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:!0}),e),__decorateClass=(e,t,i,o)=>{for(var a=o>1?void 0:o?__getOwnPropDesc(t,i):t,s=e.length-1,r;s>=0;s--)(r=e[s])&&(a=(o?r(t,i,a):r(a))||a);return o&&a&&__defProp(t,i,a),a},main_modules_exports={};__export(main_modules_exports,{AllCartesianEnterpriseModules:()=>AllCartesianEnterpriseModules,AllEnterpriseModules:()=>AllEnterpriseModules,AllFlowProportionEnterpriseModules:()=>AllFlowProportionEnterpriseModules,AllGaugeEnterpriseModules:()=>AllGaugeEnterpriseModules,AllHierarchyEnterpriseModules:()=>AllHierarchyEnterpriseModules,AllPolarEnterpriseModules:()=>AllPolarEnterpriseModules,AllStandaloneEnterpriseModules:()=>AllStandaloneEnterpriseModules,AllTopologyEnterpriseModules:()=>AllTopologyEnterpriseModules,AngleCategoryAxisModule:()=>AngleCategoryAxisModule,AngleNumberAxisModule:()=>AngleNumberAxisModule,BoxPlotSeriesModule:()=>BoxPlotSeriesModule,CandlestickSeriesModule:()=>CandlestickSeriesModule,ChordSeriesModule:()=>ChordSeriesModule,ConeFunnelSeriesModule:()=>ConeFunnelSeriesModule,FlowProportionChartModule:()=>FlowProportionChartModule,FunnelSeriesModule:()=>FunnelSeriesModule,GaugeChartModule:()=>GaugeChartModule,HeatmapSeriesModule:()=>HeatmapSeriesModule,HierarchyChartModule:()=>HierarchyChartModule,LinearGaugeSeriesModule:()=>LinearGaugeSeriesModule,MapLineBackgroundSeriesModule:()=>MapLineBackgroundSeriesModule,MapLineSeriesModule:()=>MapLineSeriesModule,MapMarkerSeriesModule:()=>MapMarkerSeriesModule,MapShapeBackgroundSeriesModule:()=>MapShapeBackgroundSeriesModule,MapShapeSeriesModule:()=>MapShapeSeriesModule,ModuleRegistry:()=>ModuleRegistry,NightingaleSeriesModule:()=>NightingaleSeriesModule,OhlcSeriesModule:()=>OhlcSeriesModule,OrdinalTimeAxisModule:()=>OrdinalTimeAxisModule,PyramidSeriesModule:()=>PyramidSeriesModule,RadarAreaSeriesModule:()=>RadarAreaSeriesModule,RadarLineSeriesModule:()=>RadarLineSeriesModule,RadialBarSeriesModule:()=>RadialBarSeriesModule,RadialColumnSeriesModule:()=>RadialColumnSeriesModule,RadialGaugeSeriesModule:()=>RadialGaugeSeriesModule,RadiusCategoryAxisModule:()=>RadiusCategoryAxisModule,RadiusNumberAxisModule:()=>RadiusNumberAxisModule,RangeAreaSeriesModule:()=>RangeAreaSeriesModule,RangeBarSeriesModule:()=>RangeBarSeriesModule,SankeySeriesModule:()=>SankeySeriesModule,StandaloneChartModule:()=>StandaloneChartModule,SunburstSeriesModule:()=>SunburstSeriesModule,TopologyChartModule:()=>TopologyChartModule,TreemapSeriesModule:()=>TreemapSeriesModule,WaterfallSeriesModule:()=>WaterfallSeriesModule}),module.exports=__toCommonJS(main_modules_exports);var import_ag_charts_community173=require("ag-charts-community"),import_ag_charts_community13=require("ag-charts-community"),import_ag_charts_core8=require("ag-charts-core"),import_ag_charts_community5=require("ag-charts-community"),import_ag_charts_core3=require("ag-charts-core");function loopSymmetrically(e,t,i){const o=(s,r,n,l)=>{let c=e[0];for(let p=s;n>0?p<=r:p>r;p+=n){const h=e[p];if(l(c,h))return!0;c=h}return!1},a=Math.floor(e.length/2);return o(t,a,t,i)?!0:o(e.length-t,a,-t,i)}var import_ag_charts_community=require("ag-charts-community"),{OR,POSITIVE_NUMBER,NAN,AxisInterval,TempValidate}=import_ag_charts_community._ModuleSupport,AngleAxisInterval=class extends AxisInterval{};__decorateClass([TempValidate(OR(POSITIVE_NUMBER,NAN))],AngleAxisInterval.prototype,"minSpacing",2);var import_ag_charts_community4=require("ag-charts-community"),import_ag_charts_core2=require("ag-charts-core"),import_ag_charts_community3=require("ag-charts-community"),import_ag_charts_core=require("ag-charts-core"),import_ag_charts_community2=require("ag-charts-community"),{BaseProperties,ChartAxisDirection,ARRAY,BOOLEAN,COLOR_STRING,FONT_STYLE,FONT_WEIGHT,LINE_DASH,NUMBER,OBJECT,POSITIVE_NUMBER:POSITIVE_NUMBER2,RATIO,STRING,UNION,AND,COLOR_STRING_ARRAY,TempValidate:TempValidate2,MATCHING_CROSSLINE_TYPE,createId,Group}=import_ag_charts_community2._ModuleSupport,PolarCrossLineLabel=class extends BaseProperties{constructor(){super(...arguments),this.fontSize=14,this.fontFamily="Verdana, sans-serif",this.padding=5,this.color="rgba(87, 87, 87, 1)"}};__decorateClass([TempValidate2(BOOLEAN,{optional:!0})],PolarCrossLineLabel.prototype,"enabled",2),__decorateClass([TempValidate2(STRING,{optional:!0})],PolarCrossLineLabel.prototype,"text",2),__decorateClass([TempValidate2(FONT_STYLE,{optional:!0})],PolarCrossLineLabel.prototype,"fontStyle",2),__decorateClass([TempValidate2(FONT_WEIGHT,{optional:!0})],PolarCrossLineLabel.prototype,"fontWeight",2),__decorateClass([TempValidate2(POSITIVE_NUMBER2)],PolarCrossLineLabel.prototype,"fontSize",2),__decorateClass([TempValidate2(STRING)],PolarCrossLineLabel.prototype,"fontFamily",2),__decorateClass([TempValidate2(NUMBER)],PolarCrossLineLabel.prototype,"padding",2),__decorateClass([TempValidate2(COLOR_STRING,{optional:!0})],PolarCrossLineLabel.prototype,"color",2),__decorateClass([TempValidate2(BOOLEAN,{optional:!0})],PolarCrossLineLabel.prototype,"parallel",2);var PolarCrossLine=class extends BaseProperties{constructor(){super(...arguments),this.id=createId(this),this.defaultColorRange=[],this.shape="polygon",this.label=new PolarCrossLineLabel,this.scale=void 0,this.clippedRange=[-1/0,1/0],this.gridLength=0,this.sideFlag=-1,this.parallelFlipRotation=0,this.regularFlipRotation=0,this.direction=ChartAxisDirection.X,this.axisInnerRadius=0,this.axisOuterRadius=0,this.lineGroup=new Group({name:this.id}),this.rangeGroup=new Group({name:this.id}),this.labelGroup=new Group({name:this.id}),this._isRange=void 0}assignCrossLineGroup(e,t){e!==this._isRange&&(e?this.rangeGroup.appendChild(t):this.lineGroup.appendChild(t)),this._isRange=e}setSectorNodeProps(e){e.fill=this.fill,e.fillOpacity=this.fillOpacity??1,e.stroke=this.stroke,e.strokeOpacity=this.strokeOpacity??1,e.strokeWidth=this.strokeWidth??1,e.lineDash=this.lineDash}setLabelNodeProps(e,t,i,o,a){const{label:s}=this;e.x=t,e.y=i,e.text=s.text,e.textAlign="center",e.textBaseline=o,e.rotation=a,e.rotationCenterX=t,e.rotationCenterY=i,e.fill=s.color,e.fontFamily=s.fontFamily,e.fontSize=s.fontSize,e.fontStyle=s.fontStyle,e.visible=!0}};__decorateClass([TempValidate2(BOOLEAN,{optional:!0})],PolarCrossLine.prototype,"enabled",2),__decorateClass([TempValidate2(UNION(["range","line"],"a crossLine type"))],PolarCrossLine.prototype,"type",2),__decorateClass([TempValidate2(AND(MATCHING_CROSSLINE_TYPE("range"),ARRAY.restrict({length:2})),{optional:!0})],PolarCrossLine.prototype,"range",2),__decorateClass([TempValidate2(MATCHING_CROSSLINE_TYPE("value"),{optional:!0})],PolarCrossLine.prototype,"value",2),__decorateClass([TempValidate2(COLOR_STRING_ARRAY)],PolarCrossLine.prototype,"defaultColorRange",2),__decorateClass([TempValidate2(COLOR_STRING,{optional:!0})],PolarCrossLine.prototype,"fill",2),__decorateClass([TempValidate2(RATIO,{optional:!0})],PolarCrossLine.prototype,"fillOpacity",2),__decorateClass([TempValidate2(COLOR_STRING,{optional:!0})],PolarCrossLine.prototype,"stroke",2),__decorateClass([TempValidate2(NUMBER,{optional:!0})],PolarCrossLine.prototype,"strokeWidth",2),__decorateClass([TempValidate2(RATIO,{optional:!0})],PolarCrossLine.prototype,"strokeOpacity",2),__decorateClass([TempValidate2(LINE_DASH,{optional:!0})],PolarCrossLine.prototype,"lineDash",2),__decorateClass([TempValidate2(UNION(["polygon","circle"],"a shape"))],PolarCrossLine.prototype,"shape",2),__decorateClass([TempValidate2(OBJECT)],PolarCrossLine.prototype,"label",2);var{ChartAxisDirection:ChartAxisDirection2,getCrossLineValue,validateCrossLineValue,normalizeAngle360,Group:Group2,Path,Sector,RotatableText,ContinuousScale}=import_ag_charts_community3._ModuleSupport,AngleCrossLine=class extends PolarCrossLine{constructor(){super(),this.direction=ChartAxisDirection2.X,this.polygonNode=new Path,this.sectorNode=new Sector,this.lineNode=new Path,this.crossLineRange=new Group2,this.labelNode=new RotatableText,this.ticks=[],this.crossLineRange.append(this.polygonNode),this.crossLineRange.append(this.sectorNode),this.crossLineRange.append(this.lineNode),this.labelGroup.append(this.labelNode)}visibilityCheck(){if(!ContinuousScale.is(this.scale))return!0;const[e,t]=this.scale.domain,i=getCrossLineValue(this);if((0,import_ag_charts_core.isArray)(i)){const[o,a]=i;return o>=e&&o<=t&&a>=o&&a<=t}else return i>=e&&i<=t}update(e){const{scale:t}=this;if(!t||!this.isValid()||!validateCrossLineValue(getCrossLineValue(this),t)||!this.visibilityCheck()){this.rangeGroup.visible=!1,this.lineGroup.visible=!1,this.labelGroup.visible=!1;return}this.rangeGroup.visible=e,this.lineGroup.visible=e,this.labelGroup.visible=e,this.updateLineNode(e),this.updatePolygonNode(e),this.updateSectorNode(e),this.updateLabelNode(e)}updateLineNode(e){const{scale:t,type:i,value:o,lineNode:a}=this;if(!e||i!=="line"||!t){a.visible=!1;return}const s=t.convert(o);if(isNaN(s)){a.visible=!1;return}const{axisInnerRadius:r,axisOuterRadius:n}=this;a.visible=!0,a.stroke=this.stroke,a.strokeOpacity=this.strokeOpacity??1,a.strokeWidth=this.strokeWidth??1,a.fill=void 0,a.lineDash=this.lineDash;const l=n*Math.cos(s),c=n*Math.sin(s),p=r*Math.cos(s),h=r*Math.sin(s);a.path.clear(!0),a.path.moveTo(p,h),a.path.lineTo(l,c),this.assignCrossLineGroup(!1,this.crossLineRange)}updatePolygonNode(e){const{polygonNode:t,range:i,scale:o,shape:a,type:s,ticks:r}=this;if(!e||s!=="range"||a!=="polygon"||!o||!i){t.visible=!1;return}const{axisInnerRadius:n,axisOuterRadius:l}=this,c=r.indexOf(i[0]),p=r.indexOf(i[1]),u=(c<=p?r.slice(c,p+1):r.slice(c).concat(r.slice(0,p+1))).map(f=>o.convert(f));t.visible=!0,this.setSectorNodeProps(t);const{path:d}=t;d.clear(!0),u.forEach((f,g)=>{const m=l*Math.cos(f),y=l*Math.sin(f);g===0?d.moveTo(m,y):d.lineTo(m,y)}),n===0?d.lineTo(0,0):u.slice().reverse().forEach(f=>{const g=n*Math.cos(f),m=n*Math.sin(f);d.lineTo(g,m)}),t.path.closePath(),this.assignCrossLineGroup(!0,this.crossLineRange)}updateSectorNode(e){const{sectorNode:t,range:i,scale:o,shape:a,type:s}=this;if(!e||s!=="range"||a!=="circle"||!o||!i){t.visible=!1;return}const{axisInnerRadius:r,axisOuterRadius:n}=this,l=i.map(h=>o.convert(h)),c=o.step??0,p=o instanceof import_ag_charts_community3._ModuleSupport.BandScale?c/2:0;t.visible=!0,this.setSectorNodeProps(t),t.centerX=0,t.centerY=0,t.innerRadius=r,t.outerRadius=n,t.startAngle=l[0]-p,t.endAngle=l[1]+p,this.assignCrossLineGroup(!0,this.crossLineRange)}updateLabelNode(e){const{label:t,labelNode:i,range:o,scale:a,type:s,ticks:r}=this;if(!e||t.enabled===!1||!t.text||!a||s==="range"&&!o){i.visible=!1;return}i.visible=!0;const{axisInnerRadius:n,axisOuterRadius:l}=this;let c,p,h,u;if(s==="line"){const d=normalizeAngle360(a.convert(this.value)),f=1.5*Math.PI,g=(0,import_ag_charts_core.isNumberEqual)(d,f)||d>f||d<Math.PI/2,m=(n+l)/2*Math.cos(d),y=(n+l)/2*Math.sin(d);c=m+t.padding*Math.cos(d+Math.PI/2),p=y+t.padding*Math.sin(d+Math.PI/2),u=g?"top":"bottom",h=g?d:d-Math.PI}else{const[d,f]=o.map(b=>normalizeAngle360(a.convert(b)));let g=(d+f)/2;d>f&&(g-=Math.PI),g=normalizeAngle360(g);const m=((0,import_ag_charts_core.isNumberEqual)(g,0)||g>0)&&g<Math.PI;let y;this.shape==="circle"||r.length<3?y=l-t.padding:y=l*Math.cos(Math.PI/r.length)-t.padding,c=y*Math.cos(g),p=y*Math.sin(g),u=m?"bottom":"top",h=m?g-Math.PI/2:g+Math.PI/2}this.setLabelNodeProps(i,c,p,u,h)}};AngleCrossLine.className="AngleCrossLine";var{ChartAxisDirection:ChartAxisDirection3,NUMBER:NUMBER2,UNION:UNION2,ProxyOnWrite,TextWrapper,TextUtils,TempValidate:TempValidate3,toRadians,normalizeAngle360:normalizeAngle3602,normalizeAngle360Inclusive,Path:Path2,RotatableText:RotatableText2,Transformable,BBox}=import_ag_charts_community4._ModuleSupport,AngleAxisLabel=class extends import_ag_charts_community4._ModuleSupport.AxisLabel{constructor(){super(...arguments),this.orientation="fixed"}};__decorateClass([TempValidate3(UNION2(["fixed","parallel","perpendicular"],"a label orientation"))],AngleAxisLabel.prototype,"orientation",2);var AngleAxis=class extends import_ag_charts_community4._ModuleSupport.PolarAxis{constructor(e,t){super(e,t),this.startAngle=0,this.endAngle=void 0,this.labelData=[],this.tickData=[],this.radiusLine=this.axisGroup.appendChild(new Path2),this.includeInvisibleDomains=!0}get direction(){return ChartAxisDirection3.X}createLabel(){return new AngleAxisLabel}calculateTickLayout(e){const{nice:t,scale:i}=this,o={nice:t,interval:void 0,tickCount:void 0,minTickCount:0,maxTickCount:1/0},a=t?i.niceDomain(o,e):e,s=this.generateAngleTicks(a);this.tickData=s;const r=s.map(l=>l.value),n=r.reduce((l,c)=>Math.max(typeof c=="number"?(0,import_ag_charts_core2.countFractionDigits)(c):0,l),0);return{niceDomain:a,primaryTickCount:void 0,tickDomain:a,ticks:r,fractionDigits:n,bbox:this.getBBox()}}update(){super.update(),this.updateRadiusLine()}normalizedAngles(){const e=normalizeAngle3602(-Math.PI/2+toRadians(this.startAngle)),t=this.endAngle!=null?normalizeAngle360Inclusive(toRadians(this.endAngle)-toRadians(this.startAngle)):2*Math.PI,i=e+t;return[e,i]}computeRange(){this.range=this.normalizedAngles()}updateSelections(){const e=this.tickData;this.gridLineGroupSelection.update(this.gridLength&&this.gridLine.enabled?e:[]),this.tickLineGroupSelection.update(this.tick.enabled?e:[]),this.tickLabelGroupSelection.update(this.label.enabled?e:[]),this.gridLineGroupSelection.cleanup(),this.tickLineGroupSelection.cleanup(),this.tickLabelGroupSelection.cleanup()}updatePosition(){const{translation:e,axisGroup:t,gridGroup:i,crossLineRangeGroup:o,crossLineLineGroup:a,crossLineLabelGroup:s}=this,r=Math.floor(e.x),n=Math.floor(e.y);t.translationX=r,t.translationY=n,i.translationX=r,i.translationY=n,o.translationX=r,o.translationY=n,a.translationX=r,a.translationY=n,s.translationX=r,s.translationY=n}updateRadiusLine(){const e=this.radiusLine,{path:t}=e;t.clear(!0);const{points:i,closePath:o}=this.getAxisLinePoints();i.forEach(({x:a,y:s,moveTo:r,arc:n,radius:l=0,startAngle:c=0,endAngle:p=0})=>{n?t.arc(a,s,l,c,p):r?t.moveTo(a,s):t.lineTo(a,s)}),o&&t.closePath(),e.visible=this.line.enabled,e.stroke=this.line.stroke,e.strokeWidth=this.line.width,e.fill=void 0}getAxisLinePoints(){const{scale:e,shape:t,gridLength:i}=this,[o,a]=this.range,s=(0,import_ag_charts_core2.isNumberEqual)(a-o,2*Math.PI),r=[];if(t==="circle")s?r.push({x:i,y:0,moveTo:!0},{x:0,y:0,radius:i,startAngle:0,endAngle:2*Math.PI,arc:!0,moveTo:!1}):r.push({x:i*Math.cos(o),y:i*Math.sin(o),moveTo:!0},{x:0,y:0,radius:i,startAngle:normalizeAngle3602(o),endAngle:normalizeAngle3602(a),arc:!0,moveTo:!1});else if(t==="polygon"){const n=e.ticks({nice:this.nice,interval:void 0,tickCount:void 0,minTickCount:0,maxTickCount:1/0})?.map(l=>e.convert(l));n&&n.length>2&&n.forEach((l,c)=>{const p=i*Math.cos(l),h=i*Math.sin(l),u=c===0;r.push({x:p,y:h,moveTo:u})})}return{points:r,closePath:s}}updateGridLines(){const{scale:e,gridLength:t,gridLine:{style:i,width:o},innerRadiusRatio:a}=this;if(!(i&&t>0))return;const s=t*a,r=i.length;this.gridLineGroupSelection.each((n,l,c)=>{const{value:p}=l,{stroke:h,lineDash:u}=i[c%r],d=e.convert(p);n.x1=s*Math.cos(d),n.y1=s*Math.sin(d),n.x2=t*Math.cos(d),n.y2=t*Math.sin(d),n.stroke=h,n.strokeWidth=o,n.lineDash=u,n.fill=void 0}),this.gridLineGroupSelection.cleanup()}updateLabels(){const{label:e,tickLabelGroupSelection:t}=this;t.each((i,o,a)=>{const s=this.labelData[a];if(!s||s.hidden){i.visible=!1;return}i.text=s.text,i.setFont(e),i.fill=e.color,i.x=s.x,i.y=s.y,i.textAlign=s.textAlign,i.textBaseline=s.textBaseline,i.visible=!0,s.rotation?(i.rotation=s.rotation,i.rotationCenterX=s.x,i.rotationCenterY=s.y):i.rotation=0})}updateTickLines(){const{scale:e,gridLength:t,tick:i,tickLineGroupSelection:o}=this;o.each((a,s)=>{const{value:r}=s,n=e.convert(r),l=Math.cos(n),c=Math.sin(n);a.x1=t*l,a.y1=t*c,a.x2=(t+i.size)*l,a.y2=(t+i.size)*c,a.stroke=i.stroke,a.strokeWidth=i.width})}createLabelNodeData(e,t,i){const{label:o,gridLength:a,scale:s,tick:r}=this;if(!o.enabled)return[];const n=new RotatableText2,l=i.x-this.translation.x,c=i.x+i.width-this.translation.x,p=e.map((h,u)=>{const{value:d}=h,f=a+o.spacing+r.size,g=s.convert(d),m=Math.cos(g),y=Math.sin(g),b=f*m,S=f*y,{textAlign:D,textBaseline:k}=this.getLabelAlign(g),A=u===e.length-1&&d!==e[0]&&(0,import_ag_charts_core2.isNumberEqual)(normalizeAngle3602(g),normalizeAngle3602(s.convert(e[0]))),x=this.getLabelRotation(g);let v=this.formatTick(d,u,s.domain);n.text=v,n.x=b,n.y=S,n.setFont(o),n.textAlign=D,n.textBaseline=k,n.rotation=x,x&&(n.rotationCenterX=b,n.rotationCenterY=S);let N=x?Transformable.toCanvas(n):n.getBBox();if(N&&t.hideWhenNecessary&&!x){const O=l-N.x,_=N.x+N.width-c,R=1;if(O>R||_>R){const I=N.width-Math.max(O,_);v=TextWrapper.wrapText(v,{maxWidth:I,font:o,textWrap:"never"}),v===TextUtils.EllipsisChar&&(v=""),n.text=v,N=n.getBBox()}}return{text:v,x:b,y:S,textAlign:D,textBaseline:k,hidden:v===""||h.hidden||A,rotation:x,box:N}});return o.avoidCollisions&&this.avoidLabelCollisions(p),p}computeLabelsBBox(e,t){this.labelData=this.createLabelNodeData(this.tickData,e,t);const i=this.labelData.map(({box:o})=>o).filter(o=>o!=null);return!this.label.enabled||i.length===0?null:BBox.merge(i)}getLabelOrientation(){const{label:e}=this;return e instanceof AngleAxisLabel?e.orientation:"fixed"}getLabelRotation(e){let t=toRadians(this.label.rotation??0);e=normalizeAngle3602(e);const i=this.getLabelOrientation();return i==="parallel"?(t+=e,e>=0&&e<Math.PI?t-=Math.PI/2:t+=Math.PI/2):i==="perpendicular"&&(t+=e,e>=Math.PI/2&&e<1.5*Math.PI&&(t+=Math.PI)),t}getLabelAlign(e){const t=Math.cos(e),i=Math.sin(e);let o,a;const s=this.getLabelOrientation(),r=(0,import_ag_charts_core2.isNumberEqual)(t,0),n=(0,import_ag_charts_core2.isNumberEqual)(i,0),l=(0,import_ag_charts_core2.isNumberEqual)(t,1),c=(0,import_ag_charts_core2.isNumberEqual)(i,-1),p=t>0&&!r,h=i>0&&!n;return s==="parallel"?(o="center",a=l&&n||h?"top":"bottom"):s==="perpendicular"?(o=c||p?"left":"right",a="middle"):(o="right",r?o="center":p&&(o="left"),a="bottom",n?a="middle":h&&(a="top")),{textAlign:o,textBaseline:a}}updateCrossLines(){const{shape:e,gridLength:t,innerRadiusRatio:i}=this;this.crossLines.forEach(o=>{o instanceof AngleCrossLine&&(o.ticks=this.tickData.map(a=>a.value),o.shape=e,o.axisOuterRadius=t,o.axisInnerRadius=t*i)}),super.updateCrossLines()}};AngleAxis.CrossLineConstructor=AngleCrossLine,__decorateClass([ProxyOnWrite("rotation"),TempValidate3(NUMBER2)],AngleAxis.prototype,"startAngle",2),__decorateClass([TempValidate3(NUMBER2,{optional:!0})],AngleAxis.prototype,"endAngle",2);var{RATIO:RATIO2,OBJECT:OBJECT2,TempValidate:TempValidate4,CategoryScale}=import_ag_charts_community5._ModuleSupport,AngleCategoryAxis=class extends AngleAxis{constructor(e){super(e,new CategoryScale),this.groupPaddingInner=0,this.paddingInner=0,this.interval=new AngleAxisInterval}generateAngleTicks(){const{scale:e,gridLength:t}=this,{values:i,minSpacing:o}=this.interval,a=i??e.ticks({nice:this.nice,interval:void 0,tickCount:void 0,minTickCount:0,maxTickCount:1/0})??[];if(a.length<2||o==null)return a.map(c=>({value:c,visible:!0}));const s=a[0],r=e.convert(s),n=t*Math.cos(r),l=t*Math.sin(r);for(let c=1;c<a.length-1;c++){const p=a[c],h=e.convert(p);if(h-r>Math.PI)break;const u=t*Math.cos(h),d=t*Math.sin(h);if(Math.sqrt((u-n)**2+(d-l)**2)>o){const g=new Set([s]);return loopSymmetrically(a,c,(m,y)=>{g.add(y)}),a.map(m=>{const y=g.has(m);return{value:m,visible:y}})}}return[{value:s,visible:!0}]}avoidLabelCollisions(e){const{minSpacing:t}=this.label;if(e.length<3)return;const i=(l,c)=>{if(l.hidden||c.hidden)return!1;if(t==null)return l.box.collidesBBox(c.box);const p=l.box.clone().grow(t/2),h=c.box.clone().grow(t/2);return p.collidesBBox(h)},o=e[0],a=e.at(-1),s=new Set([o]),r=(0,import_ag_charts_core3.isNumberEqual)(o.x,a.x)&&(0,import_ag_charts_core3.isNumberEqual)(o.y,a.y),n=Math.floor(e.length/2);for(let l=1;l<=n;l++){const c=r?e.slice(0,-1):e;if(!loopSymmetrically(c,l,i)){loopSymmetrically(c,l,(h,u)=>{s.add(u)});break}}e.forEach(l=>{s.has(l)||(l.hidden=!0,l.box=void 0)})}};AngleCategoryAxis.className="AngleCategoryAxis",AngleCategoryAxis.type="angle-category",__decorateClass([TempValidate4(RATIO2)],AngleCategoryAxis.prototype,"groupPaddingInner",2),__decorateClass([TempValidate4(RATIO2)],AngleCategoryAxis.prototype,"paddingInner",2),__decorateClass([TempValidate4(OBJECT2)],AngleCategoryAxis.prototype,"interval",2);var import_ag_charts_community7=require("ag-charts-community"),import_ag_charts_core5=require("ag-charts-core"),import_ag_charts_community6=require("ag-charts-community"),import_ag_charts_core4=require("ag-charts-core"),{range,isDenseInterval,LinearScale}=import_ag_charts_community6._ModuleSupport,LinearAngleScale=class he extends LinearScale{constructor(){super(...arguments),this.arcLength=0}static getNiceStepAndTickCount(t,i){const[o,a]=i;let s=LinearScale.getTickStep(o,a,t);const r=isNaN(t.maxTickCount)?1/0:t.maxTickCount,n=Math.abs(a-o)/s;let l=Math.pow(2,Math.ceil(Math.log(n)/Math.log(2)));return l>r&&(l/=2,s*=2),{count:l,step:s}}ticks(t,i=this.domain){const{arcLength:o}=this;if(!i||i.length<2||i.some(c=>!isFinite(c))||o<=0)return[];const{nice:a,interval:s}=t,[r,n]=i;if(s){const c=Math.abs(s),p=this.getPixelRange();if(!isDenseInterval((n-r)/c,p))return range(r,n,c)}let l;if(a&&this.hasNiceRange()){const c=super.niceDomain(t,i);l=he.getNiceStepAndTickCount(t,c).step}else l=LinearScale.getTickStep(r,n,t);return range(r,n,l)}hasNiceRange(){const t=this.range.slice().sort((o,a)=>o-a);return[Math.PI,2*Math.PI].some(o=>(0,import_ag_charts_core4.isNumberEqual)(o,t[1]-t[0]))}niceDomain(t,i=this.domain){const o=super.niceDomain(t,i);if(!this.hasNiceRange())return o;const a=o[0]>o[1],s=a?o[1]:o[0],{step:r,count:n}=he.getNiceStepAndTickCount(t,o),l=1/r,c=r>=1?Math.ceil(s/r+n)*r:Math.ceil((s+n*r)*l)/l;return a?[c,s]:[s,c]}getPixelRange(){return this.arcLength}},{AND:AND2,GREATER_THAN,LESS_THAN,NUMBER_OR_NAN,OBJECT:OBJECT3,TempValidate:TempValidate5,angleBetween,normalisedExtentWithMetadata,findMinMax}=import_ag_charts_community7._ModuleSupport,AngleNumberAxis=class extends AngleAxis{constructor(e){super(e,new LinearAngleScale),this.shape="circle",this.interval=new AngleAxisInterval}normaliseDataDomain(e){const{min:t,max:i}=this,{extent:o,clipped:a}=normalisedExtentWithMetadata(e,t,i);return{domain:o,clipped:a}}updateScale(){super.updateScale(),this.scale.arcLength=this.getRangeArcLength()}getRangeArcLength(){const{range:e}=this,t=Math.min(...e),i=Math.max(...e),o=angleBetween(t,i)||2*Math.PI,a=this.gridLength;return o*a}generateAngleTicks(e){const{scale:t,range:i,nice:o}=this,{values:a,step:s,minSpacing:r,maxSpacing:n}=this.interval;let l;if(a==null){const{arcLength:c}=t,p=n?Math.floor(c/n):1,h=r?Math.floor(c/r):1/0,u=Math.floor(4/Math.PI*Math.abs(i[0]-i[1])),d=Math.max(p,Math.min(h,u)),f={nice:o,interval:s,tickCount:d,minTickCount:p,maxTickCount:h};l=t.ticks(f,e)}else{const[c,p]=findMinMax(e.map(Number));l=a.filter(h=>h>=c&&h<=p).sort((h,u)=>h-u)}return l.map(c=>({value:c,visible:!0}))}avoidLabelCollisions(e){const{minSpacing:t}=this.label,i=(s,r)=>{if(s.hidden||r.hidden)return!1;if(t==null)return s.box.collidesBBox(r.box);const n=s.box.clone().grow(t/2),l=r.box.clone().grow(t/2);return n.collidesBBox(l)},o=e[0],a=e.at(-1);o!==a&&(0,import_ag_charts_core5.isNumberEqual)(o.x,a.x)&&(0,import_ag_charts_core5.isNumberEqual)(o.y,a.y)&&(a.hidden=!0);for(let s=1;s<e.length;s*=2){let r=!1;for(let n=s;n<e.length;n+=s){const l=e[n],c=e[n-s];if(i(c,l)){r=!0;break}}if(!r){e.forEach((n,l)=>{l%s>0&&(n.hidden=!0,n.box=void 0)});return}}e.forEach((s,r)=>{r>0&&(s.hidden=!0,s.box=void 0)})}};AngleNumberAxis.className="AngleNumberAxis",AngleNumberAxis.type="angle-number",__decorateClass([TempValidate5(AND2(NUMBER_OR_NAN,LESS_THAN("max")),{optional:!0})],AngleNumberAxis.prototype,"min",2),__decorateClass([TempValidate5(AND2(NUMBER_OR_NAN,GREATER_THAN("min")),{optional:!0})],AngleNumberAxis.prototype,"max",2),__decorateClass([TempValidate5(OBJECT3)],AngleNumberAxis.prototype,"interval",2);var import_ag_charts_community8=require("ag-charts-community"),{OrdinalTimeScale}=import_ag_charts_community8._ModuleSupport,OrdinalTimeAxis=class extends import_ag_charts_community8._ModuleSupport.CategoryAxis{constructor(e){super(e,new OrdinalTimeScale)}};OrdinalTimeAxis.className="OrdinalTimeAxis",OrdinalTimeAxis.type="ordinal-time";var import_ag_charts_community11=require("ag-charts-community"),import_ag_charts_community10=require("ag-charts-community"),import_ag_charts_core7=require("ag-charts-core"),import_ag_charts_community9=require("ag-charts-community"),import_ag_charts_core6=require("ag-charts-core"),{ChartAxisDirection:ChartAxisDirection4,TempValidate:TempValidate6,NUMBER:NUMBER3,getCrossLineValue:getCrossLineValue2,validateCrossLineValue:validateCrossLineValue2,normalizeAngle360:normalizeAngle3603,toRadians:toRadians2,Group:Group3,Path:Path3,Sector:Sector2,RotatableText:RotatableText3}=import_ag_charts_community9._ModuleSupport,RadiusCrossLineLabel=class extends PolarCrossLineLabel{constructor(){super(...arguments),this.positionAngle=void 0}};__decorateClass([TempValidate6(NUMBER3,{optional:!0})],RadiusCrossLineLabel.prototype,"positionAngle",2);var RadiusCrossLine=class extends PolarCrossLine{constructor(){super(),this.direction=ChartAxisDirection4.Y,this.label=new RadiusCrossLineLabel,this.polygonNode=new Path3,this.sectorNode=new Sector2,this.crossLineRange=new Group3,this.labelNode=new RotatableText3,this.outerRadius=0,this.innerRadius=0,this.crossLineRange.append(this.polygonNode),this.crossLineRange.append(this.sectorNode),this.labelGroup.append(this.labelNode)}update(e){const{scale:t}=this;if(!t||!this.isValid()||!validateCrossLineValue2(getCrossLineValue2(this),t)){this.rangeGroup.visible=!1,this.lineGroup.visible=!1,this.labelGroup.visible=!1;return}this.updateRadii();const{innerRadius:i,outerRadius:o}=this;e&&(e=i>=this.axisInnerRadius&&o<=this.axisOuterRadius),this.rangeGroup.visible=e,this.lineGroup.visible=e,this.labelGroup.visible=e,this.updatePolygonNode(e),this.updateSectorNode(e),this.updateLabelNode(e),this.assignCrossLineGroup(this.type==="range",this.crossLineRange)}updateRadii(){const{range:e,scale:t,type:i,axisInnerRadius:o,axisOuterRadius:a}=this;if(!t)return{innerRadius:0,outerRadius:0};const s=l=>a+o-l;let r,n;if(i==="line")r=s(t.convert(this.value)),n=r;else{const l=Math.abs(t?.bandwidth??0),c=e.map(p=>t.convert(p));r=s(Math.max(...c)),n=s(Math.min(...c))+l}this.outerRadius=r,this.innerRadius=n}drawPolygon(e,t,i){t.forEach((o,a)=>{const s=e*Math.cos(o),r=e*Math.sin(o);a===0?i.path.moveTo(s,r):i.path.lineTo(s,r)}),i.path.closePath()}updatePolygonNode(e){const{gridAngles:t,polygonNode:i,scale:o,shape:a,type:s,innerRadius:r,outerRadius:n}=this;if(!e||a!=="polygon"||!o||!t){i.visible=!1;return}i.visible=!0;const l=this.getPadding();i.path.clear(!0),this.drawPolygon(n-l,t,i);const c=t.slice().reverse(),p=s==="line"?n-l:r+l;this.drawPolygon(p,c,i),this.setSectorNodeProps(i)}updateSectorNode(e){const{axisInnerRadius:t,axisOuterRadius:i,scale:o,sectorNode:a,shape:s,innerRadius:r,outerRadius:n}=this;if(!e||s!=="circle"||!o){a.visible=!1;return}a.visible=!0,a.startAngle=0,a.endAngle=2*Math.PI;const l=this.getPadding(),c=(0,import_ag_charts_core6.clamp)(t,r+l,i),p=(0,import_ag_charts_core6.clamp)(t,n-l,i);a.innerRadius=Math.min(c,p),a.outerRadius=Math.max(c,p),this.setSectorNodeProps(a)}updateLabelNode(e){const{innerRadius:t,label:i,labelNode:o,scale:a,shape:s,type:r}=this;if(!e||i.enabled===!1||!i.text||!a){o.visible=!1;return}const n=normalizeAngle3603(toRadians2((i.positionAngle??0)-90)),l=((0,import_ag_charts_core6.isNumberEqual)(n,0)||n>0)&&n<Math.PI,c=l?n-Math.PI/2:n+Math.PI/2;let p;const h=this.gridAngles??[];r==="line"?p=t+i.padding:s==="circle"||h.length<3?p=t-i.padding:p=t*Math.cos(Math.PI/h.length)-i.padding;const u=p*Math.cos(n),d=p*Math.sin(n);let f;r==="line"?f=l?"top":"bottom":f=l?"bottom":"top",this.setLabelNodeProps(o,u,d,f,c)}getPadding(){const{scale:e}=this;if(!e)return 0;const t=Math.abs(e.bandwidth??0),i=Math.abs(e.step??0);return e instanceof import_ag_charts_community9._ModuleSupport.BandScale?(i-t)/2:0}};RadiusCrossLine.className="RadiusCrossLine";var{ChartAxisDirection:ChartAxisDirection5,ZIndexMap,NUMBER:NUMBER4,BOOLEAN:BOOLEAN2,TempValidate:TempValidate7,normalizeAngle360:normalizeAngle3604,toRadians:toRadians3,Caption,Group:Group4,Path:Path4,Line,Selection,AxisTickGenerator,AxisGroupZIndexMap}=import_ag_charts_community10._ModuleSupport,RadiusAxisLabel=class extends import_ag_charts_community10._ModuleSupport.AxisLabel{constructor(){super(...arguments),this.autoRotateAngle=335}};__decorateClass([TempValidate7(BOOLEAN2,{optional:!0})],RadiusAxisLabel.prototype,"autoRotate",2),__decorateClass([TempValidate7(NUMBER4)],RadiusAxisLabel.prototype,"autoRotateAngle",2);var RadiusAxis=class extends import_ag_charts_community10._ModuleSupport.PolarAxis{constructor(e,t){super(e,t),this.positionAngle=0,this.tickGenerator=new AxisTickGenerator(this),this.generatedTicks=void 0,this.lineNode=this.axisGroup.appendChild(new Line({name:`${this.id}-Axis-line`,zIndex:AxisGroupZIndexMap.AxisLine})),this.gridPathGroup=this.gridGroup.appendChild(new Group4({name:`${this.id}-gridPaths`,zIndex:ZIndexMap.AXIS_GRID})),this.gridPathSelection=Selection.select(this.gridPathGroup,Path4),this.axisGroup.appendChild(this.title.caption.node),this.destroyFns.push(this.title.caption.registerInteraction(this.moduleCtx,"afterend"))}get direction(){return ChartAxisDirection5.Y}getAxisTransform(){const e=this.scale.range[0],{translation:t,positionAngle:i,innerRadiusRatio:o}=this,a=e*o,s=toRadians3(i);return{translationX:t.x,translationY:t.y-e-a,rotation:s,rotationCenterX:0,rotationCenterY:e+a}}update(){super.update(),this.updateTitle();const{enabled:e,stroke:t,width:i}=this.line;this.lineNode.setProperties({stroke:t,strokeWidth:e?i:0,x1:0,y1:this.range[0],x2:0,y2:this.range[1]})}calculateTickLayout(e,t,i,o){const{parallelFlipRotation:a,regularFlipRotation:s}=this.calculateRotations(),r=[0,1],n=this.label.getSideFlag(),l=n*(this.getTickSize()+this.label.spacing+this.seriesAreaPadding),c=this.tickGenerator.generateTicks({domain:e,niceMode:t,visibleRange:r,primaryTickCount:o,parallelFlipRotation:a,regularFlipRotation:s,labelX:l,sideFlag:n}),{tickData:p,primaryTickCount:h=o}=c,{ticks:u,rawTicks:d,tickDomain:f,fractionDigits:g,niceDomain:m=e}=p,y=u.map(b=>this.getTickLabelProps(b,c));return this.generatedTicks={ticks:u,labels:y},{ticks:d,tickDomain:f,niceDomain:m,primaryTickCount:h,fractionDigits:g}}updateSelections(){const{generatedTicks:e}=this;if(!e)return;const{ticks:t,labels:i}=e;this.gridLineGroupSelection.update(this.gridLength?t:[]),this.tickLineGroupSelection.update(t),this.tickLabelGroupSelection.update(i),this.gridPathSelection.update(this.gridLine.enabled?this.prepareGridPathTickData(t):[]),this.gridLineGroupSelection.cleanup(),this.tickLineGroupSelection.cleanup(),this.tickLabelGroupSelection.cleanup(),this.gridPathSelection.cleanup()}updateLabels(){if(!this.label.enabled)return;const e=import_ag_charts_community10._ModuleSupport.resetAxisLabelSelectionFn();this.tickLabelGroupSelection.each((t,i)=>{t.fill=i.fill,t.fontFamily=i.fontFamily,t.fontSize=i.fontSize,t.fontStyle=i.fontStyle,t.fontWeight=i.fontWeight,t.text=i.text,t.textBaseline=i.textBaseline,t.textAlign=i.textAlign??"center",t.setProperties(e(t,i))})}updateGridLines(){super.updateGridLines();const{gridLine:{style:e,width:t},shape:i,generatedTicks:o}=this;if(!e||!o)return;const a=e.length,s=(u,d)=>{const{stroke:f,lineDash:g}=e[d%a];u.stroke=f,u.strokeWidth=t,u.lineDash=g,u.fill=void 0},[r,n]=this.gridRange??[0,2*Math.PI],l=(0,import_ag_charts_core7.isNumberEqual)(n-r,2*Math.PI),h=i==="circle"?(u,d)=>{const{path:f}=u;f.clear(!0);const g=this.getTickRadius(d);l?(f.moveTo(g,0),f.arc(0,0,g,0,2*Math.PI)):(f.moveTo(g*Math.cos(r),g*Math.sin(r)),f.arc(0,0,g,normalizeAngle3604(r),normalizeAngle3604(n))),l&&f.closePath()}:(u,d)=>{const{path:f}=u,g=this.gridAngles;if(f.clear(!0),!g||g.length<3)return;const m=this.getTickRadius(d);g.forEach((y,b)=>{const S=m*Math.cos(y),D=m*Math.sin(y);b===0?f.moveTo(S,D):f.lineTo(S,D),g.forEach((k,A)=>{const x=m*Math.cos(k),v=m*Math.sin(k);A===0?f.moveTo(x,v):f.lineTo(x,v)}),f.closePath()}),f.closePath()};this.gridPathSelection.each((u,d,f)=>{s(u,f),h(u,d)})}updateTitle(){const e=n=>n.defaultValue,{title:t,range:i,moduleCtx:{callbackCache:o}}=this,{formatter:a=e}=this.title;t.caption.enabled=t.enabled,t.caption.fontFamily=t.fontFamily,t.caption.fontSize=t.fontSize,t.caption.fontStyle=t.fontStyle,t.caption.fontWeight=t.fontWeight,t.caption.color=t.color,t.caption.wrapping=t.wrapping;let s=!1;const r=t.caption.node;t.enabled&&(s=!0,r.rotation=Math.PI/2,r.x=Math.floor((i[0]+i[1])/2),r.y=-Caption.SMALL_PADDING,r.textAlign="center",r.textBaseline="bottom",r.text=o.call(this,a,this.getTitleFormatterParams(this.scale.domain))),r.visible=s}updateCrossLines(){this.crossLines.forEach(e=>{if(e instanceof RadiusCrossLine){const{shape:t,gridAngles:i,range:o,innerRadiusRatio:a}=this,s=o[0];e.shape=t,e.gridAngles=i,e.axisOuterRadius=s,e.axisInnerRadius=s*a}}),super.updateCrossLines()}createLabel(){return new RadiusAxisLabel}getTickLabelProps(e,t){const{label:i}=this,{combinedRotation:o,textBaseline:a,textAlign:s}=t,r=this.scale.range,n=e.tickLabel,c=i.getSideFlag()*(this.getTickSize()+i.spacing+this.seriesAreaPadding),p=n!==""&&n!=null;return{...this.getLabelStyles({value:e.tickLabel}),tickId:e.tickId,rotation:o,rotationCenterX:c,translationY:e.translationY,text:n,textAlign:s,textBaseline:a,visible:p,x:c,y:0,range:r}}};RadiusAxis.CrossLineConstructor=RadiusCrossLine,__decorateClass([TempValidate7(NUMBER4)],RadiusAxis.prototype,"positionAngle",2);var{RATIO:RATIO3,ProxyPropertyOnWrite,TempValidate:TempValidate8,CategoryScale:CategoryScale2}=import_ag_charts_community11._ModuleSupport,RadiusCategoryAxis=class extends RadiusAxis{constructor(e){super(e,new CategoryScale2),this.shape="circle",this.groupPaddingInner=0,this.paddingInner=0,this.paddingOuter=0}normaliseDataDomain(e){return{domain:e,clipped:!1}}prepareGridPathTickData(e){return e.slice().reverse()}getTickRadius(e){const{scale:t,innerRadiusRatio:i}=this,o=t.range[0],a=o*i;if(CategoryScale2.is(t)){const s=t.domain,r=s.length-1-s.indexOf(e.tick);return r===0?a:t.inset+t.step*(r-.5)+t.bandwidth/2}else{const s=(o-a)/t.domain.length;return o-e.translationY+a-s/2}}};RadiusCategoryAxis.className="RadiusCategoryAxis",RadiusCategoryAxis.type="radius-category",__decorateClass([TempValidate8(RATIO3)],RadiusCategoryAxis.prototype,"groupPaddingInner",2),__decorateClass([ProxyPropertyOnWrite("scale","paddingInner"),TempValidate8(RATIO3)],RadiusCategoryAxis.prototype,"paddingInner",2),__decorateClass([ProxyPropertyOnWrite("scale","paddingOuter"),TempValidate8(RATIO3)],RadiusCategoryAxis.prototype,"paddingOuter",2);var import_ag_charts_community12=require("ag-charts-community"),{AND:AND3,GREATER_THAN:GREATER_THAN2,LESS_THAN:LESS_THAN2,NUMBER_OR_NAN:NUMBER_OR_NAN2,TempValidate:TempValidate9,normalisedExtentWithMetadata:normalisedExtentWithMetadata2,LinearScale:LinearScale2}=import_ag_charts_community12._ModuleSupport,RadiusNumberAxis=class extends RadiusAxis{constructor(e){super(e,new LinearScale2),this.shape="polygon"}prepareGridPathTickData(e){const{scale:t}=this,i=t.domain[1];return e.filter(({tick:o})=>o!==i).sort((o,a)=>a.tick-o.tick)}getTickRadius(e){const{scale:t}=this,i=t.range[0],o=i*this.innerRadiusRatio;return i-e.translationY+o}normaliseDataDomain(e){const{min:t,max:i}=this,{extent:o,clipped:a}=normalisedExtentWithMetadata2(e,t,i);return{domain:o,clipped:a}}};RadiusNumberAxis.className="RadiusNumberAxis",RadiusNumberAxis.type="radius-number",__decorateClass([TempValidate9(AND3(NUMBER_OR_NAN2,LESS_THAN2("max")),{optional:!0})],RadiusNumberAxis.prototype,"min",2),__decorateClass([TempValidate9(AND3(NUMBER_OR_NAN2,GREATER_THAN2("min")),{optional:!0})],RadiusNumberAxis.prototype,"max",2);var{cartesianAxisLabelOptionsDefs,cartesianAxisOptionsDefs,cartesianAxisCrosshairOptions,continuousAxisOptions,commonAxisLabelOptionsDefs,commonAxisOptionsDefs,commonCrossLineOptionsDefs,commonCrossLineLabelOptionsDefs,numberFormatValidator}=import_ag_charts_community13._ModuleSupport,ordinalTimeAxisOptionsDefs={...cartesianAxisOptionsDefs,type:(0,import_ag_charts_core8.required)((0,import_ag_charts_core8.constant)("ordinal-time")),paddingInner:import_ag_charts_core8.ratio,paddingOuter:import_ag_charts_core8.ratio,groupPaddingInner:import_ag_charts_core8.ratio,label:{...cartesianAxisLabelOptionsDefs,format:import_ag_charts_core8.string},interval:continuousAxisOptions((0,import_ag_charts_core8.or)(import_ag_charts_core8.number,import_ag_charts_core8.date),!0).interval,crosshair:cartesianAxisCrosshairOptions(!0)},angleNumberAxisOptionsDefs={...commonAxisOptionsDefs,...continuousAxisOptions(import_ag_charts_core8.number),type:(0,import_ag_charts_core8.required)((0,import_ag_charts_core8.constant)("angle-number")),crossLines:(0,import_ag_charts_core8.arrayOfDefs)(commonCrossLineOptionsDefs),startAngle:import_ag_charts_core8.number,endAngle:import_ag_charts_core8.number,label:{...commonAxisLabelOptionsDefs,orientation:(0,import_ag_charts_core8.union)("fixed","parallel","perpendicular"),format:numberFormatValidator}},invalidOptionsFromIntegratedCharts={innerRadiusRatio:import_ag_charts_core8.ratio},angleCategoryAxisOptionsDefs={...commonAxisOptionsDefs,...invalidOptionsFromIntegratedCharts,type:(0,import_ag_charts_core8.required)((0,import_ag_charts_core8.constant)("angle-category")),shape:(0,import_ag_charts_core8.union)("polygon","circle"),crossLines:(0,import_ag_charts_core8.arrayOfDefs)(commonCrossLineOptionsDefs),startAngle:import_ag_charts_core8.number,endAngle:import_ag_charts_core8.number,paddingInner:import_ag_charts_core8.ratio,groupPaddingInner:import_ag_charts_core8.ratio,label:{...commonAxisLabelOptionsDefs,orientation:(0,import_ag_charts_core8.union)("fixed","parallel","perpendicular")}},radiusNumberAxisOptionsDefs={...commonAxisOptionsDefs,...continuousAxisOptions(import_ag_charts_core8.number),type:(0,import_ag_charts_core8.required)((0,import_ag_charts_core8.constant)("radius-number")),shape:(0,import_ag_charts_core8.union)("polygon","circle"),positionAngle:import_ag_charts_core8.number,innerRadiusRatio:import_ag_charts_core8.ratio,crossLines:(0,import_ag_charts_core8.arrayOfDefs)({...commonCrossLineOptionsDefs,label:{...commonCrossLineLabelOptionsDefs,positionAngle:import_ag_charts_core8.number}},"cross-line options"),title:{enabled:import_ag_charts_core8.boolean,text:import_ag_charts_core8.string,spacing:import_ag_charts_core8.positiveNumber,formatter:import_ag_charts_core8.callback,...import_ag_charts_core8.fontOptionsDef},label:{...commonAxisLabelOptionsDefs,format:numberFormatValidator}},radiusCategoryAxisOptionsDefs={...commonAxisOptionsDefs,type:(0,import_ag_charts_core8.required)((0,import_ag_charts_core8.constant)("radius-category")),positionAngle:import_ag_charts_core8.number,innerRadiusRatio:import_ag_charts_core8.ratio,paddingInner:import_ag_charts_core8.ratio,paddingOuter:import_ag_charts_core8.ratio,groupPaddingInner:import_ag_charts_core8.ratio,label:commonAxisLabelOptionsDefs,crossLines:(0,import_ag_charts_core8.arrayOfDefs)({...commonCrossLineOptionsDefs,label:{...commonCrossLineLabelOptionsDefs,positionAngle:import_ag_charts_core8.number}},"cross-line options"),title:{enabled:import_ag_charts_core8.boolean,text:import_ag_charts_core8.string,spacing:import_ag_charts_core8.positiveNumber,formatter:import_ag_charts_core8.callback,...import_ag_charts_core8.fontOptionsDef}},OrdinalTimeAxisModule={type:"axis",name:"ordinal-time",chartType:"cartesian",enterprise:!0,options:ordinalTimeAxisOptionsDefs,create:e=>new OrdinalTimeAxis(e)},AngleNumberAxisModule={type:"axis",name:"angle-number",chartType:"polar",enterprise:!0,options:angleNumberAxisOptionsDefs,create:e=>new AngleNumberAxis(e)},AngleCategoryAxisModule={type:"axis",name:"angle-category",chartType:"polar",enterprise:!0,options:angleCategoryAxisOptionsDefs,create:e=>new AngleCategoryAxis(e)},RadiusNumberAxisModule={type:"axis",name:"radius-number",chartType:"polar",enterprise:!0,options:radiusNumberAxisOptionsDefs,create:e=>new RadiusNumberAxis(e)},RadiusCategoryAxisModule={type:"axis",name:"radius-category",chartType:"polar",enterprise:!0,options:radiusCategoryAxisOptionsDefs,create:e=>new RadiusCategoryAxis(e)},import_ag_charts_community15=require("ag-charts-community"),import_ag_charts_community14=require("ag-charts-community"),{Chart,TempValidate:TempValidate10,ARRAY:ARRAY2}=import_ag_charts_community14._ModuleSupport;function isFlowProportion(e){return e.type==="sankey"||e.type==="chord"}var FlowProportionChart=class extends Chart{getChartType(){return"flow-proportion"}async updateData(){await super.updateData();const e=this.getOptions();this.nodes!==e.nodes&&(this.nodes=e.nodes);const{nodes:t}=this;this.series.forEach(i=>{isFlowProportion(i)&&i.setChartNodes(t)})}performLayout(e){const{seriesRoot:t,annotationRoot:i}=this,{layoutBox:o}=e;o.shrink(this.seriesArea.padding.toJson());const a=o.clone();this.seriesRect=a,this.animationRect=a,t.visible=this.series.some(s=>s.visible);for(const s of[t,i])s.translationX=Math.floor(a.x),s.translationY=Math.floor(a.y);this.ctx.layoutManager.emitLayoutComplete(e,{series:{visible:t.visible,rect:a,paddedRect:a}})}};FlowProportionChart.className="FlowProportionChart",FlowProportionChart.type="flow-proportion",__decorateClass([TempValidate10(ARRAY2,{optional:!0})],FlowProportionChart.prototype,"nodes",2);var{isAgFlowProportionChartOptions,flowProportionChartOptionsDefs}=import_ag_charts_community15._ModuleSupport,FlowProportionChartModule={type:"chart",name:"flow-proportion",enterprise:!0,options:flowProportionChartOptionsDefs,detect:isAgFlowProportionChartOptions,create(e,t){return new FlowProportionChart(e,t)}},import_ag_charts_community17=require("ag-charts-community"),import_ag_charts_community16=require("ag-charts-community"),{Chart:Chart2}=import_ag_charts_community16._ModuleSupport,GaugeChart=class extends Chart2{getChartType(){return"gauge"}performLayout(e){const{seriesRoot:t,annotationRoot:i,series:o,seriesArea:a}=this,{layoutBox:s}=e,r=s.clone();s.shrink(a.padding.toJson()),this.seriesRect=r.clone().translate(r.x-s.x,r.y-s.y),this.animationRect=s,t.visible=o.some(n=>n.visible);for(const n of[t,i])n.translationX=Math.floor(s.x),n.translationY=Math.floor(s.y);this.ctx.layoutManager.emitLayoutComplete(e,{series:{visible:t.visible,rect:r,paddedRect:s}})}getAriaLabel(){const e=[],t=this.getCaptionText();t.length!==0&&e.push(t);for(const o of this.series)e.push(o.getCaptionText());const i=e.join(". ");return this.ctx.localeManager.t("ariaAnnounceGaugeChart",{caption:i})}};GaugeChart.className="GaugeChart",GaugeChart.type="gauge";var{isAgGaugeChartOptions,gaugeChartOptionsDefs}=import_ag_charts_community17._ModuleSupport,GaugeChartModule={type:"chart",name:"gauge",enterprise:!0,options:gaugeChartOptionsDefs,detect:isAgGaugeChartOptions,create(e,t){return new GaugeChart(e,t)}},import_ag_charts_community19=require("ag-charts-community"),import_ag_charts_community18=require("ag-charts-community"),{Chart:Chart3}=import_ag_charts_community18._ModuleSupport,HierarchyChart=class extends Chart3{getChartType(){return"hierarchy"}performLayout(e){const{seriesRoot:t,annotationRoot:i}=this,{layoutBox:o}=e;o.shrink(this.seriesArea.padding.toJson());const a=o.clone();this.seriesRect=a,this.animationRect=a;for(const s of[t,i])s.translationX=Math.floor(a.x),s.translationY=Math.floor(a.y);t.visible=this.series[0].visible,t.setClipRect(a.clone()),this.ctx.layoutManager.emitLayoutComplete(e,{series:{visible:!0,rect:a,paddedRect:a}})}getAriaLabel(){const e=this.getCaptionText();return this.ctx.localeManager.t("ariaAnnounceHierarchyChart",{caption:e})}};HierarchyChart.className="HierarchyChart",HierarchyChart.type="hierarchy";var{isAgHierarchyChartOptions,hierarchyChartOptionsDefs}=import_ag_charts_community19._ModuleSupport,HierarchyChartModule={type:"chart",name:"hierarchy",enterprise:!0,options:hierarchyChartOptionsDefs,detect:isAgHierarchyChartOptions,create(e,t){return new HierarchyChart(e,t)}},import_ag_charts_community21=require("ag-charts-community"),import_ag_charts_community20=require("ag-charts-community"),{Chart:Chart4}=import_ag_charts_community20._ModuleSupport,StandaloneChart=class extends Chart4{getChartType(){return"standalone"}performLayout(e){const{seriesRoot:t,annotationRoot:i}=this,{layoutBox:o}=e;o.shrink(this.seriesArea.padding.toJson());const a=o.clone();this.seriesRect=a,this.animationRect=a;for(const s of[t,i])s.translationX=Math.floor(o.x),s.translationY=Math.floor(o.y);t.visible=this.series[0].visible,this.ctx.layoutManager.emitLayoutComplete(e,{series:{visible:!0,rect:a,paddedRect:o}})}getAriaLabel(){const e=this.getCaptionText();return this.ctx.localeManager.t("ariaAnnounceHierarchyChart",{caption:e})}};StandaloneChart.className="StandaloneChart",StandaloneChart.type="standalone";var{isAgStandaloneChartOptions,standaloneChartOptionsDefs}=import_ag_charts_community21._ModuleSupport,StandaloneChartModule={type:"chart",name:"standalone",enterprise:!0,options:standaloneChartOptionsDefs,detect:isAgStandaloneChartOptions,create(e,t){return new StandaloneChart(e,t)}},import_ag_charts_community24=require("ag-charts-community"),import_ag_charts_community23=require("ag-charts-community"),import_ag_charts_community22=require("ag-charts-community"),import_ag_charts_core9=require("ag-charts-core");function isValidCoordinate(e){return Array.isArray(e)&&e.length>=2&&e.every(import_ag_charts_core9.isFiniteNumber)}function isValidCoordinates(e){return Array.isArray(e)&&e.length>=2&&e.every(isValidCoordinate)}var delta=.001;function hasSameStartEndPoint(e){return Math.abs(e[0][0]-e[e.length-1][0])<delta&&Math.abs(e[0][1]-e[e.length-1][1])<delta}function isValidPolygon(e){return Array.isArray(e)&&e.every(isValidCoordinates)&&e.every(hasSameStartEndPoint)}function isValidGeometry(e){if(e===null)return!0;if(typeof e!="object"||e.type==null)return!1;const{type:t,coordinates:i}=e;switch(t){case"GeometryCollection":return Array.isArray(e.geometries)&&e.geometries.every(isValidGeometry);case"MultiPolygon":return Array.isArray(i)&&i.every(isValidPolygon);case"Polygon":return isValidPolygon(i);case"MultiLineString":return Array.isArray(i)&&i.every(isValidCoordinates);case"LineString":return isValidCoordinates(i);case"MultiPoint":return isValidCoordinates(i);case"Point":return isValidCoordinate(i)}}function isValidFeature(e){return e!==null&&typeof e=="object"&&e.type==="Feature"&&isValidGeometry(e.geometry)}function isValidFeatureCollection(e){return e!==null&&typeof e=="object"&&e.type==="FeatureCollection"&&Array.isArray(e.features)&&e.features.every(isValidFeature)}var GEOJSON_OBJECT=import_ag_charts_community22._ModuleSupport.predicateWithMessage(isValidFeatureCollection,"a GeoJSON object"),{Chart:Chart5,MercatorScale,NumberAxis,TempValidate:TempValidate11}=import_ag_charts_community23._ModuleSupport;function isTopologySeries(e){return e.type==="map-shape"||e.type==="map-line"||e.type==="map-marker"||e.type==="map-shape-background"||e.type==="map-line-background"}var TopologyChart=class extends Chart5{constructor(e,t){super(e,t),this.xAxis=new NumberAxis(this.getModuleContext()),this.xAxis.position="bottom",this.yAxis=new NumberAxis(this.getModuleContext()),this.yAxis.position="left",this.ctx.zoomManager.updateAxes([this.xAxis,this.yAxis])}getChartType(){return"topology"}async updateData(){await super.updateData();const e=this.getOptions();this.topology!==e.topology&&(this.topology=e.topology);const{topology:t}=this;this.series.forEach(i=>{isTopologySeries(i)&&i.setChartTopology(t)})}performLayout(e){const{seriesRoot:t,annotationRoot:i}=this,{layoutBox:o}=e;o.shrink(this.seriesArea.padding.toJson());const a=o.clone();this.seriesRect=a,this.animationRect=a;const s=this.series.filter(isTopologySeries),r=s.reduce((c,p)=>{if(!p.visible)return c;const h=p.topologyBounds;return h==null?c:c==null?h:(c.merge(h),c)},void 0);let n;if(r!=null){const{lon0:c,lat0:p,lon1:h,lat1:u}=r,d=[[c,p],[h,u]],f=MercatorScale.bounds(d),{width:g,height:m}=a,y=Math.min(g/f.width,m/f.height),b=f.width*y,S=f.height*y,D=(g-b)/2,k=(m-S)/2,A=D,x=k,v=D+b,N=k+S,O=this.ctx.zoomManager.getAxisZoom(this.xAxis.id),_=this.ctx.zoomManager.getAxisZoom(this.yAxis.id),R=(v-A)/(O.max-O.min),I=A-R*O.min,T=(N-x)/(1-_.min-(1-_.max)),C=x-T*(1-_.max);n=new MercatorScale(d,[[I,C],[I+R,C+T]])}s.forEach(c=>{c.scale=n});const l=this.series.some(c=>c.visible);t.visible=l;for(const c of[t,i])c.translationX=Math.floor(a.x),c.translationY=Math.floor(a.y),c.setClipRect(a.clone());this.ctx.layoutManager.emitLayoutComplete(e,{series:{visible:l,rect:a,paddedRect:a}})}};TopologyChart.className="TopologyChart",TopologyChart.type="topology",__decorateClass([TempValidate11(GEOJSON_OBJECT,{optional:!0})],TopologyChart.prototype,"topology",2);var{isAgTopologyChartOptions,topologyChartOptionsDefs}=import_ag_charts_community24._ModuleSupport,TopologyChartModule={type:"chart",name:"topology",enterprise:!0,options:topologyChartOptionsDefs,detect:isAgTopologyChartOptions,create(e,t){return new TopologyChart(e,t)}},import_ag_charts_community25=require("ag-charts-community"),import_ag_charts_core10=require("ag-charts-core"),{toolbarButtonOptionsDefs}=import_ag_charts_community25._ModuleSupport,annotationOptionsDef={enabled:import_ag_charts_core10.boolean,axesButtons:{enabled:import_ag_charts_core10.boolean,axes:(0,import_ag_chart