UNPKG

highcharts

Version:
13 lines 4.38 kB
/** * Highcharts JS v13.0.1 (2026-08-17) * @module highcharts/modules/variwide * @requires highcharts * * Highcharts variwide module * * (c) 2010-2026 Highsoft AS * Author: Torstein Hønsi * * A commercial license may be required depending on use, * see www.highcharts.com/license */import*as t from"../highcharts.js";let e={};e.n=t=>{let s=t&&t.__esModule?()=>t.default:()=>t;return e.d(s,{a:s}),s},e.d=(t,s)=>{if(Array.isArray(s))for(var i=0;i<s.length;){var r=s[i++],a=s[i++];e.o(t,r)?0===a&&i++:0===a?Object.defineProperty(t,r,{enumerable:!0,value:s[i++]}):Object.defineProperty(t,r,{enumerable:!0,get:a})}else for(var r in s)e.o(s,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:s[r]})},e.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);let s=t.default;var i=e.n(s);let r=t.default.SeriesRegistry;var a=e.n(r);let{composed:o}=i();function l(t){this.variwide&&this.cross&&this.cross.attr("stroke-width",t.point?.crosshairWidth)}function n(){let t=this;this.chart.labelCollectors.push(function(){return t.variwide?t.tickPositions.filter(e=>!!t.ticks[e].label).map((e,s)=>{let i=t.ticks[e].label;return i.labelrank=t.zData?.[s],i}):[]})}function h(t){let e=this.axis,s=e.horiz?"x":"y";e.variwide&&(this[s+"Orig"]=t.pos[s],this.postTranslate(t.pos,s,this.pos))}function p(t,e,s){let i=this.axis,r=t[e]-i.pos;i.horiz||(r=i.len-r),r=i.series[0].postTranslate(s,r),i.horiz||(r=i.len-r),t[e]=i.pos+r}function d(t,e,s,i,r,a,o,l){let n=Array.prototype.slice.call(arguments,1),h=r?"x":"y";this.axis.variwide&&"number"==typeof this[h+"Orig"]&&(n[+!r]=this[h+"Orig"]);let p=t.apply(this,n);return this.axis.variwide&&this.axis.categories&&this.postTranslate(p,h,this.pos),p}let{column:{prototype:{pointClass:c}}}=a().seriesTypes,x=class extends c{isValid(){return(0,s.isNumber)(this.y)&&(0,s.isNumber)(this.z)}},{column:u}=a().seriesTypes;class f extends u{processData(t){this.totalZ=0,this.relZ=[],a().seriesTypes.column.prototype.processData.call(this,t);let e=this.getColumn("z");(this.xAxis.reversed?e.slice().reverse():e).forEach(function(t,e){this.relZ[e]=this.totalZ,this.totalZ+=t},this),this.xAxis.categories&&(this.xAxis.variwide=!0,this.xAxis.zData=e)}postTranslate(t,e,i){let r=this.xAxis,a=this.relZ,o=r.reversed?a.length-t:t,l=r.reversed?-1:1,n=r.toPixels(r.reversed?(r.dataMax||0)+r.pointRange:r.dataMin||0),h=r.toPixels(r.reversed?r.dataMin||0:(r.dataMax||0)+r.pointRange),p=Math.abs(h-n),d=this.totalZ,c=this.chart.inverted?h-(this.chart.plotTop-l*r.minPixelPadding):n-this.chart.plotLeft-l*r.minPixelPadding,x=o/a.length*p,u=(o+l)/a.length*p,f=(0,s.pick)(a[o],d)/d*p,y=(0,s.pick)(a[o+l],d)/d*p;return i&&(i.crosshairWidth=y-f),c+f+(e-(c+x))*(y-f)/(u-x)}translate(){this.crispOption=this.options.crisp,this.options.crisp=!1,super.translate(),this.options.crisp=this.crispOption}correctStackLabels(){let t,e,s,i,r=this.options,a=this.yAxis;for(let o of this.points)i=o.x,e=o.shapeArgs.width,(s=a.stacking.stacks[(this.negStacks&&o.y<(r.startFromThreshold?0:r.threshold)?"-":"")+this.stackKey])&&(t=s[i])&&!o.isNull&&t.setOffset(-(e/2)||0,e||0,void 0,void 0,o.plotX,this.xAxis)}getXExtremes(t){let e=(0,s.arrayMax)(t),i=this.getColumn("z")[t.indexOf(e)];return{min:(0,s.arrayMin)(t),max:e+(this.xAxis.categories?0:i)}}}f.compose=function(t,e){if((0,s.pushUnique)(o,"Variwide")){let i=e.prototype;(0,s.addEvent)(t,"afterDrawCrosshair",l),(0,s.addEvent)(t,"afterRender",n),(0,s.addEvent)(e,"afterGetPosition",h),i.postTranslate=p,(0,s.wrap)(i,"getLabelPosition",d)}},f.defaultOptions=(0,s.merge)(u.defaultOptions,{pointPadding:0,groupPadding:0}),(0,s.addEvent)(f,"afterColumnTranslate",function(){let t=this.xAxis,e=this.chart.inverted,i=-1;for(let r of this.points){let a,o;++i;let l=r.shapeArgs||{},{x:n=0,width:h=0}=l,{plotX:p=0,tooltipPos:d,z:c=0}=r;t.variwide?(a=this.postTranslate(i,n,r),o=this.postTranslate(i,n+h)):(a=p,o=t.translate(r.x+c,!1,!1,!1,!0)),this.crispOption&&(a=(0,s.crisp)(a,this.borderWidth),o=(0,s.crisp)(o,this.borderWidth)),l.x=a,l.width=Math.max(o-a,1),r.plotX=(a+o)/2,d&&(e?d[1]=t.len-l.x-l.width/2:d[0]=l.x+l.width/2)}this.options.stacking&&this.correctStackLabels()},{order:2}),(0,s.extend)(f.prototype,{irregularWidths:!0,keysAffectYAxis:["y"],pointArrayMap:["y","z"],parallelArrays:["x","y","z"],pointClass:x}),a().registerSeriesType("variwide",f);let y=i();f.compose(y.Axis,y.Tick);let g=i();export{g as default};