highcharts
Version:
JavaScript charting framework
11 lines • 8.65 kB
JavaScript
!/**
* Highcharts JS v12.6.0 (2026-04-13)
* @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 r,i={184:e=>{e.exports=t},944:t=>{t.exports=e}},n={};function o(e){var t=n[e];if(void 0!==t)return t.exports;var r=n[e]={exports:{}};return i[e](r,r.exports,o),r.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var s={};o.d(s,{default:()=>g});var a=o(944),l=o.n(a),f=o(184),c=o.n(f);let{doc:h,win:u}=l();function p(e,t,r,i={}){let n="function"==typeof e&&e.prototype||e;Object.hasOwnProperty.call(n,"hcEvents")||(n.hcEvents={});let o=n.hcEvents;l().Point&&e instanceof l().Point&&e.series&&e.series.chart&&(e.series.chart.runTrackerClick=!0);let s=e.addEventListener;s&&s.call(e,t,r,!!l().supportsPassiveEvents&&{passive:void 0===i.passive?-1!==t.indexOf("touch"):i.passive,capture:!1}),o[t]||(o[t]=[]);let a={fn:r,order:"number"==typeof i.order?i.order:1/0};return o[t].push(a),o[t].sort((e,t)=>e.order-t.order),function(){!function(e,t,r){function i(t,r){let i=e.removeEventListener;i&&i.call(e,t,r,!1)}function n(r){let n,o;if(e.nodeName){t?(n={})[t]=!0:n=r;var s=n,a=function(e,t){if(r[t])for(o=r[t].length;o--;)i(t,r[t][o].fn)};for(let e in s)Object.hasOwnProperty.call(s,e)&&a.call(s[e],s[e],e,s)}}let o="function"==typeof e&&e.prototype||e;if(Object.hasOwnProperty.call(o,"hcEvents")){let e=o.hcEvents;if(t){let o=e[t]||[];r?(e[t]=o.filter(function(e){return r!==e.fn}),i(t,r)):(n(e),e[t]=[])}else n(e),delete o.hcEvents}}(e,t,r)}}function k(e,t){let r;for(r in e||(e={}),t)e[r]=t[r];return e}function v(e,t,r,i){if(r=r||{},h?.createEvent&&(e.dispatchEvent||e.fireEvent&&e!==l())){let i=h.createEvent("Events");i.initEvent(t,!0,!0),r=k(i,r),e.dispatchEvent?e.dispatchEvent(r):e.fireEvent(t,r)}else if(e.hcEvents){r.target||k(r,{preventDefault:function(){r.defaultPrevented=!0},target:e,type:t});let i=[],n=e,o=!1;for(;n.hcEvents;)Object.hasOwnProperty.call(n,"hcEvents")&&n.hcEvents[t]&&(i.length&&(o=!0),i.unshift.apply(i,n.hcEvents[t])),n=Object.getPrototypeOf(n);o&&i.sort((e,t)=>e.order-t.order),i.forEach(t=>{!1===t.fn.call(e,r,e)&&r.preventDefault()})}i&&!r.defaultPrevented&&i.call(e,r)}let d=Array.prototype.find?function(e,t){return e.find(t)}:function(e,t){let r,i=e.length;for(r=0;r<i;r++)if(t(e[r],r))return e[r]};function m(e){return"number"==typeof e&&!isNaN(e)&&e<1/0&&e>-1/0}function b(){let e=arguments,t=e.length;for(let r=0;r<t;r++){let t=e[r];if(null!=t)return t}}!function(e){function t(){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 i(){let e=this.brokenAxis;if(e?.hasBreaks){let t=this.tickPositions,r=this.tickPositions.info,i=[];for(let r=0;r<t.length;r++)e.isInAnyBreak(t[r])||i.push(t[r]);this.tickPositions=i,this.tickPositions.info=r}}function n(){this.brokenAxis||(this.brokenAxis=new f(this))}function o(){let{isDirty:e,options:{connectNulls:t},points:r,xAxis:i,yAxis:n}=this;if(e){let e=r.length;for(;e--;){let o=r[e],s=(null!==o.y||!1!==t)&&(i?.brokenAxis?.isInAnyBreak(o.x,!0)||n?.brokenAxis?.isInAnyBreak(o.y,!0));o.visible=!s&&!1!==o.options.visible}}}function s(){this.drawBreaks(this.xAxis,["x"]),this.drawBreaks(this.yAxis,b(this.pointArrayMap,["y"]))}function a(e,t){let r,i,n,o=this,s=o.points;if(e?.brokenAxis?.hasBreaks){let a=e.brokenAxis;t.forEach(function(t){r=a?.breakArray||[],i=e.isXAxis?e.min:b(o.options.threshold,e.min),s.forEach(function(o){n=o["stack"+t.toUpperCase()]??o[t],r.forEach(function(t){if(m(i)&&m(n)){let r="";i<t.from&&n>t.to||i>t.from&&n<t.from?r="pointBreak":(i<t.from&&n>t.from&&n<t.to||i>t.from&&n>t.to&&n<t.from)&&(r="pointInBreak"),r&&v(e,r,{point:o,brk:t})}})})})}}function l(){let e=this.currentDataGrouping,t=e?.gapSize,r=this.points.slice(),i=this.yAxis,n=this.options.gapSize,o=r.length-1;if(n&&o>0){let e,s;for("value"!==this.options.gapUnit&&(n*=this.basePointRange),t&&t>n&&t>=this.basePointRange&&(n=t);o--;)if(s&&!1!==s.visible||(s=r[o+1]),e=r[o],!1!==s.visible&&!1!==e.visible){if(s.x-e.x>n){let t=(e.x+s.x)/2;r.splice(o+1,0,{isNull:!0,x:t}),i.stacking&&this.options.stacking&&((i.stacking.stacks[this.stackKey][t]=new(c())(i,i.options.stackLabels,!1,t,this.stack??"")).total=0)}s=e}}return this.getGraphPath(r)}e.compose=function(e,f){if(!e.keepProps.includes("brokenAxis")){e.keepProps.push("brokenAxis"),p(e,"init",n),p(e,"afterInit",t),p(e,"afterSetTickPositions",i),p(e,"afterSetOptions",r);let c=f.prototype;c.drawBreaks=a,c.gappedPath=l,p(f,"afterGeneratePoints",o),p(f,"afterRender",s)}return e};class f{static isInBreak(e,t){let r=e.repeat||1/0,i=e.from,n=e.to-e.from,o=t>=i?(t-i)%r:r-(i-t)%r;return e.inclusive?o<=n:o<n&&0!==o}static lin2Val(e){let t=this.min||0,r=this.brokenAxis,i=r?.breakArray;if(!i?.length||!m(e))return e;let n=e;if(e>t)for(let e of i)if(e.from>n)break;else e.to<=n&&e.to>t?n+=e.len:f.isInBreak(e,n)&&(n+=e.len);else if(e<t)for(let e of i)if(e.from>t)break;else e.from>=n&&e.from<t?n-=e.len:f.isInBreak(e,n)&&(n-=e.len);return n}static val2Lin(e){let t=this.min||0,r=this.brokenAxis,i=r?.breakArray;if(!i?.length||!m(e))return e;let n=e;if(e>t){for(let r of i)if(r.to<=e&&r.to>t)n-=r.len;else if(r.from>e)break;else if(f.isInBreak(r,e)){n-=e-r.from;break}}else if(e<t){for(let r of i)if(r.from>=e&&r.from<t)n+=r.len;else if(r.from>t)break;else if(f.isInBreak(r,e)){n+=r.to-e;break}}return n}constructor(e){this.axis=e}findBreakAt(e,t){return d(t,function(t){return t.from<e&&e<t.to})}isInAnyBreak(e,t){let r=this.axis,i=r.options.breaks||[],n=i.length,o,s,a;if(n&&m(e)){for(;n--;)f.isInBreak(i[n],e)&&(o=!0,s||(s=b(i[n].showPoints,!r.isXAxis)));a=o&&t?o&&!s:o}return a}setBreaks(e,t){let r,i=this,n=i.axis,o=n.chart.time,s=("[object Array]"===(r=Object.prototype.toString.call(e))||"[object Array Iterator]"===r)&&!!Object.keys(e?.[0]||{}).length;n.isDirty=(i.hasBreaks??!1)!==s,i.hasBreaks=s,e?.forEach(e=>{e.from=o.parse(e.from)||0,e.to=o.parse(e.to)||0}),e!==n.options.breaks&&(n.options.breaks=n.userOptions.breaks=e),n.forceRedraw=!0,n.series.forEach(function(e){e.isDirty=!0}),s||n.val2lin!==f.val2Lin||(delete n.val2lin,delete n.lin2val),s&&(n.userOptions.ordinal=!1,n.lin2val=f.lin2Val,n.val2lin=f.val2Lin,n.setExtremes=function(e,t,r,o,s){if(i.hasBreaks&&!n.treeGrid?.tree){let r,n=this.brokenAxis.breakArray||[];for(;r=i.findBreakAt(e,n);)e=r.to;for(;r=i.findBreakAt(t,n);)t=r.from;t<e&&(t=e)}n.constructor.prototype.setExtremes.call(this,e,t,r,o,s)},n.setAxisTranslation=function(){if(n.constructor.prototype.setAxisTranslation.call(this),i.unitLength=void 0,i.hasBreaks){let e=n.options.breaks||[],t=[],r=[],o=n.pointRangePadding??0,s=0,a,l,c=n.userMin??n.min,h=n.userMax??n.max,u=n.dataMin??c,p=n.dataMax??h,k,d;m(n.threshold)&&(u=Math.min(u??n.threshold,n.threshold),p=Math.max(p??n.threshold,n.threshold)),n.treeGrid?.tree||e.forEach(function(e){l=e.repeat||1/0,m(c)&&m(h)&&(f.isInBreak(e,c)&&(c+=e.to%l-c%l),f.isInBreak(e,h)&&(h-=h%l-e.from%l))}),m(u)&&m(p)&&e.forEach(function(e){for(k=e.from,l=e.repeat||1/0;k-l>u;)k-=l;for(;k<u;)k+=l;for(d=k;d<p;d+=l)t.push({value:d,move:"in"}),t.push({value:d+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}),a=0,k=u,t.forEach(e=>{1===(a+="in"===e.move?1:-1)&&"in"===e.move&&(k=e.value),0===a&&m(k)&&(r.push({from:k,to:e.value,len:e.value-k-(e.size||0)}),m(c)&&m(h)&&k<h&&e.value>c&&(s+=e.value-k-(e.size||0)))}),i.breakArray=r,m(c)&&m(h)&&m(n.min)&&(i.unitLength=h-c-s+o,v(n,"afterBreaks"),n.staticScale?n.transA=n.staticScale:i.unitLength&&(n.transA*=(h-n.min+o)/i.unitLength),o&&(n.minPixelPadding=n.transA*(n.minPointOffset||0)),n.min=c,n.max=h)}}),b(t,!0)&&n.chart.redraw()}}e.Additions=f}(r||(r={}));let x=r,y=l();y.BrokenAxis=y.BrokenAxis||x,y.BrokenAxis.compose(y.Axis,y.Series);let g=l();return s.default})());