highcharts
Version:
JavaScript charting framework
13 lines • 139 kB
JavaScript
!/**
* Highcharts JS v13.0.1 (2026-08-17)
* @module highcharts/modules/accessibility
* @requires highcharts
*
* Accessibility module
*
* (c) 2010-2026 Highsoft AS
* Author: Øystein Moseng
*
* 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.Templating,e._Highcharts.AST,e._Highcharts.Legend,e._Highcharts.Axis,e._Highcharts.SeriesRegistry,e._Highcharts.SVGRenderer,e._Highcharts.Point,e._Highcharts.Series):"function"==typeof define&&define.amd?define("highcharts/modules/accessibility",["highcharts/highcharts"],function(e){return t(e,e.Templating,e.AST,e.Legend,e.Axis,e.SeriesRegistry,e.SVGRenderer,e.Point,e.Series)}):"object"==typeof exports?exports["highcharts/modules/accessibility"]=t(e._Highcharts,e._Highcharts.Templating,e._Highcharts.AST,e._Highcharts.Legend,e._Highcharts.Axis,e._Highcharts.SeriesRegistry,e._Highcharts.SVGRenderer,e._Highcharts.Point,e._Highcharts.Series):e.Highcharts=t(e.Highcharts,e.Highcharts.Templating,e.Highcharts.AST,e.Highcharts.Legend,e.Highcharts.Axis,e.Highcharts.SeriesRegistry,e.Highcharts.SVGRenderer,e.Highcharts.Point,e.Highcharts.Series)}("u"<typeof window?this:window,(e,t,i,r,s,n,o,a,l)=>(()=>{"use strict";let h;var d,c,u,p,g={660(e){e.exports=i},532(e){e.exports=s},632(e){e.exports=r},260(e){e.exports=a},540(e){e.exports=o},820(e){e.exports=l},512(e){e.exports=n},984(e){e.exports=t},944(t){t.exports=e}};let m={};function b(e){let t=m[e];if(void 0!==t)return t.exports;let i=m[e]={exports:{}};return g[e](i,i.exports,b),i.exports}b.n=e=>{let t=e&&e.__esModule?()=>e.default:()=>e;return b.d(t,{a:t}),t},b.d=(e,t)=>{if(Array.isArray(t))for(var i=0;i<t.length;){var r=t[i++],s=t[i++];b.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)b.o(t,r)&&!b.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},b.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);let f={};b.d(f,{default:()=>i2});var x=b(944),y=b.n(x);let{doc:v,win:E}=y(),w=E.EventTarget&&new E.EventTarget||"none";function A(e){if("function"==typeof E.MouseEvent)return new E.MouseEvent(e.type,e);if(v?.createEvent){let t=v.createEvent("MouseEvent");if(t.initMouseEvent)return t.initMouseEvent(e.type,e.bubbles,e.cancelable,e.view||E,e.detail,e.screenX,e.screenY,e.clientX,e.clientY,e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget),t}return T(e.type)}function T(e,t,i){let r=t||{x:0,y:0};if("function"==typeof E.MouseEvent)return new E.MouseEvent(e,{bubbles:!0,cancelable:!0,composed:!0,button:0,buttons:1,relatedTarget:i||w,view:E,detail:+("click"===e),screenX:r.x,screenY:r.y,clientX:r.x,clientY:r.y});if(v?.createEvent){let t=v.createEvent("MouseEvent");if(t.initMouseEvent)return t.initMouseEvent(e,!0,!0,E,+("click"===e),r.x,r.y,r.x,r.y,!1,!1,!1,!1,0,null),t}return{type:e}}let k={addClass:function(e,t){e.classList?e.classList.add(t):0>e.className.indexOf(t)&&(e.className+=" "+t)},cloneMouseEvent:A,cloneTouchEvent:function(e){let t=e=>{let t=[];for(let i=0;i<e.length;++i){let r=e.item(i);r&&t.push(r)}return t};if("function"==typeof E.TouchEvent){let i=new E.TouchEvent(e.type,{touches:t(e.touches),targetTouches:t(e.targetTouches),changedTouches:t(e.changedTouches),ctrlKey:e.ctrlKey,shiftKey:e.shiftKey,altKey:e.altKey,metaKey:e.metaKey,bubbles:e.bubbles,cancelable:e.cancelable,composed:e.composed,detail:e.detail,view:e.view});return e.defaultPrevented&&i.preventDefault(),i}let i=A(e);return i.touches=e.touches,i.changedTouches=e.changedTouches,i.targetTouches=e.targetTouches,i},escapeStringForHTML:function(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")},getElement:function(e){return v.getElementById(e)},getFakeMouseEvent:T,getHeadingTagNameForElement:function(e){let t=e=>"h"+Math.min(6,parseInt(e.slice(1),10)+1),i=e=>/^H[1-6]$/i.test(e),r=e=>{let s=(e=>{let t=e;for(;t=t.previousSibling;){let e=t.tagName||"";if(i(e))return e}return""})(e);if(s)return t(s);let n=e.parentElement;if(!n)return"h6";let o=n.tagName;return i(o)?t(o):r(n)};return r(e)},removeChildNodes:function(e){for(;e.lastChild;)e.removeChild(e.lastChild)},removeClass:function(e,t){e.classList?e.classList.remove(t):e.className=e.className.replace(RegExp(t,"g"),"")},removeElement:function(e){e&&e.parentNode&&e.parentNode.removeChild(e)},reverseChildNodes:function(e){let t=e.childNodes.length;for(;t--;)e.appendChild(e.childNodes[t])},simulatedEventTarget:w,stripHTMLTagsFromString:function(e,t=!1){return"string"==typeof e?t?e.replace(/<\/?[^>]+(>|$)/g,""):e.replace(/<\/?(?!\s)[^>]+(>|$)/g,""):e},visuallyHideElement:function(e){(0,x.css)(e,{position:"absolute",width:"1px",height:"1px",overflow:"hidden",whiteSpace:"nowrap",clip:"rect(1px, 1px, 1px, 1px)",marginTop:"-3px","-ms-filter":"progid:DXImageTransform.Microsoft.Alpha(Opacity=1)",filter:"alpha(opacity=1)",opacity:.01})}};var M=b(984),C=b.n(M);let{format:S}=C();var P=d||(d={});function D(e,t,i){let r=(e,t)=>{let i=e.slice(t||0),r=i.indexOf("{"),s=i.indexOf("}");if(r>-1&&s>r)return{statement:i.substring(r+1,s),begin:t+r+1,end:t+s}},s=[],n,o,a=0;do n=r(e,a),(o=e.substring(a,n&&n.begin-1)).length&&s.push({value:o,type:"constant"}),n&&s.push({value:n.statement,type:"statement"}),a=n?n.end+1:a+1;while(n);return s.forEach(e=>{"statement"===e.type&&(e.value=function(e,t){let i,r,s=e.indexOf("#each("),n=e.indexOf("#plural("),o=e.indexOf("["),a=e.indexOf("]");if(s>-1){let n=e.slice(s).indexOf(")")+s,o=e.substring(0,s),a=e.substring(n+1),l=e.substring(s+6,n).split(","),h=Number(l[1]),d;if(r="",i=(0,x.getNestedProperty)(l[0],t)){d=(h=isNaN(h)?i.length:h)<0?i.length+h:Math.min(h,i.length);for(let e=0;e<d;++e)r+=o+i[e]+a}return r.length?r:""}if(n>-1){var l;let i=e.slice(n).indexOf(")")+n,s=e.substring(n+8,i).split(",");switch(Number((0,x.getNestedProperty)(s[0],t))){case 0:r=(0,x.pick)(s[4],s[1]);break;case 1:r=(0,x.pick)(s[2],s[1]);break;case 2:r=(0,x.pick)(s[3],s[1]);break;default:r=s[1]}return r?(l=r).trim&&l.trim()||l.replace(/^\s+|\s+$/g,""):""}if(o>-1){let r,s=e.substring(0,o),n=Number(e.substring(o+1,a));return i=(0,x.getNestedProperty)(s,t),!isNaN(n)&&i&&(n<0?void 0===(r=i[i.length+n])&&(r=i[0]):void 0===(r=i[n])&&(r=i[i.length-1])),void 0!==r?r:""}return"{"+e+"}"}(e.value,t))}),S(s.reduce((e,t)=>e+t.value,""),t,i)}function N(e,t){let i=e.split("."),r=this.options.lang,s=0;for(;s<i.length;++s)r=r&&r[i[s]];return"string"==typeof r?D(r,t,this):""}P.compose=function(e){let t=e.prototype;t.langFormat||(t.langFormat=N)},P.i18nFormat=D;let B=d,{doc:I}=y(),{stripHTMLTagsFromString:F}=k;function O(e){if(e.points&&e.points.length){let t=(0,x.find)(e.points,e=>!!e.graphic);return t&&t.graphic&&t.graphic.element}}function R(e){let t=O(e);return t&&t.parentNode||e.graph&&e.graph.element||e.group&&e.group.element}let L={fireEventOnWrappedOrUnwrappedElement:function e(t,i){let r=i.type,s=t.hcEvents;I?.createEvent&&(t.dispatchEvent||t.fireEvent)?t.dispatchEvent?t.dispatchEvent(i):t.fireEvent(r,i):s&&s[r]?(0,x.fireEvent)(t,r,i):t.element&&e(t.element,i)},getChartTitle:function(e){return F(e.options.title.text||e.langFormat("accessibility.defaultChartTitle",{chart:e}),e.renderer.forExport)},getAxisDescription:function(e){return e&&(e.options.accessibility?.description||e.axisTitle?.textStr||e.options.id||e.categories&&e.chart.langFormat("accessibility.axis.defaultAxisNames.categories",{})||e.dateTime&&e.chart.langFormat("accessibility.axis.defaultAxisNames.time",{})||e.chart.langFormat("accessibility.axis.defaultAxisNames.values",{}))},getAxisRangeDescription:function(e){var t,i,r;let s,n,o,a,l,h,d,c,u,p,g,m,b=e.options||{};return b.accessibility&&void 0!==b.accessibility.rangeDescription?b.accessibility.rangeDescription:e.categories?(s=(t=e).chart,t.dataMax&&t.dataMin?s.langFormat("accessibility.axis.rangeCategories",{chart:s,axis:t,numCategories:t.dataMax-t.dataMin+1}):""):e.dateTime&&(0===e.min||0===e.dataMin)?(n=(i=e).chart,o={},a=i.dataMin||i.min||0,l=i.dataMax||i.max||0,h="Seconds",o.Seconds=(l-a)/1e3,o.Minutes=o.Seconds/60,o.Hours=o.Minutes/60,o.Days=o.Hours/24,["Minutes","Hours","Days"].forEach(function(e){o[e]>2&&(h=e)}),d=o[h].toFixed(+("Seconds"!==h&&"Minutes"!==h)),n.langFormat("accessibility.axis.timeRange"+h,{chart:n,axis:i,range:d.replace(".0","")})):(p=(u=(c=(r=e).chart).options)&&u.accessibility&&u.accessibility.screenReaderSection.axisRangeDateFormat||"",g={min:r.dataMin||r.min||0,max:r.dataMax||r.max||0},m=function(e){return r.dateTime?c.time.dateFormat(p,g[e]):g[e].toString()},c.langFormat("accessibility.axis.rangeFromTo",{chart:c,axis:r,rangeFrom:m("min"),rangeTo:m("max")}))},getPointFromXY:function(e,t,i){let r=e.length,s;for(;r--;)if(s=(0,x.find)(e[r].points||[],function(e){return e.x===t&&e.y===i}))return s},getSeriesFirstPointElement:O,getSeriesFromName:function(e,t){return t?(e.series||[]).filter(function(e){return e.name===t}):e.series},getSeriesA11yElement:R,unhideChartElementFromAT:function e(t,i){i.setAttribute("aria-hidden",!1),i!==t.renderTo&&i.parentNode&&i.parentNode!==I.body&&(Array.prototype.forEach.call(i.parentNode.childNodes,function(e){e.hasAttribute("aria-hidden")||e.setAttribute("aria-hidden",!0)}),e(t,i.parentNode))},hideSeriesFromAT:function(e){let t=R(e);t&&t.setAttribute("aria-hidden",!0)},scrollAxisToPoint:function(e){let t=e.series.xAxis,i=e.series.yAxis,r=t&&t.scrollbar?t:i,s=r&&r.scrollbar;if(s&&(0,x.defined)(s.to)&&(0,x.defined)(s.from)){let t=s.to-s.from,i=function(e,t){if(!(0,x.defined)(e.dataMin)||!(0,x.defined)(e.dataMax))return 0;let i=e.toPixels(e.dataMin),r=e.toPixels(e.dataMax),s="xAxis"===e.coll?"x":"y";return(e.toPixels(t[s]||0)-i)/(r-i)}(r,e);s.updatePosition(i-t/2,i+t/2),(0,x.fireEvent)(s,"changed",{from:s.from,to:s.to,trigger:"scrollbar",DOMEvent:null})}}},{doc:H}=y(),{removeElement:z}=k,q=class{constructor(){this.elements=[]}createElement(){let e=H.createElement.apply(H,arguments);return this.elements.push(e),e}removeElement(e){z(e),this.elements.splice(this.elements.indexOf(e),1)}destroyCreatedElements(){this.elements.forEach(function(e){z(e)}),this.elements=[]}},U=class{constructor(){this.eventRemovers=[]}addEvent(){let e=x.addEvent.apply(y(),arguments);return this.eventRemovers.push({element:arguments[0],remover:e}),e}removeEvent(e){let t=this.eventRemovers.map(e=>e.remover).indexOf(e);this.eventRemovers[t].remover(),this.eventRemovers.splice(t,1)}removeAddedEvents(){this.eventRemovers.map(e=>e.remover).forEach(e=>e()),this.eventRemovers=[]}},{fireEventOnWrappedOrUnwrappedElement:G}=L,{getFakeMouseEvent:K}=k,V=class{destroy(){}getKeyboardNavigation(){return[]}init(){}onChartRender(){}onChartUpdate(){}initBase(e,t){this.chart=e,this.eventProvider=new U,this.domElementProvider=new q,this.proxyProvider=t,this.keyCodes={left:37,right:39,up:38,down:40,enter:13,space:32,esc:27,tab:9,pageUp:33,pageDown:34,end:35,home:36}}addEvent(e,t,i,r){return this.eventProvider.addEvent(e,t,i,r)}createElement(e,t){return this.domElementProvider.createElement(e,t)}fakeClickEvent(e){G(e,K("click"))}destroyBase(){this.domElementProvider.destroyCreatedElements(),this.eventProvider.removeAddedEvents()}},W=class{constructor(e,t){this.chart=e,this.keyCodeMap=t.keyCodeMap||[],this.validate=t.validate,this.init=t.init,this.terminate=t.terminate,this.response={success:1,prev:2,next:3,noHandler:4,fail:5}}run(e){let t=e.which||e.keyCode,i=this.response.noHandler,r=(0,x.find)(this.keyCodeMap,function(e){return e[0].indexOf(t)>-1});return r?i=r[1].call(this,t,e):9===t&&(i=this.response[e.shiftKey?"prev":"next"]),i}},{unhideChartElementFromAT:X,getChartTitle:Y}=L,{doc:j}=y(),{stripHTMLTagsFromString:Z}=k,_=class extends V{onChartUpdate(){this.handleSVGTitleElement(),this.setSVGContainerLabel(),this.setGraphicContainerAttrs(),this.setRenderToAttrs(),this.makeCreditsAccessible()}handleSVGTitleElement(){let e=this.chart,t="highcharts-title-"+e.index,i=Z(e.langFormat("accessibility.svgContainerTitle",{chartTitle:Y(e)}));if(i.length){let r=this.svgTitleElement=this.svgTitleElement||j.createElementNS("http://www.w3.org/2000/svg","title");r.textContent=i,r.id=t,e.renderTo.insertBefore(r,e.renderTo.firstChild)}}setSVGContainerLabel(){let e=this.chart,t=e.langFormat("accessibility.svgContainerLabel",{chartTitle:Y(e)});e.renderer.box&&t.length&&e.renderer.box.setAttribute("aria-label",t)}setGraphicContainerAttrs(){let e=this.chart,t=e.langFormat("accessibility.graphicContainerLabel",{chartTitle:Y(e)});t.length&&e.container.setAttribute("aria-label",t)}setRenderToAttrs(){let e=this.chart,t="disabled"!==e.options.accessibility.landmarkVerbosity,i=e.langFormat("accessibility.chartContainerLabel",{title:Y(e),chart:e});i&&(e.renderTo.setAttribute("role",t?"region":"group"),e.renderTo.setAttribute("aria-label",i))}makeCreditsAccessible(){let e=this.chart,t=e.credits;t&&(t.textStr&&t.element.setAttribute("aria-label",e.langFormat("accessibility.credits",{creditsStr:Z(t.textStr,e.renderer.forExport)})),X(e,t.element))}getKeyboardNavigation(){let e=this.chart;return new W(e,{keyCodeMap:[],validate:function(){return!0},init:function(){let t=e.accessibility;t&&t.keyboardNavigation.tabindexContainer.focus()}})}destroy(){this.chart.renderTo.setAttribute("aria-hidden",!0)}};!function(e){let t=["x","y","transform","width","height","r","d","stroke-width"];function i(){let e=this.focusElement,t=this.options.accessibility.keyboardNavigation.focusBorder;e&&(e.removeFocusBorder(),t.enabled&&e.addFocusBorder(t.margin,{stroke:t.style.color,strokeWidth:t.style.lineWidth,r:t.style.borderRadius}))}function r(e,t){let i=this.options.accessibility.keyboardNavigation.focusBorder,r=t||e.element;r&&r.focus&&(r.hcEvents&&r.hcEvents.focusin||(0,x.addEvent)(r,"focusin",function(){}),r.focus(),i.hideBrowserFocusOutline&&(r.style.outline="none")),this.focusElement&&this.focusElement.removeFocusBorder(),this.focusElement=e,(0,x.addEvent)(this,"endResize",function(){this.renderFocusBorder()}),this.renderFocusBorder()}function s(e,i){this.focusBorder&&this.removeFocusBorder();let r=this.getBBox(),s=(0,x.pick)(e,3),n=this.parentGroup,o=this.scaleX||n&&n.scaleX,a=this.scaleY||n&&n.scaleY,l=(o?!a:a)?Math.abs(o||a||1):(Math.abs(o||1)+Math.abs(a||1))/2,h=this.renderer.fontMetrics(this).h;r.x+=this.translateX?this.translateX:0,r.y+=this.translateY?this.translateY:0;let d=r.x-s,c=r.y-s,u=r.width+2*s,p=r.height+2*s,g=!!this.text;if("text"===this.element.nodeName||g){let e,t,i=!!this.rotation,n=g?{x:+!!i,y:0}:(e=0,t=0,"middle"===this.attr("text-anchor")?e=t=.5:this.rotation?e=.25:t=.75,{x:e,y:t}),o=+this.attr("x"),a=+this.attr("y");if(isNaN(o)||(d=o-r.width*n.x-s),isNaN(a)||(c=a-("start"===this.attr("text-anchor")?h:r.height)*n.y-s),g&&i){let e=u;u=p,p=e,isNaN(o)||(d=o-r.height*n.x-s),isNaN(a)||(c=a-r.width*n.y-s)}}this.focusBorder=this.renderer.rect(d,c,u,p,parseInt((i&&i.r||0).toString(),10)/l).addClass("highcharts-focus-border").attr({zIndex:99}).add(n),this.renderer.styledMode||this.focusBorder.attr({stroke:i&&i.stroke,"stroke-width":(i&&i.strokeWidth||0)/l}),function(e,...i){e.focusBorderUpdateHooks||(e.focusBorderUpdateHooks={},t.forEach(t=>{let r=t+"Setter",s=e[r]||e._defaultSetter;e.focusBorderUpdateHooks[r]=s,e[r]=function(){let t=s.apply(e,arguments);return e.addFocusBorder.apply(e,i),t}}))}(this,e,i),function(e){if(e.focusBorderDestroyHook)return;let t=e.destroy;e.destroy=function(){return e.focusBorder&&e.focusBorder.destroy&&e.focusBorder.destroy(),t.apply(e,arguments)},e.focusBorderDestroyHook=t}(this)}function n(){var e;e=this,e.focusBorderUpdateHooks&&(Object.keys(e.focusBorderUpdateHooks).forEach(t=>{let i=e.focusBorderUpdateHooks[t];i===e._defaultSetter?delete e[t]:e[t]=i}),delete e.focusBorderUpdateHooks),this.focusBorderDestroyHook&&(this.destroy=this.focusBorderDestroyHook,delete this.focusBorderDestroyHook),this.focusBorder&&(this.focusBorder.destroy(),delete this.focusBorder)}e.compose=function(e,t){let o=e.prototype,a=t.prototype;o.renderFocusBorder||(o.renderFocusBorder=i,o.setFocusToElement=r),a.addFocusBorder||(a.addFocusBorder=s,a.removeFocusBorder=n)}}(c||(c={}));let $=c;var Q=b(660),J=b.n(Q);let{doc:ee}=y(),{addClass:et,visuallyHideElement:ei}=k,er=class{constructor(e,t){this.chart=e,this.domElementProvider=new q,this.announceRegion=this.addAnnounceRegion(t)}destroy(){this.domElementProvider.destroyCreatedElements()}announce(e){J().setElementHTML(this.announceRegion,e),this.clearAnnouncementRegionTimer&&(0,x.internalClearTimeout)(this.clearAnnouncementRegionTimer),this.clearAnnouncementRegionTimer=setTimeout(()=>{this.announceRegion.innerHTML=J().emptyHTML,delete this.clearAnnouncementRegionTimer},3e3)}addAnnounceRegion(e){let t=this.chart.announcerContainer||this.createAnnouncerContainer(),i=this.domElementProvider.createElement("div");return(0,x.attr)(i,{"aria-hidden":!1,"aria-live":e,"aria-atomic":!0}),ei(i),this.chart.styledMode&&et(i,"highcharts-visually-hidden"),t.appendChild(i),i}createAnnouncerContainer(){let e=this.chart,t=ee.createElement("div");return(0,x.attr)(t,{"aria-hidden":!1,class:"highcharts-announcer-container"}),ei(t),e.renderTo.insertBefore(t,e.renderTo.firstChild),e.announcerContainer=t,t}},{escapeStringForHTML:es,stripHTMLTagsFromString:en}=k;function eo(e){return(e.annotations||[]).reduce((e,t)=>(t.options&&!1!==t.options.visible&&(e=e.concat(t.labels)),e),[])}function ea(e){return e.options&&e.options.accessibility&&e.options.accessibility.description||e.graphic&&e.graphic.text&&e.graphic.text.textStr||""}function el(e){let t=e.options&&e.options.accessibility&&e.options.accessibility.description;if(t)return t;let i=e.chart,r=ea(e),s=e.points.filter(e=>!!e.graphic).map(e=>{let t=e.accessibility&&e.accessibility.valueDescription||e.graphic&&e.graphic.element&&e.graphic.element.getAttribute("aria-label")||"",i=e&&e.series.name||"";return(i?i+", ":"")+"data point "+t}).filter(e=>!!e),n=s.length,o=n>1?"MultiplePoints":n?"SinglePoint":"NoPoints",a={annotationText:r,annotation:e,numPoints:n,annotationPoint:s[0],additionalAnnotationPoints:s.slice(1)};return i.langFormat("accessibility.screenReaderSection.annotations.description"+o,a)}function eh(e){return eo(e).map(t=>{let i=es(en(el(t),e.renderer.forExport));return i?`<li>${i}</li>`:""})}let ed={getAnnotationsInfoHTML:function(e){let t=e.annotations;if(!(t&&t.length))return"";let i=eh(e);return`<ul style="list-style-type: none">${i.join(" ")}</ul>`},getAnnotationLabelDescription:el,getAnnotationListItems:eh,getPointAnnotationTexts:function(e){let t=eo(e.series.chart).filter(t=>t.points.indexOf(e)>-1);return t.length?t.map(e=>`${ea(e)}`):[]}},{getAnnotationsInfoHTML:ec}=ed,{getAxisDescription:eu,getAxisRangeDescription:ep,getChartTitle:eg,unhideChartElementFromAT:em}=L,{format:eb}=C(),{doc:ef}=y(),{addClass:ex,getElement:ey,getHeadingTagNameForElement:ev,stripHTMLTagsFromString:eE,visuallyHideElement:ew}=k;function eA(e){return(0,x.replaceNested)(e,[/<([\w\-.:!]+)\b[^<>]*>\s*<\/\1>/g,""])}let eT=class extends V{constructor(){super(...arguments),this.screenReaderSections={}}init(){let e=this.chart,t=this;this.initRegionsDefinitions(),this.addEvent(e,"afterGetTableAST",function(e){t.onDataTableCreated(e)}),this.addEvent(e,"afterViewData",function(e){e.wasHidden&&(t.dataTableDiv=e.element,setTimeout(function(){t.focusDataTable()},300))}),this.addEvent(e,"afterHideData",function(){t.viewDataTableButton&&t.viewDataTableButton.setAttribute("aria-expanded","false")}),e.exporting&&this.addEvent(e,"afterPrint",function(){t.updateAllScreenReaderSections()}),this.announcer=new er(e,"assertive")}initRegionsDefinitions(){let e=this,t=this.chart.options.accessibility;this.screenReaderSections={before:{element:null,buildContent:function(i){let r=t.screenReaderSection.beforeChartFormatter;return r?r(i,e):e.defaultBeforeChartFormatter()},insertIntoDOM:function(e,t){t.renderTo.insertBefore(e,t.renderTo.firstChild)},afterInserted:function(){void 0!==e.sonifyButtonId&&e.initSonifyButton(e.sonifyButtonId),void 0!==e.dataTableButtonId&&e.initDataTableButton(e.dataTableButtonId)}},after:{element:null,buildContent:function(i){let r=t.screenReaderSection.afterChartFormatter;return r?r(i,e):e.defaultAfterChartFormatter()},insertIntoDOM:function(e,t){t.renderTo.insertBefore(e,t.container.nextSibling)},afterInserted:function(){e.chart.accessibility&&t.keyboardNavigation.enabled&&e.chart.accessibility.keyboardNavigation.updateExitAnchor()}}}}onChartRender(){this.linkedDescriptionElement=this.getLinkedDescriptionElement(),this.setLinkedDescriptionAttrs(),this.updateAllScreenReaderSections()}updateAllScreenReaderSections(){let e=this;Object.keys(this.screenReaderSections).forEach(function(t){e.updateScreenReaderSection(t)})}getLinkedDescriptionElement(){let e=this.chart.options.accessibility.linkedDescription;if(!e)return;if("string"!=typeof e)return e;let t=eb(e,this.chart),i=ef.querySelectorAll(t);if(1===i.length)return i[0]}setLinkedDescriptionAttrs(){let e=this.linkedDescriptionElement;e&&(e.setAttribute("aria-hidden","true"),ex(e,"highcharts-linked-description"))}updateScreenReaderSection(e){let t=this.chart,i=this.screenReaderSections[e],r=i.buildContent(t),s=i.element=i.element||this.createElement("div"),n=s.firstChild||this.createElement("div");r?(this.setScreenReaderSectionAttribs(s,e),J().setElementHTML(n,r),s.appendChild(n),i.insertIntoDOM(s,t),ew(n),t.styledMode&&ex(n,"highcharts-visually-hidden"),em(t,n),i.afterInserted&&i.afterInserted()):(s.parentNode&&s.parentNode.removeChild(s),i.element=null)}setScreenReaderSectionAttribs(e,t){let i=this.chart,r=i.langFormat("accessibility.screenReaderSection."+t+"RegionLabel",{chart:i,chartTitle:eg(i)}),s=`highcharts-screen-reader-region-${t}-${i.index}`;(0,x.attr)(e,{id:s,"aria-label":r||void 0}),e.style.position="relative",r&&e.setAttribute("role","all"===i.options.accessibility.landmarkVerbosity?"region":"group")}defaultBeforeChartFormatter(){let e=this.chart,t=e.options.accessibility.screenReaderSection.beforeChartFormat;if(!t)return"";let i=this.getAxesDescription(),r=e.sonify&&e.options.sonification&&e.options.sonification.enabled,s="highcharts-a11y-sonify-data-btn-"+e.index,n="hc-linkto-highcharts-data-table-"+e.index,o=ec(e),a=e.langFormat("accessibility.screenReaderSection.annotations.heading",{chart:e}),l={headingTagName:ev(e.renderTo),chartTitle:eg(e),typeDescription:this.getTypeDescriptionText(),chartSubtitle:this.getSubtitleText(),chartLongdesc:this.getLongdescText(),xAxisDescription:i.xAxis,yAxisDescription:i.yAxis,playAsSoundButton:r?this.getSonifyButtonText(s):"",viewTableButton:e.exporting?.getCSV?this.getDataTableButtonText(n):"",annotationsTitle:o?a:"",annotationsList:o},h=B.i18nFormat(t,l,e);return this.dataTableButtonId=n,this.sonifyButtonId=s,eA(h)}defaultAfterChartFormatter(){let e=this.chart,t=e.options.accessibility.screenReaderSection.afterChartFormat;if(!t)return"";let i={endOfChartMarker:this.getEndOfChartMarkerText()};return eA(B.i18nFormat(t,i,e))}getLinkedDescription(){let e=this.linkedDescriptionElement;return eE(e&&e.innerHTML||"",this.chart.renderer.forExport)}getLongdescText(){let e=this.chart.options,t=e.caption,i=t&&t.text,r=this.getLinkedDescription();return e.accessibility.description||r||i||""}getTypeDescriptionText(){let e=this.chart;return e.types?e.options.accessibility.typeDescription||function(e,t){let i,r,s,n=t[0],o=e.series&&e.series[0]||{},a=e.mapView&&e.mapView.geoMap&&e.mapView.geoMap.title,l={numSeries:e.series.length,numPoints:o.points&&o.points.length,chart:e,mapTitle:a};return n?"map"===n||"tiledwebmap"===n?l.mapTitle?e.langFormat("accessibility.chartTypes.mapTypeDescription",l):e.langFormat("accessibility.chartTypes.unknownMap",l):e.types.length>1?e.langFormat("accessibility.chartTypes.combinationChart",l):(i=t[0],r=e.langFormat("accessibility.seriesTypeDescriptions."+i,l),s=e.series&&e.series.length<2?"Single":"Multiple",(e.langFormat("accessibility.chartTypes."+i+s,l)||e.langFormat("accessibility.chartTypes.default"+s,l))+(r?" "+r:"")):e.langFormat("accessibility.chartTypes.emptyChart",l)}(e,e.types):""}getDataTableButtonText(e){let t=this.chart;return'<button id="'+e+'">'+t.langFormat("accessibility.table.viewAsDataTableButtonText",{chart:t,chartTitle:eg(t)})+"</button>"}getSonifyButtonText(e){let t=this.chart;return t.options.sonification&&!1===t.options.sonification.enabled?"":'<button id="'+e+'">'+t.langFormat("accessibility.sonification.playAsSoundButtonText",{chart:t,chartTitle:eg(t)})+"</button>"}getSubtitleText(){let e=this.chart.options.subtitle;return eE(e&&e.text||"",this.chart.renderer.forExport)}getEndOfChartMarkerText(){let e=ey(`highcharts-end-of-chart-marker-${this.chart.index}`);if(e)return e.outerHTML;let t=this.chart,i=t.langFormat("accessibility.screenReaderSection.endOfChartMarker",{chart:t});return'<div id="highcharts-end-of-chart-marker-'+t.index+'">'+i+"</div>"}onDataTableCreated(e){let t=this.chart;if(t.options.accessibility.enabled){this.viewDataTableButton&&this.viewDataTableButton.setAttribute("aria-expanded","true");let i=e.tree.attributes||{};i.tabindex=-1,i.summary=t.langFormat("accessibility.table.tableSummary",{chart:t}),e.tree.attributes=i}}focusDataTable(){let e=this.dataTableDiv,t=e&&e.getElementsByTagName("table")[0];t&&t.focus&&t.focus()}initSonifyButton(e){let t=this.sonifyButton=ey(e),i=this.chart,r=e=>{t&&(t.setAttribute("aria-hidden","true"),t.setAttribute("aria-label","")),e.preventDefault(),e.stopPropagation();let r=i.langFormat("accessibility.sonification.playAsSoundClickAnnouncement",{chart:i});this.announcer.announce(r),setTimeout(()=>{t&&(t.removeAttribute("aria-hidden"),t.removeAttribute("aria-label")),i.sonify&&i.sonify()},1e3)};t&&i&&(t.setAttribute("tabindex",-1),t.onclick=function(e){(i.options.accessibility&&i.options.accessibility.screenReaderSection.onPlayAsSoundClick||r).call(this,e,i,this)})}initDataTableButton(e){let t=this.viewDataTableButton=ey(e),i=this.chart,r=e.replace("hc-linkto-","");t&&((0,x.attr)(t,{tabindex:-1,"aria-expanded":!!ey(r)}),t.onclick=i.options.accessibility.screenReaderSection.onViewDataTableClick||function(){i.exporting?.viewData()})}getAxesDescription(){let e=this.chart,t=function(t,i){let r=e[t];return r.length>1||r[0]&&(0,x.pick)(r[0].options.accessibility&&r[0].options.accessibility.enabled,i)},i=!!e.types&&0>e.types.indexOf("map")&&0>e.types.indexOf("treemap")&&0>e.types.indexOf("tilemap"),r=!!e.hasCartesianSeries,s=t("xAxis",!e.angular&&r&&i),n=t("yAxis",r&&i),o={};return s&&(o.xAxis=this.getAxisDescriptionText("xAxis")),n&&(o.yAxis=this.getAxisDescriptionText("yAxis")),o}getAxisDescriptionText(e){let t=this.chart,i=t[e];return t.langFormat("accessibility.axis."+e+"Description"+(i.length>1?"Plural":"Singular"),{chart:t,names:i.map(function(e){return eu(e)}),ranges:i.map(function(e){return ep(e)}),numAxes:i.length})}destroy(){this.announcer&&this.announcer.destroy()}},{getChartTitle:ek,unhideChartElementFromAT:eM}=L,{getFakeMouseEvent:eC}=k;function eS(e){return e.exporting?.svgElements?.[0]}class eP extends V{init(){let e=this.chart,t=this;this.addEvent(e,"exportMenuShown",function(){t.onMenuShown()}),this.addEvent(e,"exportMenuHidden",function(){t.onMenuHidden()}),this.createProxyGroup()}onMenuHidden(){let e=this.chart.exporting?.contextMenuEl;e&&e.setAttribute("aria-hidden","true"),this.setExportButtonExpandedState("false")}onMenuShown(){let e=this.chart,t=e.exporting?.contextMenuEl;t&&(this.addAccessibleContextMenuAttribs(),eM(e,t)),this.setExportButtonExpandedState("true")}setExportButtonExpandedState(e){this.exportButtonProxy&&this.exportButtonProxy.innerElement.setAttribute("aria-expanded",e)}onChartRender(){let e=this.chart,t=e.focusElement,i=e.accessibility;this.proxyProvider.clearGroup("chartMenu"),this.proxyMenuButton(),this.exportButtonProxy&&t&&t===e.exporting?.group&&(t.focusBorder?e.setFocusToElement(t,this.exportButtonProxy.innerElement):i&&i.keyboardNavigation.tabindexContainer.focus())}proxyMenuButton(){let e,t,i=this.chart,r=this.proxyProvider,s=eS(i);e=i.options.exporting,t=eS(i),e&&!1!==e.enabled&&e.accessibility&&e.accessibility.enabled&&t&&t.element&&s&&(this.exportButtonProxy=r.addProxyElement("chartMenu",{click:s},"button",{"aria-label":i.langFormat("accessibility.exporting.menuButtonLabel",{chart:i,chartTitle:ek(i)}),"aria-expanded":!1,title:i.options.lang.contextButtonTitle||null}))}createProxyGroup(){this.chart&&this.proxyProvider&&this.proxyProvider.addGroup("chartMenu")}addAccessibleContextMenuAttribs(){let e=this.chart,t=e.exporting?.divElements;if(t&&t.length){t.forEach(e=>{e&&("LI"!==e.tagName||e.children&&e.children.length?e.setAttribute("aria-hidden","true"):e.setAttribute("tabindex",-1))});let i=t[0]&&t[0].parentNode;i&&(0,x.attr)(i,{"aria-hidden":void 0,"aria-label":e.langFormat("accessibility.exporting.chartMenuLabel",{chart:e}),role:"list"})}}getKeyboardNavigation(){let e=this.keyCodes,t=this.chart,i=this;return new W(t,{keyCodeMap:[[[e.left,e.up],function(){return i.onKbdPrevious(this)}],[[e.right,e.down],function(){return i.onKbdNext(this)}],[[e.enter,e.space],function(){return i.onKbdClick(this)}]],validate:function(){return!!t.exporting&&t.options.exporting?.buttons?.contextButton.enabled!==!1&&!1!==t.options.exporting.enabled&&!1!==(t.options.exporting.accessibility?.enabled||!1)},init:function(){let e=i.exportButtonProxy,r=i.chart.exporting?.group;e&&r&&t.setFocusToElement(r,e.innerElement)},terminate:function(){t.hideExportMenu()}})}onKbdPrevious(e){let t=this.chart,i=t.options.accessibility,r=e.response,s=t.highlightedExportItemIx||0;for(;s--;)if(t.highlightExportItem(s))return r.success;return i.keyboardNavigation.wrapAround?(t.highlightLastExportItem(),r.success):r.prev}onKbdNext(e){let t=this.chart,i=t.options.accessibility,r=e.response;for(let e=(t.highlightedExportItemIx||0)+1;e<(t.exporting?.divElements?.length||0);++e)if(t.highlightExportItem(e))return r.success;return i.keyboardNavigation.wrapAround?(t.highlightExportItem(0),r.success):r.next}onKbdClick(e){let t=this.chart,i=void 0!==t.highlightedExportItemIx&&t.exporting?.divElements?.[t.highlightedExportItemIx],r=eS(t)?.element;return t.exporting?.openMenu?i&&this.fakeClickEvent(i):(r&&this.fakeClickEvent(r),t.highlightExportItem(0)),e.response.success}}!function(e){function t(){let e=eS(this);if(e){let t=e.element;t.onclick&&(t.onclick=function(){eC("click")})}}function i(){let e=this.exporting?.divElements;e&&this.exporting?.contextMenuEl&&this.exporting?.openMenu&&(e.forEach(e=>{e&&"highcharts-menu-item"===e.className&&e.onmouseout&&e.onmouseout(eC("mouseout"))}),this.highlightedExportItemIx=0,this.exporting.contextMenuEl.hideMenu(),this.container.focus())}function r(e){let t=this.exporting?.divElements?.[e],i=void 0!==this.highlightedExportItemIx&&this.exporting?.divElements?.[this.highlightedExportItemIx];if(t&&"LI"===t.tagName&&!(t.children&&t.children.length)){let r=!!(this.renderTo.getElementsByTagName("g")[0]||{}).focus;return t.focus&&r&&t.focus(),i&&i.onmouseout&&i.onmouseout(eC("mouseout")),t.onmouseover&&t.onmouseover(eC("mouseover")),this.highlightedExportItemIx=e,!0}return!1}function s(){if(this.exporting?.divElements){let e=this.exporting?.divElements.length;for(;e--;)if(this.highlightExportItem(e))return!0}return!1}e.compose=function(e){let n=e.prototype;n.hideExportMenu||(n.hideExportMenu=i,n.highlightExportItem=r,n.highlightLastExportItem=s,n.showExportMenu=t)}}(eP||(eP={}));let eD=eP,{doc:eN,win:eB}=y(),{getElement:eI,simulatedEventTarget:eF}=k;class eO{constructor(e,t){this.currentModuleIx=NaN,this.modules=[],this.init(e,t)}init(e,t){let i=this.eventProvider=new U;this.chart=e,this.components=t,this.modules=[],this.currentModuleIx=0,this.update(),i.addEvent(this.tabindexContainer,"keydown",e=>this.onKeydown(e)),i.addEvent(this.tabindexContainer,"focus",e=>this.onFocus(e)),["mouseup","touchend"].forEach(e=>i.addEvent(eN,e,e=>this.onMouseUp(e))),["mousedown","touchstart"].forEach(t=>i.addEvent(e.renderTo,t,()=>{this.isClickingChart=!0}))}update(e){let t=this.chart.options.accessibility,i=t&&t.keyboardNavigation,r=this.components;this.updateContainerTabindex(),i&&i.enabled&&e&&e.length?(this.modules=e.reduce(function(e,t){let i=r[t].getKeyboardNavigation();return e.concat(i)},[]),this.updateExitAnchor()):(this.modules=[],this.currentModuleIx=0,this.removeExitAnchor())}updateExitAnchor(){let e=eI(`highcharts-end-of-chart-marker-${this.chart.index}`);this.removeExitAnchor(),e?(this.makeElementAnExitAnchor(e),this.exitAnchor=e):this.createExitAnchor()}move(e){let t=this.modules&&this.modules[this.currentModuleIx];t&&t.terminate&&t.terminate(e),this.chart.focusElement&&this.chart.focusElement.removeFocusBorder(),this.currentModuleIx+=e;let i=this.modules&&this.modules[this.currentModuleIx];if(i){if(i.validate&&!i.validate())return this.move(e);if(i.init)return i.init(e),!0}return this.currentModuleIx=0,this.exiting=!0,e>0?this.exitAnchor&&this.exitAnchor.focus():this.tabindexContainer.focus(),!1}onFocus(e){let t=this.chart,i=e.relatedTarget&&t.container.contains(e.relatedTarget),r=t.options.accessibility,s=r&&r.keyboardNavigation;if(s&&s.enabled&&!this.exiting&&!this.tabbingInBackwards&&!this.isClickingChart&&!i){let e=this.getFirstValidModuleIx();null!==e&&(this.currentModuleIx=e,this.modules[e].init(1))}this.keyboardReset=!1,this.exiting=!1}onMouseUp(e){if(delete this.isClickingChart,!this.keyboardReset&&e.relatedTarget!==eF){let t=this.chart;if(!e.target||!t.container.contains(e.target)){let e=this.modules&&this.modules[this.currentModuleIx||0];e&&e.terminate&&e.terminate(),this.currentModuleIx=0}t.focusElement&&(t.focusElement.removeFocusBorder(),delete t.focusElement),this.keyboardReset=!0}}onKeydown(e){let t,i=e||eB.event,r=this.modules&&this.modules.length&&this.modules[this.currentModuleIx],s=i.target;if((!s||"INPUT"!==s.nodeName||s.classList.contains("highcharts-a11y-proxy-element"))&&(this.keyboardReset=!1,this.exiting=!1,r)){let e=r.run(i);e===r.response.success?t=!0:e===r.response.prev?t=this.move(-1):e===r.response.next&&(t=this.move(1)),t&&(i.preventDefault(),i.stopPropagation())}}updateContainerTabindex(){let e,t=this.chart.options.accessibility,i=t&&t.keyboardNavigation,r=!(i&&!1===i.enabled),s=this.chart,n=s.container;s.renderTo.hasAttribute("tabindex")?(n.removeAttribute("tabindex"),e=s.renderTo):e=n,this.tabindexContainer=e;let o=e.getAttribute("tabindex");r&&!o?e.setAttribute("tabindex","0"):r||s.container.removeAttribute("tabindex")}createExitAnchor(){let e=this.chart,t=this.exitAnchor=eN.createElement("div");e.renderTo.appendChild(t),this.makeElementAnExitAnchor(t)}makeElementAnExitAnchor(e){let t=this.tabindexContainer.getAttribute("tabindex")||0;e.setAttribute("class","highcharts-exit-anchor"),e.setAttribute("tabindex",t),e.setAttribute("aria-hidden",!1),this.addExitAnchorEventsToEl(e)}removeExitAnchor(){if(this.exitAnchor){let e=this.eventProvider.eventRemovers.find(e=>e.element===this.exitAnchor);e&&(0,x.defined)(e.remover)&&this.eventProvider.removeEvent(e.remover),this.exitAnchor.parentNode&&this.exitAnchor.parentNode.removeChild(this.exitAnchor),delete this.exitAnchor}}addExitAnchorEventsToEl(e){let t=this.chart,i=this;this.eventProvider.addEvent(e,"focus",function(e){let r=e||eB.event,s=!(r.relatedTarget&&t.container.contains(r.relatedTarget)||i.exiting);if(t.focusElement&&delete t.focusElement,s){if(i.tabbingInBackwards=!0,i.tabindexContainer.focus(),delete i.tabbingInBackwards,r.preventDefault(),i.modules&&i.modules.length){i.currentModuleIx=i.modules.length-1;let e=i.modules[i.currentModuleIx];e&&e.validate&&!e.validate()?i.move(-1):e&&e.init(-1)}}else i.exiting=!1})}getFirstValidModuleIx(){let e=this.modules.length;for(let t=0;t<e;++t){let e=this.modules[t];if(!e.validate||e.validate())return t}return null}destroy(){this.removeExitAnchor(),this.eventProvider.removeAddedEvents(),this.chart.container.removeAttribute("tabindex")}}function eR(){let e=this;(0,x.fireEvent)(this,"dismissPopupContent",{},function(){e.tooltip&&e.tooltip.hide(0),e.hideExportMenu()})}function eL(e){27===(e.which||e.keyCode)&&y().charts&&y().charts.forEach(e=>{e&&e.dismissPopupContent&&e.dismissPopupContent()})}(eO||(eO={})).compose=function(e){eD.compose(e);let t=e.prototype;return!t.dismissPopupContent&&(t.dismissPopupContent=eR,eN&&(0,x.addEvent)(eN,"keydown",eL)),e};let eH=eO;var ez=b(632),eq=b.n(ez);let{doc:eU}=y(),{getChartTitle:eG}=L,{stripHTMLTagsFromString:eK,addClass:eV,removeClass:eW}=k;function eX(e){let t=e.legend&&e.legend.allItems,i=e.options.legend.accessibility||{},r=e.colorAxis&&e.colorAxis.some(e=>!e.dataClasses||!e.dataClasses.length);return!!(t&&t.length&&!r&&!1!==i.enabled)}function eY(e,t){let i=t.legendItem||{};for(let r of(t.setState(e?"hover":"",!0),["group","label","symbol"])){let t=i[r],s=t&&t.element||t;s&&(0,x.fireEvent)(s,e?"mouseover":"mouseout")}}class ej extends V{constructor(){super(...arguments),this.highlightedLegendItemIx=NaN,this.proxyGroup=null}init(){let e=this;this.recreateProxies(),this.addEvent(eq(),"afterScroll",function(){this.chart===e.chart&&(e.proxyProvider.updateGroupProxyElementPositions("legend"),e.updateLegendItemProxyVisibility(),e.highlightedLegendItemIx>-1&&this.chart.highlightLegendItem(e.highlightedLegendItemIx))}),this.addEvent(eq(),"afterPositionItem",function(t){this.chart===e.chart&&this.chart.renderer&&e.updateProxyPositionForItem(t.item)}),this.addEvent(eq(),"afterRender",function(){this.chart===e.chart&&this.chart.renderer&&e.recreateProxies()&&(0,x.syncTimeout)(()=>e.proxyProvider.updateGroupProxyElementPositions("legend"),(0,x.animObject)((0,x.pick)(this.chart.renderer.globalAnimation,!0)).duration)})}updateLegendItemProxyVisibility(){let e,t=this.chart,i=t.legend,r=i.allItems||[],s=i.currentPage||1,n=i.clipHeight||0;r.forEach(r=>{if(r.a11yProxyElement){let o=i.pages&&i.pages.length,a=r.a11yProxyElement.element,l=!1;if(e=r.legendItem||{},o){let t=e.pageIx||0;l=(e.y||0)+(e.label?Math.round(e.label.getBBox().height):0)-i.pages[t]>n||t!==s-1}l?t.styledMode?eV(a,"highcharts-a11y-invisible"):a.style.visibility="hidden":(eW(a,"highcharts-a11y-invisible"),a.style.visibility="")}})}onChartRender(){eX(this.chart)||this.removeProxies()}highlightAdjacentLegendPage(e){let t=this.chart,i=t.legend,r=(i.currentPage||1)+e,s=i.pages||[];if(r>0&&r<=s.length){let e=0;for(let s of i.allItems)((s.legendItem||{}).pageIx||0)+1===r&&t.highlightLegendItem(e)&&(this.highlightedLegendItemIx=e),++e}}updateProxyPositionForItem(e){e.a11yProxyElement&&e.a11yProxyElement.refreshPosition()}recreateProxies(){let e=eU.activeElement,t=this.proxyGroup,i=e&&t&&t.contains(e);return this.removeProxies(),!!eX(this.chart)&&(this.addLegendProxyGroup(),this.proxyLegendItems(),this.updateLegendItemProxyVisibility(),this.updateLegendTitle(),i&&this.chart.highlightLegendItem(this.highlightedLegendItemIx),!0)}removeProxies(){this.proxyProvider.removeGroup("legend")}updateLegendTitle(){let e=this.chart,t=eK((e.legend&&e.legend.options.title&&e.legend.options.title.text||"").replace(/<br ?\/?>/g," "),e.renderer.forExport),i=e.langFormat("accessibility.legend.legendLabel"+(t?"":"NoTitle"),{chart:e,legendTitle:t,chartTitle:eG(e)});this.proxyProvider.updateGroupAttrs("legend",{"aria-label":i})}addLegendProxyGroup(){let e="all"===this.chart.options.accessibility.landmarkVerbosity?"region":null;this.proxyGroup=this.proxyProvider.addGroup("legend","ul",{"aria-label":"_placeholder_",role:e})}proxyLegendItems(){let e,t=this;((this.chart.legend||{}).allItems||[]).forEach(i=>{(e=i.legendItem||{}).label&&e.label.element&&t.proxyLegendItem(i)})}proxyLegendItem(e){let t=e.legendItem||{},i=e.legendItem?.label,r=i?.element,s=t.label?.styles?.textOverflow==="ellipsis";if(!t.label||!t.group)return;let n=this.chart.langFormat("accessibility.legend.legendItem",{chart:this.chart,itemName:eK(e.name,this.chart.renderer.forExport),item:e}),o={tabindex:-1,"aria-pressed":e.visible,"aria-label":n,title:""};s&&-1!==(r.textContent||"").indexOf("…")&&(o.title=i?.textStr);let a=t.group.div?t.label:t.group;e.a11yProxyElement=this.proxyProvider.addProxyElement("legend",{click:t.label,visual:a.element},"button",o)}getKeyboardNavigation(){let e=this.keyCodes,t=this,i=this.chart;return new W(i,{keyCodeMap:[[[e.left,e.right,e.up,e.down],function(e){return t.onKbdArrowKey(this,e)}],[[e.enter,e.space],function(){return t.onKbdClick(this)}],[[e.pageDown,e.pageUp],function(i){let r=i===e.pageDown?1:-1;return t.highlightAdjacentLegendPage(r),this.response.success}]],validate:function(){return t.shouldHaveLegendNavigation()},init:function(){i.highlightLegendItem(0),t.highlightedLegendItemIx=0},terminate:function(){t.highlightedLegendItemIx=-1,i.legend.allItems.forEach(e=>eY(!1,e))}})}onKbdArrowKey(e,t){let{keyCodes:{left:i,up:r},highlightedLegendItemIx:s,chart:n}=this,o=n.legend.allItems.length,a=n.options.accessibility.keyboardNavigation.wrapAround,l=t===i||t===r?-1:1;return n.highlightLegendItem(s+l)?this.highlightedLegendItemIx+=l:a&&o>1&&(this.highlightedLegendItemIx=l>0?0:o-1,n.highlightLegendItem(this.highlightedLegendItemIx)),e.response.success}onKbdClick(e){let t=this.chart.legend.allItems[this.highlightedLegendItemIx];return t&&t.a11yProxyElement&&t.a11yProxyElement.click(),e.response.success}shouldHaveLegendNavigation(){if(!eX(this.chart))return!1;let e=this.chart,t=(e.options.legend||{}).accessibility||{};return!!(e.legend.display&&t.keyboardNavigation&&t.keyboardNavigation.enabled)}destroy(){this.removeProxies()}}function eZ(e){let t=this.legend.allItems,i=this.accessibility&&this.accessibility.components.legend.highlightedLegendItemIx,r=t[e],s=r?.legendItem||{};if(r){var n;let o,a;(0,x.isNumber)(i)&&t[i]&&eY(!1,t[i]),n=this.legend,o=(n.allItems[e].legendItem||{}).pageIx,a=n.currentPage,void 0!==o&&o+1!==a&&n.scroll(1+o-a);let l=s.label,h=r.a11yProxyElement&&r.a11yProxyElement.innerElement;return l&&l.element&&h&&this.setFocusToElement(l,h),eY(!0,r),!0}return!1}function e_(e){let t=this.chart.options.accessibility,i=e.item;t.enabled&&i&&i.a11yProxyElement&&i.a11yProxyElement.innerElement.setAttribute("aria-pressed",e.visible?"true":"false")}(ej||(ej={})).compose=function(e,t){let i=e.prototype;i.highlightLegendItem||(i.highlightLegendItem=eZ,(0,x.addEvent)(t,"afterColorizeItem",e_))};let e$=ej;var eQ=b(532),eJ=b.n(eQ);let{isTouchDevice:e0}=y(),e1=[];function e2(){this.navigator&&this.navigator.setBaseSeries(null,!1)}function e3(){let e,t,i,r=this.legend,s=this.navigator;if(s){e=r&&r.options,t=s.xAxis,i=s.yAxis;let{scrollbarHeight:n,scrollButtonSize:o}=s;this.inverted?(s.left=s.opposite?this.chartWidth-n-s.height:this.spacing[3]+n,s.top=this.plotTop+o):(s.left=(0,x.pick)(t.left,this.plotLeft+o),s.top=s.navigatorOptions.top||this.chartHeight-s.height-n-(this.scrollbar?.options.margin||0)-this.spacing[2]-(this.rangeSelector&&this.extraBottomMargin?this.rangeSelector.getHeight():0)-(e&&"bottom"===e.verticalAlign&&"proximate"!==e.layout&&e.enabled&&!e.floating?r.legendHeight+(0,x.pick)(e.margin,10):0)-(this.titleOffset?this.titleOffset[2]:0)),t&&i&&(this.inverted?t.options.left=i.options.left=s.left:t.options.top=i.options.top=s.top,t.setAxisSize(),i.setAxisSize())}}function e5(e){!this.navigator&&!this.scroller&&(this.options.navigator.enabled||this.options.scrollbar.enabled)&&(this.scroller=this.navigator=new h(this),(0,x.pick)(e.redraw,!0)&&this.redraw(e.animation))}function e4(){let e=this.options;(e.navigator.enabled||e.scrollbar.enabled)&&(this.scroller=this.navigator=new h(this))}function e6(){let e=this.options,t=e.navigator,i=e.rangeSelector;if((t&&t.enabled||i&&i.enabled)&&(!e0&&"x"===this.zooming.type||e0&&"x"===this.zooming.pinchType))return!1}function e8(e){let t=e.navigator;if(t&&e.xAxis[0]){let i=e.xAxis[0].getExtremes();t.render(i.min,i.max)}}function e9(e){let t=e.options.navigator||{},i=e.options.scrollbar||{};!this.navigator&&!this.scroller&&(t.enabled||i.enabled)&&((0,x.merge)(!0,this.options.navigator,t),(0,x.merge)(!0,this.options.scrollbar,i),delete e.options.navigator,delete e.options.scrollbar)}let e7=function(e,t){if((0,x.pushUnique)(e1,e)){let i=e.prototype;h=t,i.callbacks.push(e8),(0,x.addEvent)(e,"afterAddSeries",e2),(0,x.addEvent)(e,"afterSetChartSize",e3),(0,x.addEvent)(e,"afterUpdate",e5),(0,x.addEvent)(e,"beforeRender",e4),(0,x.addEvent)(e,"beforeShowResetZoom",e6),(0,x.addEvent)(e,"update",e9)}},{isTouchDevice:te}=y();function tt(){this.navigatorAxis||(this.navigatorAxis=new tr(this))}function ti(e){let t,i=this.chart,r=i.options,s=r.navigator,n=this.navigatorAxis,o=i.zooming.pinchType,a=r.rangeSelector,l=i.zooming.type;if(this.isXAxis&&(s?.enabled||a?.enabled)){if("y"===l&&"zoom"===e.trigger)t=!1;else if(("zoom"===e.trigger&&"xy"===l||te&&"xy"===o)&&this.options.range){let t=n.previousZoom;(0,x.defined)(e.min)?n.previousZoom=[this.min,this.max]:t&&(e.min=t[0],e.max=t[1],n.previousZoom=void 0)}}void 0!==t&&e.preventDefault()}class tr{static compose(e){e.keepProps.includes("navigatorAxis")||(e.keepProps.push("navigatorAxis"),(0,x.addEvent)(e,"init",tt),(0,x.addEvent)(e,"setExtremes",ti))}constructor(e){this.axis=e}destroy(){this.axis=void 0}toFixedRange(e,t,i,r){let s=this.axis,n=(s.pointRange||0)/2,o=(0,x.pick)(i,s.translate(e,!0,!s.horiz)),a=(0,x.pick)(r,s.translate(t,!0,!s.horiz));return(0,x.defined)(i)||(o=(0,x.correctFloat)(o+n)),(0,x.defined)(r)||(a=(0,x.correctFloat)(a-n)),(0,x.isNumber)(o)&&(0,x.isNumber)(a)||(o=a=void 0),{min:o,max:a}}}var ts=b(512),tn=b.n(ts);let{seriesTypes:to}=tn(),ta={height:40,margin:22,maskInside:!0,handles:{width:7,borderRadius:0,height:15,symbols:["navigator-handle","navigator-handle"],enabled:!0,lineWidth:1,backgroundColor:"var(--highcharts-neutral-color-5)",borderColor:"var(--highcharts-neutral-color-40)"},maskFill:"color-mix(in srgb, var(--highcharts-highlight-color-60) 30%, transparent)",outlineColor:"var(--highcharts-neutral-color-40)",outlineWidth:1,series:{type:void 0===to.areaspline?"line":"areaspline",fillOpacity:.05,lineWidth:1,compare:null,sonification:{enabled:!1},dataGrouping:{approximation:"average",enabled:!0,groupPixelWidth:2,firstAnchor:"firstPoint",anchor:"middle",lastAnchor:"lastPoint",units:[["millisecond",[1,2,5,10,20,25,50,100,200,500]],["second",[1,2,5,10,15,30]],["minute",[1,2,5,10,15,30]],["hour",[1,2,3,4,6,8,12]],["day",[1,2,3,4]],["week",[1,2,3]],["month",[1,3,6]],["year",null]]},dataLabels:{enabled:!1,zIndex:2},id:"highcharts-navigator-series",className:"highcharts-navigator-series",lineColor:null,marker:{enabled:!1},threshold:null},xAxis:{className:"highcharts-navigator-xaxis",tickLength:0,lineWidth:0,gridLineColor:"var(--highcharts-neutral-color-10)",id:"navigator-x-axis",gridLineWidth:1,tickPixelInterval:200,labels:{align:"left",style:{color:"var(--highcharts-neutral-color-100)",fontSize:"0.7em",opacity:.6,textOutline:"2px contrast"},x:3,y:-4},crosshair:!1},yAxis:{className:"highcharts-navigator-yaxis",gridLineWidth:0,startOnTick:!1,endOnTick:!1,minPadding:.1,id:"navigator-y-axis",maxPadding:.1,labels:{enabled:!1},crosshair:!1,title:{text:void 0},tickLength:0,tickWidth:0}},{defaultOptions:tl}=y(),{noop:th}=y(),td={radius:0,scope:"stack",where:void 0},tc={"navigator-handle":function(e,t,i,r,s={}){var n,o,a,l,h,d;let c=s.width?s.width/2:i,u=(0,x.relativeLength)((n=s.borderRadius,!(0,x.isObject)(n)&&(n={radius:n||0}),(0,x.merge)(td,void 0,n)).radius,Math.min(2*c,r));return[["M",-1.5,(r=s.height||r)/2-3.5],["L",-1.5,r/2+4.5],["M",.5,r/2-3.5],["L",.5,r/2+4.5],...(o=-c-1,a=.5,l=2*c+1,h=r,d={r:u},d?.r?function(e,t,i,r,s){let n=s?.r||0;return[["M",e+n,t],["L",e+i-n,t],["A",n,n,0,0,1,e+i,t+n],["L",e+i,t+r-n],["A",n,n,0,0,1,e+i-n,t+r],["L",e+n,t+r],["A",n,n,0,0,1,e,t+r-n],["L",e,t+n],["A",n,n,0,0,1,e+n,t],["Z"]]}(o,.5,l,h,d):[["M",o,.5],["L",o+l,.5],["L",o+l,.5+h],["L",o,.5+h],["Z"]])]}};var tu=b(540),tp=b.n(tu);let{defaultOptions:tg}=y(),{composed:tm}=y(),{setFixedRange:tb}={setFixedRange:function(e){let t=this.xAxis[0];(0,x.defined)(t.dataMax)&&(0,x.defined)(t.dataMin)&&e?this.fixedRange=Math.min(e,t.dataMax-t.dataMin):this.fixedRange=e}};function tf(){this.chart.navigator&&!this.options.isInternal&&this.chart.navigator.setBaseSeries(null,!1)}let tx=function(e,t,i){tr.compose(t),(0,x.pushUnique)(tm,"Navigator")&&(e.prototype.setFixedRange=tb,(0,x.extend)(tp().prototype.symbols,tc),(0,x.extend)(tg,{navigator:ta}),(0,x.addEvent)(i,"afterUpdate",tf))},{composed:ty}=y();!function(e){let t;function i(e){let t=(0,x.pick)(e.options?.min,e.min),i=(0,x.pick)(e.options?.max,e.max);return{axisMin:t,axisMax:i,scrollMin:(0,x.defined)(e.dataMin)?Math.min(t,e.min??1/0,e.dataMin,e.threshold??1/0):t,scrollMax:e.treeGrid?.adjustedMax??((0,x.defined)(e.dataMax)?Math.max(i,e.max??-1/0,e.dataMax,e.threshold??-1/0):i)}}function r(){let e=this.scrollbar,t=e&&!e.options.opposite,i=this.horiz?2:t?3:1;e&&(this.chart.scrollbarsOffsets=[0,0],this.chart.axisOffset[i]+=e.size+(e.options.margin||0))}function s(){let e=this;e.options?.scrollbar?.enabled&&(e.options.scrollbar.vertical=!e.horiz,e.options.startOnTick=e.options.endOnTick=!1,e.scrollbar=new t(e.chart.renderer,e.options.scrollbar,e.chart),(0,x.addEvent)(e.scrollbar,"changed",function(t){let r,s,{axisMin:n,axisMax:o,scrollMin:a,scrollMax:l}=i(e),h=e.toPixels(a),d=e.toPixels(l)-h;if((0,x.defined)(n)&&(0,x.defined)(o))if(e.horiz&&!e.reversed||!e.horiz&&e.reversed?(r=Math.min(l,e.toValue(h+d*this.to)),s=Math.max(a,e.toValue(h+d*this.from))):(r=Math.min(l,e.toValue(h+d*(1-this.from))),s=Math.max(a,e.toValue(h+d*(1-this.to)))),this.shouldUpdateExtremes(t.DOMType)){let i="mousemove"!==t.DOMType&&"touchmove"!==t.DOMType&&void 0;e.setExtremes((0,x.correctFloat)(s),(0,x.correctFloat)(r),!0,i,t)}else this.setRange(this.from,this.to)}))}function n(){let e,t,r,{scrollMin:s,scrollMax:n}=i(this),o=this.scrollbar,a=(this.axisTitleMargin||0)+(this.titleOffset||0),l=this.chart.scrollbarsOffsets,h=this.options.margin||0;if(o&&l){if(this.horiz)this.opposite||(l[1]+=a),o.position(this.left,this.top+this.height+2+l[1]-(this.opposite?h:0),this.width,th