/**
 * Highstock JS v13.0.0 (2026-06-11)
 * @module highcharts/indicators/aroon-oscillator
 * @requires highcharts
 * @requires highcharts/modules/stock
 *
 * Indicator series type for Highcharts Stock
 *
 * (c) 2010-2026 Highsoft AS
 * Author: Wojciech Chmiel
 *
 * A commercial license may be required depending on use,
 * see www.highcharts.com/license
 */import*as t from"../highcharts.js";var e,a={};a.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return a.d(e,{a:e}),e},a.d=(t,e)=>{for(var r in e)a.o(e,r)&&!a.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},a.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);let r=t.default;var o=a.n(r);let i=t.default.SeriesRegistry;var s=a.n(i);let{sma:{prototype:n}}=s().seriesTypes;!function(t){let e=["bottomLine"],a=["top","bottom"],o=["top"];function i(t){return"plot"+t.charAt(0).toUpperCase()+t.slice(1)}function s(t,e){let a=[];return(t.pointArrayMap||[]).forEach(t=>{t!==e&&a.push(i(t))}),a}function l(){let t=this,e=t.pointValKey,a=t.linesApiNames,o=t.areaLinesNames,l=t.points,p=t.options,h=t.graph,c={options:{gapSize:p.gapSize}},f=[],u=s(t,e),y=l.length,g;if(u.forEach((t,e)=>{for(f[e]=[];y--;)g=l[y],f[e].push({x:g.x,plotX:g.plotX,plotY:g[t],isNull:!(0,r.defined)(g[t])});y=l.length}),t.userOptions.fillColor&&o.length){let e=f[u.indexOf(i(o[0]))],a=1===o.length?l:f[u.indexOf(i(o[1]))],s=t.color;t.points=a,t.nextPoints=e,t.color=t.userOptions.fillColor,t.options=(0,r.merge)(l,c),t.graph=t.area,t.fillGraph=!0,n.drawGraph.call(t),t.area=t.graph,delete t.nextPoints,delete t.fillGraph,t.color=s}a.forEach((e,a)=>{f[a]?(t.points=f[a],p[e]?t.options=(0,r.merge)(p[e].styles,c):(0,r.error)('Error: "There is no '+e+' in DOCS options declared. Check if linesApiNames are consistent with your DOCS line names."'),t.graph=t["graph"+e],n.drawGraph.call(t),t["graph"+e]=t.graph):(0,r.error)('Error: "'+e+" doesn't have equivalent in pointArrayMap. To many elements in linesApiNames relative to pointArrayMap.\"")}),t.points=l,t.options=p,t.graph=h,n.drawGraph.call(t)}function p(t){let e,a=[],r=[];if(t=t||this.points,this.fillGraph&&this.nextPoints){if((e=n.getGraphPath.call(this,this.nextPoints))&&e.length){e[0][0]="L",a=n.getGraphPath.call(this,t),r=e.slice(0,a.length);for(let t=r.length-1;t>=0;t--)a.push(r[t])}}else a=n.getGraphPath.apply(this,arguments);return a}function h(t){let e=[];return(this.pointArrayMap||[]).forEach(a=>{e.push(t[a])}),e}function c(){let t=this.pointArrayMap,e=[],a;e=s(this),n.translate.apply(this,arguments),this.points.forEach(r=>{t.forEach((t,o)=>{a=r[t],this.dataModify&&(a=this.dataModify.modifyValue(a)),null!==a&&(r[e[o]]=this.yAxis.toPixels(a,!0))})})}t.compose=function(t){let r=t.prototype;return r.linesApiNames=r.linesApiNames||e.slice(),r.pointArrayMap=r.pointArrayMap||a.slice(),r.pointValKey=r.pointValKey||"top",r.areaLinesNames=r.areaLinesNames||o.slice(),r.drawGraph=l,r.getGraphPath=p,r.toYData=h,r.translate=c,t}}(e||(e={}));let l=e,{aroon:p}=s().seriesTypes;class h extends p{getValues(t,e){let a,r,o=[],i=[],s=[],n=super.getValues.call(this,t,e);for(r=0;r<n.yData.length;r++)a=n.yData[r][0]-n.yData[r][1],o.push([n.xData[r],a]),i.push(n.xData[r]),s.push(a);return{values:o,xData:i,yData:s}}}h.defaultOptions=(0,r.merge)(p.defaultOptions,{tooltip:{pointFormat:'<span style="color:{point.color}">●</span><b> {series.name}</b>: {point.y}'}}),(0,r.extend)(h.prototype,{nameBase:"Aroon Oscillator",linesApiNames:[],pointArrayMap:["y"],pointValKey:"y"}),l.compose(p),s().registerSeriesType("aroonoscillator",h);let c=o();export{c as default};