highcharts
Version:
JavaScript charting framework
11 lines • 7.11 kB
JavaScript
!/**
* 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
*/function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(e._Highcharts,e._Highcharts.StackItem):"function"==typeof define&&define.amd?define("highcharts/modules/broken-axis",["highcharts/highcharts"],function(e){return t(e,e.StackItem)}):"object"==typeof exports?exports["highcharts/modules/broken-axis"]=t(e._Highcharts,e._Highcharts.StackItem):e.Highcharts=t(e.Highcharts,e.Highcharts.StackItem)}("u"<typeof window?this:window,(e,t)=>(()=>{"use strict";var i,r={184(e){e.exports=t},944(t){t.exports=e}};let s={};function n(e){let t=s[e];if(void 0!==t)return t.exports;let i=s[e]={exports:{}};return r[e](i,i.exports,n),i.exports}n.n=e=>{let t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{if(Array.isArray(t))for(var i=0;i<t.length;){var r=t[i++],s=t[i++];n.o(e,r)?0===s&&i++:0===s?Object.defineProperty(e,r,{enumerable:!0,value:t[i++]}):Object.defineProperty(e,r,{enumerable:!0,get:s})}else for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);let o={};n.d(o,{default:()=>k});var a=n(944),f=n.n(a),l=n(184),h=n.n(l);!function(e){function t(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function i(){Object.keys(this.options.breaks?.[0]||{}).length&&(this.options.ordinal=!1)}function r(){let e=this.brokenAxis;if(e?.hasBreaks){let t=this.tickPositions,i=this.tickPositions.info,r=[];for(let i=0;i<t.length;i++)e.isInAnyBreak(t[i])||r.push(t[i]);this.tickPositions=r,this.tickPositions.info=i}}function s(){this.brokenAxis||(this.brokenAxis=new u(this))}function n(){let{isDirty:e,options:{connectNulls:t},points:i,xAxis:r,yAxis:s}=this;if(e){let e=i.length;for(;e--;){let n=i[e],o=(null!==n.y||!1!==t)&&(r?.brokenAxis?.isInAnyBreak(n.x,!0)||s?.brokenAxis?.isInAnyBreak(n.y,!0));n.visible=!o&&!1!==n.options.visible}}}function o(){this.drawBreaks(this.xAxis,["x"]),this.drawBreaks(this.yAxis,(0,a.pick)(this.pointArrayMap,["y"]))}function f(e,t){let i,r,s,n=this,o=n.points;if(e?.brokenAxis?.hasBreaks){let f=e.brokenAxis;t.forEach(function(t){i=f?.breakArray||[],r=e.isXAxis?e.min:(0,a.pick)(n.options.threshold,e.min),o.forEach(function(n){s=n["stack"+t.toUpperCase()]??n[t],i.forEach(function(t){if((0,a.isNumber)(r)&&(0,a.isNumber)(s)){let i="";r<t.from&&s>t.to||r>t.from&&s<t.from?i="pointBreak":(r<t.from&&s>t.from&&s<t.to||r>t.from&&s>t.to&&s<t.from)&&(i="pointInBreak"),i&&(0,a.fireEvent)(e,i,{point:n,brk:t})}})})})}}function l(){let e=this.currentDataGrouping,t=e?.gapSize,i=this.points.slice(),r=this.yAxis,s=this.options.gapSize,n=i.length-1;if(s&&n>0){let e,o;for("value"!==this.options.gapUnit&&(s*=this.basePointRange),t&&t>s&&t>=this.basePointRange&&(s=t);n--;)if(o&&!1!==o.visible||(o=i[n+1]),e=i[n],!1!==o.visible&&!1!==e.visible){if(o.x-e.x>s){let t=(e.x+o.x)/2;i.splice(n+1,0,{isNull:!0,x:t}),r.stacking&&this.options.stacking&&((r.stacking.stacks[this.stackKey][t]=new(h())(r,r.options.stackLabels,!1,t,this.stack??"")).total=0)}o=e}}return this.getGraphPath(i)}e.compose=function(e,h){if(!e.keepProps.includes("brokenAxis")){e.keepProps.push("brokenAxis"),(0,a.addEvent)(e,"init",s),(0,a.addEvent)(e,"afterInit",t),(0,a.addEvent)(e,"afterSetTickPositions",r),(0,a.addEvent)(e,"afterSetOptions",i);let u=h.prototype;u.drawBreaks=f,u.gappedPath=l,(0,a.addEvent)(h,"afterGeneratePoints",n),(0,a.addEvent)(h,"afterRender",o)}return e};class u{static isInBreak(e,t){let i=e.repeat||1/0,r=e.from,s=e.to-e.from,n=t>=r?(t-r)%i:i-(r-t)%i;return e.inclusive?n<=s:n<s&&0!==n}static lin2Val(e){let t=this.min||0,i=this.brokenAxis,r=i?.breakArray;if(!r?.length||!(0,a.isNumber)(e))return e;let s=e;if(e>t)for(let e of r)if(e.from>s)break;else e.to<=s&&e.to>t?s+=e.len:u.isInBreak(e,s)&&(s+=e.len);else if(e<t)for(let e of r)if(e.from>t)break;else e.from>=s&&e.from<t?s-=e.len:u.isInBreak(e,s)&&(s-=e.len);return s}static val2Lin(e){let t=this.min||0,i=this.brokenAxis,r=i?.breakArray;if(!r?.length||!(0,a.isNumber)(e))return e;let s=e;if(e>t){for(let i of r)if(i.to<=e&&i.to>t)s-=i.len;else if(i.from>e)break;else if(u.isInBreak(i,e)){s-=e-i.from;break}}else if(e<t){for(let i of r)if(i.from>=e&&i.from<t)s+=i.len;else if(i.from>t)break;else if(u.isInBreak(i,e)){s+=i.to-e;break}}return s}constructor(e){this.axis=e}findBreakAt(e,t){return(0,a.find)(t,function(t){return t.from<e&&e<t.to})}isInAnyBreak(e,t){let i=this.axis,r=i.options.breaks||[],s=r.length,n,o,f;if(s&&(0,a.isNumber)(e)){for(;s--;)u.isInBreak(r[s],e)&&(n=!0,o||(o=(0,a.pick)(r[s].showPoints,!i.isXAxis)));f=n&&t?n&&!o:n}return f}setBreaks(e,t){let i=this,r=i.axis,s=r.chart.time,n=(0,a.isArray)(e)&&!!Object.keys(e?.[0]||{}).length;r.isDirty=(i.hasBreaks??!1)!==n,i.hasBreaks=n,e?.forEach(e=>{e.from=s.parse(e.from)||0,e.to=s.parse(e.to)||0}),e!==r.options.breaks&&(r.options.breaks=r.userOptions.breaks=e),r.forceRedraw=!0,r.series.forEach(function(e){e.isDirty=!0}),n||r.val2lin!==u.val2Lin||(delete r.val2lin,delete r.lin2val),n&&(r.userOptions.ordinal=!1,r.lin2val=u.lin2Val,r.val2lin=u.val2Lin,r.setExtremes=function(e,t,s,n,o){if(i.hasBreaks&&!r.treeGrid?.tree){let r,s=this.brokenAxis.breakArray||[];for(;r=i.findBreakAt(e,s);)e=r.to;for(;r=i.findBreakAt(t,s);)t=r.from;t<e&&(t=e)}r.constructor.prototype.setExtremes.call(this,e,t,s,n,o)},r.setAxisTranslation=function(){if(r.constructor.prototype.setAxisTranslation.call(this),i.unitLength=void 0,i.hasBreaks){let e=r.options.breaks||[],t=[],s=[],n=r.pointRangePadding??0,o=0,f,l,h=r.userMin??r.min,c=r.userMax??r.max,k,p,m=(0,a.isNumber)(h)?Math.min(r.dataMin??h,h):r.dataMin??h,b=(0,a.isNumber)(c)?Math.max(r.dataMax??c,c):r.dataMax??c;r.treeGrid?.tree||e.forEach(function(e){l=e.repeat||1/0,(0,a.isNumber)(h)&&(0,a.isNumber)(c)&&(u.isInBreak(e,h)&&(h+=e.to%l-h%l),u.isInBreak(e,c)&&(c-=c%l-e.from%l))}),(0,a.isNumber)(m)&&(0,a.isNumber)(b)&&e.forEach(function(e){for(k=e.from,l=e.repeat||1/0;k-l>m;)k-=l;for(;k<m;)k+=l;for(p=k;p<b;p+=l)t.push({value:p,move:"in"}),t.push({value:p+e.to-e.from,move:"out",size:e.breakSize})}),t.sort(function(e,t){return e.value===t.value?("in"!==e.move)-("in"!==t.move):e.value-t.value}),f=0,k=m,t.forEach(e=>{1===(f+="in"===e.move?1:-1)&&"in"===e.move&&(k=e.value),0===f&&(0,a.isNumber)(k)&&(s.push({from:k,to:e.value,len:e.value-k-(e.size||0)}),(0,a.isNumber)(h)&&(0,a.isNumber)(c)&&k<c&&e.value>h&&(o+=e.value-k-(e.size||0)))}),i.breakArray=s,(0,a.isNumber)(h)&&(0,a.isNumber)(c)&&(0,a.isNumber)(r.min)&&(i.unitLength=c-h-o+n,(0,a.fireEvent)(r,"afterBreaks"),r.staticScale?r.transA=r.staticScale:i.unitLength&&(r.transA*=(c-r.min+n)/i.unitLength),n&&(r.minPixelPadding=r.transA*(r.minPointOffset||0)),r.min=h,r.max=c)}}),(0,a.pick)(t,!0)&&r.chart.redraw()}}e.Additions=u}(i||(i={}));let u=i,c=f();c.BrokenAxis=c.BrokenAxis||u,c.BrokenAxis.compose(c.Axis,c.Series);let k=f();return o.default})());