UNPKG

highcharts

Version:
11 lines 6.49 kB
/** * Highcharts JS v13.0.1 (2026-08-17) * @module highcharts/modules/broken-axis * @requires highcharts * * (c) 2009-2026 Highsoft AS * Author: Torstein Hønsi * * A commercial license may be required depending on use, * see www.highcharts.com/license */import*as e from"../highcharts.js";let i={};i.n=e=>{let t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{if(Array.isArray(t))for(var r=0;r<t.length;){var s=t[r++],n=t[r++];i.o(e,s)?0===n&&r++:0===n?Object.defineProperty(e,s,{enumerable:!0,value:t[r++]}):Object.defineProperty(e,s,{enumerable:!0,get:n})}else for(var s in t)i.o(t,s)&&!i.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},i.o=(e,i)=>Object.prototype.hasOwnProperty.call(e,i);let t=e.default;var r,s=i.n(t);let n=e.default.StackItem;var o=i.n(n);!function(e){function i(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function r(){Object.keys(this.options.breaks?.[0]||{}).length&&(this.options.ordinal=!1)}function s(){let e=this.brokenAxis;if(e?.hasBreaks){let i=this.tickPositions,t=this.tickPositions.info,r=[];for(let t=0;t<i.length;t++)e.isInAnyBreak(i[t])||r.push(i[t]);this.tickPositions=r,this.tickPositions.info=t}}function n(){this.brokenAxis||(this.brokenAxis=new k(this))}function a(){let{isDirty:e,options:{connectNulls:i},points:t,xAxis:r,yAxis:s}=this;if(e){let e=t.length;for(;e--;){let n=t[e],o=(null!==n.y||!1!==i)&&(r?.brokenAxis?.isInAnyBreak(n.x,!0)||s?.brokenAxis?.isInAnyBreak(n.y,!0));n.visible=!o&&!1!==n.options.visible}}}function l(){this.drawBreaks(this.xAxis,["x"]),this.drawBreaks(this.yAxis,(0,t.pick)(this.pointArrayMap,["y"]))}function f(e,i){let r,s,n,o=this,a=o.points;if(e?.brokenAxis?.hasBreaks){let l=e.brokenAxis;i.forEach(function(i){r=l?.breakArray||[],s=e.isXAxis?e.min:(0,t.pick)(o.options.threshold,e.min),a.forEach(function(o){n=o["stack"+i.toUpperCase()]??o[i],r.forEach(function(i){if((0,t.isNumber)(s)&&(0,t.isNumber)(n)){let r="";s<i.from&&n>i.to||s>i.from&&n<i.from?r="pointBreak":(s<i.from&&n>i.from&&n<i.to||s>i.from&&n>i.to&&n<i.from)&&(r="pointInBreak"),r&&(0,t.fireEvent)(e,r,{point:o,brk:i})}})})})}}function u(){let e=this.currentDataGrouping,i=e?.gapSize,t=this.points.slice(),r=this.yAxis,s=this.options.gapSize,n=t.length-1;if(s&&n>0){let e,a;for("value"!==this.options.gapUnit&&(s*=this.basePointRange),i&&i>s&&i>=this.basePointRange&&(s=i);n--;)if(a&&!1!==a.visible||(a=t[n+1]),e=t[n],!1!==a.visible&&!1!==e.visible){if(a.x-e.x>s){let i=(e.x+a.x)/2;t.splice(n+1,0,{isNull:!0,x:i}),r.stacking&&this.options.stacking&&((r.stacking.stacks[this.stackKey][i]=new(o())(r,r.options.stackLabels,!1,i,this.stack??"")).total=0)}a=e}}return this.getGraphPath(t)}e.compose=function(e,o){if(!e.keepProps.includes("brokenAxis")){e.keepProps.push("brokenAxis"),(0,t.addEvent)(e,"init",n),(0,t.addEvent)(e,"afterInit",i),(0,t.addEvent)(e,"afterSetTickPositions",s),(0,t.addEvent)(e,"afterSetOptions",r);let k=o.prototype;k.drawBreaks=f,k.gappedPath=u,(0,t.addEvent)(o,"afterGeneratePoints",a),(0,t.addEvent)(o,"afterRender",l)}return e};class k{static isInBreak(e,i){let t=e.repeat||1/0,r=e.from,s=e.to-e.from,n=i>=r?(i-r)%t:t-(r-i)%t;return e.inclusive?n<=s:n<s&&0!==n}static lin2Val(e){let i=this.min||0,r=this.brokenAxis,s=r?.breakArray;if(!s?.length||!(0,t.isNumber)(e))return e;let n=e;if(e>i)for(let e of s)if(e.from>n)break;else e.to<=n&&e.to>i?n+=e.len:k.isInBreak(e,n)&&(n+=e.len);else if(e<i)for(let e of s)if(e.from>i)break;else e.from>=n&&e.from<i?n-=e.len:k.isInBreak(e,n)&&(n-=e.len);return n}static val2Lin(e){let i=this.min||0,r=this.brokenAxis,s=r?.breakArray;if(!s?.length||!(0,t.isNumber)(e))return e;let n=e;if(e>i){for(let t of s)if(t.to<=e&&t.to>i)n-=t.len;else if(t.from>e)break;else if(k.isInBreak(t,e)){n-=e-t.from;break}}else if(e<i){for(let t of s)if(t.from>=e&&t.from<i)n+=t.len;else if(t.from>i)break;else if(k.isInBreak(t,e)){n+=t.to-e;break}}return n}constructor(e){this.axis=e}findBreakAt(e,i){return(0,t.find)(i,function(i){return i.from<e&&e<i.to})}isInAnyBreak(e,i){let r=this.axis,s=r.options.breaks||[],n=s.length,o,a,l;if(n&&(0,t.isNumber)(e)){for(;n--;)k.isInBreak(s[n],e)&&(o=!0,a||(a=(0,t.pick)(s[n].showPoints,!r.isXAxis)));l=o&&i?o&&!a:o}return l}setBreaks(e,i){let r=this,s=r.axis,n=s.chart.time,o=(0,t.isArray)(e)&&!!Object.keys(e?.[0]||{}).length;s.isDirty=(r.hasBreaks??!1)!==o,r.hasBreaks=o,e?.forEach(e=>{e.from=n.parse(e.from)||0,e.to=n.parse(e.to)||0}),e!==s.options.breaks&&(s.options.breaks=s.userOptions.breaks=e),s.forceRedraw=!0,s.series.forEach(function(e){e.isDirty=!0}),o||s.val2lin!==k.val2Lin||(delete s.val2lin,delete s.lin2val),o&&(s.userOptions.ordinal=!1,s.lin2val=k.lin2Val,s.val2lin=k.val2Lin,s.setExtremes=function(e,i,t,n,o){if(r.hasBreaks&&!s.treeGrid?.tree){let t,s=this.brokenAxis.breakArray||[];for(;t=r.findBreakAt(e,s);)e=t.to;for(;t=r.findBreakAt(i,s);)i=t.from;i<e&&(i=e)}s.constructor.prototype.setExtremes.call(this,e,i,t,n,o)},s.setAxisTranslation=function(){if(s.constructor.prototype.setAxisTranslation.call(this),r.unitLength=void 0,r.hasBreaks){let e=s.options.breaks||[],i=[],n=[],o=s.pointRangePadding??0,a=0,l,f,u=s.userMin??s.min,h=s.userMax??s.max,c,m,b=(0,t.isNumber)(u)?Math.min(s.dataMin??u,u):s.dataMin??u,p=(0,t.isNumber)(h)?Math.max(s.dataMax??h,h):s.dataMax??h;s.treeGrid?.tree||e.forEach(function(e){f=e.repeat||1/0,(0,t.isNumber)(u)&&(0,t.isNumber)(h)&&(k.isInBreak(e,u)&&(u+=e.to%f-u%f),k.isInBreak(e,h)&&(h-=h%f-e.from%f))}),(0,t.isNumber)(b)&&(0,t.isNumber)(p)&&e.forEach(function(e){for(c=e.from,f=e.repeat||1/0;c-f>b;)c-=f;for(;c<b;)c+=f;for(m=c;m<p;m+=f)i.push({value:m,move:"in"}),i.push({value:m+e.to-e.from,move:"out",size:e.breakSize})}),i.sort(function(e,i){return e.value===i.value?("in"!==e.move)-("in"!==i.move):e.value-i.value}),l=0,c=b,i.forEach(e=>{1===(l+="in"===e.move?1:-1)&&"in"===e.move&&(c=e.value),0===l&&(0,t.isNumber)(c)&&(n.push({from:c,to:e.value,len:e.value-c-(e.size||0)}),(0,t.isNumber)(u)&&(0,t.isNumber)(h)&&c<h&&e.value>u&&(a+=e.value-c-(e.size||0)))}),r.breakArray=n,(0,t.isNumber)(u)&&(0,t.isNumber)(h)&&(0,t.isNumber)(s.min)&&(r.unitLength=h-u-a+o,(0,t.fireEvent)(s,"afterBreaks"),s.staticScale?s.transA=s.staticScale:r.unitLength&&(s.transA*=(h-s.min+o)/r.unitLength),o&&(s.minPixelPadding=s.transA*(s.minPointOffset||0)),s.min=u,s.max=h)}}),(0,t.pick)(i,!0)&&s.chart.redraw()}}e.Additions=k}(r||(r={}));let a=r,l=s();l.BrokenAxis=l.BrokenAxis||a,l.BrokenAxis.compose(l.Axis,l.Series);let f=s();export{f as default};