/* Highcharts Editor v0.3.0 Copyright (c) 2016-2017, Highsoft Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ function parseCSV(e,t){var i=(highed.isStr,highed.isArray,highed.isNum),n=e||"",o=[],s={delimiter:t},a={",":!0,";":!0,"\t":!0},r={",":0,";":0,"\t":0};return rows=(n||"").replace(/\r\n/g,"\n").split("\n"),s.delimiter||(rows.some(function(e,t){if(t>10)return!0;for(var n,o,s,l=!1,d="",h=0;hr[";"]&&r[","]>r["\t"]&&(s.delimiter=","),r["\t"]>=r[";"]&&r["\t"]>=r[","]&&(s.delimiter="\t")),rows.forEach(function(e,t){function n(){p=(p||"").replace(/\,/g,""),p.length||(p=null),i(p)&&(p=parseFloat(p)),d.push(p),p=""}var a,r,l,d=[],h=!1,c=0,p="";for(c=0;c ',icons:{line:' ',area:' ',bar:' ',column:' ',more:' ', pie:' ',polar:' ',"scatter and bubble":' ',stock:' '}},download:function(e,t,i){var n=highed.dom.cr("a");i=i||"application/octet-stream",n.download=e||"unkown",n.href="data:"+i+","+encodeURIComponent(t),highed.dom.ap(document.body,n),n.click(),document.body.removeChild(n)},clearObj:function(e){Object.keys(e).forEach(function(t){delete e[t]})},ajax:function(e){function t(){try{o.send(JSON.stringify(i.data))}catch(e){o.send(i.data||!0)}}var i=highed.merge({url:!1,type:"GET",dataType:"json",success:!1,error:!1,data:{},autoFire:!0,headers:{}},e),n={json:"application/json",xml:"application/xml",text:"text/plain",octet:"application/octet-stream"},o=new XMLHttpRequest,s=highed.events();return!!i.url&&(o.open(i.type,i.url,!0),o.setRequestHeader("Content-Type",n[i.dataType]||n.text),Object.keys(i.headers).forEach(function(e){o.setRequestHeader(e,i.headers[e])}),o.onreadystatechange=function(){if(s.emit("ReadyStateChange",o.readyState,o.status),4===o.readyState&&200===o.status)if("json"===i.dataType)try{var e=JSON.parse(o.responseText);highed.isFn(i.success)&&i.success(e),s.emit("OK",e)}catch(e){console.log("parse error",e),highed.isFn(i.error)&&i.error(e.toString(),o.responseText),s.emit("Error",e.toString(),o.status)}else highed.isFn(i.success)&&i.success(o.responseText),s.emit("OK",o.responseText);else 4===o.readyState&&(s.emit("Error",o.status,o.statusText),highed.isFn(i.error)&&i.error(o.status,o.statusText))},i.autoFire&&t(),{on:s.on,fire:t,request:o})},uuid:function(){var e,t=(new Date).getTime();return window.performance&&"function"==typeof window.performance.now&&(t+=window.performance.now()),e="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var i=(t+16*Math.random())%16|0;return t=Math.floor(t/16),("x"===e?i:3&i|8).toString(16)})},arrToObj:function(e){var t={};return!highed.isArr(e)&&!highed.isBasic(e)||e===!1?e:(highed.isStr(e)&&(e=e.split(" ")),e.forEach(function(e){t[e]=!0}),t)},uncamelize:function(e){var t="";if(!e)return e;if(e.length<0||!e)return e;for(var i=0;it?t:i},hexToRgb:function(e){if(!e||highed.isObj(e))return{r:0,g:0,b:0};if(0===e.indexOf("rgba"))return e=e.substr(5).replace(")","").split(","),{r:parseInt(e[0],10),g:parseInt(e[1],10),b:parseInt(e[2],10),a:parseInt(e[3],10)};4===e.length&&(e+=e[e.length-1],e+=e[e.length-1],e+=e[e.length-1]);var t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:{r:0,g:0,b:0}},invertHexColor:function(e){var t=highed.hexToRgb(e),i=0;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,i=t.r<<16,i|=t.g<<8,i|=t.b,"#"+i},getContrastedColor:function(e){var t=highed.hexToRgb(e),i=(t.r+t.g+t.b)/3;return i>150?"#000":"#FFF"},toBool:function(e){return"true"===e||e===!0||"on"===e},setAttr:function(e,t,i,n){var o=e;if(o){if(highed.isArr(e))return void e.forEach(function(e){highed.setAttr(e,t,i,n)});t=t.replace(/\-\-/g,".").replace(/\-/g,".").split("."),t.forEach(function(e,s){if(s===t.length-1)o[e]=i;else if("undefined"==typeof o[e])o=o[e]={};else if(o=o[e],highed.isArr(o)){if(n>o.length-1)for(var a=o.length;a<=n;a++)o.push({});n>=0&&(o=o[n])}})}},getAttr:function(e,t,i){var n=e,o=void 0;return n?highed.isArr(e)?(e.forEach(function(e){o=highed.getAttr(e,t)}),o):(t=t.replace(/\-\-/g,".").replace(/\-/g,".").split("."),t.forEach(function(e,s){s===t.length-1?"undefined"!=typeof n&&(o=n[e]):"undefined"==typeof n[e]?n=n[e]={}:(n=n[e],highed.isArr(n)&&i>=0&&i-1},merge:function(e,t,i,n){return e&&t?i&&0===Object.keys(t).length?void 0:(Object.keys(t).forEach(function(o){if(n&&n[o]);else if(highed.isNull(t[o])||highed.isBasic(t[o]))e[o]=t[o];else if(highed.isArr(t[o])){if(highed.isEmptyObjectArray(t[o]))return;e[o]=[],t[o].forEach(function(t){highed.isNull(t)||highed.isBasic(t)?e[o].push(t):e[o].push(highed.merge(highed.isArr(t)?[]:{},t))})}else if(t[o].tagName&&t[o].appendChild&&t[o].removeChild&&t[o].style)e[o]=t[o];else{if(i&&0===Object.keys(t[o]).length)return;e[o]=e[o]||{},highed.merge(e[o],t[o])}}),e):e||t},isNull:function(e){return"undefined"==typeof e||null===e},isStr:function(e){return"string"==typeof e||e instanceof String},isNum:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},isFn:function(e){return e&&"function"==typeof e||e instanceof Function},isArr:function(e){return!highed.isNull(e)&&e.constructor.toString().indexOf("Array")>-1},isBool:function(e){return e===!0||e===!1},isBasic:function(e){return!highed.isArr(e)&&(highed.isStr(e)||highed.isNum(e)||highed.isBool(e)||highed.isFn(e))},parseCSV:function(e,t){var i,n=(highed.isStr,highed.isArray,highed.isNum),o=e||"",s=[],a={delimiter:t},r={",":!0,";":!0,"\t":!0},l={",":0,";":0,"\t":0};return i=(o||"").replace(/\r\n/g,"\n").split("\n"),a.delimiter||(i.some(function(e,t){if(t>10)return!0;for(var i,o,s,a=!1,d="",h=0;hl[";"]&&l[","]>l["\t"]&&(a.delimiter=","),l["\t"]>=l[";"]&&l["\t"]>=l[","]&&(a.delimiter="\t")),i.forEach(function(e,t){function i(){p.length||(p=null),n(p)&&(p=parseFloat(p)),d.push(p),p=""}var o,r,l,d=[],h=!1,c=0,p="";for(c=0;cnull) the width is calculated from the offset width of the containing element.","option.text.chart.height":"Chart height","option.tooltip.chart.height":"An explicit height for the chart. By default (when null) the height is calculated from the offset height of the containing element, or 400 pixels if the containing element's height is 0.","option.text.chart.zoomType":"Allow zooming","option.tooltip.chart.zoomType":"Decides in what dimensions the user can zoom by dragging the mouse. Can be one of x, y or xy.","option.text.plotOptions.series.states.inactive.opacity":"Series Dimming","option.tooltip.plotOptions.series.states.inactive.opacity":"Opacity of series elements (dataLabels, line, area).","option.text.chart.polar":"Polar (radar) projection","option.tooltip.chart.polar":"When true, cartesian charts like line, spline, area and column are transformed into the polar coordinate system. Requires highcharts-more.js.","option.text.chart.style":"Font family","option.tooltip.chart.style":"The font to use throughout the chart","option.text.title.style":"Main title style","option.tooltip.title.style":"Styling for the main chart title","option.text.subtitle.style":"Subtitle style","option.tooltip.subtitle.style":"Styling for the chart's subtitle, normally displayed with smaller fonts below the main title","option.text.colors":"Colors","option.tooltip.colors":"Default colors for the data series, or for individual points in a pie series or a column series with individual colors. Colors will be picked in succession. If a color is explicitly set for each series in the Data series view, that color will take precedence.","option.text.chart.backgroundColor":"Background color","option.tooltip.chart.backgroundColor":"Background color for the full chart area","option.text.chart.borderWidth":"Border width","option.tooltip.chart.borderWidth":"The pixel width of the outer chart border.","option.text.chart.borderRadius":"Border corner radius","option.tooltip.chart.borderRadius":"The corner radius of the outer chart border.","option.text.chart.borderColor":"Border color","option.tooltip.chart.borderColor":"The color of the outer chart border.","option.text.chart.plotBackgroundColor":"Background color","option.tooltip.chart.plotBackgroundColor":"Background color for the plot area, the area inside the axes","option.text.chart.plotBackgroundImage":"Background image URL","option.tooltip.chart.plotBackgroundImage":"The online URL for an image to use as the plot area background","option.text.chart.plotBorderWidth":"Border width","option.tooltip.chart.plotBorderWidth":"The pixel width of the plot area border.","option.text.chart.plotBorderColor":"Border color","option.tooltip.chart.plotBorderColor":"The color of the inner chart or plot area border.","option.text.chart.inverted":"Inverted axes","option.tooltip.chart.inverted":'

Whether to invert the axes so that the x axis is vertical and y axis is horizontal. When true, the x axis is reversed by default. If a bar series is present in the chart, it will be inverted automatically.

\r\n\r\n

Inverting the chart doesn\'t have an effect if there are no cartesian series in the chart, or if the chart is polar.

',"option.text.xAxis.title.style":"X axis title","option.tooltip.xAxis.title.style":"Styling and text for the X axis title","option.text.xAxis.title.text":"Text","option.tooltip.xAxis.title.text":"The actual text of the axis title. It can contain basic HTML text markup like <b>, <i> and spans with style.","option.text.xAxis.type":"Type","option.tooltip.xAxis.type":"The type of axis","option.text.xAxis.opposite":"Opposite side of chart","option.tooltip.xAxis.opposite":"Whether to display the axis on the opposite side of the normal. The normal is on the left side for vertical axes and bottom for horizontal, so the opposite sides will be right and top respectively. This is typically used with dual or multiple axes.","option.text.xAxis.margin":"Margin","option.tooltip.xaxis.margin":"If there are multiple axes on the same side of the chart, the pixel margin between the axes.","option.text.xAxis.reversed":"Reversed direction","option.tooltip.xAxis.reversed":"Whether to reverse the axis so that the highest number is closest to the origin. If the chart is inverted, the x axis is reversed by default.","option.text.xAxis.labels.format":"Axis labels format","option.tooltip.xAxis.labels.format":"

A format string for the axis labels. The value is available through a variable {value}.

Units can be added for example like {value} USD.

Formatting can be added after a colon inside the variable, for example USD {value:.2f} to display two decimals, or {value:%Y-%m-%d} for a certain time format.","option.text.yAxis.title.style":"Y axis title style","option.tooltip.yAxis.title.style":"Styling and text for the X axis title","option.text.yAxis.type":"Type","option.tooltip.yAxis.type":"The type of axis","option.text.yAxis.opposite":"Opposite side of chart","option.tooltip.yAxis.opposite":"Whether to display the axis on the opposite side of the normal. The normal is on the left side for vertical axes and bottom for horizontal, so the opposite sides will be right and top respectively. This is typically used with dual or multiple axes.","option.text.yAxis.reversed":"Reversed direction","option.tooltip.yAxis.reversed":"Whether to reverse the axis so that the highest number is closest to the origin. If the chart is inverted, the x axis is reversed by default.","option.text.yAxis.labels.format":"Axis labels format","option.tooltip.yAxis.labels.format":"

A format string for the axis labels. The value is available through a variable {value}.

Units can be added for example like {value} USD.

Formatting can be added after a colon inside the variable, for example USD {value:.2f} to display two decimals, or {value:%Y-%m-%d} for a certain time format.","option.text.series.type":"Series type","option.tooltip.series.type":"The type of series","option.text.series.color":"Color","option.tooltip.series.color":'The main color of the series. If no color is given here, the color is pulled from the array of default colors as given in the "Appearance" section.',"option.text.series.negativeColor":"Negative color","option.tooltip.series.negativeColor":"The negative color of the series below the threshold. Threshold is default zero, this can be changed in the advanced settings.","option.text.series.colorByPoint":"Color by point","option.tooltip.series.colorByPoint":'Use one color per point. Colors can be changed in the "Appearance" section.',"option.text.series.dashStyle":"Dash style","option.tooltip.series.dashStyle":"A name for the dash style to use for the graph. Applies only to series type having a graph, like line, spline, area and scatter in case it has a lineWidth. The value for the dashStyle include:\r\n\t\t

    \r\n\t\t \t
  • Solid
  • \r\n\t\t \t
  • ShortDash
  • \r\n\t\t \t
  • ShortDot
  • \r\n\t\t \t
  • ShortDashDot
  • \r\n\t\t \t
  • ShortDashDotDot
  • \r\n\t\t \t
  • Dot
  • \r\n\t\t \t
  • Dash
  • \r\n\t\t \t
  • LongDash
  • \r\n\t\t \t
  • DashDot
  • \r\n\t\t \t
  • LongDashDot
  • \r\n\t\t \t
  • LongDashDotDot
  • \r\n\t\t
","option.text.series.marker.enabled":"Enable point markers","option.tooltip.series.marker.enabled":"Enable or disable the point marker. If null, the markers are hidden when the data is dense, and shown for more widespread data points.","option.text.series.marker.symbol":"Marker symbol","option.tooltip.series.marker.symbol":'

A predefined shape or symbol for the marker. When null, the symbol is pulled from options.symbols. Other possible values are "circle", "square", "diamond", "triangle" and "triangle-down".

\r\n\r\n

Additionally, the URL to a graphic can be given on this form: "url(graphic.png)". Note that for the image to be applied to exported charts, its URL needs to be accessible by the export server.

\r\n\r\n

Custom callbacks for symbol path generation can also be added to Highcharts.SVGRenderer.prototype.symbols. The callback is then used by its method name, as shown in the demo.

',"option.text.plotOptions.series.dataLabels.enabled":"Enable data labels for all series","option.tooltip.plotOptions.series.dataLabels.enabled":"Show small labels next to each data value (point, column, pie slice etc)","option.text.plotOptions.series.dataLabels.style":"Text style","option.tooltip.plotOptions.series.dataLabels.style":"Styles for the label.","option.text.legend.enabled":"Enable legend","option.tooltip.legend.enabled":"Enable or disable the legend.","option.text.legend.layout":"Item layout","option.text.legend.labelFormat":"Label Format","option.tooltip.legend.labelFormat":"A format string for each legend label","option.tooltip.legend.layout":'The layout of the legend items. Can be one of "horizontal" or "vertical".',"option.text.legend.align":"Horizontal alignment","option.tooltip.legend.align":"

The horizontal alignment of the legend box within the chart area. Valid values are left, center and right.

\r\n\r\n

In the case that the legend is aligned in a corner position, the layout option will determine whether to place it above/below or on the side of the plot area.

","option.text.legend.x":"Horizontal offset","option.tooltip.legend.x":"The pixel offset of the legend relative to its alignment","option.text.legend.verticalAlign":"Vertical alignment","option.tooltip.legend.verticalAlign":"

The vertical alignment of the legend box. Can be one of top, middle or bottom. Vertical position can be further determined by the y option.

\r\n\r\n

In the case that the legend is aligned in a corner position, the layout option will determine whether to place it above/below or on the side of the plot area.

","option.text.legend.y":"Vertical offset","option.tooltip.legend.y":"The pixel offset of the legend relative to its alignment","option.text.legend.floating":"Float on top of plot area","option.tooltip.legend.floating":"When the legend is floating, the plot area ignores it and is allowed to be placed below it.","option.text.legend.itemStyle":"Text style","option.tooltip.legend.itemStyle":"CSS styles for each legend item. Only a subset of CSS is supported, notably those options related to text.","option.text.legend.itemHiddenStyle":"Text style hidden","option.tooltip.legend.itemHiddenStyle":"CSS styles for each legend item when the corresponding series or point is hidden. Only a subset of CSS is supported, notably those options related to text. Properties are inherited from style unless overridden here.","option.text.legend.backgroundColor":"Background color","option.tooltip.legend.backgroundColor":"The background color of the legend.","option.text.legend.borderWidth":"Border width","option.tooltip.legend.borderWidth":"The width of the drawn border around the legend.","option.text.legend.borderRadius":"Border corner radius","option.tooltip.legend.borderRadius":"The border corner radius of the legend.","option.text.legend.borderColor":"Border color","option.tooltip.legend.borderColor":"The color of the drawn border around the legend.","option.text.tooltip.enabled":"Enable tooltip","option.tooltip.tooltip.enabled":"Enable or disable the tooltip. The tooltip is the information box that appears on mouse-over or touch on a point.","option.text.tooltip.shared":"Shared between series","option.tooltip.tooltip.shared":"When the tooltip is shared, the entire plot area will capture mouse movement or touch events. Tooltip texts for series types with ordered data (not pie, scatter, flags etc) will be shown in a single bubble. This is recommended for single series charts and for tablet/mobile optimized charts.","option.text.tooltip.backgroundColor":"Background color","option.tooltip.tooltip.backgroundColor":"The background color of the tooltip","option.text.tooltip.valueSuffix":"Value Suffix","option.tooltip.tooltip.valueSuffix":"A string to append to each series y value","option.text.tooltip.borderWidth":"Border width","option.tooltip.tooltip.borderWidth":'

The pixel width of the tooltip border.

\r\n\r\n

In styled mode, the stroke width is set in the .highcharts-tooltip-box class.

',"option.text.tooltip.borderRadius":"Border corner radius","option.tooltip.tooltip.borderRadius":"The radius of the rounded border corners.","option.text.tooltip.borderColor":"Border color","option.tooltip.tooltip.borderColor":"The border color of the tooltip. If no color is given, the corresponding series color is used.","option.text.exporting.enabled":"Enable exporting","option.tooltip.exporting.enabled":"Enable the context button on the top right of the chart, allowing end users to download image exports.","option.text.exporting.sourceWidth":"Exported width","option.tooltip.exporting.sourceWidth":"The width of the original chart when exported. The pixel width of the exported image is then multiplied by the Scaling factor.","option.text.exporting.scale":"Scaling factor","option.tooltip.exporting.scale":"The export scale. Note that this is overridden if width is set.","option.text.exporting.offlineExporting":"Offline Exporting","option.tooltip.exporting.offlineExporting":"The offline-exporting module allows for image export of charts without sending data to an external server","option.text.lang.decimalPoint":"Decimal point","option.tooltip.lang.decimalPoint":"The decimal point used for all numbers","option.text.lang.thousandsSep":"Thousands separator","option.tooltip.lang.thousandsSep":"The thousands separator used for all numbers","option.text.lang.contextButtonTitle":"Context button title","option.tooltip.lang.contextButtonTitle":"Exporting module menu. The tooltip title for the context menu holding print and export menu items.","option.text.lang.printChart":"Print chart","option.tooltip.lang.printChart":"Exporting module only. The text for the menu item to print the chart.","option.text.lang.downloadPNG":"Download PNG","option.tooltip.lang.downloadPNG":"Exporting module only. The text for the PNG download menu item.","option.text.lang.downloadJPEG":"Download JPEG","option.tooltip.lang.downloadJPEG":"Exporting module only. The text for the JPEG download menu item.","option.text.lang.downloadPDF":"Download PDF","option.tooltip.lang.downloadPDF":"Exporting module only. The text for the PDF download menu item.","option.text.lang.downloadSVG":"Download SVG","option.tooltip.lang.downloadSVG":"Exporting module only. The text for the SVG download menu item.","option.text.lang.resetZoom":"Reset zoom button","option.tooltip.lang.resetZoom":"The text for the label appearing when a chart is zoomed.","option.text.credits.enabled":"Enable credits","option.tooltip.credits.enabled":"Whether to show the credits text","option.text.credits.text":"Credits text","option.tooltip.credits.text":"The text for the credits label","option.text.credits.href":"Link","option.tooltip.credits.href":"The URL for the credits label"}}),highed.dom={isVisible:function(e){var t=window.getComputedStyle(e);return"none"!==t.display},ap:function(e){var t=Array.prototype.slice.call(arguments);return t.splice(0,1),e=highed.dom.get(e),highed.isNull(e)||"undefined"==typeof e.appendChild?highed.log(1,"target is not a valid DOM node (highed.dom.ap)"):t.forEach(function(t){highed.isArr(t)?t.forEach(function(t){highed.dom.ap(e,t)}):"undefined"!=typeof t&&"undefined"!=typeof t.appendChild?e.appendChild(t):t!==!1&&highed.log(1,"child is not valid (highed.dom.ap)")}),e},options:function(e,t,i){if(highed.isNull(t));else if(highed.isArr(t))t.forEach(function(t){highed.dom.ap(e,highed.dom.cr("option","",t,t))}),i&&(e.selectedIndex=i);else if(highed.isStr(t))try{highed.dom.options(e,JSON.parse(t))}catch(e){highed.log(e+" in highed.options (json parser)")}else Object.keys(t).forEach(function(i){highed.dom.ap(e,highed.dom.cr("option","",t[i],i))})},showOnHover:function(e,t){return highed.isArr(t)?void t.forEach(function(t){highed.dom.showOnHover(e,t)}):(highed.dom.on(e,"mouseover",function(){highed.dom.style(t,{opacity:1,"pointer-events":"auto"})}),void highed.dom.on(e,"mouseout",function(){highed.dom.style(t,{opacity:0,"pointer-events":"none"})}))},cr:function(e,t,i,n){var o=!1;return"undefined"!=typeof e?(o=document.createElement(e),"undefined"!=typeof t&&(o.className=t),"undefined"!=typeof i&&"object"!=typeof i&&(o.innerHTML=i),"undefined"!=typeof n&&(o.id=n)):highed.log(1,"no node type supplied (highed.dom.cr"),o},style:function(e,t){return highed.isArr(e)?(e.forEach(function(e){highed.dom.style(e,t)}),e):!(!e||!e.style)&&(Object.keys(t).forEach(function(i){e.style[i]=t[i]}),e)},on:function(e,t,i,n){function o(){if(highed.isFn(i))return i.apply(n,arguments)}var s=[];return e?highed.isArr(t)?(t.forEach(function(t){s.push(highed.dom.on(e,t,i,n))}),function(){s.forEach(function(e){e()})}):(e===document.body&&"resize"===t,e&&e.forEach&&e.forEach(function(e){s.push(highed.dom.on(e,t,i))}),s.length>0?function(){s.forEach(function(e){e()})}:(e.addEventListener?e.addEventListener(t,o,!1):e.attachEvent("on"+t,o,!1),function(){window.removeEventListener?e.removeEventListener(t,o,!1):e.detachEvent("on"+t,o)})):function(){}},nodefault:function(e){return e.cancelBubble=!0,e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),!1},val:function(e,t){if("SELECT"!==e.tagName)return"INPUT"===e.tagName?"checkbox"===e.type?(highed.isNull(t)||(e.checked=highed.toBool(t)),e.checked):(highed.isNull(t)||(e.value=t),e.value):(highed.isNull(t)||(e.innerHTML=t),e.innerText);if(e.selectedIndex>=0){if(!highed.isNull(t))for(var i=0;i0?i.subtree[e].meta.validFor[a.meta.name]=!i.meta.excludes[e]:i.subtree[e].meta.validFor[a.meta.name]=1}):o&&0===o.indexOf("plotOptions")||void 0===i.meta.ns?(i.meta.validFor||(i.meta.validFor={}),i.meta.validFor[i.meta.name]=1,void 0===i.meta.ns?highed.merge(i.subtree,a.subtree,!1,i.meta.excludes):Object.keys(a.subtree||{}).forEach(function(e){i.subtree[e]=i.subtree[e]||highed.merge({},a.subtree[e]),i.subtree[e].meta.validFor=i.subtree[e].meta.validFor||{},i.meta.excludes&&Object.keys(i.meta.excludes).length>0?i.subtree[e].meta.validFor[a.meta.name]=!i.meta.excludes[e]:i.subtree[e].meta.validFor[a.meta.name]=1})):highed.merge(i.subtree,a.subtree,!1,i.meta.excludes))}function t(t,i,n){void 0===n&&i.meta.ns&&"plotOptions"===i.meta.ns&&(n="plotOptions"),i.meta.extends&&i.meta.extends.length>0&&(i.meta.extends=i.meta.extends.replace("{","").replace("}",""),"series"===n&&(i.meta.extends+=",plotOptions.line"),i.meta.extends.split(",").forEach(function(o){o&&o.length>0&&e(t,i,o.trim(),n)}))}function i(e,i){function n(i,o){var s=i.subtree=i.subtree||{};return i.meta=i.meta||{},i.meta.default=i.meta.default,i.meta.ns=o,i.children=[],t(e,i,(o?o+".":"")+i.meta.name),i.meta.hasSubTree=!1,i.children=[],Object.keys(s).forEach(function(e){Object.keys(s[e].subtree).length>0&&(i.meta.hasSubTree=!0),i.children.push(n(s[e],(o?o+".":"")+(i.meta.name||"")))}),i.children.sort(function(e,t){return e.meta.name.localeCompare(t.meta.name)}),0===i.children.length&&(i.meta.leafNode=!0),i}var s;return i&&o?e:s=n(e)}function n(e){function t(e){if(e&&0!==e.length){var i=e.pop();0===Object.keys(i).length?t(e):Object.keys(i||{}).forEach(function(e){var t=i[e];"_"===e[0]?delete i[e]:!t||highed.isBasic(t)||highed.isArr(t)||0!==Object.keys(t).length?highed.isArr(t)&&0===t.length?delete i[e]:highed.isArr(t)&&(t=t.map(function(e){return n(e)})):delete i[e]}),t(e)}}function i(e,n){n=n||[],e&&(n&&0===Object.keys(e).length?t(n.concat([e])):Object.keys(e).forEach(function(o){var s=e[o];"_"===o[0]?t(n.concat([e])):highed.isBasic(s)||highed.isArr(s)||i(s,n.concat([e]))}))}return i(e),e}var o=!1;highed.transform={advanced:i,remBlanks:n}}(),function(){var e={};highed.samples={add:function(t){var i=highed.merge({title:"Untitled Sample",description:"Untitled Sample",dataset:[],suitableSeries:!1,products:!1},t);return!(!i.id||e[i.id]||(e[i.id]=i,0))},each:function(t,i,n){highed.isFn(t)&&Object.keys(e).forEach(function(i){t(e[i])})},get:function(t){return e[t]||!1}}}(),function(){var e={};highed.validators={add:function(t,i){return!(!t||e[t]||!highed.isFn(i)||(e[t]=i,0))},validate:function(t,i){return!e[t]||e[t](i)}}}(),function(){var e=!1,t=highed.option("cloudAPIURL");highed.cloud={},highed.cloud.isLoggedIn=function(){return e!==!1},highed.cloud.login=function(i,n,o){t=highed.option("cloudAPIURL"),highed.ajax({url:t+"login",type:"post",data:{username:i,password:n},success:function(t){return t&&t.token&&(e=t.token),highed.isFn(o)&&o("undefined"==typeof t.token,t)},error:function(e){return highed.isFn(o)&&o(e)}})},highed.cloud.getTeams=function(i){t=highed.option("cloudAPIURL"),highed.ajax({url:t+"teams",type:"get",headers:{"X-Auth-Token":e},success:function(e){return e.error?highed.snackBar(e.message):highed.isFn(i)&&i(e)}})},highed.cloud.getCharts=function(i,n,o){t=highed.option("cloudAPIURL"),highed.ajax({url:t+"team/"+i+"/charts/?page="+o,type:"get",headers:{"X-Auth-Token":e},success:function(e){return e.error?highed.snackBar(e.message):highed.isFn(n)&&n(e.data,e)}})},highed.cloud.getChart=function(i,n,o){t=highed.option("cloudAPIURL"),highed.ajax({url:t+"team/"+i+"/chart/"+n,type:"get", headers:{"X-Auth-Token":e},success:function(e){return e.error?highed.snackBar(e.message):highed.isFn(o)&&o(e)}})},highed.cloud.saveExistingChart=function(i,n,o,s){t=highed.option("cloudAPIURL"),highed.ajax({url:t+"team/"+i+"/chart/"+n,type:"post",headers:{"X-Auth-Token":e},data:{data:o},success:function(e){return e.error?highed.snackbar(e.message):highed.isFn(s)&&s(e)}})},highed.cloud.saveNewChart=function(i,n,o,s){t=highed.option("cloudAPIURL"),highed.ajax({url:t+"team/"+i+"/chart",type:"post",headers:{"X-Auth-Token":e},data:{name:n,data:o},success:function(e){return e.error?highed.snackbar(e.message):highed.isFn(s)&&s(e)}})}}(),function(){var e=highed.events();highed.on=e.on,highed.emit=e.emit}(),function(){highed.showDimmer=function(e,t,i,n){function o(){highed.dom.style(s,{opacity:0,"pointer-events":"none"}),highed.isFn(a)&&(a(),a=!1),window.setTimeout(function(){s.parentNode&&s.parentNode.removeChild(s)},300)}var s=highed.dom.cr("div","highed-dimmer"),a=!1;return highed.dom.ap(document.body,s),highed.dom.style(s,{opacity:.4,"pointer-events":"auto","z-index":9999+(n||0)}),i&&highed.dom.style(s,{opacity:0}),a=highed.dom.on(s,"click",function(i){highed.isFn(e)&&e(),t&&o()}),o}}(),highed.OverlayModal=function(e,t){function i(e,t){r.minWidth=e,r.minHeight=t}function n(){if(!d){if(highed.dom.style(s,{width:r.width+(r.width.toString().indexOf("%")>0?"":"px"),height:r.height+(r.height.toString().indexOf("%")>0?"":"px"),opacity:1,left:"50%",top:"50%",transform:"translate(-50%, -50%)","pointer-events":"auto","min-width":r.minWidth+"px","min-height":r.minHeight+"px","z-index":r.zIndex}),highed.dom.style(document.body,{"overflow-x":"hidden","overflow-y":"hidden"}),r.showCloseIcon){const e=highed.dom.cr("span","highed-overlaymodal-close",'');highed.dom.on(e,"click",function(){o()}),highed.dom.ap(s,e)}l=highed.showDimmer(o,!0,!1,r.zIndex-1e4),window.setTimeout(function(){a.emit("Show")},300),d=!0}}function o(e){d&&(highed.dom.style(s,{width:"0px",height:"0px",opacity:0,left:"-20000px","pointer-events":"none"}),highed.dom.style(document.body,{"overflow-x":"","overflow-y":""}),highed.isFn(l)&&l(),d=!1,e||a.emit("Hide"))}var s=highed.dom.cr("div","highed-overlay-modal "),a=highed.events(),r=highed.merge({width:200,height:200,minWidth:10,minHeight:10,showOnInit:!0,zIndex:1e4,showCloseIcon:!1,cancelButton:!1},t),l=!1,d=!1;return r.class&&(s.classList+=r.class),highed.ready(function(){highed.dom.ap(document.body,s)}),o(!0),{on:a.on,show:n,hide:o,resize:i,body:s}},highed.HSplitter=function(e,t){function i(e){var t;a.allowResize&&highed.dom.isVisible(d)&&(t=highed.dom.size(r),e=e||highed.dom.pos(p).x,highed.dom.style(l,{width:e+"px"}),highed.dom.style(d,{width:t.w-e+"px"}),highed.dom.style(p,{display:""}))}function n(t,n){var s,h,c=highed.dom.size(e);highed.dom.isVisible(d)?o():(highed.dom.style(l,{width:"100%"}),highed.dom.style(p,{display:"none"})),a.responsive&&(s=window.getComputedStyle(l),"none"===s.float?(highed.dom.style(d,{width:"100%"}),highed.dom.style(p,{display:"none"})):o()),highed.dom.style([l,d,r,p],{height:(n||c.h)+"px"}),a.rightMax&&highed.dom.style(d,{"max-width":a.rightMax+"px"}),a.leftMax&&highed.dom.style(l,{"max-width":a.leftMax+"px"}),h=highed.dom.size(l),h.w===a.leftMax&&highed.dom.style(d,{width:c.w-a.leftMax-1+"px"}),i()}function o(){highed.dom.style(l,{width:a.leftWidth+"%"}),highed.dom.style(d,{width:(a.rightWidth?a.rightWidth:100-a.leftWidth)+"%"})}var s,a=highed.merge({leftWidth:40,noOverflow:!1,leftClasses:"",rightClasses:"",allowResize:!1,responsive:!1,leftMax:!1,rightMax:!1},t),r=highed.dom.cr("div","highed-hsplitter"),l=highed.dom.cr("div","highed-scrollbar panel left "+a.leftClasses),d=highed.dom.cr("div","highed-scrollbar panel right "+a.rightClasses),h=highed.dom.cr("div","highed-scrollbar highed-hsplitter-body "+a.leftClasses),c=highed.dom.cr("div","highed-scrollbar highed-hsplitter-body "+a.rightClasses),p=highed.dom.cr("div","highed-hsplitter-resize-bar");return a.responsive&&(l.className+=" highed-hsplitter-body-responsive"),e=highed.dom.get(e),highed.dom.ap(highed.dom.get(e),highed.dom.ap(r,highed.dom.ap(l,h),highed.dom.ap(d,c))),o(),a.noOverflow&&highed.dom.style([r,l,d],{"overflow-y":"hidden"}),a.allowResize&&(highed.dom.ap(r,p),highed.dom.style(p,{left:a.leftWidth+"%"}),s=highed.Movable(p,"x").on("Moving",function(e){i(e)})),{resize:n,left:h,right:c}},highed.VSplitter=function(e,t){function i(t,i){var r=highed.dom.size(e);return highed.dom.style(o,{height:"100%"}),t||i?(highed.dom.style(o,{width:(t||r.w)+"px",height:(i||r.h)+"px"}),void(n.topHeight.toString().indexOf("px")>0?(highed.dom.style(s,{height:n.topHeight}),highed.dom.style(a,{height:(i||r.h)-parseInt(n.topHeight,10)+"px"})):(highed.dom.style(s,{height:n.topHeight+"%"}),highed.dom.style(a,{height:100-n.topHeight+"%"})))):(highed.dom.style(s,{height:"string"==typeof n.topHeight?n.topHeight:n.topHeight+"%"}),void(a&&highed.dom.style(a,{width:"100%",height:"string"==typeof n.topHeight?"calc(100% - "+n.topHeight+")":100-n.topHeight+"%"})))}var n=highed.merge({topHeight:40,noOverflow:!1},t),o=highed.dom.cr("div","highed-vsplitter"),s=highed.dom.cr("div","panel top highed-scrollbar"),a=highed.dom.cr("div","panel bottom highed-scrollbar"),r=highed.dom.cr("div","highed-vsplitter-body highed-scrollbar"),l=highed.dom.cr("div","highed-vsplitter-body highed-scrollbar");return highed.dom.ap(highed.dom.get(e),highed.dom.ap(o,highed.dom.ap(s,r),highed.dom.ap(a,l))),n.noOverflow&&highed.dom.style([o,s,a],{"overflow-y":"hidden"}),e=highed.dom.get(e),{resize:i,top:r,bottom:l}},highed.TabControl=function(e,t,i,n){function o(){v.build(x.map(function(e){return{title:e.title,click:e.focus,selected:e.selected}}))}function s(t,i){var o=highed.dom.size(e),s=0;n||highed.dom.size(u),highed.dom.style(p,{height:(i||o.h)+"px"}),highed.dom.style(m,{height:(i||o.h)+"px"}),y&&y.focus(),x.forEach(function(e){s+=highed.dom.size(e.node).w||0}),n||(s>u.scrollWidth?highed.dom.style(f,{display:"block"}):highed.dom.style(f,{display:"none"}))}function a(){x.some(function(e){if(e.visible())return e.focus(),!0})}function r(e){x[e]&&x[e].visible()&&x[e].focus()}function l(){highed.dom.style(p,{display:"none"})}function d(){highed.dom.style(p,{display:"block"})}function h(){var e=x.filter(function(e){return e.visible()}).length;n||(e<2?highed.dom.style(u,{display:"none"}):highed.dom.style(u,{display:""}))}function c(e){function o(){f=!1,highed.dom.style(d,{display:"none"}),h()}function s(){f=!0,highed.dom.style(d,{display:""}),h()}function a(e,t){highed.dom.style(p,{width:e+"px",height:t+"px"})}function r(){var e=highed.dom.size(d),t=highed.dom.pos(d);f&&(y&&(y.node.className="tab",y.selected=!1,highed.dom.style(y.body,{opacity:0,display:"none"})),!e||!t||!e.w,highed.dom.style(g,{width:e.w+"px",left:t.x+"px"}),d.className="tab tab-selected",highed.dom.style(c,{opacity:1,display:"block"}),y=v,y.selected=!0,l.emit("Focus"),b.emit("Focus",v))}var l=highed.events(),d=highed.dom.cr("div","tab",e.title),c=highed.dom.cr("div","tab-body"),f=!0,v={selected:!1};return i&&(c.className+=" tab-body-padded"),n||highed.dom.ap(u,d),highed.dom.ap(m,c),highed.dom.on(d,"click",function(){r(),highed.emit("UIAction","TabControlNavigation",e.title)}),v={on:l.on,focus:r,node:d,body:c,hide:o,show:s,resize:a,title:e.title,visible:function(){return f}},y||r(),t&&highed.dom.style(c,{overflow:"hidden"}),x.push(v),a(),h(),v}var p=highed.dom.cr("div","highed-tab-control"),u=highed.dom.cr("div",n?"":"tabs"),m=highed.dom.cr("div","body"),g=highed.dom.cr("div","indicator"),f=highed.dom.cr("div",n?"":"highed-tab-control-more fa fa-chevron-right"),b=highed.events(),y=!1,x=[],v=highed.ContextMenu();return highed.dom.on(f,"click",function(e){o(),v.show(e.clientX,e.clientY)}),highed.isNull(e)||highed.ready(function(){highed.dom.ap(e,highed.dom.ap(p,highed.dom.ap(u,f,g),m)),s(),h()}),{container:p,on:b.on,createTab:c,resize:s,select:r,selectFirst:a,show:d,hide:l,barSize:function(){return highed.dom.size(u)}}},highed.InspectorField=function(e,t,i,n,o,s,a){function r(e,t){e=e||n,highed.isFn(e)&&e(t)}function l(){if(i.attributes&&i.attributes.length||!i.defaults)e="json",i.defaults=i.defaults||{};else if(i.attributes=[],i.defaults)try{i.defaults=JSON.parse(i.defaults),Object.keys(i.defaults).forEach(function(e){var t,n="string",o=i.defaults[e],s=e.toUpperCase();highed.isNum(o)&&(n="number"),o.length&&"#"===o[0]&&(s.indexOf("BACKGROUND")>=0||s.indexOf("COLOR")>=0)&&(n="color"),i.attributes.push({id:e,title:e,dataType:n,defaults:i.defaults[e],tooltip:"",values:t})})}catch(e){return void highed.log(3,"property",i.id,"skipped, no way to deduce the object members")}}var d=function(e,t){var n=highed.dom.cr("div","highed-field-reset fa fa-undo");return"null"===e&&(e=null),highed.dom.on(n,"click",function(){highed.isFn(t)&&t(i.defaults||e)}),n},h={string:function(e,n){var o=highed.dom.cr("input","highed-field-input","",s);return d(i.defaults||e||t,function(t){o.value=e=t,r(n,t)}),highed.dom.on(o,"change",function(e){r(n,o.value),e.cancelBubble=!0}),"string"==typeof(e||t||"")&&(e||t||"").indexOf("\\u")>-1?o.value=decodeURIComponent(JSON.parse('"'+(e||t).replace(/\"/g,'\\"')+'"')):o.value=e||t,i.warning&&i.warning.length>0&&a&&i.warning.indexOf(a)>-1&&(o.disabled=!0),highed.dom.ap(highed.dom.cr("div","highed-field-container"),o)},header:function(e,t){return highed.dom.ap(highed.dom.cr("div","highed-field-container"),highed.dom.cr("div","highed-field-header",i.header))},number:function(e,n){var o=highed.dom.cr("input","highed-field-input","",s);return d(i.defaults||e||t,function(t){o.value=e=t,r(n,parseFloat(t))}),o.type="number",highed.isNull(i.custom)||(o.step=i.custom.step,o.min=i.custom.minValue,o.max=i.custom.maxValue),highed.dom.on(o,"change",function(){r(n,parseFloat(o.value))}),o.value=e||t,i.warning&&i.warning.length>0&&a&&i.warning.indexOf(a)>-1&&(o.disabled=!0),highed.dom.ap(highed.dom.cr("div","highed-field-container"),o)},range:function(e,n){var o=highed.Slider(!1,{min:i.custom.minValue,max:i.custom.maxValue,step:i.custom.step,value:e||t,resetTo:i.defaults});return o.on("Change",function(e){r(n,e)}),o.container},boolean:function(e,n){var o=highed.dom.cr("input","","",s);return d(i.defaults||e||t,function(t){o.checked=e=highed.toBool(t),r(n,e)}),o.type="checkbox",o.checked=highed.toBool(e||t),highed.dom.on(o,"change",function(){r(n,o.checked)}),i.warning&&i.warning.length>0&&a&&i.warning.indexOf(a)>-1&&(o.disabled=!0),highed.dom.ap(highed.dom.cr("div","highed-field-container"),o)},color:function(e,n){function o(e,t){e&&"null"!==e&&"undefined"!==e&&"undefined"!=typeof e?l.innerHTML="":(l.innerHTML="auto",e="#FFFFFF"),highed.dom.style(l,{background:e,color:highed.getContrastedColor(e)})}function a(){try{e=JSON.parse(e)}catch(e){}highed.isArr(e)&&(e="#FFF")}var l=highed.dom.cr("div","highed-field-colorpicker","",s),d=highed.dom.cr("div","highed-field-reset fa fa-undo"),h=e||t||i.defaults;return"null"===h&&(h=null),a(),highed.dom.on(l,"click",function(i){highed.pickColor(i.clientX,i.clientY,e||t,function(t){highed.isArr(e)&&(e="#FFFFFF"),e=t,o(t),r(n,t)})}),highed.dom.on(d,"click",function(){e=h,a(),o(e),r(n,e)}),o(e||t),highed.dom.ap(highed.dom.cr("div","highed-field-container"),l)},font:function(e,t){return h.cssobject(e,t)},configset:function(e,t){return h.string(e,t)},json:function(e,n){function o(){document.body&&c&&(document.getElementById(s)?c.refresh():setTimeout(o,10))}function a(e){try{e=JSON.parse(e),r(n,e),h.innerHTML="",highed.dom.style(h,{display:"none",opacity:0})}catch(e){h.innerHTML="Syntax error: "+e,highed.dom.style(h,{display:"block",opacity:1})}}var l=highed.dom.cr("textarea","highed-field-input","",s),h=highed.dom.cr("div","highed-field-error"),c=!1,p=function(e){c?c.setValue(JSON.stringify(e,void 0,"\t")):l.value=JSON.stringify(e,void 0,"\t")},u=(d(i.defaults||e||t,function(t){e=t,p(t),r(n,t)}),highed.dom.ap(highed.dom.cr("div","highed-field-container","",s+"_container"),l,h));if("undefined"!=typeof window.CodeMirror){c=CodeMirror.fromTextArea(l,{lineNumbers:!0,mode:"application/json",theme:highed.option("codeMirrorTheme")}),p(e||t||i.defaults);var m=null;c.on("change",function(){clearTimeout(m),m=setTimeout(function(){a(c.getValue())},1e3)}),o()}else p(e||t||i.defaults),highed.dom.on(l,"change",function(){a(l.value)});return u},cssobject:function(e,o){var s=highed.FontPicker(o||n,e||t);return d(i.defaults||e||t,function(t){e=t,s.set(e),r(o,t)}),highed.dom.ap(highed.dom.cr("div","highed-field-container"),s.container)},options:function(e,n){var o=highed.DropDown();if(d(i.defaults,function(t){e=t,o.selectById(e),r(n,t)}),highed.isStr(i.values))try{i.values=JSON.parse(i.values)}catch(e){i.values=i.values.split(" ")}return o.addItems(i.values),o.addItem({title:"auto",id:i.defaults}),o.selectById(e||t||i.defaults),o.on("Change",function(e){r(n,e.id())}),highed.dom.ap(highed.dom.cr("div","highed-field-container"),o.container)},object:function(e,n){var o=highed.dom.cr("table","highed-customizer-table","",s);if(highed.isNull(e||t),e=e||t||{},highed.isStr(e))try{e=JSON.parse(e)}catch(e){}return i&&highed.isArr(i.attributes)&&i.attributes.forEach(function(t){e[t.name||t.id]=e[t.name||t.id]||t.defaults||(t.dataType.indexOf("object")>=0?{}:""),t.title=highed.uncamelize(t.title),highed.dom.ap(o,highed.InspectorField(t.dataType,e[t.name||t.id]||t.defaults,t,function(i){e[t.name||t.id]=i,r(n,e)}))}),o},function:function(e,n){function o(e){highed.isFn(e)&&(e=e.toString()),p?(p.setValue(e),p.refresh()):c.value=e}function a(e){var t=[],i=e.indexOf("("),o=e.substr(i+1).indexOf(")"),s="",a=0,l=!1;try{t=e.substr(i+1,o-1).trim().split(","),t=t.filter(function(e){return e&&e.length>0&&e.indexOf("/*")===-1});for(var d=0;d=0&&(e=e.indexOf("object")>=0?"object":e.split("|")[0]),highed.isNull(i.custom)||highed.isNull(i.custom.minValue)||highed.isNull(i.custom.maxValue)||highed.isNull(i.custom.step)||(e="range"),e&&0===e.indexOf("array")&&(i.subType=e.substr(6,e.length-7),e="array","object"===i.subType&&l()),"object"===e&&l(),i.tooltip||i.tooltipText||(o=!0),highed.onPhone()?highed.dom.on(c,"click",function(){var e=highed.Tooltip(0,0,i.tooltip||i.tooltipText,!0);highed.dom.on([c],"mouseout",e)}):highed.dom.on([c],"mouseover",function(e){var t=highed.Tooltip(e.clientX+20,e.clientY,i.tooltip||i.tooltipText);highed.dom.on([c],"mouseout",t)}),o&&(highed.dom.style(c,{display:"none"}),u.colSpan=2),g.className+=" highed-customize-type-"+e;const f=highed.dom.cr("div","highed-customizer-table-parent","",s+"_container");return highed.dom.style(f,{width:(i.width||100)+"%"}),"header"===e?highed.dom.ap(highed.dom.ap(f,highed.dom.ap(u,h[e]?h[e]():h.string()))):"boolean"===e?(m.className="highed-customize-field-boolean",highed.dom.ap(highed.dom.ap(f,highed.dom.ap(u,highed.dom.ap(h[e]?h[e]():h.string(),highed.dom.ap(m,highed.dom.cr("span","highed-customize-field-label",i.title),!o&&highed.dom.ap(p,c))))))):highed.dom.ap(highed.dom.ap(f,highed.dom.ap(m,highed.dom.cr("span","highed-customize-field-label",i.title),!o&&highed.dom.ap(p,c)),highed.dom.ap(u,h[e]?h[e]():h.string())))},highed.List=function(e,t,i,n){function o(t,i,o){function s(e){var t=!1;return!(Object.keys(T.availableSettings||{}).length>0)||(highed.isArr(e)?e.forEach(function(e){s(e)&&(t=!0)}):highed.isArr(e.options)?e.options.forEach(function(e){s(e)&&(t=!0)}):(T.availableSettings[e.id]||T.availableSettings[e.pid])&&(t=!0),t)}function a(e,t,i){var n=x,o=n.id,s=highed.meta.optionsExtended.options[o];return!!n&&(s.forEach(function(n){r(n,!1,!1,e,t,i)}),void(highlighted=!1))}function r(t,i,l,d,h,p){var u,m,g,f,b,y=!0;if(l=o.options.getCustomized(),highed.isArr(t.options)){if(i=highed.dom.cr("div","highed-customizer-table"),warningContainer=highed.dom.cr("div","highed-customize-warning-container"),warning=highed.dom.cr("div","highed-customize-warning","You need to be on a paid plan for this to work in production"),y=s(t),t.warning&&t.warning.length>0&&n&&t.warning.indexOf(n)>-1&&highed.dom.ap(i,highed.dom.ap(warningContainer,warning)),!y)return;if(g=highed.dom.cr("div","highed-customize-group"+(t.dropdown?" highed-list-general-drop-down":" highed-list-normal"),null,"highed-list-header-"+highed.L(t.text)),f=highed.dom.cr("div","highed-customize-master-dropdown"),nodeHeading=highed.dom.cr("div","highed-customizer-table-heading"+(t.dropdown?" highed-list-general-drop-down-header":""),highed.L(t.text)),t.dropdown&&(k[highed.L(t.text)]=g,highed.dom.on(nodeHeading,"click",function(e){e.target!==this&&(Object.keys(k).forEach(function(e){k[e]!==g&&k[e].classList.remove("active")}),g.classList.contains("active")?g.classList.remove("active"):g.className+=" active")})),highed.dom.ap(c,highed.dom.ap(g,nodeHeading,f,i)),t.filteredBy&&(p=highed.getAttr(l,t.filteredBy,d)),t.controlledBy&&(u=highed.DropDown(),highed.dom.style(f,{display:"block"}),highed.isStr(t.controlledBy.options))){if(m=highed.getAttr(l,t.controlledBy.options,d),!highed.isArr(m))return;if(0===m.length)return void highed.dom.ap(e,highed.dom.cr("i","","No data to display.."));u.addItems(m.map(function(e,i){return(t.controlledBy.optionsTitle?e[t.controlledBy.optionsTitle]:"#"+(i+1))||"#"+(i+1)})),u.selectByIndex(d||0),u.on("Change",function(e){d=e.index(),i.innerHTML="",t.options.forEach(function(e){t.filteredBy&&(p=highed.getAttr(l,t.filteredBy,d)),r(e,i,l,d,t.filteredBy,p)})}),highed.dom.ap(f,u.container),d=d||0}t.options.forEach(function(e){r(e,i,l,d,t.filteredBy,p)})}else if("undefined"!=typeof t.id){if(p&&t.subType&&t.subType.length&&!highed.arrToObj(t.subType)[p])return;if(Object.keys(T.availableSettings||{}).length>0&&!T.availableSettings[t.id]&&!T.availableSettings[t.pid])return;"undefined"!=typeof t.dataIndex&&(d=t.dataIndex),b=highed.getAttr(l,t.id,d),highed.dom.ap(i,highed.InspectorField(t.values?"options":t.dataType,"undefined"!=typeof b?b:p&&t.subTypeDefaults[p]?t.subTypeDefaults[p]:t.defaults,{title:highed.L("option.text."+t.pid),tooltip:highed.L("option.tooltip."+t.pid),values:t.values,custom:t.custom,defaults:t.defaults,width:t.width||100,attributes:t.attributes||[],warning:t.warning||[],header:highed.L(t.pid)},function(e){t.header||(t.plugins&&t.plugins.length>0&&v.emit("TogglePlugins",t.id,e),t.noChange||v.emit("PropertyChange",t.id,e,d),highed.emit("UIAction","SimplePropSet",highed.L("option.text."+t.pid),e),t.id===h&&(c.innerHTML="",a(d,h,e)))},!1,t.id,n))}}function l(e){x&&(x.selected=!1,x.node.className="item",x.nodeArrow.innerHTML='',highed.dom.style(x.nodeChildren,{display:"none"})),k={},h.innerHTML='',c.innerHTML="";var i=highed.meta.optionsExtended.options[t.id];if((i||[]).forEach(function(e){r(e)}),highed.dom.style(c,{display:"block"}),x=p,x.selected=!0,d.className="item item-selected",v.emit("Select",t.id),b.innerHTML=''+t.title,highed.isFn(t.click))return t.click(e)}var d=highed.dom.cr("a","item",t.title),h=highed.dom.cr("span","item-arrow",''),c=highed.dom.cr("span","highed-list-suboptions",""),p={};return highed.dom.style(c,{display:"none"}),highed.dom.ap(d,h),(i||[]).forEach(function(e){r(e)}),t.annotations||highed.dom.on(d,"click",t.onClick||l),highed.dom.ap(f,d,c),p={id:t.id,title:t.title,node:d,nodeArrow:h,nodeChildren:c,select:l,selected:!1},w.push(p),x||l(),p}function s(e){highed.isArr(e)&&e.forEach(function(e){o(e)})}function a(){f.innerHTML=""}function r(){var i=highed.dom.size(e);highed.dom.size(f),t&&i.h<50&&0!==i.h&&i.h?(highed.dom.style(b,{display:"block"}),highed.dom.style(f,{display:"none"})):t&&(highed.dom.style(b,{display:"none"}),highed.dom.style(f,{display:""}))}function l(){highed.dom.style(f,{})}function d(){}function h(){w.length>0&&w[0].select()}function c(e){w.some(function(t){if(e===t.title)return!!t.selected||(t.select(),!0)})}function p(e){return!!k[e].classList.contains("active")||(Object.keys(k).forEach(function(t){k[t]!==k[e]&&k[t].classList.remove("active")}),void(k[e].classList.contains("active")||(k[e].className+=" active")))}function u(){x&&x.select()}function m(){return w.length}function g(){return x}var f=highed.dom.cr("div","highed-list"),b=highed.dom.cr("div","highed-list-compact","compact"),y=highed.ContextMenu(),x=!1,v=highed.events(),w=[],k={},T=i;return highed.dom.on(b,"click",function(e){y.build(w.map(function(e){return{title:e.title,click:e.select,selected:e.selected}})),y.show(e.clientX,e.clientY)}),highed.dom.ap(e,f,b),{on:v.on,addItem:o,addItems:s,clear:a,resize:r,show:l,hide:d,selectFirst:h,select:c,selectDropdown:p,reselect:u,selected:g,count:m,container:f}},function(){function e(e){highed.dom.style(s,{background:e,color:highed.getContrastedColor(e)})}var t=highed.dom.cr("div","highed-colorpicker highed-colorpicker-responsive"),i=highed.dom.cr("canvas","picker"),n=highed.dom.cr("div","highed-ok-button","Close"),o=i.getContext("2d"),s=highed.dom.cr("input","manual");highed.ready(function(){highed.dom.ap(document.body,t)}),highed.pickColor=function(a,r,l,d){function h(){var e,t,n=Math.floor(f.w/14),s=Math.floor(f.h/19),a=-1;for(i.width=f.w,i.height=f.h,o.fillStyle="#FFF",o.fillRect(0,0,f.w,f.h),t=0;t<19;t++)for(e=0;e<15;e++)o.fillStyle=highed.meta.colors[++a],o.fillRect(e*n,t*s,n,s)}function c(){highed.dom.style(t,{opacity:0,left:"-20000px","pointer-events":"none"}),b(),y(),x(),v()}function p(e,t,i){var n="#"+(e<<16|t<<8|i).toString(16);return 5===n.length?n.replace("#","#00"):6===n.length?n.replace("#","#0"):n}function u(t){var n=t.clientX||t.touches[0].clientX||0,l=t.clientY||t.touches[0].clientY||0,h=highed.dom.pos(i),c=o.getImageData(n-h.x-a,l-h.y-r,1,1).data,u=p(c[0]||0,c[1],c[2]);return s.value=u,e(u),highed.isFn(d)&&d(u),t.cancelBubble=!0,t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),!1}var m=highed.dom.size(document.body),g=highed.dom.size(t),f=highed.dom.size(i),b=!1,y=!1,x=!1,v=!1;return a>m.w-g.w&&(a=m.w-g.w-10),r>m.h-g.h&&(r=m.h-g.h-10),highed.dom.style(t,{left:a+"px",top:r+"px",opacity:1,"pointer-events":"auto"}),v=highed.showDimmer(c,!0,!0,5),x=highed.dom.on(n,"click",c),b=highed.dom.on(s,"keyup",function(){highed.isFn(d)&&d(s.value)}),y=highed.dom.on(i,["mousedown","touchstart"],function(e){var t=highed.dom.on(i,["mousemove","touchmove"],u),n=highed.dom.on(document.body,["mouseup","touchend"],function(){t(),n()});u(e)}),s.value=l,e(l),h(),{}},highed.dom.ap(t,i,s,n)}(),highed.Toolbar=function(e,t){function i(e,t){var i=highed.dom.cr("div","icon highed-icon fa "+(e.css||""));highed.dom.on(i,"click",function(t){highed.isFn(e.click)&&e.click(t)}),i.title=e.tooltip||e.title,highed.dom.ap("left"===t?r:l,i)}function n(e,t){var i=highed.dom.cr("div","highed-ok-button highed-toolbar-button",e.title||"");highed.dom.on(i,"click",function(t){highed.isFn(e.click)&&e.click(t)}),i.title=e.tooltip,highed.dom.ap("left"===t?r:l,i)}function o(e){highed.dom.ap("left"===e?r:l,highed.dom.cr("span","separator"))}var s=highed.merge({additionalCSS:[]},t),a=highed.dom.cr("div","highed-toolbar "+s.additionalCSS.join(" ")),r=highed.dom.cr("div","highed-toolbar-left"),l=highed.dom.cr("div","highed-toolbar-right"),d=highed.dom.cr("div","highed-toolbar-center");return highed.dom.cr("div","icons"),highed.dom.ap(e,highed.dom.ap(a,r,d,l)),{container:a,addIcon:i,addButton:n,addSeparator:o,left:r,center:d,right:l}},function(){highed.FontPicker=function(e,t){function i(){highed.isFn(e)&&e(t)}function n(e,n){highed.dom.style(h,{background:e}),t.color=e,n||i()}function o(e){if(highed.isStr(e))try{e=JSON.parse(e)}catch(e){return void highed.log(0,"Error in FontPicker::set")}t=highed.merge({fontFamily:"Default",color:"#333",fontSize:"18px",fontWeight:"normal",fontStyle:"normal"},e),l.set("bold"===t.fontWeight),d.set("italic"===t.fontStyle),n(t.color,!0),a.selectById(t.fontFamily),r.selectById(t.fontSize.replace("px",""))}var s=highed.dom.cr("div","highed-font-picker"),a=highed.DropDown(),r=highed.DropDown(null,"highed-font-size"),l=highed.PushButton(!1,"bold"),d=highed.PushButton(!1,"italic"),h=highed.dom.cr("span","font-color"," ");if(highed.isStr(t))try{t=JSON.parse(t)}catch(e){}return a.addItems(highed.meta.fonts),r.addItems([8,10,12,14,16,18,20,22,25,26,28,30,32,34]),o(t),a.on("Change",function(e){return"Default"===e.id()?t.fontFamily='"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif':t.fontFamily=e.id(),i()}),r.on("Change",function(e){return t.fontSize=e.id()+"px",i()}),l.on("Toggle",function(e){t.fontWeight=e?"bold":"normal",i()}),d.on("Toggle",function(e){t.fontStyle=e?"italic":"normal",i()}),highed.dom.on(h,"click",function(e){highed.pickColor(e.clientX,e.clientY,t.color,n)}),highed.dom.ap(s,a.container,r.container,highed.dom.ap(highed.dom.cr("div","highed-font-picker-buttons"),highed.dom.ap(highed.dom.cr("div","highed-font-style"),l.button,d.button),h)),{set:o,container:s}}}(),highed.WizardStepper=function(e,t,i){function n(){var e=b.filter(function(e){return e.visible});f=0,e.forEach(function(t,i){0===i?t.bar.className="bar bar-first":i===e.length-1?t.bar.className="bar bar-last":t.bar.className="bar",t.number=++f,t.bar.className+=" "+("bottom"===d.indicatorPos?"bar-bottom":"bar-top")})}function o(e){function t(){g&&(g.bubble.innerHTML="",highed.dom.style(g.bubble,{height:"",width:"",bottom:"-4px","font-size":"0px"}),highed.dom.style(g.body,{opacity:0,display:"none","pointer-events":"none"}),"top"===d.indicatorPos&&highed.dom.style(g.bubble,{top:"-6px",bottom:""}),g.label.className="label-inactive",u.innerHTML=e.title+" - "+i.number+"/"+f,m.innerHTML=i.number+"/"+f,e.onshow&&e.onshow()),i.bubble.innerHTML=i.number,highed.dom.style(i.bubble,{height:"25px",width:"25px",bottom:"-8px","font-size":"16px"}),highed.dom.style(i.body,{opacity:1,display:"block","pointer-events":"auto"}),"top"===d.indicatorPos&&highed.dom.style(i.bubble,{top:"-10px"}),g=i,g.label.className="label-active",h.emit("Step",i,f,e)}var i={number:++f,node:highed.dom.cr("div","highed-wizstepper-item"),label:highed.dom.cr("div","",e.title,"label"),bubble:highed.dom.cr("div","bubble "+("bottom"===d.indicatorPos?"bubble-bottom":"bubble-top")),bar:highed.dom.cr("div","bar "+("bottom"===d.indicatorPos?"bar-bottom":"bar-top")),body:highed.dom.cr("div","highed-step-body"),visible:!0};return i.title=e.title,i.hide=function(){highed.dom.style(i.node,{display:"none"}),i.visible&&(f--,i.visible=!1,n())},i.show=function(){highed.dom.style(i.node,{display:""}),i.visible||(f++,i.visible=!0,n(),e.onshow&&e.onshow())},i.visible=function(){return visible},highed.dom.on(i.node,"click",t),g||t(),i.activate=t,b.push(i),n(),highed.dom.ap(p,highed.dom.ap(i.node,i.label,i.bar,i.bubble)),highed.dom.ap(c,i.body),h.emit("AddStep",g,f),i}function s(){var e=b.filter(function(e){return e.visible});g&&g.number1&&e[g.number-2].activate()}function r(t,i){var n=highed.dom.size(e);highed.dom.style(c,{height:(i||n.h)+"px"})}function l(){b.some(function(e,t){if(e.visible)return e.activate(),!0})}var d=highed.merge({indicatorPos:"top"},i),h=highed.events(),c=highed.dom.cr("div","highed-wizstepper-body"),p=highed.dom.cr("div","highed-wizstepper-indicators"),u=highed.dom.cr("div","highed-wizstepper-current"),m=highed.dom.cr("div","highed-wizstpper-current-bubble"),g=!1,f=0,b=[],y=highed.ContextMenu();return highed.dom.on(u,"click",function(e){var t=b.filter(function(e){return e.visible});y.build(t.map(function(e){return{title:e.title,click:e.activate,selected:g.title===e.title}})),y.show(e.clientX,e.clientY)}),highed.dom.ap(t,p,highed.dom.ap(u,m)),highed.dom.ap(e,c),{on:h.on,addStep:o,next:s,resize:r,previous:a,selectFirst:l,body:c}},function(){function e(){highed.dom.style(t,{opacity:0,"pointer-events":"none"})}var t=highed.dom.cr("div","highed-scrollbar highed-tooltip highed-tooltip-fixed");highed.ready(function(){highed.dom.ap(document.body,t)}),highed.dom.on(t,"mouseout",e),highed.dom.on(t,"click",e),highed.Tooltip=function(i,n,o,s){var a=highed.dom.size(document.body);return i<0&&(i=0),n<0&&(n=0),i>a.w-200&&(i=a.w-200),highed.dom.style(t,{opacity:1,"pointer-events":"auto",left:i+"px",top:n+"px","max-width":"300px"}),s&&highed.dom.style(t,{opacity:1,"pointer-events":"auto",width:"90%",height:"90%",left:"50%",top:"50%",transform:"translate(-50%, -50%)"}),t.innerHTML=o,e},highed.hideAllTooltips=e}(),highed.PushButton=function(e,t,i){function n(){i?s.className+=" highed-pushbutton-active":s.className=s.className.replace(" highed-pushbutton-active","")}function o(e){i=e,n()}var s=highed.dom.cr("span","highed-pushbutton fa fa-"+t),a=highed.events();return highed.dom.on(s,"click",function(){i=!i,n(),a.emit("Toggle",i)}),highed.isNull(e)||e===!1||highed.dom.ap(e,s),n(),{set:o,button:s,on:a.on}},highed.Tree=function(e){function t(e,i,o,s,a){function m(){(!e.meta.types.array&&"undefined"!=typeof h[z]||L)&&(h[z]=L)}function g(){r&&(r.className="parent-title"),r=k,c=z,k.className="parent-title parent-title-selected",l.emit("Select",e,k.innerHTML,e.data,s,!!u[z]&&(e.data[u[z].controller]||u[z].default))}function f(t,i){(i||!L)&&e.children.length&&e.meta.hasSubTree&&(C.className="exp-col-icon fa fa-folder-open-o",highed.dom.style(T,{display:"block"}),L=!0,m()),t||g(),highed.emit("UIAction","AdvancedTreeNavigation",(e.meta.ns?e.meta.ns+".":"")+e.meta.name)}function b(t,i){L&&e.children.length&&e.meta.hasSubTree&&(C.className="exp-col-icon fa fa-folder-o",highed.dom.style(T,{display:"none"}),L=!1,i||m()),t||g()}function y(e){if(L?b():f(),e)return highed.dom.nodefault(e)}function x(i){function a(i,a){var r={meta:{name:e.meta.name,title:e.meta.name+"["+a+"]",hasSubTree:!0,arrayData:o[e.meta.name],isArrayElement:!0,types:{object:1}},data:i,children:highed.merge([],e.children) },l=t(r,T,i,s,a);l&&n(r,l.body,i,s,a)}T.innerHTML="",s&&Object.keys(e.meta.products||{}).length>0&&!e.meta.products[s],e.meta.isArrayElement&&(highed.dom.ap(w,highed.dom.ap(S,A)),highed.dom.on(A,"click",function(t){if(confirm("Really delete the element? This cannot be undone!")){var i=!1;r===w&&(r.className="parent-title",r=!1,c=!1,l.emit("ClearSelection")),T.parentNode.removeChild(T),w.parentNode.removeChild(w),e.meta.arrayData.some(function(t,n){if(t===e.data)return i=n,!0}),e.meta.arrayData.splice(i,1),l.emit("ForceSave",p),highed.snackBar("Removed element "+i+" from "+(e.meta.ns?e.meta.ns+".":"")+e.meta.name)}return highed.dom.nodefault(t)})),e.meta.types.array?(highed.dom.ap(w,highed.dom.ap(S,O)),C.className="exp-col-icon fa fa-th-list",e.data=o[e.meta.name]=o[e.meta.name]||[],highed.isArr(e.data)||(e.data=o[e.meta.name]=[o[e.meta.name]]),highed.dom.on(O,"click",function(){var t={};highed.snackBar("Added new element to "+e.meta.name),e.data.push(t),a(t,e.data.length-1),l.emit("ForceSave",p)}),e.data.forEach(a)):(highed.dom.on(w,"click",function(){f()}),highed.dom.on(C,"click",y),e.meta.hasSubTree||(C.className="exp-col-icon fa fa-sliders"),e.meta.isArrayElement||(e.data=o[e.meta.name]=o[e.meta.name]||{}),h[z]?f(!0,!0):b(!0,!0),z===c&&g())}var v=(e.meta.ns?e.meta.ns+".":"")+(isNaN(a)?"":"["+a+"].")+e.meta.name,w=highed.dom.cr("div","node","",v),k=highed.dom.cr("div","parent-title",highed.uncamelize(e.meta.title||e.meta.name)),T=highed.dom.cr("div","parent-body"),C=highed.dom.cr("div","exp-col-icon fa fa-folder-o"),S=highed.dom.cr("div","right-icons"),A=highed.dom.cr("div","highed-icon fa fa-minus-square-o"),O=highed.dom.cr("div","highed-icon fa fa-plus-square-o"),z=(e.meta.ns?e.meta.ns+".":"")+(a?"["+a+"].":"")+e.meta.name,L=!0;return e.meta.fullname=a?e.meta.name:z,highed.dom.ap(i,highed.dom.ap(w,C,k),T),d[z]=f,x(),{data:e.data,body:T,rebuild:x}}function i(e){var t="";e&&(e=e.replace(/\-\-/g,".").replace(/\-/g,".").split("."),e.forEach(function(e){e=t+e,d[e]&&d[e](),t+=e+"."}))}function n(e,i,o,s,a){e&&(e.meta.types.array||(s&&Object.keys(e.meta.products||{}).length>0&&!e.meta.products[s],highed.isArr(e.children)&&e.children.forEach(function(r){var l,d;if(e.meta.fullname&&u[e.meta.fullname]&&r.meta&&r.meta.validFor){var h=s.series;a&&(h=[h[a]]);var c=!1;if((h||[]).forEach(function(t){d=t[u[e.meta.fullname].controller]||u[e.meta.fullname].default,r.meta.validFor[d]&&(c=!0)}),!c)return}r.meta.leafNode||(l=t(r,i,o,s),l&&n(r,l.body,l.data,s))})))}function o(){return p}function s(e,t){return"undefined"!=typeof u[e]&&u[e].controller===t}var a=highed.dom.cr("div","highed-tree"),r=!1,l=highed.events(),d={},h={},c=!1,p={},u={series:{controller:"type",state:!1,default:"line"},plotOptions:{controller:"type",state:!1,default:"line"}};return highed.dom.ap(e,a),{on:l.on,expandTo:i,getMasterData:o,isFilterController:s,build:function(e,t){p=t,a.innerHTML="",n(e,a,t,t)}}},function(){function e(){s=window.setTimeout(function(){highed.dom.style(t,{bottom:"-68px"})},5e3)}var t=highed.dom.cr("div","highed-snackbar no-print"),i=highed.dom.cr("span","snackbar-title",""),n=highed.dom.cr("span","snackbar-action",""),o=highed.dom.cr("span","highed-snackbar-close fa fa-times-circle",""),s=!1,a=!1;highed.ready(function(){highed.dom.ap(document.body,highed.dom.ap(t,i,n,o))}),highed.dom.on(t,"mouseover",function(){window.clearTimeout(s)}),highed.dom.on(t,"mouseout",function(){e()}),highed.dom.on(o,"click",function(){highed.dom.style(t,{bottom:"-68px"})}),highed.snackBar=function(o,r,l){i.innerHTML=o,window.clearTimeout(s),r&&(n.innerHTML=r.toUpperCase()),a&&a(),highed.dom.style(t,{bottom:"10px"}),highed.dom.style(n,{display:r?"":"none"}),a=highed.dom.on(n,"click",l),e()}}(),highed.ContextMenu=function(e){function t(e){var t,i=highed.dom.cr("div","highed-ctx-item highed-ctx-item-responsive",e.title),o=highed.dom.cr("div","highed-ctx-child-icon fa fa-angle-right");return"-"===e?highed.dom.ap(s,highed.dom.cr("div","highed-ctx-sep")):(highed.dom.on(i,"click",function(){highed.isFn(e.click)&&e.click(),n()}),e.selected&&(i.className+=" highed-ctx-item-selected"),highed.isNull(e.children)||(t=highed.ContextMenu(e.children),highed.dom.on(i,"mouseenter",function(e){t.show(e.clientX,e.clientY)})),void highed.dom.ap(s,highed.dom.ap(i,!!e.icon&&highed.dom.cr("div","ctx-child-licon highed-ctx-child-licon-responsive fa fa-"+e.icon),!!e.children&&o)))}function i(e,t,i){var o=highed.dom.size(document.body),a=highed.dom.size(s);!i&&r||(e>o.w-a.w-20&&(e=o.w-a.w-20),t>o.h-a.h-20&&(t=o.h-a.h-20),highed.dom.style(s,{"pointer-events":"auto",opacity:1,left:e+"px",top:t+"px"}),r=!0,i||(l=highed.showDimmer(n,!0,!0,10)))}function n(){r&&(highed.dom.style(s,{left:"-2000px","pointer-events":"none",opacity:0}),highed.isFn(l)&&l(),r=!1)}function o(e){return s.innerHTML="",highed.dom.ap(s,a),highed.isArr(e)?e.forEach(t):void Object.keys(e).forEach(function(i){var n=e[i];t(highed.merge({title:i},n))})}var s=highed.dom.cr("div","highed-ctx-container-common highed-ctx-container"),a=highed.dom.cr("div","highed-ctx-close-button","Close"),r=!1,l=!1;return e&&o(e),highed.dom.on(a,"click",n),highed.ready(function(){highed.dom.ap(document.body,s)}),{addEntry:t,show:i,hide:n,build:o}},function(){var e=highed.dom.cr("div","highed-dropdown-items highed-dropdown-items-responsive");highed.ready(function(){highed.dom.ap(document.body,e)}),highed.DropDown=function(t,i,n){function o(){e.innerHTML="",k.forEach(function(t){highed.dom.ap(e,t.node),t.node.innerHTML="";const i=highed.dom.cr("span","highed-icon-container");n&&highed.dom.ap(i,highed.dom.style(highed.dom.cr("span"),{"margin-left":"2px",width:"15px",height:"15px",float:"left",display:"inline-block","margin-right":"5px",color:"rgb(66, 200, 192)","background-position":"left middle","background-size":"auto 100%","background-repeat":"no-repeat","background-image":'url("data:image/svg+xml;utf8,'+encodeURIComponent(n[t.id().toLowerCase()])+'")'})),highed.dom.ap(t.node,i,highed.dom.style(highed.dom.cr("span","",t.title()||""),{position:"relative",top:"3px"}))})}function s(){highed.isFn(S)&&(S(),S=!1),T&&(v.innerHTML="",n&&highed.dom.ap(v,highed.dom.style(highed.dom.cr("span"),{"margin-left":"2px",width:"15px",height:"15px",float:"left",display:"inline-block","margin-right":"5px",color:"rgb(66, 200, 192)","background-position":"left middle","background-size":"auto 100%","background-repeat":"no-repeat","background-image":'url("data:image/svg+xml;utf8,'+encodeURIComponent(n[T.id().toLowerCase()])+'")'})),v.innerHTML+=T.title()),highed.dom.style(e,{opacity:0,left:"-20000px","pointer-events":"none"}),C=!1}function a(t){o();var i=highed.dom.pos(x,!0),n=highed.dom.size(x);i&&i.x||(i={x:10,y:10}),n&&n.w||(n={w:200,h:200}),highed.dom.style(e,{opacity:1,"pointer-events":"auto",left:i.x+"px",top:i.y+n.h+4+"px",width:n.w-1+"px","min-height":n.h+"px"}),S=highed.showDimmer(s,!0,!0,500),C=!0}function r(e){return(C=!C)?a(e):(s(),C)}function l(e){if(e&&e.id&&(highed.isBasic(e.id)||(e.id="1234")),highed.isBasic(e)&&(e={id:e,title:e}),k.filter(function(t){return t.id()===e.id}).length>0)return!1;var t=highed.dom.cr("div","highed-dropdown-item"),i=highed.uuid(),n=k.length,o={node:t,index:function(){return n},id:function(){return i},icon:function(){return e.icon},title:function(){return highed.isStr(e)?e:e.title||""},unselect:function(){t.className="highed-dropdown-item"},select:function(i){T&&T.unselect(),t.className="highed-dropdown-item highed-dropdown-item-selected",T=o,v.innerHTML=T.title(),i||y.emit("Change",o),e&&highed.isFn(e.select)&&e.select(o),s()},updateOptions:function(t){e=t},setId:function(e){i=e}};if(!e)return!1;if(highed.isStr(e)||highed.isNum(e))t.innerHTML=e,i=e;else{const a=highed.dom.cr("span","highed-icon-container",e.icon?'':"");highed.dom.style(a,{"margin-right":"5px",color:"rgb(66, 200, 192)"}),highed.dom.ap(t,a,highed.dom.cr("span","",e.title||"")),i=e.id,e.selected&&o.select()}return highed.dom.on(t,"click",function(e){return o.select(),e.cancelBubble=!0,e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),!1}),k.push(o),o}function d(){k=[]}function h(e){highed.isArr(e)&&e.forEach(l)}function c(e,t){k.some(function(i){if(i.id()==e)return i.select(t),!0})}function p(e,t,i){k[e].updateOptions(t),i&&k[e].setId(i)}function u(e,t){e>=0&&eh.w-c.w&&(p=h.w-c.w))),"Y"!==t&&"XY"!==t||(u=d.y+((n.clientY||n.touches[0].clientY)-g),i&&(u<0&&(u=0),u>h.h-c.h&&(u=h.h-c.h))),o&&pa.max?a.max:parseInt(e.target.value),c.innerHTML=l,n(),highed.onPhone()||r.emit("Change",l))}),g.on("StartMove",function(){highed.onPhone()&&(c.className="highed-slider-text-indicator highed-slider-text-indicator-popup")}),g.on("EndMove",function(){highed.onPhone()&&(c.className="highed-slider-text-indicator",r.emit("Change",l))}),highed.dom.on(u,"mouseover",function(e){}),highed.dom.on(u,"click",function(){l=a.resetTo,n(),"null"===l&&(l=null),"undefined"===l&&(l=void 0),i(),r.emit("Change",l)}),e&&(e=highed.dom.get(e),highed.dom.ap(e,d)),highed.dom.ap(d,p,m,u,highed.dom.ap(h,c)),o(),{on:r.on,set:s,container:d}},highed.DataTable=function(e,t){function i(e,t){if("text/csv"!==e.type)return highed.snackBar("The file is not a valid CSV file");var i=new FileReader;i.onload=function(e){C(),V({csv:e.target.result},null,!0,t)},i.readAsText(e)}function n(){highed.dom.style(Be,{display:"block"})}function o(){highed.dom.style(Be,{display:"none"})}function s(e){if(window.clearTimeout(wt),!pt&&!ut&&!kt)return e?Te.emit("Change",L(),D()):void(wt=window.setTimeout(function(){pt||ut||Te.emit("Change",L())},1e3))}function a(e,t,i,n,o,s){mt.length&&(mt=mt.filter(function(e){return e(),!1})),ft&&ft(),ft=o,Ve.value=t,mt.push(highed.dom.on(Ve,"keydown",function(e){if(highed.isFn(n))return n(e)})),mt.push(highed.dom.on(Ve,"keyup",function(e){var t=highed.parseCSV(Ve.value);return t.length>1?void(confirm("You are about to load CSV data. This will overwrite your current data. Continue?")&&(gt=Ve.value,highed.emit("UIAction","PasteCSVAttempt"),V({csv:gt},null,!0,function(){}))):highed.isFn(i)&&i(Ve.value)})),highed.dom.ap(e,Ve),s||Ve.focus()}function r(e){Ht.forEach(function(e){e.element.classList.remove("highlight-right")}),xt.forEach(function(t){t.columns[e].element.className.indexOf("highlight-right")===-1&&(t.columns[e].element.className+=" highlight-right",Ht.push(t.columns[e]))}),vt[e].header.className.indexOf("highlight-right")===-1&&(vt[e].header.className+=" highlight-right",Ht.push({element:vt[e].header})),vt[e].letter.className.indexOf("highlight-right")===-1&&(vt[e].letter.className+=" highlight-right",Ht.push({element:vt[e].letter}),moveToColumn=e)}function l(e,t,i,n){function o(){t>=1?e.columns[t-1].focus():e.number-1>=0&&xt[e.number-1].columns[xt[e.number-1].columns.length-1].focus()}function l(){t0&&xt[e.number-1].columns.length>t&&xt[e.number-1].columns[t].focus()}function u(){e.numbert&&xt[e.number+1].columns[t].focus()}function m(t){return 37===t.keyCode?(o(),highed.dom.nodefault(t)):38===t.keyCode?(p(),highed.dom.nodefault(t)):39===t.keyCode||9===t.keyCode?(l(),highed.dom.nodefault(t)):40===t.keyCode?(u(),highed.dom.nodefault(t)):13===t.keyCode?(e.number===xt.length-1?(Te.emit("ColumnMoving"),S(),xt[e.number+1].columns[0].focus(),Te.emit("ColumnMoved")):u(),highed.dom.nodefault(t)):void 0}function g(){L.innerHTML="",Ve.value="",O=null,s()}function f(e){L.innerHTML=e,Ve.value=e,O=e,s()}function b(t){function i(e){return null===e||""===e}d(),Ve.className="highed-dtable-input",Ve.draggable=!1,highed.dom.on(Ve,"dragstart",function(e){return highed.dom.nodefault(e),!1}),highed.dom.on(Ve,"ondrop",function(e){return highed.dom.nodefault(e),!1}),a(z,O,function(e){var t=O!==e;O=i(e)?null:e,L.innerHTML=O,t&&s()},m,t),highed.dom.style(Ee,{top:highed.dom.pos(z).y+highed.dom.size(z).h-3+"px",left:highed.dom.pos(z).x+highed.dom.size(z).w-3+"px",display:"block"}),e.select()}function y(){z.classList.remove("cell-selected")}function x(){z.classList.remove("cell-copy-selected")}function v(){z.className.indexOf("cell-selected")===-1&&(z.className+=" cell-selected",Mt.indexOf(I)===-1&&Mt.push(I))}function w(){zt[0]=t,zt[1]=e.number,c(Ot,zt)}function k(){z.className.indexOf("cell-copy-selected")===-1&&(z.className+=" cell-copy-selected",Ft.indexOf(I)===-1&&Ft.push(I))}function T(){e.node.removeChild(z),z.innerHTML="",L.innerHTML=""}function C(){return O}function A(i){t=i||t,highed.dom.ap(e.node,highed.dom.ap(z,L))}var O="undefined"==typeof i||"object"==typeof i||"null"===i?null:i,z=highed.dom.cr("td","highed-dtable-cell"),L=highed.dom.cr("div","highed-dtable-col-val",O),I=(highed.dom.cr("input"),{});return highed.dom.on(z,"mouseup",function(i){if(Vt){Vt=!1;const n=xt[Lt[1]].columns[Lt[0]].value();Ft.forEach(function(e){e.setValue(n),e.deselectCopyCell()}),Ft=[]}else Ot[0]===zt[0]&&Ot[1]===zt[1]&&(Dt[0]=t,Dt[1]=e.number,Lt[0]=Ot[0],Lt[1]=Ot[1],It[1]=zt[1],It[0]=zt[0],jt=[],b(),globalContextMenu.hide())}),highed.dom.on([z,L],"mouseover",function(i){Bt&&(Vt?(t===It[0]?(It[1]=e.number,It[0]=Lt[0]):It[1]===e.number&&(It[1]=Lt[1],It[0]=t),h(Lt,It)):dragHeaderMode?r(t):w())}),highed.dom.on(z,"mousedown",function(){Dt[0]!==t&&Dt[1]!==e.number&&b(),Ot[0]=t,zt[0]=t,Ot[1]=e.number,zt[1]=e.number,Lt[0]=Ot[0],Lt[1]=Ot[1],It[1]=zt[1],It[0]=zt[0]}),xt.length<=500&&A(),I={focus:b,value:C,destroy:T,addToDOM:A,selectCell:v,deleteContents:g,deselectCell:y,deselectCopyCell:x,element:z,setValue:f,rowNumber:e.number,colNumber:t,selectCellToCopy:k,updateColNumber:function(e){t=e,I.colNumber=e}}}function d(){Mt.forEach(function(e){e.deselectCell()}),Mt=[],zt[0]=null,zt[1]=null,Ot[0]=null,Ot[1]=null}function h(e,t){Ft=Ft.filter(function(i){return i.rowNumber>t[1]||i.colNumber>t[0]||i.rowNumbert[0]&&(i=t[0],s=e),n=e[1]>t[1]?t:e,o=e[1]t[1]||i.colNumber>t[0]||i.rowNumbert[0]&&(i=t[0],s=e),n=e[1]>t[1]?t:e,o=e[1]=0&&e0&&e=0&&e0&&xt[0].columns[0].focus(),y(),s(),Te.emit("ColumnMoved")}}var o,l=highed.dom.cr("col"),h=(vt.length,highed.dom.cr("span","highed-dtable-top-bar-col")),p=highed.dom.cr("span","highed-dtable-top-bar-letter"),u=highed.dom.cr("div","","undefined"==typeof e||"null"===e?null:e),m=highed.dom.cr("div","highed-dtable-resize-handle"),g=highed.dom.cr("div","highed-dtable-top-bar-col-options fa fa-chevron-down"),f={col:l,header:h,headerTitle:u,colNumber:vt.length,letter:p,test:!0},b=highed.Movable(m,"X",!1,!1,{x:20,y:0},!0),v=highed.ContextMenu([{title:highed.L("dgSortAsc"),icon:"sort-amount-asc",click:function(){T(f.colNumber,"asc")}},{title:highed.L("dgSortDec"),icon:"sort-amount-desc",click:function(){T(f.colNumber,"desc")}},"-",{title:highed.L("dgSortAscMonth"),icon:"sort-amount-asc",click:function(){T(f.colNumber,"asc",!0)}},{title:highed.L("dgSortDecMonth"),icon:"sort-amount-desc",click:function(){T(f.colNumber,"desc",!0)}},"-",{title:highed.L("dgDelCol"),icon:"trash",click:function(){confirm(highed.L("dgDelColConfirm"))&&O(f.colNumber)}},"-",{title:highed.L("dgInsColBefore"),icon:"plus",click:function(){Te.emit("ColumnMoving"),A(f.colNumber),Te.emit("ColumnMoved")}},{title:highed.L("dgInsColAfter"),icon:"plus",click:function(){Te.emit("ColumnMoving"),A(f.colNumber+1),Te.emit("ColumnMoved")}}]),w=highed.dom.cr("span","highed-dtable-cell-value",St);p.value=highed.getLetterIndex(St),f.setLetter=function(e){w.innerHTML=e,p.value=highed.getLetterIndex(e)},f.hideColumns=function(){l.classList.contains("cell-hide")||(l.classList.add("cell-hide"),h.classList.add("cell-hide"),p.classList.add("cell-hide"))},f.showColumns=function(){l.classList.contains("cell-hide")&&(l.classList.remove("cell-hide"),h.classList.remove("cell-hide"),p.classList.remove("cell-hide"))},highed.dom.on(p,"mouseover",function(e){Bt&&e.target!==g&&e.target!==m&&(dragHeaderMode?(Ae.className.indexOf("active")===-1&&(Ae.className+=" active",highed.dom.style(Ae,{width:140*((jt[0]0&&e.target.value>=jt[0]&&e.target.value<=jt[1]?dragHeaderMode=!0:e.target!==g&&e.target!==m&&(jt=[],jt[0]=e.target.value,jt[1]=e.target.value,Ot[0]=e.target.value,zt[0]=e.target.value,Ot[1]=0,zt[1]=xt.length-1,c(Ot,zt))}),highed.dom.on(Ce,"mouseover",function(e){dragHeaderMode&&highed.dom.style(Ae,{left:e.clientX-highed.dom.size(Ae).w/2+"px"})}),highed.dom.on(Ce,"mouseup",function(e){dragHeaderMode&&(n(),jt=[],dragHeaderMode=!1,Ae.classList.remove("active"),Ht.forEach(function(e){e.element.classList.remove("highlight-right")}),Ht=[],moveToColumn=null),globalContextMenu.hide()}),highed.dom.on(h,"mouseover",function(e){Bt&&dragHeaderMode&&r(f.colNumber)}),St=x(St),f.addToDOM=function(){highed.dom.ap(De,l),highed.dom.ap(He,highed.dom.ap(p,w,g,m)),highed.dom.ap(Pe,highed.dom.ap(h,u))},f.destroy=function(){De.removeChild(l),Pe.removeChild(h),He.removeChild(p),vt=vt.filter(function(e){return e!==f})},f.addToDOM(),l.width=140,highed.dom.style([l,h,p],{width:l.width+"px","max-width":l.width+"px"}),b.on("StartMove",function(e){o=e,h.classList.contains("no-transition")||(h.classList+=" no-transition",p.classList+=" no-transition",l.classList+=" no-transition"),xt.length>0&&xt[0].columns[0].focus(),highed.dom.style(Ee,{display:"none"}),highed.dom.style(document.body,{cursor:"ew-resize"})}),b.on("Moving",function(e){l.width=e,highed.dom.style(Ee,{display:"none"}),highed.dom.style([l,h,p],{width:e+"px","max-width":e+"px"}),m.className="highed-dtable-resize-handle highed-dtable-resize-handle-moving"}),b.on("EndMove",function(e){highed.dom.style(document.body,{cursor:""}),h.classList.contains("no-transition")&&(h.classList.remove("no-transition"),p.classList.remove("no-transition"),l.classList.remove("no-transition")),m.className="highed-dtable-resize-handle",xt.length>0&&xt[0].columns[0].focus()}),highed.dom.on(g,"click",function(e){return v.show(e.clientX,e.clientY),highed.dom.nodefault(e)}),highed.dom.on(h,"click",function(t){Ve.className="highed-dtable-input highed-dtable-input-header",highed.dom.style(Ee,{display:"none"}),d(),a(h,e,function(t){u.innerHTML=e=t,s()},function(e){13===e.keyCode&&(Ve.className="highed-dtable-input",h.removeChild(Ve))})}),xt.forEach(function(e){t?e.insertCol(t):e.addCol(null,At),At=x(At)}),isNaN(t)?vt.push(f):vt.splice(t,0,f),s()}function w(){highed.dom.style(_e,{opacity:1})}function k(){highed.dom.style(_e,{opacity:0})}function T(e,t,i){Le.innerHTML="",t=(t||"").toUpperCase(),xt.sort(function(n,o){var s=n.columns[e].value(),a=o.columns[e].value();return highed.isNum(s)&&highed.isNum(a)||i?(i?(s=Tt[s.toUpperCase().substr(0,3)]||13,a=Tt[a.toUpperCase().substr(0,3)]||13):(s=parseFloat(s),a=parseFloat(a)),"ASC"===t?s-a:as?1:0):"ASC"===t?s?s.localeCompare(a):a:a?s?a.localeCompare(s):a:s?s.localeCompare(a):void 0}),u(),xt.length>0&&xt[0].columns[e].focus(),s()}function C(e){xt=xt.filter(function(e){return e.destroy(),!1}),vt=vt.filter(function(e){return!1}),Le.innerHTML="",Me.innerHTML="",Pe.innerHTML="",He.innerHTML="",De.innerHTML="",St="A",highed.dom.style(Ie,{display:""}),Te.emit("ClearData",!0),s(e),w()}function S(e,t){var i=p(t);return vt.forEach(function(){i.addCol()}),e||s(),xt.length>1&&k(),i}function A(e){null===e&&(e=vt.length),e<=0&&(e=0),e>=vt.length&&(e=vt.length),v(highed.L("dgNewCol"),e),y()}function O(e){e>=0&&e-1||e.extraColumns.indexOf(t)>-1||e.labelColumn===t})}function D(e,t,i){function n(t,i){e&&!highed.isNum(t)&&highed.isStr(t)&&(t='"'+t.replace(/\"/g,'"')+'"'),highed.isNum(t)&&(t=parseFloat(t)),highed.isStr(t)&&NaN!==Date.parse(t),i.push(t)}var o=[];return t&&o.push(L(e,i)),Pt=[],xt.forEach(function(e){var t=[],s=!1;e.columns.forEach(function(e,o){if(!i||I(i,o)){var a=e.value();a&&(s=!0),Pt.indexOf(o)===-1&&(Pt.push(o),a||(s=!0,a=void 0)),n(a,t)}}),s&&o.push(t)}),o}function M(e){var t={categories:[],series:[]};return vt.forEach(function(e,i){i>0&&t.series.push({name:e.headerTitle.innerHTML.length?e.headerTitle.innerHTML:null,data:[]})}),xt.forEach(function(e,i){e.columns.forEach(function(e,i){var n=e.value();return i?(i--,n&&highed.isNum(n)&&(n=parseFloat(n)),n&&highed.isStr(n)&&NaN!==Date.parse(n),void t.series[i].data.push(n)):(n&&highed.isStr(n)&&NaN!==Date.parse(n),void t.categories.push(n))})}),t}function F(e,t,i){return e=e||",",D(t,!0,i).map(function(t){return t.join(e)}).join("\n")}function j(e,t){var i={};C(),e.length>1&&k(),e.some(function(e,t){var n=e.length;return i[n]="undefined"==typeof i[n]?0:i[n],++i[n],t>20}),Object.keys(i).length>4&&n(),highed.dom.style(Re,{opacity:1}),highed.dom.style(Fe,{opacity:0}),setTimeout(function(){if(e[0]&&e.lengthEt?e[0].length:Et;e.forEach(function(e){if(e.lengthEt?o[0].length:Et;o.forEach(function(e){if(e.lengthEt&&Te.emit("AssignDataForFileUpload",o[0].length),n&&n()})}kt=!1,t||s(!0)}function E(e,t,i,n,o,s,a,r){$e.value=e,et.value=t||"",tt.value=r||"",it.value=i||0,nt.value=(n===Number.MAX_VALUE?"":n)||"",ot.value=o||0,st.value=(s===Number.MAX_VALUE?"":s)||"",pt=!0,ut=!1,highed.dom.style(qe,{display:"block"}),highed.dom.style(Ce,{display:"none"}),highed.dom.style(Ue,{display:"none"}),a||Te.emit("LoadGSheet",{googleSpreadsheetKey:$e.value,googleSpreadsheetWorksheet:et.value||!1,dataRefreshRate:tt.value||!1,enablePolling:0!==parseInt(tt.value),startRow:it.value||0,endRow:nt.value||void 0,startColumn:ot.value||0,endColumn:st.value||void 0})}function W(){highed.dom.style(Ce,{border:"1px solid #aa5555"})}function B(){highed.dom.style(Ce,{border:"initial"})}function N(e){yt.addImportTab(e)}function G(){bt.hide()}function R(e){bt.show(),isNaN(e)||yt.selectTab(e),Te.emit("initExporter",yt.exporter),yt.resize()}function _(e){(e||xt.length<=1||confirm("This will clear your existing data. Continue?"))&&(C(!0),Te.emit("ClearSeries"),Je.value="",Ze.value="",Ke.selectByIndex(0),highed.dom.style(qe,{display:"none"}),highed.dom.style(Ce,{display:"none"}),highed.dom.style(Ue,{display:"block"}),bt.hide(),pt=!1,ut=!0)}function U(e){(e||xt.length<=1||confirm("This will clear your existing data. Continue?"))&&(C(!0),Te.emit("ClearSeries"),$e.value="",et.value="",tt.value="",highed.dom.style(qe,{display:"block"}),highed.dom.style(Ce,{display:"none"}),highed.dom.style(Ue,{display:"none"}),bt.hide(),pt=!0,ut=!1)}function q(){Je.value&&!confirm("Are you sure you want to remove your live data?")||(Te.emit("LoadLiveData",{url:""}),highed.dom.style(qe,{display:"none"}),highed.dom.style(Ce,{display:"block"}),highed.dom.style(Ue,{display:"none"}),ut=!1,b())}function Y(){$e.value&&!confirm("Are you sure you want to detach the current spreadsheet?")||(Te.emit("LoadGSheet",{googleSpreadsheetKey:"",googleSpreadsheetWorksheet:!1}),highed.dom.style(qe,{display:"none"}),highed.dom.style(Ce,{display:"block"}),highed.dom.style(Ue,{display:"none"}),pt=!1,b(),highed.emit("UIAction","DetachGoogleSheet"))}function X(){var e=J(highed.parseCSV(F())).map(function(e){return e.join(";")}).join("\n");K(),V({csv:e},null,!0)}function J(e){var t,i,n,o,s;if(e)for(s=[],i=e.length,t=0;t0&&xt[0].columns[0].focus()}function Q(e,t){var i=e[0];if(e.length>0)for(;i<=e[e.length-1];)vt[i]&&(highed.dom.style(vt[i].letter,{"background-color":t.light,"border-left":"1px double "+t.dark,"border-top":"1px double "+t.dark,"border-bottom":"1px double "+t.dark,"border-right":"1px double "+t.dark}),highed.dom.style(vt[i].header,{"background-color":t.light,"border-left":"1px double "+t.dark,"border-right":"1px double "+t.dark,"border-bottom":"1px double "+t.dark})),i++}function $(e,t){e.length>0&&xt.forEach(function(i){for(var n=e[0];n<=e[e.length-1];)i.columns[n]&&highed.dom.style(i.columns[n].element,{"background-color":t.light}),n++})}function ee(e,t){e.forEach(function(i,n){xt.forEach(function(o){o.columns[i]&&highed.dom.style(o.columns[i].element,{"border-right":n===e.length-1?"1px double "+t.dark:"", "border-left":0===n?"1px double "+t.dark:""})})})}function te(e){e&&e.length>0&&xt.forEach(function(t){var i=e[0];if(e.length>0)for(;i<=e[e.length-1];)t.columns[i]&&highed.dom.style(t.columns[i].element,{"background-color":""}),i++})}function ie(e){if(e&&e.length>0){var t=e[0];if(e.length>0)for(;t<=e[e.length-1];)vt[t]&&highed.dom.style([vt[t].letter,vt[t].header],{"background-color":"",border:""}),t++}}function ne(e){(e||[]).forEach(function(e){(xt||[]).forEach(function(t){t.columns[e]&&highed.dom.style(t.columns[e].element,{"border-right":"","border-left":""})})})}function oe(e){ne(e),ie(e),te(e)}function se(e,t){ee(e,t),$(e,t),Q(e,t)}function ae(e,t,i,n){oe(e),se(t,i.colors)}function re(e,t,i,n){oe(t)}function le(e,t){var i=!1;vt.forEach(function(n,o){!e.indexOf(o)===-1?t?n.hideColumns():n.showColumns():(n.showColumns(),!i&&xt[0]&&(xt[0].columns[o].focus(),i=!0))})}function de(){return xt[0]&&xt[0].columns?xt[0].columns.length:2}function he(e){return!xt.some(function(t){return null!==t.columns[e].value()})}function ce(){return Pt}function pe(){return!pt&&!ut}function ue(e,t,i){var n,o=highed.dom.cr("table","highed-createchartwizard-table"),t=t,s=t;return e.forEach(function(e){s>=t&&(n=highed.dom.cr("tr",i),highed.dom.ap(o,n),s=0),s+=e.colspan,e.element={},e.type&&"select"===e.type?(e.element.dropdown=highed.DropDown(null,"highed-wizard-dropdown-container"),e.element.dropdown.addItems([{id:"columnsURL",title:"JSON (Column Ordered)"},{id:"rowsURL",title:"JSON (Row Ordered)"},{id:"csvURL",title:"CSV"}]),e.element.dropdown.selectByIndex(0),e.element.dropdown.on("Change",function(e){ct=e.id()}),e.element.input=e.element.dropdown.container):e.element.input=highed.dom.cr("input","highed-imp-input-stretch"),e.placeholder&&(e.element.input.placeholder=e.placeholder),e.element.label=highed.dom.cr("span","",e.label);const a=highed.dom.ap(highed.dom.cr("td","highed-modal-label"),e.element.label),r=highed.dom.ap(highed.dom.cr("td",""),e.element.input);a.colSpan=1,r.colSpan=e.colspan-1,highed.dom.ap(n,a,r)}),o}function me(){return cancel=highed.dom.cr("button","highed-ok-button highed-import-button grey","Cancel"),highed.dom.on(cancel,"click",function(){we.hide()}),cancel}function ge(e){const t=highed.dom.cr("div","highed-modal-container"),i=[{label:"URL",placeholder:"Spreadsheet ID",colspan:2,linkedTo:Je},{label:"Refresh Time in Seconds",placeholder:"Refresh time (leave blank for no refresh)",colspan:2,linkedTo:Ze},{label:"Type",colspan:2,linkedTo:Ke,type:"select"}],n=ue(i,2,"highed-live-data"),o=highed.dom.cr("button","highed-ok-button highed-import-button negative","Import Data"),s=me();return highed.dom.on(o,"click",function(){_(!0),we.hide(),i.forEach(function(e){e.type&&"select"===e.type?e.linkedTo.selectByIndex(e.element.dropdown.getSelectedItem().index()):e.linkedTo.value=e.element.input.value}),dt.click(),e()}),highed.dom.ap(t,highed.dom.cr("div","highed-modal-title highed-help-toolbar","Import Live Data"),highed.dom.ap(highed.dom.cr("div"),highed.dom.cr("div","highed-modal-text","Live data needs a url to your JSON data to reference."),highed.dom.cr("div","highed-modal-text","This means that the published chart always loads the latest version of your data.")),highed.dom.ap(highed.dom.cr("div","highed-table-container"),n),highed.dom.ap(highed.dom.cr("div","highed-button-container"),o,s)),t}function fe(e){const t=highed.dom.cr("div","highed-modal-container");return inputs=[{label:"Google Spreadsheet ID",placeholder:"Spreadsheet ID",colspan:4,linkedTo:$e},{label:"Worksheet",placeholder:"Worksheet (leave blank for first)",colspan:4,linkedTo:et},{label:"Refresh Time in Seconds",placeholder:"Refresh time (leave blank for no refresh)",colspan:4,linkedTo:tt},{label:"Start Row",colspan:2,linkedTo:it},{label:"End Row",colspan:2,linkedTo:nt},{label:"Start Column",colspan:2,linkedTo:ot},{label:"End Column",colspan:2,linkedTo:st}],Oe=ue(inputs,4),connectSheet=highed.dom.cr("button","highed-ok-button highed-import-button negative","Connect Sheet"),cancel=me(),highed.dom.on(connectSheet,"click",function(){U(!0),we.hide(),inputs.forEach(function(e){e.linkedTo.value=e.element.input.value}),lt.click(),e()}),highed.dom.ap(t,highed.dom.cr("div","highed-modal-title highed-help-toolbar","Connect Google Sheet"),highed.dom.ap(highed.dom.cr("div"),highed.dom.cr("div","highed-modal-text","When using Google Spreadsheet, Highcharts references the sheet directly."),highed.dom.cr("div","highed-modal-text","This means that the published chart always loads the latest version of the sheet."),highed.dom.cr("div","highed-modal-text","For more information on how to set up your spreadsheet, visit the documentation.")),highed.dom.ap(highed.dom.cr("div","highed-table-container"),Oe),highed.dom.ap(highed.dom.cr("div","highed-button-container"),connectSheet,cancel)),t}function be(e){const t=highed.dom.cr("div","highed-modal-container");return importData=highed.dom.cr("button","highed-ok-button highed-import-button negative","Import Data"),input=highed.dom.cr("textarea","highed-table-input"),cancel=me(),highed.dom.on(importData,"click",function(){yt.emitCSVImport(input.value),we.hide(),e()}),highed.dom.ap(t,highed.dom.cr("div","highed-modal-title highed-help-toolbar","Cut And Paste Data"),highed.dom.ap(highed.dom.cr("div"),highed.dom.cr("div","highed-modal-text","Paste CSV into the below box, or upload a file. Click Import to import your data.")),highed.dom.ap(highed.dom.cr("div"),input),highed.dom.ap(highed.dom.cr("div","highed-button-container"),importData,cancel)),t}function ye(e,t){const i=highed.dom.cr("div","highed-modal-container"),n=highed.dom.cr("div","highed-modal-buttons-container");return highed.samples.each(function(i){var o=i.dataset.join("\n"),s=highed.dom.cr("button","highed-box-size highed-imp-button",i.title);highed.dom.style(s,{width:"99%"}),highed.dom.on(s,"click",function(){t(!0),we.hide(),yt.emitCSVImport(o,function(){t(!1),e&&e()})}),highed.dom.ap(n,s,highed.dom.cr("br"))}),highed.dom.ap(i,n),i}function xe(e,t){var n=highed.dom.cr("div","highed-table-dropzone-container"),o=highed.dom.cr("button","highed-ok-button highed-import-button","Select File"),s=highed.dom.cr("div"),a=highed.dom.cr("div","highed-table-modal"),r=fe(e),l=ge(e),d=ye(e,t);cutAndPasteContainer=be(e);var h=[{title:"Connect Google Sheet",linkedTo:r},{title:"Import Live Data",linkedTo:l,height:321},{title:"Cut and Paste Data",linkedTo:cutAndPasteContainer,height:448,width:518},{title:"Load Sample Data",linkedTo:d}];return h.forEach(function(e){const t=highed.dom.cr("button","highed-ok-button highed-import-button",e.title);highed.dom.on(t,"click",function(){we.resize(e.width||530,e.height||530),a.innerHTML="",highed.dom.ap(a,e.linkedTo),we.show()}),highed.dom.ap(s,t)}),highed.dom.on(o,"click",function(){highed.readLocalFile({type:"text",accept:".csv",success:function(t){highed.snackBar("File uploaded"),yt.emitCSVImport(t.data),e()}})}),we=highed.OverlayModal(!1,{minWidth:530,minHeight:530,showCloseIcon:!0}),highed.dom.ap(we.body,a),n.ondragover=function(e){e.preventDefault()},n.ondrop=function(t){t.preventDefault();var n,o,s=t.dataTransfer;if(s.items)for(o=0;o Loading'),_e=highed.dom.cr("div","highed-dtable-drop-zone highed-transition"),Ue=highed.dom.cr("div","highed-box-size highed-dtable-gsheet-frame"),qe=highed.dom.cr("div","highed-box-size highed-dtable-gsheet-frame"),Ye=highed.dom.cr("div","highed-box-size highed-prettyscroll highed-dtable-gsheet"),Xe=highed.dom.cr("div","highed-box-size highed-prettyscroll highed-dtable-gsheet"),Je=highed.dom.cr("input","highed-imp-input-stretch"),Ze=highed.dom.cr("input","highed-imp-input-stretch"),Ke=highed.DropDown(),Qe=(highed.dom.cr("div","highed-customize-group"),highed.dom.cr("div","highed-customize-master-dropdown")),$e=highed.dom.cr("input","highed-box-size highed-dtable-gsheet-id"),et=highed.dom.cr("input","highed-box-size highed-dtable-gsheet-id"),tt=highed.dom.cr("input","highed-box-size highed-dtable-gsheet-id"),it=highed.dom.cr("input","highed-box-size highed-dtable-gsheet-id"),nt=highed.dom.cr("input","highed-box-size highed-dtable-gsheet-id"),ot=highed.dom.cr("input","highed-box-size highed-dtable-gsheet-id"),st=highed.dom.cr("input","highed-box-size highed-dtable-gsheet-id"),at=highed.dom.cr("button","highed-import-button green padded","Detach Sheet From Chart"),rt=highed.dom.cr("button","switch-column-button highed-template-tooltip",' Switch Rows/Columns'),lt=highed.dom.cr("button","highed-import-button green padded","Load Spreadsheet"),dt=highed.dom.cr("button","highed-import-button green padded","Load Live Data"),ht=highed.dom.cr("button","highed-import-button green padded","Cancel"),ct=0,pt=!1,ut=!1,mt=[],gt=!1,ft=!1,bt=highed.OverlayModal(!1,{minWidth:600,minHeight:600}),yt=highed.DataImporter(bt.body,ke.importer),xt=[],vt=[],wt=!1,kt=!1,Tt={JAN:1,FEB:2,MAR:3,APR:4,MAY:5,JUN:6,JUL:7,AUG:8,SEP:9,OCT:10,NOV:11,DEC:12},Ct=0,St="A",At="A",Ot=[],zt=[],Lt=[],It=[],Dt=[null,null],Mt=[],Ft=[],jt=[],Ht=[],Pt=[],Vt=!1;moveToColumn=null,dragHeaderMode=!1,globalContextMenu=highed.ContextMenu([{title:"Insert Row Above",icon:"plus",click:function(){Te.emit("ColumnMoving"),g(Ot[1]),highed.emit("UIAction","AddRowBeforeHighlight"),Te.emit("ColumnMoved")}},{title:"Insert Row Below",icon:"plus",click:function(){Te.emit("ColumnMoving"),f(zt[1]),highed.emit("UIAction","AddRowAfterHighlight"),Te.emit("ColumnMoved")}},"-",{title:"Remove Row",icon:"trash",click:function(){highed.emit("UIAction","BtnDeleteRow"),confirm(highed.L("dgDeleteRow"))&&(highed.emit("UIAction","DeleteRowConfirm"),xt.forEach(function(e,t){e.number===Ot[1]&&(e.destroy(),s())}),u())}},{title:highed.L("dgDelCol"),icon:"trash",click:function(){confirm(highed.L("dgDelColConfirm"))&&(Te.emit("ColumnMoving"),O(Ot[0]),y(),Te.emit("ColumnMoved"))}},"-",{title:highed.L("dgInsColBefore"),icon:"plus",click:function(){Te.emit("ColumnMoving"),A(Ot[0]),Te.emit("ColumnMoved")}},{title:highed.L("dgInsColAfter"),icon:"plus",click:function(){Te.emit("ColumnMoving"),A(Ot[0]+1),Te.emit("ColumnMoved")}}]);const Et=9,Wt=20;highed.dom.ap(Fe,rt),highed.dom.on(Ve,"click",function(e){return highed.dom.nodefault(e)}),highed.dom.style(Ze,{padding:"8px"});var Bt=!1;return document.body.onmousedown=function(){Bt=!0},document.body.onmouseup=function(){Bt=!1},document.addEventListener("keydown",function(e){8!==e.keyCode&&46!==e.keyCode||Mt.forEach(function(e){e.deleteContents()})},!1),document.addEventListener("contextmenu",function(e){if(e.path&&e.path.indexOf(Ce)>-1)return globalContextMenu.show(e.clientX,e.clientY,!0),highed.dom.nodefault(e)},!1),highed.dom.on(document.querySelector("body"),"click",function(){globalContextMenu.hide()}),highed.dom.on(Ee,"mousedown",function(e){Vt=!0,d()}),highed.dom.ap(Se,Ee),Se.ondrop=function(e){e.preventDefault();var t,n,o=e.dataTransfer;if(o.items)for(n=0;n
","Usually this is caused by commas as thousand separators,","or something similar. Please choose which delimiter you want to use,","and click the Rerun button.

"].join(" ")),e,highed.dom.style(i,{marginRight:"5px"}),n),highed.dom.on(n,"click",We.hide),highed.dom.on(i,"click",function(){We.hide(),o(),V({csv:gt,delimiter:s},null,!0)})}),_e.innerHTML='Drop CSV files here.
You can also paste CSV or Excel data into any cell',Oe.cellPadding=0,Oe.cellSpacing=0,highed.dom.on(Se,"scroll",function(e){Me.style.top=-Se.scrollTop+"px",je.style.left=-Se.scrollLeft+40+"px"}),e=highed.dom.get(e),highed.dom.ap(e,qe,Ue,highed.dom.ap(Ce,highed.dom.ap(Se,highed.dom.ap(Oe,De,ze,Le),Ie,_e,Ae),Fe,Me,highed.dom.ap(je,He,Pe)),highed.dom.ap(Be,highed.dom.cr("div","highed-dtable-weird-data-body",["Uh-oh! It looks like our data importer may have had some issues","processing your data.","Usually this means that we were unable to deduce how the columns","are separated."].join(" ")),Ne,Ge),Re),$e.placeholder="Spreadsheet ID",et.placeholder="Worksheet (leave blank for first)",tt.placeholder="Refresh Time (leave blank for no refresh)",highed.dom.ap(qe,highed.dom.ap(Ye,highed.dom.cr("div","highed-dtable-gsheet-heading","Link Google Spreadsheet"),highed.dom.ap(highed.dom.cr("div","highed-dtable-gsheet-inner"),highed.dom.cr("div","highed-dtable-gsheet-label","Google Spreadsheet ID"),highed.dom.ap(highed.dom.cr("div"),$e),highed.dom.ap(highed.dom.cr("table","highed-stretch"),highed.dom.ap(highed.dom.cr("tr"),highed.dom.cr("td","highed-dtable-gsheet-label","Worksheet"),highed.dom.cr("td","highed-dtable-gsheet-label","Refresh Time (Seconds)")),highed.dom.ap(highed.dom.cr("tr"),highed.dom.ap(highed.dom.cr("td","",""),et),highed.dom.ap(highed.dom.cr("td","",""),tt)),highed.dom.ap(highed.dom.cr("tr"),highed.dom.cr("td","highed-dtable-gsheet-label","Start Row"),highed.dom.cr("td","highed-dtable-gsheet-label","End Row")),highed.dom.ap(highed.dom.cr("tr"),highed.dom.ap(highed.dom.cr("td","",""),it),highed.dom.ap(highed.dom.cr("td","",""),nt)),highed.dom.ap(highed.dom.cr("tr"),highed.dom.cr("td","highed-dtable-gsheet-label","Start Column"),highed.dom.cr("td","highed-dtable-gsheet-label","End Column")),highed.dom.ap(highed.dom.cr("tr"),highed.dom.ap(highed.dom.cr("td","",""),ot),highed.dom.ap(highed.dom.cr("td","",""),st))),highed.dom.ap(highed.dom.cr("div","highed-gsheet-btn-container"),lt,at),highed.dom.cr("div","highed-gsheet-text",["When using Google Spreadsheet, Highcharts references the sheet directly.

","This means that the published chart always loads the latest version of the sheet.

","For more information on how to set up your spreadsheet, visit",'the documentation.'].join(" "))))),Ke.addItems([{id:"columnsURL",title:"JSON (Column Ordered)"},{id:"rowsURL",title:"JSON (Row Ordered)"},{id:"csvURL",title:"CSV"}]),Ke.on("Change",function(e){ct=e.id()}),highed.dom.ap(Qe,Ke.container),highed.dom.style(Qe,{display:"block"}),highed.dom.ap(Ue,highed.dom.ap(Xe,highed.dom.cr("div","highed-dtable-gsheet-heading","Live Data"),highed.dom.ap(highed.dom.cr("div","highed-dtable-gsheet-inner"),highed.dom.cr("div","highed-dtable-gsheet-label","URL"),highed.dom.ap(highed.dom.cr("div"),Je),highed.dom.ap(highed.dom.cr("table","highed-stretch"),highed.dom.ap(highed.dom.cr("tr"),highed.dom.cr("td","highed-dtable-gsheet-label","Chart Refresh Time (Seconds)"),highed.dom.cr("td","highed-dtable-gsheet-label","Data Type")),highed.dom.ap(highed.dom.cr("tr"),highed.dom.ap(highed.dom.cr("td","",""),Ze),highed.dom.ap(highed.dom.cr("td","",""),Qe))),highed.dom.ap(highed.dom.cr("div","highed-gsheet-btn-container"),dt,ht),highed.dom.cr("div","highed-gsheet-text",["Live data needs a url to your JSON data to reference.

","This means that the published chart always loads the latest version of your data.

"].join(" "))))),highed.ready(function(){b()}),{toolbar:ve,sortRows:T,clear:C,addRow:S,insCol:A,delCol:O,loadCSV:V,getRawCSV:Z,toData:D,toCSV:F,toDataSeries:M,getHeaderTextArr:L,addImportTab:N,hideImportModal:G,showImportModal:R,initGSheet:E,on:Te.on,resize:z,loadLiveDataFromURL:P,loadLiveDataPanel:H,isInCSVMode:pe,highlightCells:ae,removeAllCellsHighlight:re,toggleUnwantedCells:le,getColumnLength:de,getDataFieldsUsed:ce,createSimpleDataTable:xe,areColumnsEmpty:he,clearData:K,showDataTableError:W,hideDataTableError:B,selectSwitchRowsColumns:X}},highed.DataPage=function(e,t,i,n,o){function s(){highed.onPhone()?highed.dom.ap(iconsContainer,R):highed.dom.ap(iconsContainer,N,dataClearBtn,R,dataExportBtn),highed.dom.ap(F,highed.dom.ap(I,highed.dom.ap(D,M),iconsContainer),j),highed.dom.ap(V,F),highed.dom.ap(j,P),E.resize(),highed.onPhone()&&highed.dom.style(V,{top:"47px",position:"relative"}),highed.dom.ap(e,highed.dom.ap(L,V)),G.init(E.getColumnLength()),l(),A()}function a(e){var t;return function(i){t&&clearTimeout(t),t=setTimeout(e,100,i)}}function r(){isVisible&&(A(),setTimeout(function(){l()},100))}function l(){function e(){var e=highed.dom.size(V),i=(highed.dom.size(I),{w:e.w,h:(window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight)-highed.dom.pos(V,!0).y});highed.dom.style(F,{width:"100%",height:i.h-16+"px"}),E.resize(),highed.onPhone()||G.resize(t,highed.dom.pos(n,!0).y-highed.dom.pos(V,!0).y)}var t=o.widths.desktop;highed.onTablet()&&o.widths.tablet?t=o.widths.tablet:highed.onPhone()&&o.widths.phone&&(t=o.widths.phone),o.iconOnly||(highed.dom.style(V,{width:"100%",opacity:1}),highed.onPhone()||highed.dom.style(L,{width:highed.dom.pos(G.getElement(),!0).x-highed.dom.pos(P,!0).x+14+"px"}),O.emit("BeforeResize",t),setTimeout(e,300),highed.emit("UIAction","ToolboxNavigation",o.title))}function d(){highed.dom.style(L,{display:"block"}),G.show(),isVisible=!0,A(),r()}function h(){highed.dom.style(L,{display:"none"}),G.hide(),isVisible=!1}function c(){}function p(e){E.addImportTab(e)}function u(){E.hideImportModal()}function m(e,t,n){if(E.isInCSVMode()){v();var o=[];if(G.setAssignDataFields(e,E.getColumnLength(),null,null,!0),t){const s=G.getAllOptions().length;for(var a=0;a-1&&(l[i.linkedTo]=o.indexOf(i.rawValue[0])):("label"===i.linkedTo&&(s=!0),o.indexOf(i.rawValue[0])>-1&&(l[i.linkedTo]=o.indexOf(i.rawValue[0]))))}),t.push(l)}if(t.length>0){if(s){const d={dataLabels:{enabled:!0,format:"{point.label}"}};if(n.plotOptions){const h=n.plotOptions.series;highed.merge(h,d),i.options.setAll(n)}else i.options.setAll(highed.merge({plotOptions:{series:d}},n))}n.data&&(n.data.seriesMapping=t,i.options.setAll(n))}}function k(e){if(e){for(var t=[],n=0;nData',dataClearBtn.innerHTML+=' Data',W.value=1,highed.dom.on(B,"click",function(e){G.getFieldsToHighlight(E.removeAllCellsHighlight,!0);for(var t=0;t0)return!0}).map(function(t){return e[t].rawValue[0]});E.toggleUnwantedCells(i,t)}),G.on("AssignDataChanged",function(){v();const e=E.toCSV(";",!0,G.getAllMergedLabelAndData());i.data.csv({csv:e},null,!1,function(){w(G.getAllOptions())}),G.getFieldsToHighlight(E.highlightCells),i.data.setAssignDataFields(G.getAssignDataFields())}),G.on("RedrawGrid",function(e){k(e)}),G.on("ChangeData",function(e){const t=E.toCSV(";",!0,G.getAllMergedLabelAndData());i.data.setAssignDataFields(G.getAssignDataFields()),i.data.csv({csv:t},null,!1,function(){w(e)})}),E.on("DisableAssignDataPanel",function(){G.disable()}),E.on("EnableAssignDataPanel",function(){G.enable()}),E.on("ColumnMoving",function(){G.getFieldsToHighlight(E.removeAllCellsHighlight,!0)}),E.on("ColumnMoved",function(){G.getFieldsToHighlight(E.highlightCells,!0)}),E.on("InitLoaded",function(){G.getFieldsToHighlight(E.highlightCells,!0)}),E.on("initExporter",function(e){e.init(i.export.json(),i.export.html(),i.export.svg(),i)}),E.on("AssignDataForFileUpload",function(e){e||(e=E.getColumnLength()),G.setColumnLength(e),e-=2;var t=i.options.getCustomized(),n=t.series[t.series.length-1].type;blacklist.includes(n)||G.addSeries(e,n)}),E.on("AssignDataChanged",function(e,t){return chartOptions=i.toProject().options,chartOptions.data&&chartOptions.data.seriesMapping&&(chartOptions.data.seriesMapping=null,i.options.setAll(chartOptions)),i.data.setAssignDataFields(G.getAssignDataFields()),i.data.csv({csv:E.toCSV(";",!0,t)})}),E.on("LoadLiveData",function(e){const t={};t[e.type]=e.url,e.interval&&e.interval>0&&(t.enablePolling=!0,t.dataRefreshRate=e.interval),i.data.live(t)}),E.on("LoadGSheet",function(e){G.disable(),i.data.gsheet(e)}),E.on("Change",function(e,t){i.data.setDataTableCSV(E.toCSV(";",!0)),i.data.csv({csv:E.toCSV(";",!0,G.getAllMergedLabelAndData())},null,!0,function(){w(G.getAllOptions())})}),E.on("ClearData",function(){i.data.clear()}),E.on("ClearSeriesForImport",function(){var e=i.options.getCustomized();e.series=[],G.restart()}),E.on("ClearSeries",function(){var e=i.options.getCustomized();e.series=[]}),i.on("ProviderGSheet",function(e){G.disable(),E.initGSheet(e.id||e.googleSpreadsheetKey,e.worksheet||e.googleSpreadsheetWorksheet,e.startRow,e.endRow,e.startColumn,e.endColumn,!0,e.dataRefreshRate)}),i.on("ProviderLiveData",function(e){G.disable(),E.loadLiveDataPanel(e)}),i.on("SetResizeData",function(){}),{on:O.on,destroy:c,addImportTab:p,hideImportModal:u,chart:i,resize:r,data:{on:E.on,showLiveStatus:function(){},hideLiveStatus:function(){}},hide:h,show:d,dataTable:E,isVisible:function(){return isVisible},init:s,setChartTitle:f,getChartTitle:x,getIcons:g,changeAssignDataTemplate:m,createSimpleDataTable:C,loadProject:T,showDataTableError:b,hideDataTableError:y,selectSwitchRowsColumns:S}},highed.SimpleDataPage=function(e,t,i,n,o,s){function a(){highed.onPhone()?highed.dom.ap(iconsContainer,R):highed.dom.ap(iconsContainer,N,dataClearBtn,R,dataExportBtn),highed.dom.ap(F,highed.dom.ap(I,highed.dom.ap(D,M),iconsContainer),j),highed.dom.ap(V,F),highed.dom.ap(j,P),E.resize(),highed.onPhone()&&highed.dom.style(V,{top:"47px",position:"relative"}),highed.dom.ap(e,highed.dom.ap(L,V)),G.init(E.getColumnLength()),d()}function r(e){var t;return function(i){t&&clearTimeout(t),t=setTimeout(e,100,i)}}function l(){isVisible&&setTimeout(function(){d()},100)}function d(){function e(){var e=highed.dom.size(V),i=(highed.dom.size(I),{w:e.w,h:(window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight)-highed.dom.pos(V,!0).y});highed.dom.style(F,{width:"100%",height:i.h-16+"px"}),E.resize(),highed.onPhone()||G.resize(t,highed.dom.pos(o,!0).y-highed.dom.pos(V,!0).y)}var t=100;highed.onPhone()||highed.dom.style(L,{width:"100%"}),O.emit("BeforeResize",t),setTimeout(e,300),highed.emit("UIAction","ToolboxNavigation",s.title)}function h(){highed.dom.style(L,{display:"block"}),G.show(),isVisible=!0,l()}function c(){highed.dom.style(L,{display:"none"}),G.hide(),isVisible=!1}function p(){}function u(e){E.addImportTab(e)}function m(){E.hideImportModal()}function g(e,t,i){if(E.isInCSVMode()){w();var o=[];if(G.setAssignDataFields(e,E.getColumnLength(),null,null,!0),t){const s=G.getAllOptions().length;for(var a=0;a-1&&(l[i.linkedTo]=o.indexOf(i.rawValue[0])):("label"===i.linkedTo&&(s=!0), o.indexOf(i.rawValue[0])>-1&&(l[i.linkedTo]=o.indexOf(i.rawValue[0]))))}),t.push(l)}if(t.length>0){if(s){const d={dataLabels:{enabled:!0,format:"{point.label}"}};if(i.plotOptions){const h=i.plotOptions.series;highed.merge(h,d),n.options.setAll(i)}else n.options.setAll(highed.merge({plotOptions:{series:d}},i))}i.data&&(i.data.seriesMapping=t,n.options.setAll(i))}}function T(e){if(e){for(var t=[],i=0;iData',dataClearBtn.innerHTML+=' Data',W.value=1,highed.dom.on(B,"click",function(e){G.getFieldsToHighlight(E.removeAllCellsHighlight,!0);for(var t=0;t0)return!0}).map(function(t){return e[t].rawValue[0]});E.toggleUnwantedCells(i,t)}),G.on("AssignDataChanged",function(){w();const e=E.toCSV(";",!0,G.getAllMergedLabelAndData());n.data.csv({csv:e},null,!1,function(){k(G.getAllOptions())}),G.getFieldsToHighlight(E.highlightCells),n.data.setAssignDataFields(G.getAssignDataFields())}),G.on("RedrawGrid",function(e){T(e)}),G.on("ChangeData",function(e){const t=E.toCSV(";",!0,G.getAllMergedLabelAndData());n.data.setAssignDataFields(G.getAssignDataFields()),n.data.csv({csv:t},null,!1,function(){k(e)})}),E.on("DisableAssignDataPanel",function(){G.disable()}),E.on("EnableAssignDataPanel",function(){G.enable()}),E.on("ColumnMoving",function(){G.getFieldsToHighlight(E.removeAllCellsHighlight,!0)}),E.on("ColumnMoved",function(){G.getFieldsToHighlight(E.highlightCells,!0)}),E.on("InitLoaded",function(){G.getFieldsToHighlight(E.highlightCells,!0)}),E.on("initExporter",function(e){e.init(n.export.json(),n.export.html(),n.export.svg(),n)}),E.on("AssignDataForFileUpload",function(e){e||(e=E.getColumnLength()),G.setColumnLength(e),e-=2;var t=n.options.getCustomized(),i=t.series[t.series.length-1].type;blacklist.includes(i)||G.addSeries(e,i)}),E.on("AssignDataChanged",function(e,t){return chartOptions=n.toProject().options,chartOptions.data&&chartOptions.data.seriesMapping&&(chartOptions.data.seriesMapping=null,n.options.setAll(chartOptions)),n.data.setAssignDataFields(G.getAssignDataFields()),n.data.csv({csv:E.toCSV(";",!0,t)})}),E.on("LoadLiveData",function(e){const t={};t[e.type]=e.url,e.interval&&e.interval>0&&(t.enablePolling=!0,t.dataRefreshRate=e.interval),n.data.live(t)}),E.on("LoadGSheet",function(e){G.disable(),n.data.gsheet(e)}),E.on("Change",function(e,t){n.data.setDataTableCSV(E.toCSV(";",!0)),n.data.csv({csv:E.toCSV(";",!0,G.getAllMergedLabelAndData())},null,!0,function(){k(G.getAllOptions())})}),E.on("ClearData",function(){n.data.clear()}),E.on("ClearSeriesForImport",function(){var e=n.options.getCustomized();e.series=[],G.restart()}),E.on("ClearSeries",function(){var e=n.options.getCustomized();e.series=[]}),n.on("ProviderGSheet",function(e){G.disable(),E.initGSheet(e.id||e.googleSpreadsheetKey,e.worksheet||e.googleSpreadsheetWorksheet,e.startRow,e.endRow,e.startColumn,e.endColumn,!0,e.dataRefreshRate)}),n.on("ProviderLiveData",function(e){G.disable(),E.loadLiveDataPanel(e)}),n.on("SetResizeData",function(){}),{on:O.on,destroy:p,addImportTab:u,hideImportModal:m,chart:n,resize:l,data:{on:E.on,showLiveStatus:function(){},hideLiveStatus:function(){}},hide:c,show:h,dataTable:E,isVisible:function(){return isVisible},init:a,setChartTitle:b,getChartTitle:v,getIcons:f,changeAssignDataTemplate:g,createSimpleDataTable:S,loadProject:C,showDataTableError:y,hideDataTableError:x,selectSwitchRowsColumns:A}},highed.CreateChartPage=function(e,t,i){function n(i,n,d){var c=1;toolbox=highed.Toolbox(v),f.forEach(function(e,i){if(!e.permission||t.indexOf(e.permission)!==-1){var n=toolbox.addEntry({title:e.title,number:c,onClick:l,hideTitle:e.hideTitle});highed.isFn(e.create)&&e.create(n.body),O.push(n),c++}}),O[0].expand(),o(),s(i),a(n),r(),highed.dom.ap(x,v),highed.dom.ap(w,x),highed.dom.ap(e,highed.dom.ap(b,w)),h()}function o(){var e=highed.dom.cr("input","highed-imp-input"),i=highed.dom.cr("input","highed-imp-input"),n=highed.dom.cr("button","highed-ok-button highed-import-button negative","Next"),o=highed.dom.cr("span","highed-toolbox-skip-all","Skip All");e.placeholder="Enter chart title",i.placeholder="Enter chart subtitle",e.value="",i.value="",highed.dom.on(n,"click",function(){t&&t.indexOf("templates")===-1?O[1].expand():O[2].expand(),g.emit("SimpleCreateChangeTitle",{title:e.value,subtitle:i.value})}),highed.dom.on(o,"click",function(){g.emit("SimpleCreateChartDone",!0)}),highed.dom.ap(C,highed.dom.cr("table"),highed.dom.ap(highed.dom.cr("tr","highed-toolbox-input-container"),highed.dom.cr("td","highed-toolbox-label","Chart Title"),highed.dom.ap(highed.dom.cr("td"),e)),highed.dom.ap(highed.dom.cr("tr","highed-toolbox-input-container"),highed.dom.cr("td","highed-toolbox-label","Subtitle"),highed.dom.ap(highed.dom.cr("td"),i)),highed.dom.ap(highed.dom.cr("tr"),highed.dom.cr("td"),highed.dom.ap(highed.dom.cr("td","highed-toolbox-button-container"),o,n)))}function s(e){var i=highed.dom.cr("button","highed-ok-button highed-import-button negative","No thanks, I will enter my data manually"),n=highed.dom.cr("span","highed-wizard-loader",''),o=e.createSimpleDataTable(function(){t&&t.indexOf("templates")===-1?O[2].expand():t&&t.indexOf("customize")===-1?g.emit("SimpleCreateChartDone",!0):O[3].expand()},function(e){e?n.classList+=" active":n.classList.remove("active")});highed.dom.on(i,"click",function(){t&&t.indexOf("templates")===-1?O[2].expand():t&&t.indexOf("customize")===-1?g.emit("SimpleCreateChartDone",!0):O[3].expand()}),highed.dom.ap(A,highed.dom.ap(o,highed.dom.ap(highed.dom.cr("div","highed-toolbox-button-container"),n,i)))}function a(e){var t=highed.dom.cr("button","highed-ok-button highed-import-button negative","Choose A Template Later"),i=highed.dom.ap(highed.dom.cr("div","highed-toolbox-skip-all"),highed.dom.cr("span","","Skip All"));loader=highed.dom.cr("span","highed-wizard-loader ",''),templatesContainer=e.createMostPopularTemplates(function(){setTimeout(function(){O[1].expand()},200)},function(e){e?loader.classList+=" active":loader.classList.remove("active")}),highed.dom.on(i,"click",function(){g.emit("SimpleCreateChartDone",!0)}),highed.dom.on(t,"click",function(){O[1].expand()}),highed.dom.ap(S,highed.dom.ap(highed.dom.cr("div","highed-toolbox-template-body"),highed.dom.ap(highed.dom.cr("div","highed-toolbox-text"),highed.dom.cr("div","highed-toolbox-template-text","Pick a basic starter template. You can change it later."),highed.dom.cr("div","highed-toolbox-template-text","If you're not sure, just hit Choose A Template Later.")),highed.dom.ap(highed.dom.cr("div","highed-toolbox-extras"),t,highed.dom.ap(i,loader))),templatesContainer)}function r(){var e=highed.dom.cr("button","highed-ok-button highed-import-button negative","Customize Your Chart");highed.dom.on(e,"click",function(){g.emit("SimpleCreateChartDone")}),highed.dom.ap(T,highed.dom.cr("div","highed-toolbox-customize-header","You're Done!"),highed.dom.ap(highed.dom.cr("div","highed-toolbox-button-container"),e))}function l(e){O.forEach(function(t,i){i+1<=e?t.disselect():t.removeCompleted()})}function d(){k&&h()}function h(){function e(){var e=highed.dom.size(w),t=(highed.dom.size(y),{w:e.w,h:(window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight)-highed.dom.pos(w,!0).y});highed.dom.style(x,{width:t.w+"px",height:t.h-16+"px"})}var t=i.widths.desktop;highed.onTablet()&&i.widths.tablet?t=i.widths.tablet:highed.onPhone()&&i.widths.phone&&(t=i.widths.phone),highed.dom.style(w,{width:"100%",opacity:1}),highed.dom.style(b,{width:t+"%"}),g.emit("BeforeResize",t),setTimeout(e,300),highed.emit("UIAction","ToolboxNavigation",i.title)}function c(){highed.dom.style(b,{display:"block"}),k=!0}function p(){highed.dom.style(b,{display:"none"}),k=!1}function u(){}function m(){return null}var g=highed.events(),f=[{id:1,title:"Choose Template",permission:"templates",create:function(e){highed.dom.ap(e,S)}},{id:2,title:"Title Your Chart",create:function(e){highed.dom.ap(e,C)}},{id:3,title:"Import Data",create:function(e){highed.dom.ap(e,A)}},{id:4,title:"Customize",permission:"customize",hideTitle:!0,create:function(e){highed.dom.ap(e,T)}}],b=highed.dom.cr("div","highed-transition highed-toolbox wizard highed-box-size "),y=highed.dom.cr("div","highed-toolbox-body-title"),x=highed.dom.cr("div","highed-box-size highed-toolbox-inner-body"),v=highed.dom.cr("div","highed-box-size highed-toolbox-user-contents test-test"),w=highed.dom.cr("div","highed-toolbox-body highed-box-size highed-transition"),k=(highed.dom.cr("div","highed-toolbox-createchart-list"),!1),T=highed.dom.cr("div","highed-toolbox-customise"),C=highed.dom.cr("div","highed-toolbox-title"),S=highed.dom.cr("div","highed-toolbox-template"),A=highed.dom.cr("div","highed-toolbox-data"),O=[];return highed.dom.on(window,"resize",d),{on:g.on,destroy:u,hide:p,show:c,isVisible:function(){return k},init:n,getIcons:m}},highed.TemplatePage=function(e,t,i,n,o){function s(){b=highed.dom.cr("div","highed-toolbox-body-title"),y="highed-box-size highed-toolbox-bar-icon fa "+o.icon,S.innerHTML="",v=highed.ChartTemplateSelector(S,i),x=highed.HelpModal(o.help||[]),v.on("Select",function(e){w.emit("TemplateChanged",e)}),v.on("LoadDataSet",function(e){"csv"===e.type&&(highed.isArr(e.dataset)?i.data.csv(e.dataset.join("\n")):i.data.csv(e.dataset),i.options.set("subtitle-text",""),i.options.set("title-text",e.title))}),T.innerHTML="",highed.dom.ap(C,S),highed.dom.ap(T,C),highed.dom.ap(A,T),highed.dom.ap(e,highed.dom.ap(k,A)),v.resize(),p(),m()}function a(e,t){v.selectSeriesTemplate(e,t)}function r(e,t,i,n,o){const s=highed.dom.cr("div","highed-template-header",t),a=highed.dom.cr("div","highed-templates-container");highed.dom.ap(e,highed.dom.ap(highed.dom.cr("div","highed-toolbox-template-container"),s,a)),i.id&&(i=highed.templates.getAllInCat(i.id)),Object.keys(i).forEach(function(e){const t=highed.dom.cr("div","highed-template-container"),s=highed.dom.cr("div","highed-chart-template-thumbnail"),r=i[e];highed.meta.images&&highed.meta.images[r.thumbnail]?highed.dom.style(s,{"background-image":'url("data:image/svg+xml;utf8,'+highed.meta.images[r.thumbnail]+'")'}):highed.dom.style(s,{"background-image":"url("+highed.option("thumbnailURL")+r.thumbnail+")"}),highed.dom.on(t,"click",function(){n(!0),setTimeout(function(){r.header=r.parent,w.emit("TemplateChanged",highed.merge({},r),!0,function(){n(!1),o()})},1e3)}),highed.dom.ap(a,highed.dom.ap(t,s,highed.dom.cr("div","highed-template-title",r.title)))})}function l(e,t){const i=highed.templates.getCatArray(),n=highed.dom.cr("div","highed-toolbox-templates-container"),o=highed.templates.getMostPopular();return r(n,"Most Popular",o,t,e),Object.keys(i).forEach(function(o){const s=i[o];r(n,s.id,s,t,e)}),n}function d(){return null}function h(){O&&(p(),setTimeout(function(){f((window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight)-highed.dom.pos(A,!0).y-16)}))}function c(e){var t;return function(i){t&&clearTimeout(t),t=setTimeout(e,100,i)}}function p(){function t(){var e=highed.dom.size(A),t=highed.dom.size(b),n={w:e.w,h:(window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight)-highed.dom.pos(A,!0).y};return highed.dom.style(T,{width:"100%",height:n.h-16+"px"}),highed.dom.style(C,{width:n.w+"px",height:n.h-16-47+"px"}),v.resize(i,n.h-17-t.h),n}var i=o.widths.desktop;if(highed.onTablet()&&o.widths.tablet?i=o.widths.tablet:highed.onPhone()&&o.widths.phone&&(i=o.widths.phone),highed.dom.style(A,{width:"100%",opacity:1}),!highed.onPhone()){const s=highed.dom.size(e).w,a=.32;var r=window.getComputedStyle(n),l=window.getComputedStyle(k),d=parseFloat(r.marginLeft)+parseFloat(r.marginRight),h=parseFloat(l.marginLeft)+parseFloat(l.marginRight);highed.dom.style(k,{width:s*a-(d+h+35)-3+"px"})}w.emit("BeforeResize",i),setTimeout(t,300),highed.emit("UIAction","ToolboxNavigation",o.title)}function u(){highed.dom.style(k,{display:"block"}),p(),setTimeout(function(){f((window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight)-highed.dom.pos(A,!0).y-16)},200),O=!0}function m(){highed.dom.style(k,{display:"none"}),O=!1}function g(){}function f(e){highed.dom.style(n,{width:"68%",height:e+"px"}),setTimeout(i.resize,200)}var b,y,x,v,w=highed.events(),k=(highed.merge({defaultChartOptions:{},useHeader:!0,features:["data","templates","customize","customcode","advanced","export"],importer:{},dataGrid:{},customizer:{},toolbarIcons:[]},t),highed.dom.cr("div","highed-transition highed-toolbox highed-box-size")),T=highed.dom.cr("div","highed-box-size highed-toolbox-inner-body"),C=highed.dom.cr("div","highed-box-size highed-toolbox-user-contents highed-toolbox-defaultpage highed-toolbox-templatepage"),S=(highed.dom.cr("div","highed-toolbox-help highed-icon fa fa-question-circle"),highed.dom.cr("div",y),highed.dom.cr("div","highed-box-size highed-fill")),A=highed.dom.cr("div","highed-toolbox-body highed-box-size highed-transition"),O=(highed.dom.cr("div","highed-toolbox-icons"),!1);return highed.onPhone()||highed.dom.on(window,"resize",c(function(e){h()})),i.on("ChartChange",function(e){w.emit("ChartChangedLately",e)}),i.on("SetResizeData",function(){}),{on:w.on,destroy:g,chart:i,getIcons:d,resize:h,hide:m,show:u,createMostPopularTemplates:l,isVisible:function(){return O},init:s,selectSeriesTemplate:a}},highed.CustomizePage=function(e,t,i,n,o,s,a){function r(e){e&&"null"!==e&&"undefined"!==e&&"undefined"!=typeof e?box.innerHTML="":(box.innerHTML="auto",e="#FFFFFF"),highed.dom.style(box,{background:e,color:highed.getContrastedColor(e)})}function l(){return navigator.userAgent.indexOf("Safari")!=-1&&navigator.userAgent.indexOf("Mac")!=-1&&navigator.userAgent.indexOf("Chrome")==-1}function d(){C=o.width,T=highed.dom.cr("div","highed-customize-title"),S="highed-box-size highed-toolbox-bar-icon fa "+o.icon,P.innerHTML="",O=highed.ChartCustomizer(P,t,i,a),A=highed.HelpModal(o.help||[]),O.on("PropertyChange",i.options.set),O.on("PropertySetChange",i.options.setAll),O.on("TogglePlugins",i.options.togglePlugins),O.on("AdvancedBuilt",function(){var e=highed.dom.size(V),t={w:e.w,h:(window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight)-highed.dom.pos(V,!0).y};R.resize(C,t.h-highed.dom.size(n).h-15),R.setOptions(O.getAdvancedOptions())}),O.on("AnnotationsClicked",function(){i.options.togglePlugins("annotations",1)}),O.on("AdvanceClicked",function(){C=66,highed.onTablet()&&(C=64),j=28,highed.dom.style(backIcon,{display:"inline-block"}),m(),k(300),setTimeout(i.resize,1e3),R.show()}),highed.dom.ap(_,chartSizeText,stretchToFitIcon,tabletIcon,U,resWidth,resHeight),D.innerHTML="",E.innerHTML="",highed.onPhone()||N.forEach(function(e,t){e.noPermission||(e.element=highed.dom.cr("span","highed-toolbox-custom-code-icon highed-template-tooltip "+(0===t?" active":""),''+e.tooltip+""),highed.dom.on(e.element,"click",function(){N.forEach(function(e){e.noPermission||e.element.classList.remove("active")}),e.element.classList.add("active"),e.onClick()}),highed.dom.ap(E,e.element))});var s=highed.dom.cr("span","highed-template-tooltip annotation-buttons "+(l()?" usingsafari ":""),'Annotations');highed.dom.on(s,"click",function(){z.classList.contains("active")?z.classList.remove("active"):z.classList.add("active")}),z||(z=highed.dom.cr("div","highed-transition highed-annotation-container"),highed.dom.ap(z,s),B.forEach(function(e){var t=highed.dom.cr("span","highed-template-tooltip annotation-buttons "+(l()?" usingsafari ":""),''+e.tooltip+"");e.onClick||!e.draggable?highed.dom.on(t,"click",function(){if(e.onClick)e.onClick();else{var t=!(e.element.className.indexOf("active")>-1);B.forEach(function(e){e.element.classList.remove("active")}),i.setIsAnnotating(t),t&&(i.options.togglePlugins("annotations",1),i.setAnnotationType(e.value),e.element.className+=" active")}}):highed.dom.on(t,"mousedown",function(n){function o(e,i){highed.dom.style(W,{left:e-(t.offsetWidth/2-10)+"px",top:i-(t.offsetHeight/2-10)+"px"})}function s(e){e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault(),o(e.pageX,e.pageY)}W=highed.dom.cr("div","highed-active-annotation fa fa-"+e.icon),highed.dom.ap(document.body,W),o(n.pageX,n.pageY),document.addEventListener("mousemove",s),highed.dom.on(W,"mouseup",function(t){t=i.options.all().pointer.normalize(t),document.removeEventListener("mousemove",s),W.onmouseup=null,W.remove(),W=null,i.options.togglePlugins("annotations",1),i.setAnnotationType(e.value),i.addAnnotation(t)})}),e.element=t,highed.dom.ap(z,t)})),highed.dom.ap(E,z),highed.dom.ap(M,F),highed.dom.ap(V,M),highed.dom.ap(F,P),highed.dom.ap(e,highed.dom.ap(I,V)),m(),f()}function h(){return _}function c(e){var t;return function(i){t&&clearTimeout(t),t=setTimeout(e,100,i)}}function p(e){C=o.widths.desktop,highed.onTablet()&&o.widths.tablet?C=o.widths.tablet:highed.onPhone()&&o.widths.phone&&(C=o.widths.phone),j=68,m(),setTimeout(function(){e&&e(),k((window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight)-highed.dom.pos(V,!0).y-16)},200)}function u(){G&&(m(),setTimeout(function(){k((window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight)-highed.dom.pos(V,!0).y-16)},500))}function m(){function t(){var e=highed.dom.size(V),t=highed.dom.size(D),i={w:e.w,h:(window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight)-highed.dom.pos(V,!0).y};return highed.dom.style(M,{width:"100%",height:i.h-16+"px"}),O.resize(i.w,i.h-17-t.h),i}var i=C;if(highed.dom.style(V,{width:"100%",opacity:1}),!highed.onPhone()){const s=highed.dom.size(e).w,a=(100-j)/100;var r=window.getComputedStyle(n),l=window.getComputedStyle(I),d=parseFloat(r.marginLeft)+parseFloat(r.marginRight),h=parseFloat(l.marginLeft)+parseFloat(l.marginRight);highed.dom.style(I,{width:s*a-(d+h+35)-3+"px"})}L.emit("BeforeResize",i),setTimeout(t,300),highed.emit("UIAction","ToolboxNavigation",o.title)}function g(){highed.dom.style(I,{display:"block"}),m(),k((window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight)-highed.dom.pos(V,!0).y-16),G=!0,highed.dom.style(_,{display:"block"}),H&&setTimeout(function(){document.getElementById("highed-list-header-Appearance").classList.contains("active")||document.getElementById("highed-list-header-Appearance").children[0].click()},300)}function f(){O.showSimpleEditor(),C=o.widths.desktop,highed.onTablet()&&o.widths.tablet?C=o.widths.tablet:highed.onPhone()&&o.widths.phone&&(C=o.widths.phone),j=68,highed.dom.style(backIcon,{display:"none"}),R.hide(),m(),highed.dom.style(I,{display:"none"}),G=!1,R.hide(),_&&highed.dom.style(_,{display:"none"}),highed.onPhone()||N.forEach(function(e,t){e.noPermission||(e.element&&e.element.classList.remove("active"),0===t&&(e.element.classList+=" active"))}),resHeight.value="",resWidth.value=""}function b(e,t,i){O.focus(e,t,i)}function y(e){H=e}function x(){}function v(e,t){if(e&&0!==e.length||t&&0!==t.length){var o=highed.dom.size(n);fixedSize={w:e,h:t},e="auto"===e?o.w:e||o.w-100,t="auto"===t?o.h:t||o.h-100,highed.dom.style(s,{width:e+"px",height:t+"px"}),i.resize(e,t)}else fixedSize=!1,resHeight.value="",resWidth.value="",k()}function w(){return E}function k(e){highed.dom.style(n,{width:j+"%",height:e+"px"||"100%"}),setTimeout(i.resize,200)}var T,C,S,A,O,z,L=highed.events(),I=highed.dom.cr("div","highed-transition highed-toolbox highed-box-size"),D=highed.dom.cr("div","highed-toolbox-body-title"),M=highed.dom.cr("div","highed-box-size highed-toolbox-inner-body"),F=highed.dom.cr("div","highed-box-size highed-toolbox-user-contents test"),j=(highed.dom.cr("div","highed-toolbox-help highed-icon fa fa-question-circle"),68),H=!0,P=(highed.dom.cr("div",S),highed.dom.cr("div","highed-box-size highed-fill")),V=highed.dom.cr("div","highed-toolbox-body highed-box-size highed-transition"),E=highed.dom.cr("div","highed-icons-container"),W=null,B=[{tooltip:"Add Circle",icon:"circle",value:"circle",draggable:!0},{tooltip:"Add Square",icon:"stop",value:"rect",draggable:!0},{tooltip:"Add Annotations",icon:"comment",value:"label",draggable:!0},{tooltip:"Move",icon:"arrows",value:"drag"},{tooltip:"Remove",icon:"trash",value:"delete"},{tooltip:"Close",icon:"times",onClick:function(){B.forEach(function(e){e.element.classList.remove("active")}),i.setIsAnnotating(!1),z.classList.remove("active")}}],N=[{tooltip:"Basic",onClick:function(){p(O.showSimpleEditor)},icon:"cog"},{tooltip:"Advanced",noPermission:t.noAdvanced,onClick:function(){O.showAdvancedEditor()},icon:"cogs"},{tooltip:"Custom Code",noPermission:t.noCustomCode,onClick:function(){p(O.showCustomCode)},icon:"code"},{tooltip:"Preview Options",noPermission:t.noPreview,onClick:function(){p(O.showPreviewOptions)},icon:"eye"}],G=!1,R=highed.SearchAdvancedOptions(e),_=highed.dom.cr("span","highed-resolution-settings"),U=highed.dom.cr("span","",'');tabletIcon=highed.dom.cr("span","",''),tabletIcon=highed.dom.cr("span","",''),stretchToFitIcon=highed.dom.cr("span","",''),chartSizeText=highed.dom.cr("span","text","Chart Size:"),resWidth=highed.dom.cr("input","highed-res-number"),resHeight=highed.dom.cr("input","highed-res-number"),resolutions=[{iconElement:U,width:414,height:736},{iconElement:tabletIcon,width:1024,height:768}],overlayAddTextModal=highed.OverlayModal(!1,{showOnInit:!1,width:300,height:350,class:" highed-annotations-modal"}),activeColor="rgba(0, 0, 0, 0.75)",addTextModalContainer=highed.dom.cr("div","highed-add-text-popup"),addTextModalInput=highed.dom.cr("textarea","highed-imp-input-stretch"),colorDropdownParent=highed.dom.cr("div"),typeDropdownParent=highed.dom.cr("div"),addTextModalHeader=highed.dom.cr("div","highed-modal-header","Add Annotation"),addTextModalColorSelect=highed.DropDown(colorDropdownParent),addTextModalTypeOptions=[{text:"Callout",icon:"comment-o",value:"callout"},{text:"Connector",icon:"external-link",value:"connector"},{text:"Circle",icon:"circle-o",value:"circle"}],addTextModalTypeValue="callout",addTextModalColorValue="#000000",addTextModalColorContainer=highed.dom.cr("div","highed-modal-color-container"),addTextModalColorInput=highed.dom.cr("input","highed-color-input"),box=highed.dom.cr("div","highed-field-colorpicker",""),addTextModalBtnContainer=highed.dom.cr("div","highed-modal-button-container"),addTextModalSubmit=highed.dom.cr("button","highed-ok-button highed-import-button mini","Save"),addTextModalCancel=highed.dom.cr("button","highed-ok-button highed-import-button grey negative mini","Cancel"),addLabelX=null,addLabelY=null,resWidth.placeholder="W",resHeight.placeholder="H",addTextModalColorSelect.addItems([{title:"Black",id:"black",select:function(){activeColor="rgba(0, 0, 0, 0.75)"}},{title:"Red",id:"red",select:function(){activeColor="rgba(255, 0, 0, 0.75)"}},{title:"Blue",id:"blue",select:function(){activeColor="rgba(0, 0, 255, 0.75)"}}]),addTextModalColorSelect.selectByIndex(0),addTextModalColorInput.value=addTextModalColorValue,highed.dom.on(addTextModalCancel,"click",function(){overlayAddTextModal.hide()}),highed.dom.style(box,{background:addTextModalColorValue,color:highed.getContrastedColor(addTextModalColorValue)}),addTextModalTypeOptions.forEach(function(e){var t=highed.dom.cr("div","highed-annotation-modal-container "+(addTextModalTypeValue===e.value?" active":"")),i=highed.dom.cr("div","highed-modal-icon fa fa-"+e.icon),n=highed.dom.cr("div","highed-modal-text",e.text);e.element=t,highed.dom.on(t,"click",function(){addTextModalTypeOptions.forEach(function(e){e.element.classList.contains("active")&&e.element.classList.remove("active")}),e.element.classList+=" active",addTextModalTypeValue=e.value}),highed.dom.ap(typeDropdownParent,highed.dom.ap(t,i,n))}),addTextModalInput.placeholder="Write annotation here";var q=null;return highed.dom.on(addTextModalColorInput,"change",function(e){clearTimeout(q),q=setTimeout(function(){addTextModalColorValue=addTextModalColorInput.value,r(addTextModalColorValue)},500)}),highed.dom.on(box,"click",function(e){highed.pickColor(e.clientX,e.clientY,addTextModalColorValue,function(e){highed.isArr(addTextModalColorValue)&&(addTextModalColorValue="#000000"),addTextModalColorValue=e,addTextModalColorInput.value=addTextModalColorValue,r(e)})}),highed.dom.ap(overlayAddTextModal.body,highed.dom.ap(addTextModalContainer,addTextModalHeader,addTextModalInput,highed.dom.cr("div","highed-add-text-label","Type:"),typeDropdownParent,highed.dom.cr("div","highed-add-text-label","Color:"),highed.dom.ap(addTextModalColorContainer,box,addTextModalColorInput),highed.dom.ap(addTextModalBtnContainer,addTextModalSubmit,addTextModalCancel))),highed.dom.on(addTextModalSubmit,"click",function(){overlayAddTextModal.hide(),i.addAnnotationLabel(addLabelX,addLabelY,addTextModalInput.value.replace("\n","
"),addTextModalColorValue,addTextModalTypeValue),addTextModalInput.value=""}),highed.onPhone()||highed.dom.on(window,"resize",c(function(e){u()})),resolutions.forEach(function(e){highed.dom.on(e.iconElement,"click",function(){v(e.width,e.height),resWidth.value=e.width,resHeight.value=e.height})}),highed.dom.on(stretchToFitIcon,"click",function(){resWidth.value="",resHeight.value="",highed.dom.style(s,{width:"100%",height:"100%"}),setTimeout(i.resize,300)}),backIcon=highed.dom.cr("div","highed-back-icon",''),highed.dom.style(backIcon,{display:"none"}),highed.dom.on(backIcon,"click",function(){C=o.widths.desktop,highed.onTablet()&&o.widths.tablet?C=o.widths.tablet:highed.onPhone()&&o.widths.phone&&(C=o.widths.phone),j=68,highed.dom.style(backIcon,{display:"none"}),R.hide(),m(),k((window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight)-highed.dom.pos(V,!0).y-16),setTimeout(O.showSimpleEditor,200)}),highed.dom.on([resWidth,resHeight],"change",function(){v(parseInt(resWidth.value,10),parseInt(resHeight.value,10))}),i.on("ShowTextDialog",function(e,t,i){addLabelX=t,addLabelY=i,addTextModalInput.focus(),overlayAddTextModal.show()}),i.on("ChartChange",function(e){L.emit("ChartChangedLately",e)}),i.on("SetResizeData",function(){}),{on:L.on,destroy:x,hide:f,show:g,resize:u,isVisible:function(){return G},init:d,getIcons:w,selectOption:b,getResolutionContainer:h,setTabBehaviour:y}},highed.Toolbox=function(e,t){function i(e){function t(){var e=highed.dom.size(l),t=highed.dom.size(f),i={w:e.w,h:e.h-t.h-55};return i}function i(){var e=highed.dom.size(r),i=m.width;d&&h===w||m.iconOnly||(h&&h.disselect(),g.emit("BeforeExpand"),l.innerHTML="",highed.dom.ap(l,b),highed.dom.style(l,{height:e.h-55+"px",opacity:1}),highed.dom.style(a,{width:i+"%"}),s.emit("BeforeResize",i),d=!0,setTimeout(function(){var e=t().h;s.emit("Expanded",w,i),g.emit("Expanded",i,e-20)},300),m.iconOnly?h=!1:(v.className=x+" active",h=w),highed.emit("UIAction","ToolboxNavigation",m.title))}function n(){var e=highed.dom.size(r).w;d&&(highed.dom.style(l,{width:"0px",opacity:.1}),highed.dom.style(a,{width:e+"%"}),s.emit("BeforeResize",e),o(),d=!1,h=!1)}function o(){v.className=x+" completed"}function c(){setTimeout(function(){v.classList.remove("completed")},50)}function p(){clearTimeout(u),u=setTimeout(function(){if(highed.dom.style(l,{height:""}),d){var e=t().h;g.emit("Expanded",highed.dom.size(r),e-20)}},100)}var u,m=highed.merge({number:0,title:"Title Missing"},e),g=highed.events(),f=highed.dom.cr("div","highed-toolbox-body-title wizard",m.hideTitle?"":m.title),b=highed.dom.cr("div","highed-box-size highed-toolbox-inner-body"),y=highed.dom.cr("div","highed-box-size highed-toolbox-user-contents highed-createchart-body-container"),x="highed-toolbox-list-item-container",v=highed.dom.cr("div",x),w={},k=highed.dom.cr("div","highed-toolbox-list-circle",m.number); return highed.dom.on(k,"click",function(){m.onClick(m.number),i()}),highed.dom.ap(v,k,highed.dom.cr("div","highed-toolbox-list-title",m.title)),highed.dom.on(v,"click",function(){g.emit("Click")}),highed.dom.ap(r,v),highed.dom.ap(b,f,y),highed.dom.on(window,"resize",p),w={on:g.on,expand:i,collapse:n,body:y,removeCompleted:c,disselect:o}}function n(){var e=highed.dom.size(l),t=highed.dom.size(r);return e.w+t.w}function o(){r.innerHTML="",l.innerHTML=""}var s=highed.events(),a=highed.dom.cr("div","highed-transition highed-toolbox highed-wizard highed-box-size"),r=highed.dom.cr("div","highed-toolbox-bar highed-box-size highed-wizard-title-container"),l=highed.dom.cr("div","highed-toolbox-body highed-toolbox-body-no-border highed-box-size highed-transition highed-wizard-body"),d=!1,h=!1;return highed.merge({animate:!0},t),highed.dom.ap(e,highed.dom.ap(a,r,l)),{clear:o,on:s.on,addEntry:i,width:n}},highed.OptionsPanel=function(e,t){function i(e){l=e}function n(e,t){var i=highed.dom.cr("a","highed-optionspanel-button "+("data"===t?"active":""),e.text+' ');(e.onClick||[]).forEach(function(t){highed.dom.on(i,"click",function(){Object.keys(p).forEach(function(e){p[e].classList.remove("active")}),u=e,i.classList.add("active"),t(l,e)})}),p[t]=i,highed.dom.ap(c,i)}function o(){c.innerHTML="",highed.dom.ap(c,highed.dom.cr("div","highed-optionspanel-header","Workspace View:"))}function s(){return l}function a(){return p}function r(){return u}var l,d=highed.events(),h=highed.dom.cr("div","highed-transition highed-optionspanel highed-box-size"),c=highed.dom.cr("div","highed-box-size highed-transition"),p={},u=null;return highed.dom.ap(e,highed.dom.ap(h,highed.dom.ap(c,highed.dom.cr("div","","Workspace View:")))),{on:d.on,addOption:n,setDefault:i,getPrev:s,clearOptions:o,getOptions:a,getCurrentOption:r}},highed.AssignDataPanel=function(e,t,i){function n(t){G=t,highed.dom.ap(Z,$),M(),highed.dom.ap(e,highed.dom.ap(X,J,Z)),q||Y.emit("AssignDataChanged",B[R])}function o(){Object.keys(B[R]).forEach(function(e){B[R][e].previousValue=null,B[R][e].value=B[R][e].default})}function s(){var e=[];return B.forEach(function(t){var i={};Object.keys(t).forEach(function(e){""!==t[e].value&&null!==t[e].value&&(i[e]=t[e].value)}),e.push(highed.merge({},i))}),e}function a(){W.labels.colors={light:"rgba(66, 200, 192, 0.2)",dark:"rgb(66, 200, 192)"},W.values.colors={light:"rgba(145, 151, 229, 0.2)",dark:"rgb(145, 151, 229)"},W.label.colors={light:"rgba(229, 145, 145, 0.2)",dark:"rgb(229, 145, 145)"},R=0,G=0,_=1,B=[],x(),Object.keys(W).forEach(function(e){W[e].colors=null}),M()}function r(){var e={},t=[],i=[];return Object.keys(B[R]).forEach(function(n){if("labels"===n)e.labelColumn=highed.getLetterIndex(B[R][n].value.charAt(0));else if(B[R][n].isData){const o=B[R][n];i.push(o.rawValue[0]),e.dataColumns=i,e.dataColumns.sort()}else{const s=B[R][n];""!==s.value&&t.push(highed.getLetterIndex(s.value))}}),e.extraColumns=t.sort(),e}function l(){var e=[];return B.forEach(function(t,i){var n={},o=[],s=[];Object.keys(t).forEach(function(e){if("labels"===e)n.labelColumn=highed.getLetterIndex(B[i][e].value.charAt(0));else if(B[i][e].isData){const t=B[i][e];s.push(t.rawValue[0]),n.dataColumns=s,n.dataColumns.sort()}else{const a=B[i][e];""!==a.value&&o.push(highed.getLetterIndex(a.value))}}),n.extraColumns=o.sort(),e.push(highed.merge({},n))}),e}function d(e){return e.charCodeAt()-65}function h(e){return String.fromCharCode(e+65)}function c(){return R}function p(e,t,i){e.value=e.value.toUpperCase();var n=[],o=[],s=[];(t||e.previousValue!==e.value&&(""!==e.value||null!==e.previousValue))&&(s=[e.value.charAt(0)],e.previousValue&&(o=[e.previousValue]),e.mandatory||""!==e.value||(s=[]),n=r(),e.previousValue=e.value.toUpperCase(),e.rawValue=s.map(function(e){return highed.getLetterIndex(e)}),i(o.map(function(e){return highed.getLetterIndex(e)}),e.rawValue,e,n))}function u(e,t,i){B[R]&&(Object.keys(B[R]).forEach(function(i){var n=B[R][i];p(n,t,e)}),q||i||Y.emit("ChangeData",B))}function m(){const e=Math.floor(156*Math.random()+202),t=Math.floor(100*Math.random()),i=60,n=.5;return{light:"hsla("+e+", "+t+"%, 80%, "+n+")",dark:"hsl("+e+", "+t+"%, "+i+"%)"}}function g(e,t){if(e+1-1?"-":",",i=e.split(t).sort();return i.forEach(function(e,t){i[t]=d(e)}),i}function S(e){return e.charAt(0).toUpperCase()+e.slice(1)}function A(e){Object.keys(e).forEach(function(t){highed.isNull(e[t])&&delete e[t]})}function O(e,t,i){return e.config?e.config.chart.type:e.options&&e.options.series&&e.options.series[t]&&e.options.series[t].type?e.options.series[t].type:e.template&&e.template.chart&&e.template.chart.type?e.template.chart.type:e.options&&e.options.chart&&e.options.chart.type?e.options.chart.type:e.theme&&e.theme.options.chart&&e.theme.options.chart.type?e.theme.options.chart.type:i&&i.chart&&i.chart.type?i.chart.type:"line"}function z(e,t,i,n,o,s,a){if(e&&!q){G=t;var r=O(e,0,a),l=null;if(re.updateByIndex(n||R,{title:"Series "+((n||R)+1)+" - "+S(r)}),re.selectByIndex(R),chartTypeOptions=highed.meta.charttype[r.toLowerCase()],B[n||R]&&B[n||R].values&&(l=B[n||R].values),B[n||R]=null,B[n||R]=highed.merge({},W),isNaN(s)||B[n||R].values&&(B[n||R].values.value=h(s),B[n||R].values.rawValue=[s]),l&&B[n||R]&&B[n||R].values&&highed.merge(B[n||R].values,l),highed.merge(B[n||R],highed.meta.charttype[r]),A(B[n||R]),i){if(e.settings&&e.settings.dataProvider&&e.settings.dataProvider.assignDataFields){const c=e.settings.dataProvider.assignDataFields;c.forEach(function(t,i){const n=O(e,i);B[i]||x(n),Object.keys(t).forEach(function(e){B[i][e]&&(B[i][e].value=t[e],B[i][e].rawValue=[d(t[e])])})})}else{var p=t-1;e&&e.options&&e.options.series&&(p=e.options.series.length);for(var u=1;u_&&(_=d(e.value.toUpperCase())),U&&Y.emit("ToggleHideCells",B[R],U),void(q||Y.emit("AssignDataChanged",B[R],e,d(detailValue.toUpperCase()),i)))});var a=e.colors||m();e.colors=a,n.value=e.value;const r=highed.dom.cr("div","highed-assigndatapanel-color");highed.dom.style(r,{"background-color":e.colors.light,border:"1px solid "+e.colors.dark});var l=highed.dom.ap(highed.dom.cr("div","highed-assigndatapanel-data-option"),r,highed.dom.ap(highed.dom.cr("p","",e.name+":"),highed.dom.cr("span","highed-assigndatapanel-data-mandatory",e.mandatory?"*":"")),o,highed.dom.cr("div","highed-assigndatapanel-data-desc",e.desc));highed.dom.ap(ne,l)}function M(){ne.innerHTML="",B[R]&&Object.keys(B[R]).forEach(function(e){var t=B[R][e];D(t,e)})}function F(){U?(U=!1,ae.innerHTML=''):(U=!0,ae.innerHTML=''),Y.emit("ToggleHideCells",B[R],U)}function j(){U&&Y.emit("ToggleHideCells",B[R],U)}function H(){return q}function P(e){x(e,!0),Y.emit("AssignDataChanged")}function V(){return X}function E(e){G=e}var W={labels:{name:"Categories",desc:"Choose a column for the category types. Can be names or a date.",default:"A",value:"A",rawValue:[0],previousValue:null,linkedTo:"x",mandatory:!0,colors:{light:"rgba(66, 200, 192, 0.2)",dark:"rgb(66, 200, 192)"}},values:{name:"Values",desc:"Enter column with the values you want to chart.",default:"B",linkedTo:"y",isData:!0,value:"B",rawValue:[1],previousValue:null,mandatory:!0,colors:{light:"rgba(145, 151, 229, 0.2)",dark:"rgb(145, 151, 229)"}},label:{name:"Label",desc:"The name of the point as shown in the legend, tooltip, data label etc.",default:"",value:"",rawValue:null,previousValue:null,mandatory:!1,linkedTo:"label",colors:{light:"rgba(229, 145, 145, 0.2)",dark:"rgb(229, 145, 145)"},noNulls:!0}},B=[],N=!1,G=0,R=0,_=1,U=!1,q=!1,Y=highed.events(),X=highed.dom.cr("div","highed-transition highed-assigndatapanel highed-box-size "+i),J=highed.dom.cr("div","highed-assigndatapanel-bar highed-box-size "+i),Z=highed.dom.cr("div","highed-assigndatapanel-body highed-box-size highed-transition "+i),K=highed.dom.cr("span","",''),Q=highed.dom.ap(highed.dom.cr("div","highed-assigndatapanel-header-container"),highed.dom.ap(highed.dom.cr("h3","highed-assigndatapanel-header","Assign columns for this chart"),K)),$=highed.dom.cr("div","highed-assigndatapanel-data-options"),ee=highed.dom.cr("div","highed-assigndatapanel-select-container"),te=highed.dom.cr("div","highed-assigndatapanel-change-series-type"),ie=highed.dom.cr("a","highed-assigndatapanel-change-series-type-link","Click here to change series template type"),ne=highed.dom.cr("div","highed-assigndatapanel-inputs-container"),oe=highed.dom.cr("button","highed-assigndatapanel-add-series",''),se=highed.dom.cr("button","highed-assigndatapanel-add-series",''),ae=highed.dom.cr("button","highed-assigndatapanel-add-series",''),re=highed.DropDown(ee," highed-assigndatapanel-series-dropdown"),le=highed.dom.cr("div","highed-assigndatapanel-hide");return highed.dom.style(le,{display:"none"}),x(),Object.keys(W).forEach(function(e){W[e].colors=null}),highed.dom.ap(ee,oe,se,ae),highed.dom.ap(te,ie),highed.dom.on(ie,"click",function(){Y.emit("GoToTemplatePage")}),highed.dom.on(ae,"click",function(){F()}),highed.dom.on(se,"click",function(){if(0===R)return void highed.snackBar("Cannot delete this series");if(confirm("Are you sure you want to delete this series?")){B.splice(R,1),re.deleteByIndex(R);const e=re.selectAll();Y.emit("DeleteSeries",R),setTimeout(function(){Y.emit("AssignDataChanged")},1e3);for(var t=R;t-1&&i++}),i}function s(e,t,i){if(t&&t.meta.fullname&&u[t.meta.fullname]&&e.meta&&e.meta.validFor){var n=p.series,a=!1;if(n.forEach(function(i){fstate=i[u[t.meta.fullname].controller]||u[t.meta.fullname].default,e.meta.validFor[fstate]&&(a=!0)}),!a)return}if(highed.isArr(e))e.forEach(function(e){s(e,t,i)});else{if("function"===Object.keys(e.meta.types)[0]||e.meta.products&&Object.keys(e.meta.products)>0)return;var r=o(highed.uncamelize(e.meta.name).toLowerCase(),i);r+=o(highed.uncamelize(e.meta.ns).toLowerCase(),i),e.meta.description&&(r+=o(highed.uncamelize(e.meta.description).toLowerCase(),i)),r>0&&C.push({name:highed.uncamelize(e.meta.name),rawName:e.meta.name,parents:e.meta.ns.split(".").map(function(e){return highed.uncamelize(e)}),rawParent:null===t?e.meta.name:t.meta.ns+t.meta.name,foundCount:r,ns:e.meta.ns}),e.children&&e.children.length>0&&s(e.children,e,i)}}function a(){highed.dom.style(g,{display:"none"})}function r(){highed.dom.style(g,{display:"block"})}function l(e){return e.substr(0,1).toLowerCase()+e.substr(1)}function d(e){e.classList+=" active-highlight",setTimeout(function(){e&&e.classList.remove("active-highlight")},2e3)}function h(){v.innerHTML="",C.sort(function(e,t){return e.foundCount50)){const i=highed.dom.cr("div","highed-searchadvancedoptions-result-container"),n=highed.dom.cr("div","highed-searchadvancedoptions-result-title",e.name),o=highed.dom.cr("div","highed-searchadvancedoptions-result-parents",e.parents.join(' '));highed.dom.on(i,"click",function(){const t=e.parents,i=500;for(var n="",o=0;o Loading');highed.dom.style(T,{opacity:0});var C=[];return highed.dom.on(k,"keyup",function(e){highed.dom.style(T,{opacity:1}),clearTimeout(c),c=setTimeout(function(){const e=highed.meta.optionsAdvanced.children,t=k.value.toLowerCase().split(" ");C=[],e.forEach(function(e){s(e,null,t)}),h()},500)}),highed.dom.ap(b,y),highed.dom.ap(w,k),highed.dom.ap(b,x,w,v),highed.dom.ap(b,T),highed.dom.ap(e,highed.dom.ap(g,f,b)),{on:m.on,hide:a,show:r,resize:i,setOptions:n}},highed.HelpModal=function(e){var t=!1,i=highed.dom.cr("div","highed-help-nav"),n=highed.dom.cr("div"),o=highed.dom.cr("div","highed-help-counter"),s=highed.OverlayModal(!1,{width:600,height:600});return e.forEach(function(s,a){function r(){t&&(t.className="highed-icon fa fa-circle-o"),n.innerHTML="",p.className="highed-icon fa fa-circle",highed.dom.ap(n,l),t=p,o.innerHTML=a+1+"/"+e.length}var l=highed.dom.cr("div"),d=highed.dom.cr("div","highed-modal-title highed-help-toolbar",s.title),h=highed.dom.cr("div","highed-help-gif"),c=highed.dom.cr("div","highed-scrollbar highed-help-desc"),p=highed.dom.cr("span","highed-icon fa fa-circle-o");highed.isArr(s.description)&&(s.description=s.description.join(" ")),c.innerHTML=s.description,s.gif?(s.gif=highed.option("helpImgPath")+s.gif,highed.dom.style(h,{"background-image":'url("'+s.gif+'")'})):highed.dom.style(h,{display:"none"}),highed.dom.on(p,"click",r),highed.dom.ap(l,d,h,c),highed.dom.ap(i,p),0===a&&r()}),e.length<2&&highed.dom.style([i,o],{display:"none"}),highed.dom.ap(s.body,n,i,o),{show:s.show}},highed.meta.optionsExtended={options:{"option.cat.chart":[{text:"option.subcat.dimension",dropdown:!0,group:1,options:[{id:"chart--width",custom:{minValue:50,maxValue:5e3,step:10},pid:"chart.width",dataType:"number",context:"General",defaults:"null",parent:"chart"},{id:"chart--height",custom:{minValue:50,maxValue:5e3,step:10},pid:"chart.height",dataType:"number",context:"General",defaults:"null",parent:"chart"}]},{text:"option.subcat.title",dropdown:!0,group:1,options:[{id:"title--text",pid:"title.text",dataType:"string",context:"General",defaults:"Chart title",parent:"title",width:50},{id:"subtitle--text",pid:"subtitle.text",dataType:"string",context:"General",parent:"subtitle",width:50},{id:"title--style",dataType:"font",pid:"title.style",context:"General",defaults:'{ "color": "#333333", "fontSize": "18px" }',parent:"title"},{id:"subtitle--style",dataType:"font",pid:"subtitle.style",context:"General",defaults:'{ "color": "#666666", "fontSize": "12px" }',parent:"subtitle"}]},{text:"option.subcat.appearance",dropdown:!0,options:[{header:!0,pid:"option.subcat.chartarea",width:100,id:"chartarea-header",dataType:"header"},{id:"chart--backgroundColor",pid:"chart.backgroundColor",dataType:"color",context:"General",defaults:"#FFFFFF",parent:"chart",width:50},{id:"chart--borderColor",pid:"chart.borderColor",dataType:"color",context:"General",defaults:"#335cad",parent:"chart",width:50},{id:"chart--borderWidth",custom:{minValue:0},pid:"chart.borderWidth",dataType:"number",context:"General",defaults:"0",parent:"chart",width:50},{id:"chart--borderRadius",custom:{minValue:0},pid:"chart.borderRadius",dataType:"number",context:"General",defaults:"0",parent:"chart",width:50},{header:!0,pid:"option.subcat.plotarea",width:100,id:"plotarea-header",dataType:"header"},{id:"chart--plotBackgroundColor",pid:"chart.plotBackgroundColor",dataType:"color",context:"General",parent:"chart",width:38},{id:"chart--plotBorderWidth",pid:"chart.plotBorderWidth",dataType:"number",context:"General",defaults:"0",parent:"chart",width:31},{id:"chart--plotBorderColor",pid:"chart.plotBorderColor",dataType:"color",context:"General",defaults:"#cccccc",parent:"chart",width:31},{id:"chart--plotBackgroundImage",pid:"chart.plotBackgroundImage",dataType:"string",context:"General",parent:"chart"},{id:"colors",pid:"colors",dataType:"array",context:"General",defaults:'[ "#7cb5ec" , "#434348" , "#90ed7d" , "#f7a35c" , "#8085e9" , "#f15c80" , "#e4d354" , "#2b908f" , "#f45b5b" , "#91e8e1"]'}]},{text:"option.subcat.tooltip",dropdown:!0,options:[{id:"tooltip--enabled",pid:"tooltip.enabled",dataType:"boolean",context:"General",defaults:"true",parent:"tooltip",width:50},{id:"tooltip--shared",pid:"tooltip.shared",dataType:"boolean",context:"General",defaults:"false",parent:"tooltip",width:50},{id:"tooltip--backgroundColor",pid:"tooltip.backgroundColor",dataType:"color",context:"General",defaults:"rgba(247,247,247,0.85)",parent:"tooltip",width:50},{id:"tooltip--borderWidth",custom:{minValue:0},pid:"tooltip.borderWidth",dataType:"number",context:"General",defaults:"1",parent:"tooltip",width:50},{id:"tooltip--borderRadius",custom:{minValue:0},pid:"tooltip.borderRadius",dataType:"number",context:"General",defaults:"3",parent:"tooltip",width:50},{id:"tooltip--borderColor",pid:"tooltip.borderColor",dataType:"color",context:"General",defaults:"null",parent:"tooltip",width:50},{id:"tooltip--valueSuffix",pid:"tooltip.valueSuffix",dataType:"string",context:"General",defaults:"",parent:"tooltip",width:98}]},{text:"option.subcat.interaction",dropdown:!0,group:2,options:[{id:"chart--zoomType",pid:"chart.zoomType",dataType:"string",context:"General",parent:"chart",values:'[null, "x", "y", "xy"]'},{id:"chart--polar",pid:"chart.polar",dataType:"boolean",context:"General",defaults:"false",parent:"chart"},{id:"plotOptions--series--states--inactive--opacity",pid:"plotOptions.series.states.inactive.opacity",dataType:"number",context:"General",defaults:"0.2",parent:"chart"}]},{text:"option.subcat.credit",dropdown:!0,group:2,warning:[1],options:[{id:"credits--enabled",pid:"credits.enabled",dataType:"boolean",context:"General",defaults:"true",parent:"credits",warning:[1]},{id:"credits--text",pid:"credits.text",dataType:"string",context:"General",defaults:"Highcharts.com",parent:"credits",warning:[1]},{id:"credits--href",pid:"credits.href",dataType:"string",context:"General",defaults:"http://www.highcharts.com",parent:"credits",warning:[1]}]}],"option.cat.axes":[{text:"option.subcat.xaxis",dropdown:!0,options:[{id:"xAxis-title--style",dataType:"font",dataIndex:0,pid:"xAxis.title.style",context:"General",defaults:'{ "color": "#666666" }',parent:"xAxis-title"},{id:"xAxis-title--text",dataIndex:0,pid:"xAxis.title.text",dataType:"string",context:"General",parent:"xAxis-title",width:50},{id:"xAxis-labels--format",dataIndex:0,pid:"xAxis.labels.format",dataType:"string",context:"General",defaults:"{value}",parent:"xAxis-labels",width:50},{id:"xAxis--type",dataIndex:0,pid:"xAxis.type",dataType:"string",context:"General",defaults:"linear",parent:"xAxis",values:'["linear", "logarithmic", "datetime", "category"]'},{id:"xAxis--opposite",dataIndex:0,pid:"xAxis.opposite",dataType:"boolean",context:"General",defaults:"false",parent:"xAxis",width:50},{id:"xAxis--reversed",dataIndex:0,pid:"xAxis.reversed",dataType:"boolean",context:"General",defaults:"false",parent:"xAxis",width:50}]},{text:"option.subcat.yaxis",dropdown:!0,options:[{id:"yAxis-title--style",dataType:"font",dataIndex:0,pid:"yAxis.title.style",context:"General",defaults:'{ "color": "#666666" }',parent:"yAxis-title"},{id:"yAxis-title--text",dataIndex:0,pid:"yAxis.title.text",dataType:"string",context:"General",defaults:"Values",parent:"yAxis-title",width:50},{id:"yAxis--type",dataIndex:0,pid:"yAxis.type",dataType:"string",context:"General",defaults:"linear",parent:"yAxis",values:'["linear", "logarithmic", "datetime", "category"]',width:50},{id:"yAxis-labels--format",dataIndex:0,pid:"yAxis.labels.format",dataType:"string",context:"General",defaults:"{value}",parent:"yAxis-labels",width:100},{id:"yAxis--opposite",dataIndex:0,pid:"yAxis.opposite",dataType:"boolean",context:"General",defaults:"false",parent:"yAxis",width:50},{id:"yAxis--reversed",dataIndex:0,pid:"yAxis.reversed",dataType:"boolean",context:"General",defaults:"false",parent:"yAxis",width:50}]}],"option.cat.series":[{id:"series",array:!0,text:"option.cat.series",controlledBy:{title:"Select Series",options:"series",optionsTitle:"name"},filteredBy:"series--type",options:[{id:"series--type",pid:"series.type",dataType:"string",context:"General",parent:"series",values:'[null, "line", "spline", "column", "area", "areaspline", "pie", "arearange", "areasplinerange", "boxplot", "bubble", "columnrange", "errorbar", "funnel", "gauge", "scatter", "waterfall"]',subType:["treemap","scatter","line","gauge","heatmap","spline","funnel","areaspline","area","bar","bubble","areasplinerange","boxplot","pie","arearange","column","waterfall","columnrange","pyramid","polygon","solidgauge","errorbar"],subTypeDefaults:{},width:50},{id:"series--dashStyle",pid:"series.dashStyle",dataType:"string",context:"General",defaults:"Solid",parent:"series",values:'["Solid", "ShortDash", "ShortDot", "ShortDashDot", "ShortDashDotDot", "Dot", "Dash" ,"LongDash", "DashDot", "LongDashDot", "LongDashDotDot"]',subType:["areasplinerange","polygon","areaspline","spline","scatter","area","bubble","arearange","waterfall","line"],subTypeDefaults:{polygon:"Solid",areaspline:"Solid",spline:"Solid",scatter:"Solid",area:"Solid",bubble:"Solid",arearange:"Solid",waterfall:"Dot",line:"Solid"},width:50},{id:"series--color",pid:"series.color",dataType:"color",context:"General",defaults:"null",parent:"series",subType:["boxplot","column","waterfall","columnrange","heatmap","area","scatter","bar","treemap","arearange","bubble","errorbar","spline","polygon","line","gauge","areaspline","areasplinerange"],subTypeDefaults:{heatmap:"null",treemap:"null",errorbar:"#000000"},width:18},{id:"series--negativeColor",pid:"series.negativeColor",dataType:"color",context:"General",defaults:"null",parent:"series",subType:["gauge","arearange","areasplinerange","line","errorbar","boxplot","areaspline","spline","bar","scatter","polygon","bubble","area","column"],subTypeDefaults:{arearange:"null",areasplinerange:"null",line:"null",errorbar:"null",boxplot:"null",areaspline:"null",spline:"null",bar:"null",scatter:"null",polygon:"null",bubble:"null",area:"null",column:"null"},width:33},{id:"series-marker--symbol",pid:"series.marker.symbol",dataType:"string",context:"General",parent:"series-marker",values:'[null, "circle", "square", "diamond", "triangle", "triangle-down"]',subType:["bubble","polygon","line","scatter","spline","area","areaspline"],subTypeDefaults:{},width:49},{id:"series--colorByPoint",pid:"series.colorByPoint",dataType:"boolean",context:"General",defaults:"false",parent:"series",subType:["treemap","heatmap","column","errorbar","columnrange","boxplot","bar","waterfall"],subTypeDefaults:{heatmap:"false",column:"false",errorbar:"false",columnrange:"false",boxplot:"false",bar:"false",waterfall:"false"},width:50},{id:"series-marker--enabled",pid:"series.marker.enabled",dataType:"boolean",context:"General",defaults:"null",parent:"series-marker",subType:["bubble","area","scatter","areaspline","spline","polygon","line"],subTypeDefaults:{area:"null",scatter:"null",areaspline:"null",spline:"null",polygon:"null",line:"null"},width:50}]}],"option.cat.export":[{text:"option.cat.exporting",dropdown:!0,options:[{id:"exporting--enabled",pid:"exporting.enabled",dataType:"boolean",context:"General",defaults:"true",parent:"exporting",width:50},{id:"exporting--offlineExporting",pid:"exporting.offlineExporting",dataType:"boolean",context:"General",defaults:"false",parent:"exporting",width:50,plugins:["modules/offline-exporting.js"],noChange:!0},{id:"exporting--sourceWidth",custom:{minValue:10,maxValue:2e3,step:10},pid:"exporting.sourceWidth",dataType:"number",context:"General",parent:"exporting",values:""},{id:"exporting--scale",custom:{minValue:1,maxValue:4},pid:"exporting.scale",dataType:"number",context:"General",defaults:"2",parent:"exporting",values:""}]}],"option.cat.legend":[{text:"option.subcat.general",dropdown:!0,group:1,options:[{id:"legend--enabled",pid:"legend.enabled",dataType:"boolean",context:"General",defaults:"true",parent:"legend"},{id:"legend--layout",pid:"legend.layout",dataType:"string",context:"General",defaults:"horizontal",width:50,parent:"legend",values:'["horizontal", "vertical"]'},{id:"legend--labelFormat",pid:"legend.labelFormat",dataType:"string",context:"General",defaults:"{name}",width:50,parent:"legend"}]},{text:"option.subcat.placement",dropdown:!0,group:1,options:[{id:"legend--align",pid:"legend.align",dataType:"string",context:"General",defaults:"center",parent:"legend",values:'["left", "center", "right"]',width:50},{id:"legend--verticalAlign",pid:"legend.verticalAlign",dataType:"string",context:"General",defaults:"bottom",parent:"legend",values:'["top", "middle", "bottom"]',width:50},{id:"legend--floating",pid:"legend.floating",dataType:"boolean",context:"General",defaults:"false",parent:"legend"}]},{text:"option.subcat.legendappearance",dropdown:!0,options:[{id:"legend--itemStyle",dataType:"font",pid:"legend.itemStyle",context:"General",defaults:'{ "color": "#333333", "cursor": "pointer", "fontSize": "12px", "fontWeight": "bold" }',parent:"legend"},{id:"legend--backgroundColor",pid:"legend.backgroundColor",dataType:"color",context:"General",parent:"legend",width:50},{id:"legend--borderColor",pid:"legend.borderColor",dataType:"color",context:"General",defaults:"#999999",parent:"legend",width:50},{id:"legend--borderWidth",pid:"legend.borderWidth",dataType:"number",context:"General", defaults:"0",parent:"legend",width:50},{id:"legend--borderRadius",pid:"legend.borderRadius",dataType:"number",context:"General",defaults:"0",parent:"legend",width:50}]}],"option.cat.localization":[{text:"option.subcat.numberformat",dropdown:!0,group:1,options:[{id:"lang--decimalPoint",pid:"lang.decimalPoint",dataType:"string",context:"General",defaults:".",parent:"lang",width:50},{id:"lang--thousandsSep",pid:"lang.thousandsSep",dataType:"string",context:"General",defaults:" ",parent:"lang",width:50}]},{text:"option.subcat.zoombutton",dropdown:!0,group:1,options:[{id:"lang--resetZoom",pid:"lang.resetZoom",dataType:"string",context:"General",defaults:"Reset zoom",parent:"lang"}]},{text:"option.subcat.exportbutton",dropdown:!0,options:[{id:"lang--contextButtonTitle",pid:"lang.contextButtonTitle",dataType:"string",context:"General",defaults:"Chart context menu",parent:"lang",values:"",width:50},{id:"lang--printChart",pid:"lang.printChart",dataType:"string",context:"General",defaults:"Print chart",parent:"lang",values:"",width:50},{id:"lang--downloadPNG",pid:"lang.downloadPNG",dataType:"string",context:"General",defaults:"Download PNG image",parent:"lang",width:50},{id:"lang--downloadJPEG",pid:"lang.downloadJPEG",dataType:"string",context:"General",defaults:"Download JPEG image",parent:"lang",width:50},{id:"lang--downloadPDF",pid:"lang.downloadPDF",dataType:"string",context:"General",defaults:"Download PDF document",parent:"lang",width:50},{id:"lang--downloadSVG",pid:"lang.downloadSVG",dataType:"string",context:"General",defaults:"Download SVG vector image",parent:"lang",width:50}]}]}},highed.meta.charttype={arearange:{low:{name:"Low",desc:"The low or minimum value for each data point.",default:"B",value:"B",mandatory:!0,linkedTo:"low",rawValue:[1]},values:null,high:{name:"High",desc:"The high or maximum value for each data point.",default:"C",value:"C",isData:!0,mandatory:!0,linkedTo:"high",rawValue:[2]}},boxplot:{low:{name:"Low",desc:"The low value for each data point, signifying the lowest value in the sample set. The bottom whisker is drawn here.",default:"B",value:"B",isData:!0,mandatory:!0,linkedTo:"low",rawValue:[1]},values:null,high:{name:"High",desc:"The rank for this points data label in case of collision. If two data labels are about to overlap, only the one with the highest labelrank will be drawn.",default:"C",value:"C",isData:!0,mandatory:!0,linkedTo:"high",rawValue:[2]},median:{name:"Median",desc:"The median for each data point. This is drawn as a line through the middle area of the box.",default:"D",value:"D",mandatory:!0,isData:!0,linkedTo:"median",rawValue:[3]},q1:{name:"Q1",desc:"The lower quartile for each data point. This is the bottom of the box.",default:"E",value:"E",mandatory:!0,multipleValues:!1,isData:!0,previousValue:null,linkedTo:"q1",rawValue:[4]},q3:{name:"Q3",desc:"The higher quartile for each data point. This is the top of the box.",default:"F",value:"F",mandatory:!0,isData:!0,linkedTo:"q3",rawValue:[4]}},candlestick:{values:null,close:{name:"Close",desc:"The closing value of each data point.",default:"B",value:"B",mandatory:!0,linkedTo:"close",isData:!0,rawValue:[1]},open:{name:"Open",desc:"The opening value of each data point.",default:"C",value:"C",mandatory:!0,isData:!0,linkedTo:"open",rawValue:[2]},low:{name:"Low",desc:"The low or minimum value for each data point.",default:"D",value:"D",multipleValues:!1,previousValue:null,mandatory:!0,isData:!0,linkedTo:"low",rawValue:[3]},high:{name:"High",desc:"The high or maximum value for each data point.",default:"E",value:"E",mandatory:!0,isData:!0,linkedTo:"high",rawValue:[4]}},bubble:{values:null,y:{name:"Y",desc:"Y Position",default:"B",value:"B",mandatory:!0,isData:!0,linkedTo:"y",rawValue:[1]},z:{name:"Z",desc:"Z Position.",default:"C",value:"C",mandatory:!0,isData:!0,linkedTo:"z",rawValue:[2]}},columnrange:{values:null,low:{name:"Low",desc:"The low or minimum value for each data point.",default:"B",value:"B",mandatory:!0,isData:!0,linkedTo:"low",rawValue:[1]},high:{name:"High",desc:"The high or maximum value for each data point.",default:"C",value:"C",mandatory:!0,isData:!0,linkedTo:"high",rawValue:[2]}}},highed.meta.colors=["#F44336","#FFEBEE","#FFCDD2","#EF9A9A","#E57373","#EF5350","#F44336","#E53935","#D32F2F","#C62828","#B71C1C","#FF8A80","#FF5252","#FF1744","#D50000","#E91E63","#FCE4EC","#F8BBD0","#F48FB1","#F06292","#EC407A","#E91E63","#D81B60","#C2185B","#AD1457","#880E4F","#FF80AB","#FF4081","#F50057","#C51162","#9C27B0","#F3E5F5","#E1BEE7","#CE93D8","#BA68C8","#AB47BC","#9C27B0","#8E24AA","#7B1FA2","#6A1B9A","#4A148C","#EA80FC","#E040FB","#D500F9","#AA00FF","#673AB7","#EDE7F6","#D1C4E9","#B39DDB","#9575CD","#7E57C2","#673AB7","#5E35B1","#512DA8","#4527A0","#311B92","#B388FF","#7C4DFF","#651FFF","#6200EA","#3F51B5","#E8EAF6","#C5CAE9","#9FA8DA","#7986CB","#5C6BC0","#3F51B5","#3949AB","#303F9F","#283593","#1A237E","#8C9EFF","#536DFE","#3D5AFE","#304FFE","#2196F3","#E3F2FD","#BBDEFB","#90CAF9","#64B5F6","#42A5F5","#2196F3","#1E88E5","#1976D2","#1565C0","#0D47A1","#82B1FF","#448AFF","#2979FF","#2962FF","#03A9F4","#E1F5FE","#B3E5FC","#81D4FA","#4FC3F7","#29B6F6","#03A9F4","#039BE5","#0288D1","#0277BD","#01579B","#80D8FF","#40C4FF","#00B0FF","#0091EA","#00BCD4","#E0F7FA","#B2EBF2","#80DEEA","#4DD0E1","#26C6DA","#00BCD4","#00ACC1","#0097A7","#00838F","#006064","#84FFFF","#18FFFF","#00E5FF","#00B8D4","#009688","#E0F2F1","#B2DFDB","#80CBC4","#4DB6AC","#26A69A","#009688","#00897B","#00796B","#00695C","#004D40","#A7FFEB","#64FFDA","#1DE9B6","#00BFA5","#4CAF50","#E8F5E9","#C8E6C9","#A5D6A7","#81C784","#66BB6A","#4CAF50","#43A047","#388E3C","#2E7D32","#1B5E20","#B9F6CA","#69F0AE","#00E676","#00C853","#8BC34A","#F1F8E9","#DCEDC8","#C5E1A5","#AED581","#9CCC65","#8BC34A","#7CB342","#689F38","#558B2F","#33691E","#CCFF90","#B2FF59","#76FF03","#64DD17","#CDDC39","#F9FBE7","#F0F4C3","#E6EE9C","#DCE775","#D4E157","#CDDC39","#C0CA33","#AFB42B","#9E9D24","#827717","#F4FF81","#EEFF41","#C6FF00","#AEEA00","#FFEB3B","#FFFDE7","#FFF9C4","#FFF59D","#FFF176","#FFEE58","#FFEB3B","#FDD835","#FBC02D","#F9A825","#F57F17","#FFFF8D","#FFFF00","#FFEA00","#FFD600","#FFC107","#FFF8E1","#FFECB3","#FFE082","#FFD54F","#FFCA28","#FFC107","#FFB300","#FFA000","#FF8F00","#FF6F00","#FFE57F","#FFD740","#FFC400","#FFAB00","#FF9800","#FFF3E0","#FFE0B2","#FFCC80","#FFB74D","#FFA726","#FF9800","#FB8C00","#F57C00","#EF6C00","#E65100","#FFD180","#FFAB40","#FF9100","#FF6D00","#FF5722","#FBE9E7","#FFCCBC","#FFAB91","#FF8A65","#FF7043","#FF5722","#F4511E","#E64A19","#D84315","#BF360C","#FF9E80","#FF6E40","#FF3D00","#DD2C00","#795548","#EFEBE9","#D7CCC8","#BCAAA4","#A1887F","#8D6E63","#795548","#6D4C41","#5D4037","#4E342E","#3E2723","#3E2723","#3E2723","#3E2723","#3E2723","#9E9E9E","#FAFAFA","#F5F5F5","#EEEEEE","#E0E0E0","#BDBDBD","#9E9E9E","#757575","#616161","#424242","#212121","#212121","#212121","#212121","#607D8B","#ECEFF1","#CFD8DC","#B0BEC5","#90A4AE","#78909C","#607D8B","#546E7A","#455A64","#37474F","#37474F","#37474F","#37474F","#263238"],highed.meta.fonts=["Default","Courier","Arial","Verdana","Georgia","Palatino Linotype","Times New Roman","Comic Sans MS","Impact","Lucida Sans Unicode","Tahoma","Lucida Console","Courier New","Monaco","Monospace"],highed.highchartsErrors={10:{title:"Can't plot zero or subzero values on a logarithmic axis",text:'This error occurs in the following situations:
  • If a zero or subzero data value is added to a logarithmic axis
  • If the minimum of a logarithimic axis is set to 0 or less
  • If the threshold is set to 0 or less
As of Highcharts 5.0.8 it is possible to bypass this error message by setting Axis.prototype.allowNegativeLog totrue and add custom conversion functions. View live demo.'},11:{title:"Can't link axes of different type",text:"This error occurs if you are using the linkedTo option to link two axes of different types, for example a logarithmic axis to a linear axis."},12:{title:"Highcharts expects point configuration to be numbers or arrays in turbo mode",text:"This error occurs if the series data option contains object configurations and the number of points exceeds the turboThreshold. It can be fixed by either setting the turboThreshold option to a higher value"},13:{title:"Rendering div not found",text:"Highcharts cannot find a parent to render to"},14:{title:"String value sent to series.data, expected Number",text:"Highcharts expects there to be a number in the column you just entered. Please change this to a number to continue"},15:{title:"Highcharts expects data to be sorted",text:'The data passed to your chart needs to be sorted. If you\'re using the datagrid, you can sort your data by clicking the arrow in the x-axis column header, and selecting "Sort Ascending".'},16:{title:"Highcharts already defined in the page",text:"Highcharts has already been defined in the page. Keep in mind that all features of Highcharts are included in Highstock"},17:{title:"The requested series type does not exist",text:"This error happens when you are setting chart.type or series.type to a series type that isnt defined in Highcharts."},18:{title:"The requested axis does not exist",text:"Make sure that your only references existing axis in the series properties."},19:{title:"Too many ticks",text:"This error happens when you try to apply too many ticks to an axis, specifically when you add more ticks than the axis pixel length."},20:{title:"Can't add object point configuration to a long data series",text:"In Highstock, if you try to add a point using the object literal configuration syntax, it works only when the number of data points is below the series turboThreshold. Instead of the object syntax, use the Array syntax."},21:{title:"Can't find Proj4js library",text:"Using latitude/longitude functionality in Highmaps requires the Proj4js library to be loaded."},22:{title:"Map does not support latitude/longitude",text:"The loaded map does not support latitude/longitude functionality. This is only supported with maps from the official Highmaps map collection from version 1.1.0 onwards. If you are using a custom map, consider using the Proj4js library to convert between projections."},23:{title:"Unsupported color format used for color interpolation",text:"Highcharts supports three color formats primarily: hex (#FFFFFF), rgb (rgba(255,255,255) and rgba (rgba(255,255,255,1)."},24:{title:"Cannot run Point.update on a grouped point",text:"This happens in Highstock when a point is grouped by data grouping, so there is no reference to the raw points."},25:{title:"Can't find Moment.js library",text:"Using the global.timezone option requires the Moment.js library to be loaded."},26:{title:"WebGL not supported, and no fallback module included",text:"This happens when your browser does not support WebGL, and the canvas fallback module (boost-canvas.js) has not been included OR if the fallback module was included after the boost module."},27:{title:"This browser does not support SVG.",text:"This happens in old IE when the oldie.js module is not loaded."}},highed.ChartTemplateSelector=function(e,t){function i(e,t){var i,n=highed.samples.get(t);n&&(i=sampleBtn=highed.dom.cr("div","highed-ok-button",n.title),highed.dom.on(i,"click",function(){confirm("You are about to load the "+n.title+" sample set. This will purge any existing data in the chart. Continue?")&&d.emit("LoadDataSet",n)}),highed.dom.ap(e,i))}function n(e){var t=highed.dom.cr("h3","",e.id),n=highed.dom.cr("div"),o=highed.dom.cr("div");n.innerHTML=highed.isArr(e.description)?e.description.join("

"):e.description||"",e.samples&&e.samples.length>0&&(highed.dom.ap(o,highed.dom.cr("h4","","Sample Data Sets")),e.samples.forEach(function(e){i(o,e)})),highed.dom.ap(t,n,o)}function o(e,o,s){var a=0;c.innerHTML="",p.innerHTML="",s&&n(s),highed.dom.ap(c),Object.keys(e).forEach(function(n){var s=e[n],r=highed.dom.cr("div","highed-chart-template-container highed-template-tooltip"),l=(highed.dom.cr("div","highed-chart-template-body"),highed.dom.cr("div","highed-chart-template-thumbnail")),h=highed.dom.cr("div","highed-tooltip-text",s.title),p=highed.dom.cr("div","highed-chart-template-description"),g=highed.dom.cr("div","highed-chart-template-samples");s.validator&&!highed.validators.validate(s.validator,t||!1)||(a++,(highed.isArr(s.sampleSets)?s.sampleSets:(s.sampleSets||"").split(".")).forEach(function(e,t){0===t&&highed.dom.ap(g,highed.dom.cr("h4","","Sample Data Sets")),i(g,e)}),p.innerHTML=highed.isArr(s.description)?s.description.join("

"):s.description,u&&u.id===o+n+s.title&&(r.className="highed-chart-template-container highed-chart-template-preview-selected highed-template-tooltip",u.node=r),highed.meta.images&&highed.meta.images[s.thumbnail]?highed.dom.style(l,{"background-image":'url("data:image/svg+xml;utf8,'+highed.meta.images[s.thumbnail]+'")'}):highed.dom.style(l,{"background-image":"url("+highed.option("thumbnailURL")+s.thumbnail+")"}),highed.dom.on(r,"click",function(){if(u&&(u.node.className="highed-chart-template-container highed-template-tooltip"),r.className="highed-chart-template-container highed-chart-template-preview-selected highed-template-tooltip",u={id:o+n+s.title,node:r},"Map"===s.constructor){var e=0;(s.config.series||[]).forEach(function(t){function i(){e++,e===s.config.series.length&&d.emit("Select",s)}t.mapData&&highed.isStr(t.mapData)?highed.include("https://code.highcharts.com/mapdata/"+t.mapData+".js",function(){t.mapData=Highcharts.maps[t.mapData],i()}):i()})}else s.header=m.getSelectedItem().title(),d.emit("Select",highed.merge({},s));highed.emit("UIAction","TemplateChoose",s.title)}),highed.dom.ap(c,highed.dom.ap(r,l,h)))}),0===a&&highed.dom.ap(c,highed.dom.ap(highed.dom.cr("div","highed-chart-template-404"),highed.dom.cr("h4","","None of the templates in this category fits your dataset."),highed.dom.cr("div","",s?s.nofits||"":"")))}function s(e,t){}function a(){m.addItems(highed.templates.getCatArray()),m.selectByIndex(0)}function r(e,t){const i=t;var n,s;if(i&&!i[e])n="Line",s="Line chart";else{if(!i||!i[e])return;n=i[e].templateHeader,s=i[e].templateTitle}m.selectById(n);var a=highed.templates.getAllInCat(n);u={id:n+s+s},a&&o(a,n,highed.templates.getCatInfo(n))}var l,d=highed.events(),h=highed.dom.cr("div","highed-chart-templates"),c=highed.dom.cr("div","highed-chart-template-type-container"),p=highed.dom.cr("div","highed-chart-template-cat-desc"),u=!1,m=highed.DropDown(h,null,{area:highed.resources.icons.area,line:highed.resources.icons.line,bar:highed.resources.icons.bar,column:highed.resources.icons.column,more:highed.resources.icons.more,pie:highed.resources.icons.pie,polar:highed.resources.icons.polar,stock:highed.resources.icons.stock,"scatter and bubble":highed.resources.icons["scatter and bubble"]});return highed.dom.ap(e,highed.dom.ap(h,c)),m.on("Change",function(e){l=e.id();var t=highed.templates.getAllInCat(l);highed.emit("UIAction","TemplateCatChoose",l),t&&o(t,l,highed.templates.getCatInfo(l))}),a(),{on:d.on,resize:s,rebuild:a,selectSeriesTemplate:r}},highed.DefaultContextMenu=function(e){var t=highed.events(),i=highed.ContextMenu([{title:highed.getLocalizedStr("previewChart"),icon:"bar-chart",click:function(){e.expand()}},"-",{title:highed.getLocalizedStr("newChart"),icon:"file-o",click:function(){window.confirm(highed.getLocalizedStr("confirmNewChart"))&&(e.new(),t.emit("NewChart"))}},"-",{title:highed.getLocalizedStr("saveProject"),icon:"floppy-o",click:function(){highed.download("chart.json",e.toProjectStr())}},{title:highed.getLocalizedStr("loadProject"),icon:"folder-open-o",click:function(){highed.readLocalFile({type:"text",accept:".json",success:function(t){try{t=JSON.parse(t.data)}catch(e){return highed.snackBar("Error loading JSON: "+e)}e.loadProject(t)}})}},"-",{title:"Save to Cloud",icon:"upload",click:function(){highed.cloud.save(e)}},{title:highed.getLocalizedStr("loadCloud"),icon:"cloud",click:function(){highed.cloud.showUI(e)}},"-",{title:highed.getLocalizedStr("exportPNG"),icon:"file-image-o",click:function(){e.data.export({})}},{title:highed.getLocalizedStr("exportJPEG"),icon:"file-image-o",click:function(){e.data.export({type:"image/jpeg"})}},{title:highed.getLocalizedStr("exportSVG"),icon:"file-image-o",click:function(){e.data.export({type:"image/svg+xml"})}},{title:highed.getLocalizedStr("exportPDF"),icon:"file-pdf-o",click:function(){e.data.export({type:"application/pdf"})}},"-",{title:highed.getLocalizedStr("help"),icon:"question-circle",click:function(){window.open(highed.option("helpURL"))}}]);return{on:t.on,show:i.show}},highed.ChartCustomizer=function(e,t,i,n){function o(){var e;i&&(e=i.getCustomCode()||"",N?N.setValue(e):G.value=e)}function s(){function e(){highed.emit("UIAction","CustomCodeUpdate"),B.innerHTML="",i&&(i.on("LoadCustomCode",function(e){var t;i&&(t=i.getCustomCode()||"",N?N.setValue(t):G.value=t)}),i.on("UpdateCustomCode",function(){i.setCustomCode(N?N.getValue():G.value,function(e){B.innerHTML=e})}),i.setCustomCode(N?N.getValue():G.value,function(e){B.innerHTML=e}))}highed.dom.ap(W.top,G),highed.dom.ap(W.bottom,B);var t=null;"undefined"!=typeof window.CodeMirror?(N=CodeMirror.fromTextArea(G,{lineNumbers:!0,mode:"application/javascript",theme:highed.option("codeMirrorTheme")}),N.setSize("100%","100%"),N.on("change",function(){clearTimeout(t),t=setTimeout(function(){e()},500)})):highed.dom.on(G,"change",function(){clearTimeout(t),t=setTimeout(function(){e()},500)})}function a(e,t){var i,n;C.resize(e,t),i=C.barSize(),M.resize(e,t-i.h),n=highed.dom.size(M.container),highed.dom.style(F,{minHeight:n.h+"px"}),W.resize(e,t),N&&N.refresh()}function r(e,t,n){V=t||{},E=highed.merge({},e||{}),M.reselect(),i=n||i,W.resize(),o()}function l(e){var t=!1;return!(Object.keys(w.availableSettings||{}).length>0)||(highed.isArr(e)?e.forEach(function(e){l(e)&&(t=!0)}):highed.isArr(e.options)?e.options.forEach(function(e){l(e)&&(t=!0)}):(w.availableSettings[e.id]||w.availableSettings[e.pid])&&(t=!0),t)}function d(){w.noAdvanced||(highed.dom.style(T,{opacity:1}),w.noAdvanced||highed.isNull(highed.meta.optionsAdvanced)?A.hide():setTimeout(function(){highed.meta.optionsAdvanced=highed.transform.advanced(highed.meta.optionsAdvanced,!0);const e=i.options.all().series;v=highed.merge({},i.options.full),e&&e.length>0&&(e.forEach(function(e,t){v.series&&v.series[t]&&highed.merge(v.series[t],{type:e.type||"line"})}),P.build(highed.meta.optionsAdvanced,v),highed.dom.style(T,{opacity:0}),k.emit("AdvancedBuilt"))},10))}function h(){Object.keys(highed.meta.optionsExtended.options).forEach(function(e){l(highed.meta.optionsExtended.options[e])&&M.addItem({id:e,title:highed.L(e)},highed.meta.optionsExtended.options[e],i)})}function c(e,t,i){if(e){highed.dom.pos(e),S.selected||S.focus(),e.focus();var n=highed.dom.cr("div","highed-attention");highed.dom.style(n,{width:"10px",height:"10px",left:t-5+"px",top:i-5+"px",borderRadius:"50%"}),highed.dom.ap(document.body,n);var o=Highcharts.offset(e),s=e.style.backgroundColor;highed.dom.style(n,{width:e.clientWidth+"px",height:e.clientHeight+"px",borderRadius:0,left:o.left+"px",top:o.top+"px"}),window.setTimeout(function(){highed.dom.style(e,{backgroundColor:window.getComputedStyle(n).backgroundColor,transition:"1s ease background-color"}),n.parentNode.removeChild(n),n=null,window.setTimeout(function(){highed.dom.style(e,{backgroundColor:s})},250)},350)}}function p(e,t,i){if(e.indexOf("-")>=0){var n=j.left.querySelector("#"+e.substr(0,e.indexOf("-")));c(S.body.querySelector("#"+e),t,i),c(j.right.querySelector("#"+e)),n&&n.scrollIntoView({block:"end"})}}function u(e,t,i){M.select(e.tab),M.selectDropdown(e.dropdown),P.expandTo(e.id),p(e.id,t,i)}function m(e,t,i,o,s){var a=highed.dom.cr("table","highed-customizer-table"),r=0;H.innerHTML="",w.noAdvanced||(e.children.forEach(function(e){if(e.meta.leafNode&&"function"!==Object.keys(e.meta.types)[0])return!(s&&e.meta.validFor&&!e.meta.validFor[s])&&void(o&&e.meta.products&&Object.keys(e.meta.products)>0&&!e.meta.products[o]||(r++,e.values=e.meta.enumValues,highed.dom.ap(a,highed.InspectorField(e.values?"options":Object.keys(e.meta.types)[0]||"string","undefined"!=typeof i[e.meta.name]?i[e.meta.name]:e.meta.default,{title:highed.uncamelize(e.meta.name),tooltip:e.meta.description,values:e.meta.enumValues,defaults:e.meta.default,custom:{},attributes:e.attributes||[]},function(t){"string"==typeof t&&(t=t.replace("","<\\/script>")),highed.emit("UIAction","AdvancedPropSet",(e.meta.ns?e.meta.ns+".":"")+highed.uncamelize(e.meta.name),t),i[e.meta.name]=t,k.emit("PropertySetChange",P.getMasterData()),P.isFilterController(e.meta.ns,e.meta.name)&&d()},!1,e.meta.name,n))))}),highed.dom.ap(H,highed.dom.ap(highed.dom.cr("div","highed-customize-group highed-customize-advanced"),highed.dom.cr("div","highed-customizer-table-heading",t),a)))}function g(){O.focus()}function f(){S.focus()}function b(){z.focus()}function y(){k.emit("AdvanceClicked"),A.focus()}function x(){return v}var v,w=highed.merge({noAdvanced:!1,noCustomCode:!1,noPreview:!1,availableSettings:[]},t),k=highed.events(),T=highed.dom.cr("div","highed-customizer-adv-loader",' Loading'),C=highed.TabControl(e,!1,null,!0),S=C.createTab({title:highed.getLocalizedStr("customizeSimple")}),A=C.createTab({title:highed.getLocalizedStr("customizeAdvanced")}),O=C.createTab({title:highed.getLocalizedStr("customizeCustomCode")}),z=C.createTab({title:highed.getLocalizedStr("customizePreview")}),L=highed.dom.cr("textarea","highed-custom-code highed-box-size highed-stretch"),I=!1,D=highed.dom.cr("div","highed-box-simple-container"),M=highed.List(D,!0,w,n),F=highed.dom.cr("div"),j=highed.HSplitter(A.body,{leftWidth:30}),H=j.right,P=highed.Tree(j.left),V={},E={},W=highed.VSplitter(O.body,{topHeight:90}),B=highed.dom.cr("pre","highed-custom-debug"),N=!1,G=highed.dom.cr("textarea","highed-custom-code highed-box-size highed-stretch"),R=!1;return highed.onPhone()&&(w.noAdvanced=!0,w.noCustomCode=!0,w.noPreview=!0),F.className+=" highed-customizer-body",w.availableSettings=highed.arrToObj(w.availableSettings),highed.dom.ap(S.body,D),highed.dom.ap(e,T),highed.dom.ap(z.body,L),A.on("Focus",function(){d()}),z.on("Focus",function(){var e=i.options.getPreview();I||"undefined"==typeof window.CodeMirror||(I=CodeMirror.fromTextArea(L,{lineNumbers:!0,mode:"application/javascript",theme:highed.option("codeMirrorTheme"),readOnly:!0}),I.setSize("100%","100%")),I?I.setValue(e):(L.readonly=!0,L.value=e)}),M.on("PropertyChange",function(e,t,i){k.emit("PropertyChange",e,t,i)}),M.on("TogglePlugins",function(e,t){k.emit("TogglePlugins",e,t)}),M.on("Select",function(e){var t=highed.meta.optionsExtended.options[e];F.innerHTML="",t.forEach(function(e){}),R=!1,highed.emit("UIAction","SimplePropCatChoose",e)}),P.on("ForceSave",function(e){k.emit("PropertySetChange",e)}),P.on("ClearSelection",function(){H.innerHTML=""}),P.on("Select",m),P.on("DataUpdate",function(e,t){k.emit("PropertyChange",e,t)}),P.on("Dirty",function(){r(V,E)}),C.on("Focus",function(){r(V,E)}),h(),s(),w.noCustomCode&&O.hide(),w.noAdvanced&&A.hide(),w.noPreview&&z.hide(),{on:k.on,resize:a,init:r,focus:u,reselect:M.reselect,highlightField:p,showCustomCode:g,showSimpleEditor:f,showAdvancedEditor:y,showPreviewOptions:b,getAdvancedOptions:x}},highed.WizardBar=function(e,t,i){function n(e,t){e.number>1?highed.dom.style(r,{opacity:1,"pointer-events":"auto",visibility:"visible"}):highed.dom.style(r,{opacity:0,"pointer-events":"none",visibility:"hidden"}),e.numberThe JSON is the data passed to the chart constructor, and may contain any of the valid options.'),D,F,M),highed.dom.on(H,"click",function(){g.emit("ExportComma")}),highed.dom.on(P,"click",function(){g.emit("ExportSemiColon")}),highed.dom.on(j,"click",function(){g.emit("ImportGoogleSpreadsheet")}),highed.dom.on(C,"click",function(){r()}),highed.dom.on(S,"click",function(){g.emit("ImportLiveData",{})}),highed.dom.on(T,"keyup",function(e){(13===e.keyCode||(e.metaKey||e.ctrlKey)&&"z"===e.key)&&r(T.value)}),highed.dom.on(A,"click",function(){highed.readLocalFile({type:"text",accept:".csv",success:function(e){T.value=e.data,highed.snackBar("File uploaded"),r()}})}),highed.dom.on(M,"click",function(){d(D.value)}),highed.dom.on(F,"click",function(){highed.readLocalFile({type:"text",accept:".json",success:function(e){D.value=e.data,d(e.data)}})}),a(),s(),o(),O.value=",",I.type="checkbox",L.value=".",I.checked=!0,h(),{on:g.on,loadCSV:l,resize:h,show:c,hide:p,addImportTab:u,exporter:W,selectTab:m,emitCSVImport:r}}}(),function(){var e={};highed.plugins.export={install:function(t,i){highed.isNull(e[t])?(e[t]=highed.merge({description:"",options:{},title:!1,downloadOutput:!1},i),e[t].dependencies&&highed.include(e[t].dependencies)):highed.log(1,"tried to register an export plugin which already exists:",t)}},highed.Exporter=function(t,i){function n(){l.options.html||h.hide(),l.options.json||c.hide(),l.options.svg||p.hide(),l.options.plugins||u.hide(),0===Object.keys(l.plugins)&&u.hide(),d.selectFirst()}function o(){T||(T=!0,Object.keys(e).forEach(function(t){function i(){function e(){highed.isFn(n.export)&&k&&n.export.apply(S[t],[r,k,function(e,i,o){return e?highed.snackBar("Export error: "+e):(n.downloadOutput&&highed.download(o,i),void highed.snackBar((n.title||t)+" export complete"))},a])}var i=highed.dom.cr("div","highed-plugin-details"),o=highed.dom.cr("button","highed-imp-button",n.exportTitle||"Export"),s=highed.dom.cr("table","highed-customizer-table"),a=highed.dom.cr("div"),r=S[t].options;Object.keys(n.options||{}).forEach(function(e){r[e]=n.options[e].default,highed.dom.ap(s,highed.InspectorField(n.options[e].type,n.options[e].default,{title:n.options[e].label },function(i){r[e]=i,highed.isFn(n.show)&&n.show.apply(S[t],[k])},!0))}),highed.dom.on(o,"click",e),highed.dom.ap(m.right,i),highed.dom.style(i,{display:"none"}),highed.dom.ap(i,highed.dom.cr("div","highed-customizer-table-heading",n.title||t),highed.dom.cr("div","highed-imp-help",n.description),!!Object.keys(n.options||{}).length&&s,a,!!n.export&&o),highed.isFn(n.create)&&n.create.apply(S[t],[k,a]),A[t]={export:e,show:function(){O&&O.hide(),highed.dom.style(i,{display:""}),n.show.apply(S[t],[k]),O=A[t]},hide:function(){highed.dom.style(i,{display:"none"})}}}var n=e[t];return S[t]={options:{}},!!l.plugins[t]&&(i(),void g.addItem({id:t,title:n.title||t,click:A[t].show}))}))}function s(e,t,i,n){var s="_export";s=e.title&&e.title.text?e.title.text.replace(/\s/g,"_")+s:"untitled"+s,x.value=JSON.stringify(e),f.href="data:application/octet-stream,"+encodeURIComponent(x.value),v.value=t,b.href="data:application/octet-stream,"+encodeURIComponent(t),w.value=i,y.href="data:application/octet-stream,"+encodeURIComponent(i),f.download=s+".json",b.download=s+".html",y.download=s+".svg",highed.dom.on(f,"click",function(){highed.events("UIAction","BtnDownloadJSON")}),highed.dom.on(b,"click",function(){highed.events("UIAction","BtnDownloadHTML")}),highed.dom.on(y,"click",function(){highed.events("UIAction","BtnDownloadSVG")}),k=n,o(),O&&O.show(),C=!0}function a(e,t){var i;d.resize(e,t),i=d.barSize(),m.resize(e,t-i.h-20),g.resize(e,t-i.h)}function r(e,t){highed.dom.on(e,"click",function(){e.focus(),e.select(),highed.emit("UIAction","Copy"+t)})}var l=highed.merge({options:"svg html json plugins",plugins:"beautify-js beautify-json"},i),d=highed.TabControl(t,!1,!0),h=d.createTab({title:"HTML"}),c=d.createTab({title:"JSON"}),p=d.createTab({title:"SVG"}),u=d.createTab({title:"Plugins"}),m=highed.HSplitter(u.body,{leftWidth:30}),g=highed.List(m.left),f=highed.dom.cr("a","highed-imp-button highed-imp-pasted-button","Download"),b=highed.dom.cr("a","highed-imp-button highed-imp-pasted-button","Download"),y=highed.dom.cr("a","highed-imp-button highed-imp-pasted-button","Download"),x=highed.dom.cr("textarea","highed-imp-pastearea highed-scrollbar"),v=highed.dom.cr("textarea","highed-imp-pastearea highed-scrollbar"),w=highed.dom.cr("textarea","highed-imp-pastearea highed-scrollbar"),k=!1,T=!1,C=!1,S={},A={},O=!1;return l.options=highed.arrToObj(l.options),l.plugins=highed.arrToObj(l.plugins),highed.dom.ap(h.body,highed.dom.ap(highed.dom.cr("div","highed-imp-spacer"),v),b),highed.dom.ap(c.body,highed.dom.ap(highed.dom.cr("div","highed-imp-spacer"),x),f),highed.dom.ap(p.body,highed.dom.ap(highed.dom.cr("div","highed-imp-spacer"),w),y),a(),n(),r(x,"JSON"),r(v,"HTML"),r(w,"SVG"),{init:s,resize:a,buildPluginUI:o}}}(),highed.ChartPreview=function(e,t){function i(){Object.keys(Le).forEach(function(t){highed.dom.on(e.querySelector(t),"click",function(e){if(!Ie)return ne.emit("RequestEdit",Le[t],e.clientX,e.clientY),e.cancelBubble=!0,e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),!1})})}function n(e,t){return JSON.stringify(e,function(e,t){return highed.isFn(t)?t.toString():t},t)}function o(e){return!!highed.isFn(e)&&e(we!==!1?we:r())}function s(){ne.emit("ChartChange",se),window.clearTimeout(ve),ve=window.setTimeout(function(){ne.emit("ChartChangeLately",se)},200)}function a(e,t,i,n){var o={id:"shape_"+oe.annotations.length,type:t,point:{x:i,y:n,xAxis:0,yAxis:0},x:0,y:0};"circle"===t?o.r=10:"rect"===t&&(o.width=20,o.height=20,o.x=-10,o.y=-10);var s=e.addAnnotation({id:"shape_"+oe.annotations.length,shapes:[o],type:t}),s=e.addAnnotation({id:"shape_"+oe.annotations.length,shapes:[o],type:t});oe.annotations.push({id:"shape_"+oe.annotations.length,shapes:[s.options.shapes[0]]})}function r(t,n,o){function s(e,t){Highcharts.wrap(Highcharts.Annotation.prototype,e,function(e,i){e.apply(this,Array.prototype.slice.call(arguments,1));var n=this[t][this[t].length-1];n.element.addEventListener("click",function(e){if(highed.dom.nodefault(e),Ie&&"delete"===De){var t=oe.annotations.findIndex(function(e){return e.id===n.options.id});we.removeAnnotation(n.options.id),oe.annotations.splice(t,1)}}),n.element.addEventListener("mousedown",function(e){!we.activeAnnotation&&Ie&&"drag"===De&&("shapes"===t?(we.activeAnnotationOptions=highed.merge({},n.options),"rect"===n.type&&(we.activeAnnotationOptions.width=20,we.activeAnnotationOptions.height=20)):we.activeAnnotationOptions={id:n.options.id,text:n.options.text,point:{x:n.options.point.x,y:n.options.point.y,xAxis:0,yAxis:0},backgroundColor:n.options.backgroundColor,shape:n.options.shape,borderWidth:n.options.borderWidth,x:0,y:0},n.id=n.options.id,we.activeAnnotation=n,we.annotationType=t)})})}var r;if(t=t||se,ze=highed.isArr(ze)?ze:["Chart"],o&&highed.setAttr(t,"plotOptions--series--animation",!1),"undefined"==typeof window.Highcharts)return void highed.snackBar("Highcharts.JS must be included to use the editor");if(we&&we.annotations){for(var l=we.annotations||[],r=l.length-1;r>-1;--r)l[r].options&&we.removeAnnotation(l[r].options.id);we.annotations.length=0}try{const d=ze.some(function(e){return"StockChart"===e})?"StockChart":"Chart";we=new Highcharts[d](n||e,t),we&&we.options&&(highed.clearObj(le),highed.merge(le,we.options)),i(),we&&we.reflow,Highcharts.error=function(e,t){if(t)throw e;setTimeout(function(){ne.emit("Error",{code:e,url:e?"https://www.highcharts.com/errors/"+e:"",warning:!0})},200)},s("initLabel","labels"),s("initShape","shapes"),Highcharts.addEvent(document,"mousemove",function(e){if(we.isInsidePlot(e.chartX-we.plotLeft,e.chartY-we.plotTop)&&we.activeAnnotationOptions&&Ie&&"drag"===De){var t=we.pointer.normalize(e),i=we.activeAnnotationOptions,n=we.activeAnnotation;i.point.x=we.xAxis[0].toValue(t.chartX),i.point.y=we.yAxis[0].toValue(t.chartY),n&&n.id&&we.removeAnnotation(n.id);var o;o="shapes"===we.annotationType?we.addAnnotation({id:i.id,shapes:[i]}):we.addAnnotation({id:i.id,labels:[i]}),o.id=i.id,we.activeAnnotation=o}}),Highcharts.addEvent(document,"mouseup",function(e){we.activeAnnotation&&Ie&&"drag"===De&&(we.removeAnnotation(we.activeAnnotationOptions.id),"shapes"===we.annotationType?(we.activeAnnotation=we.addAnnotation({id:we.activeAnnotationOptions.id,shapes:[we.activeAnnotationOptions]}),oe.annotations.some(function(e){if(e.shapes&&e.shapes[0].id===we.activeAnnotationOptions.id)return e.shapes[0].point.x=we.activeAnnotation.options.shapes[0].point.x,e.shapes[0].point.y=we.activeAnnotation.options.shapes[0].point.y,!0})):(we.activeAnnotation=we.addAnnotation({id:we.activeAnnotationOptions.id,labels:[we.activeAnnotationOptions]}),oe.annotations.some(function(e){if(e.labels&&e.labels[0].id===we.activeAnnotationOptions.id)return e.labels[0].point.x=we.activeAnnotation.options.labels[0].point.x,e.labels[0].point.y=we.activeAnnotation.options.labels[0].point.y,!0})),we.activeAnnotation=null,we.activeAnnotationOptions=null,we.annotationType=null)}),Highcharts.addEvent(we,"click",function(e){Ie&&(oe.annotations||(oe.annotations=[]),"label"===De?ne.emit("ShowTextDialog",this,e.xAxis[0].value,e.yAxis[0].value):"delete"===De||"drag"===De||a(this,De,e.xAxis[0].value,e.yAxis[0].value))}),Highcharts.addEvent(we,"afterPrint",function(){ne.emit("RequestResize")}),ne.emit("ChartRecreated")}catch(t){ne.emit("Error",{code:t,url:t?"https://www.highcharts.com/errors/"+t:""}),highed.emit("UIAction","UnsuccessfulChartGeneration"),(n||e).innerHTML="",we=!1}return we}function l(e,t){o(function(i){if(i&&i.reflow)try{e&&t?(i.setSize(e,t,!0),i.options.chart.width=null,i.options.chart.height=null):(i.setSize(void 0,void 0,!1),i.reflow())}catch(e){}})}function d(e,t){return de=!1,t||(c(),r(se),s(),ne.emit("SetResizeData")),!0}function h(e,t){return highed.isStr(e)?h(JSON.parse(e)):(ce={},!highed.isBasic(e)&&!highed.isArr(e)&&0!==Object.keys(e).length&&(e&&e.options&&e.id?(ce={id:e.id,name:e.name||e.id},de=highed.merge({},e.options),he=e.customCode||""):(ce={id:highed.uuid(),name:"Untitled Theme"},de=highed.merge({},e)),t||(ne.emit("UpdateCustomCode"),c(),r(se),s(),ne.emit("SetResizeData")),!0))}function c(e){oe&&!highed.isArr(oe.yAxis)&&oe.yAxis&&(oe.yAxis=[oe.yAxis||{}]),oe&&!highed.isArr(oe.xAxis)&&oe.xAxis&&(oe.xAxis=[oe.xAxis||{}]),re=re||[];var t={};highed.clearObj(se),highed.merge(se,ie.defaultChartOptions),de&&Object.keys(de).length&&highed.merge(se,highed.merge(highed.merge({},de))),re.forEach(function(e){e&&(e.yAxis&&!highed.isArr(e.yAxis)&&(e.yAxis=[e.yAxis]),e.xAxis&&!highed.isArr(e.xAxis)&&(e.xAxis=[e.xAxis]),t=highed.merge(t,e))}),highed.merge(se,highed.merge(highed.merge({},t),oe)),!se.yAxis&&oe.yAxis&&(se.yAxis=oe.yAxis),!se.xAxis&&oe.xAxis&&(se.xAxis=oe.xAxis),se.yAxis&&t.yAxis&&se.yAxis.forEach(function(e,i){i"};if(highed.emit("UIAction","LoadProject"),be=!1,ye=!1,xe=!1,highed.isStr(e))try{return x(JSON.parse(e))}catch(e){highed.snackBar("Invalid project")}if(e){if(re=[{}],e.template&&(re=highed.isArr(e.template)?e.template:[e.template]),oe={},e.options&&(oe=e.options),oe.lang&&Highcharts.setOptions({lang:oe.lang}),"undefined"!=typeof e.theme&&h(e.theme,!0),oe&&oe.series&&(oe.series=highed.isArr(oe.series)?oe.series:[oe.series],oe.series.forEach(function(e){"undefined"!=typeof e._colorIndex&&delete e._colorIndex})),J(e.customCode,function(e){highed.snackBar("Error in custom code: "+e)},!0),ne.emit("LoadCustomCode"),ze=["Chart"],e.settings&&e.settings.templateView&&"stock"===e.settings.templateView.activeSection&&(ze=["StockChart"]),e.settings&&e.settings.template&&(Se=e.settings.template),e.settings&&e.settings.plugins&&(ue=e.settings.plugins),e.settings&&highed.isStr(e.settings.constructor)&&(ze=[e.settings.constructor]),e.settings&&highed.isArr(e.settings.constructor)&&(ze=e.settings.constructor),e.settings&&e.settings.dataProvider)if(e.settings.dataProvider.seriesMapping&&highed.merge(oe,{data:{seriesMapping:e.settings.dataProvider.seriesMapping}}),e.settings.dataProvider.assignDataFields&&(Ce=e.settings.dataProvider.assignDataFields),e.settings.dataProvider.googleSpreadsheet){var n=e.settings.dataProvider,o=n.googleSpreadsheet;oe.data&&(o.startRow=n.startRow||oe.data.startRow,o.endRow=n.endRow||oe.data.endRow,o.startColumn=n.startColumn||oe.data.startColumn,o.endColumn=n.endColumn||oe.data.endColumn,n.dataRefreshRate&&n.dataRefreshRate>0&&(o.dataRefreshRate=n.dataRefreshRate||oe.data.dataRefreshRate,o.enablePolling=!0)),ne.emit("ProviderGSheet",e.settings.dataProvider.googleSpreadsheet),w(o),t=!0}else if(e.settings.dataProvider.liveData){var n=e.settings.dataProvider;n.liveData,v(n.liveData)}else e.settings.dataProvider.csv&&(Object.keys(i).forEach(function(t){e.settings.dataProvider.csv=e.settings.dataProvider.csv.replace(new RegExp(t,"g"),i[t])}),t=!0);c(),t||r(se),s(),ne.emit("LoadProject",e,se)}}function v(e){xe=e,be=!1,ye=!1,highed.merge(oe,{data:xe}),ne.emit("ProviderLiveData",e),c(),r(se),b(),s(),o(function(e){var t=Highcharts.addEvent(e,"load",function(){f(),t()})})}function w(e){var t;be=!1,ye=e,ye.googleSpreadsheetKey=ye.googleSpreadsheetKey||ye.id,ye.googleSpreadsheetWorksheet=ye.googleSpreadsheetWorksheet||ye.worksheet,e&&0===(e.googleSpreadsheetKey||"").indexOf("http")&&(t=e.googleSpreadsheetKey,t=t.substr(t.indexOf("/d/")+3),t=t.substr(0,t.indexOf("/")),e.googleSpreadsheetKey=t),highed.merge(oe,{data:ye}),c(),r(se),b(),s(),o(function(e){var t=Highcharts.addEvent(e,"load",function(){f(),t()})})}function k(e){return e}function T(){var e=!1,t=ye,i=xe,n=!1,o=!1;return(we&&we.options&&we.options.data&&we.options.data.csv||null!==Te)&&(e=Te||(we.options.data?we.options.data.csv:""),we.options.data&&we.options.data.seriesMapping&&(o=we.options.data.seriesMapping)),we&&we.options&&we.options.data&&we.options.data.googleSpreadsheetKey&&(t={googleSpreadsheetKey:we.options.data.googleSpreadsheetKey,googleSpreadsheetWorksheet:we.options.data.googleSpreadsheetWorksheet},Ce=!1),we&&we.options&&we.options.data&&we.options.data.url&&(i={url:we.options.data.url,interval:we.options.data.interval,type:we.options.data.type},Ce=!1),ce&&ce.id&&de&&(n={id:ce.id,name:ce.name,options:de||{},customCode:he||""}),we&&we.options&&we.options.annotations&&(ue.annotations=1),{template:re,options:k(oe),customCode:highed.isFn(ge)?fe:"",theme:n,settings:{constructor:ze,template:Se,plugins:ue,dataProvider:{csv:!t&&!i&&(e||be),googleSpreadsheet:t,liveData:i,assignDataFields:Ce,seriesMapping:o}}}}function C(){return Se}function S(e){be=!1,ye=!1,xe=!1,oe&&oe.data&&(oe.data={}),oe.series&&(oe.series=highed.isArr(oe.series)?oe.series:[oe.series],oe.series.forEach(function(e){e.data&&delete e.data})),e||(c(),r(se),s())}function A(e){return n(T(),e)}function O(e){be=!1,o(function(t){if(highed.isStr(e))try{O(JSON.parse(e))}catch(e){highed.snackBar("invalid json: "+e)}else highed.isBasic(e)?highed.snackBar("the data is not valid json"):(re=[{}],highed.clearObj(oe),highed.merge(oe,highed.merge({},e)),highed.isNull(e.series)||(oe.series=e.series),c(),r(oe),b(),s())})}function z(e){Te=e}function L(e){Ce=e}function I(e,t){t?ue[e]=1:delete ue[e]}function D(e){function t(){ne.emit("AttrChange",{id:"chart.width"})}function i(){ne.emit("AttrChange",{id:"chart.height"})}var n=!1,o=!1;e&&e.chart&&("undefined"!=typeof e.chart.width&&(oe.chart&&"undefined"!=typeof oe.chart?oe.chart.width!==e.chart.width&&(o=!0):o=!0),"undefined"!=typeof e.chart.height&&(oe.chart&&"undefined"!=typeof oe.chart?oe.chart.height!==e.chart.height&&(n=!0):n=!0)),oe=highed.transform.remBlanks(highed.merge({},e,!1)),oe&&oe.lang&&Highcharts.setOptions({lang:oe.lang}),e&&e.global,e&&e.data&&e.data.googleSpreadsheetKey&&ne.emit("LoadedGoogleSpreadsheet"),c(),r(se,!1,!0),s(),n&&i(),o&&t()}function M(e){o(function(t){Object.keys(e||{}).forEach(function(t){highed.setAttr(oe,t,e[t])}),c(),r(se),s()})}function F(e){highed.isArr(e)&&(oe.series=oe.series||[],e.length= 0 || (scripts[i].getAttribute("src") === "http://code.highcharts.com/highcharts.js" && src === "https://code.highcharts.com/stock/highstock.js")) {',"return true;","}","}","}","return false;","}","function check() {","if (loaded === files.length) {","for (var i = 0; i < window.HighchartsEditor.ondone.length; i++) {","try {","window.HighchartsEditor.ondone[i]();","} catch(e) {","console.error(e);","}","}","window.HighchartsEditor.hasLoaded = true;","}","}","function include(script) {","function next() {","++loaded;","if (loaded < files.length) {","include(files[loaded]);","}","check();","}","if (isScriptAlreadyIncluded(script)) {","return next();","}",'var sc=document.createElement("script");',"sc.src = script;",'sc.type="text/javascript";',"sc.onload=function() { next(); };","document.head.appendChild(sc);","}","function each(a, fn){",'if (typeof a.forEach !== "undefined"){a.forEach(fn);}',"else{","for (var i = 0; i < a.length; i++){","if (fn) {fn(a[i]);}","}","}","}",'var inc = {},incl=[]; each(document.querySelectorAll("script"), function(t) {inc[t.src.substr(0, t.src.indexOf("?"))] = 1; ',"});"]);const s=ze.some(function(e){return"StockChart"===e})?"StockChart":"Chart";return"\n"+["(function(){ ",o.join("")," function cl() {",'if(typeof window["Highcharts"] !== "undefined"){',oe.lang?"Highcharts.setOptions({lang:"+JSON.stringify(oe.lang)+"});":"","var options=",n(H(!0)),";",highed.isFn(ge)?fe:"","new Highcharts."+s+'("',e,'", options);',"}","}","})();"].join("")+"\n"})}function W(){var e=H(!0);return highed.isFn(ge)&&fe&&ge(e),n(e," ")}function B(e){return o(function(t){var i="highcharts-"+highed.uuid();return"\n"+['
',e?V():"","
"].join("")+""})}function N(){o(function(t){Oe||(highed.dom.style(ie.expandTo,{width:"100%",display:"block"}),ke=highed.dom.size(e),r(t.options,ie.expandTo),Oe=!0,Ae.className="highed-icon highed-chart-preview-expand fa fa-times-circle")})}function G(){o(function(t){ke&&Oe&&(highed.dom.style(ie.expandTo,{width:"0px",display:"none"}),Ae.className="highed-icon highed-chart-preview-expand fa fa-external-link-square",r(t.options,e),Oe=!1)})}function R(){highed.cloud.flush(),re=[],highed.clearObj(oe),highed.clearObj(ae),ge=!1,c(),r(se),s(),ne.emit("New")}function _(e){o(function(t){t.exportChart(e,se)})}function U(t){e=t,r()}function q(){return ze.some(function(e){return"StockChart"===e})?"StockChart":"Chart"}function Y(){return{id:ce.id,name:ce.name,options:de}}function X(){return fe&&fe.length?fe:me}function J(e,t,i){e||(ge=!1,fe="");try{ge=new Function("options",["if (options.yAxis && options.yAxis.length === 1) options.yAxis = options.yAxis[0];","if (options.xAxis && options.xAxis.length === 1) options.xAxis = options.xAxis[0];","if (options.zAxis && options.zAxis.length === 1) options.zAxis = options.zAxis[0];","if (!options.series || options.series.length === 0) return;",'var encodedUrl = "";',he].join("")+e),fe=e}catch(i){return ge=!1,fe=e,highed.isFn(t)&&t(i)}i||(c(),(!oe.data||oe&&oe.data&&!oe.data.googleSpreadsheetKey)&&r(se),s())}function Z(e){Ie=e}function K(e){De=e}function Q(e,t,i,n,o){if(we){oe.annotations||(oe.annotations=[]);var s=we.addAnnotation({id:"label_"+oe.annotations.length,labels:[{id:"label_"+oe.annotations.length,text:i,point:{x:e,y:t,xAxis:0,yAxis:0},backgroundColor:n,shape:o,borderWidth:"connector"!==o?0:1,x:0,y:"circle"===o?0:-16}]});oe.annotations.push({id:"label_"+oe.annotations.length,labels:[s.options.labels[0]]})}}function $(e,t,i,n,o){Q(e,t,i,n,o)}function ee(e,t){oe.series[e]||(oe.series[e]={data:[],turboThreshold:0,_colorIndex:e,_symbolIndex:0,compare:void 0}),t&&(oe.series[e].type=t),c(),r()}function te(e){var t=we.xAxis[0].toValue(e.chartX),i=we.yAxis[0].toValue(e.chartY);we.isInsidePlot(e.chartX-we.plotLeft,e.chartY-we.plotTop)&&(oe.annotations||(oe.annotations=[]),"label"===De?ne.emit("ShowTextDialog",we,t,i):"delete"===De||a(we,De,t,i))}var ie=highed.merge({defaultChartOptions:{title:{text:"Chart Title"},subtitle:{text:""},exporting:{}},expandTo:e},t),ne=highed.events(),oe={},se={},ae={},re=[],le={},de={},he="",ce={},pe={},ue={},me=["/*","// Sample of extending options:","Highcharts.merge(true, options, {"," chart: {",' backgroundColor: "#bada55"'," },"," plotOptions: {"," series: {",' cursor: "pointer",'," events: {"," click: function(event) {",' alert(this.name + " clicked\\n" +',' "Alt: " + event.altKey + "\\n" +',' "Control: " + event.ctrlKey + "\\n" +',' "Shift: " + event.shiftKey + "\\n");'," }"," }"," }"," }","});","*/"].join("\n"),ge="",fe="",be=!1,ye=!1,xe=!1,ve=!1,we=!1,ke=!1,Te=null,Ce=null,Se={},Ae=highed.dom.cr("div","highed-icon highed-chart-preview-expand fa fa-external-link-square"),Oe=!1,ze=["Chart"],Le={"g.highcharts-legend":{tab:"Legend",dropdown:"General",id:"legend--enabled"},"text.highcharts-title":{tab:"Chart",dropdown:"Title",id:"title--text"},"text.highcharts-subtitle":{tab:"Chart",dropdown:"Title",id:"subtitle--text"},".highcharts-yaxis-labels":{tab:"Axes",dropdown:"Y Axis",id:"yAxis-labels--format"},".highcharts-xaxis-labels":{tab:"Axes",dropdown:"X Axis",id:"xAxis-labels--format"},".highcharts-xaxis .highcharts-axis-title":{tab:"Axes",dropdown:"X Axis",id:"xAxis-title--text"},".highcharts-yaxis .highcharts-axis-title":{tab:"Axes",dropdown:"Y Axis",id:"yAxis-title--text"},"rect.highcharts-background":{tab:"Chart",dropdown:"Appearance",id:"chart--backgroundColor"},".highcharts-series":{tab:"Data series",id:"series"},"g.highcharts-tooltip":{tab:"Chart",dropdown:"Tooltip",id:"tooltip--enabled"}},Ie=!1,De=!1;return c(),r(),highed.dom.on(Ae,"click",function(){return Oe?G():N()}),pe={assignTheme:h,clearTheme:d,getTheme:Y,getConstructor:q,on:ne.on,expand:N,collapse:G,new:R,changeParent:U,getHighchartsInstance:o,loadTemplate:g,loadTemplateForSerie:m,loadSeries:F,resize:l,setCustomCode:J,getCustomCode:X,toProject:T,toProjectStr:A,loadProject:x,toString:P,setIsAnnotating:Z,setAnnotationType:K,addAnnotationLabel:$,addAnnotation:te,options:{set:j,setAll:D,customized:oe,getCustomized:function(){return oe},full:se,flat:ae,chart:le,getPreview:W,all:function(){return we},addBlankSeries:ee,togglePlugins:I,getTemplateSettings:C},data:{csv:y,json:O,settings:M,export:_,gsheet:w,clear:S,live:v,setDataTableCSV:z,setAssignDataFields:L,deleteSerie:u,deleteSeries:p},export:{html:B,json:H,svg:V,js:E}}},function(){var e=highed.OverlayModal(!1,{showOnInit:!1,zIndex:11e3,width:300,height:400});highed.dom.ap(e.body,highed.dom.cr("span","","License info goes here")),highed.licenseInfo={show:e.show}}(),function(){function e(i){i&&(highed.isArr(i)?i.forEach(e):i.options?highed.isArr(i.options)?i.options.forEach(e):Object.keys(i.options).forEach(function(t){e(i.options[t])}):i.id&&(t[i.id]=i))}var t={};e(highed.meta.optionsExtended),highed.SimpleCustomizer=function(e,i){function n(e){l.innerHTML="",d.availableSettings.forEach(function(i){var n=highed.merge({text:i.replace(/\-/g," "),id:i,tooltipText:!1,dataType:"string",defaults:!1,custom:{},values:!1},t[i]);highed.dom.ap(l,highed.InspectorField(n.values?"options":n.dataType,highed.getAttr(e,n.id,0)||n.defaults,{title:n.text,tooltip:n.tooltipText,values:n.values,custom:n.custom,defaults:n.defaults,attributes:n.attributes||[]},function(e){a.emit("PropertyChange",n.id,e,0)},!1,n.id))})}function o(e){e&&(highed.dom.style(e,{border:"2px solid #33aa33"}),e.focus(),e.scrollIntoView(!0),window.setTimeout(function(){highed.dom.style(e,{border:""})},2e3))}function s(e,t,i){var n=e.id;n.indexOf("-")>=0&&o(l.querySelector("#"+n))}var a=highed.events(),r=highed.dom.cr("div","highed-simple-customizer"),l=highed.dom.cr("table","highed-customizer-table"),d=highed.merge({availableSettings:["title--text","subtitle--text","colors","chart--backgroundColor","yAxis-title--style","yAxis--type","yAxis--opposite","yAxis--reversed","yAxis-labels--format"]},i);return highed.ready(function(){highed.dom.ap(e,highed.dom.ap(r,highed.dom.cr("div","highed-customizer-table-heading","Edit Chart"),l))}),{focus:s,on:a.on,build:n}}}(),function(){function e(e){function t(){i.clear(),highed.cloud.getTeams(function(e){e.forEach(function(e){i.addItem({id:e.id,title:e.name})}),i.selectByIndex(0)})}var i=highed.DropDown(e);return{refresh:t,dropdown:i}}function t(e){var t=highed.dom.cr("div","highed-cloud-chart"),i=highed.dom.cr("div","highed-cloud-thumbnail");highed.dom.ap(d,highed.dom.ap(t,i,highed.dom.cr("div","highed-cloud-chart-title",e.name))),highed.dom.style(i,{"background-image":"url("+e.thumbnail_url+"?t="+(new Date).getTime()+")"}),highed.dom.on(i,"click",function(){a&&highed.cloud.getChart(e.team_owner,e.id,function(t){try{a.loadProject(JSON.parse(t.data)),s=e.id,o=e.team_owner,r.hide()}catch(e){highed.snackbar(e)}})})}function i(e,n){d.innerHTML="Loading Charts",highed.cloud.getCharts(n,function(o,s){if(d.innerHTML="",c.innerHTML="",s.pageCount>1)for(var a=1;a<=s.pageCount;a++)!function(t){var o=highed.dom.cr("span","highed-cloud-paging-item",a);t===e&&(o.className+=" selected"),highed.dom.on(o,"click",function(){i(t,n)}),highed.dom.ap(c,o)}(a);o.forEach(t)},e)}function n(){var e=highed.dom.cr("div","highed-cloud-login-container"),t=highed.dom.cr("input","highed-cloud-input"),i=highed.dom.cr("input","highed-cloud-input"),n=highed.dom.cr("button","highed-ok-button","LOGIN"),o=highed.dom.cr("div","highed-cloud-login-error"),s=!1,a=highed.OverlayModal(!1,{height:300,width:250,zIndex:10001});return t.name="cloud-username",i.name="cloud-password",t.placeholder="E-Mail",i.placeholder="Your password",i.type="password",highed.dom.ap(a.body,highed.dom.ap(e,highed.dom.cr("h3","","Login to Highcharts Cloud"),o,t,i,n,highed.dom.cr("div","highed-cloud-login-notice","Requires a Highcharts Cloud account"))),highed.dom.on(n,"click",function(){n.disabled=!0,highed.dom.style(o,{display:"none"}),highed.cloud.login(t.value,i.value,function(e,t){n.disabled=!1,e||!t||"undefined"==typeof t.token?(o.innerHTML="Error: Check username/password ("+(e||t.message)+")",highed.dom.style(o,{display:"block"})):(a.hide(),highed.isFn(s)&&s())})}),function(e){s=e||function(){},highed.cloud.isLoggedIn()?s():a.show()}}var o,s,a=!1,r=highed.OverlayModal(document.body,{showOnInit:!1,width:"90%",height:"90%",zIndex:10001}),l=highed.dom.cr("div"),d=highed.dom.cr("div","highed-cloud-chart-container"),h=e(l),c=highed.dom.cr("div","highed-cloud-paging"),p=highed.OverlayModal(document.body,{showOnInt:!1,width:400,height:300,zIndex:10001}),u=highed.dom.cr("div"),m=e(u),g=highed.dom.cr("input","highed-field-input"),f=highed.dom.cr("button","highed-ok-button","Save to cloud"),b=!1;highed.dom.ap(p.body,highed.dom.cr("h2","highed-titlebar","Save to Cloud"),highed.dom.cr("div","","Team"),u,highed.dom.cr("br"),highed.dom.cr("div","","Chart Name"),g,f),highed.dom.on(f,"click",function(){f.disabled=!0,f.innerHTML="SAVING TO CLOUD...",highed.cloud.saveNewChart(o,g.value,JSON.stringify(a.toProject()),function(e){f.disabled=!1,!e.error&&e?(s=e,p.hide(),f.innerHTML="SAVE TO CLOUD",highed.snackBar("SAVED TO CLOUD")):highed.snackBar("Error saving to cloud")})}),m.dropdown.on("Change",function(e){o=e.id()}),highed.dom.ap(r.body,highed.dom.cr("h2","highed-titlebar","Load project from Highcharts Cloud"),highed.dom.ap(l,d,c)),h.dropdown.on("Change",function(e){i(!1,e.id())}),highed.cloud.flush=function(){s=!1,o=!1},highed.cloud.save=function(e){highed.cloud.loginForm(function(){g.value="",g.focus(),a=e||a,s&&o?highed.cloud.saveExistingChart(o,s,JSON.stringify(a.toProject()),function(){highed.snackbar("CHART SAVED TO CLOUD")}):(p.show(),m.refresh())})},highed.cloud.showUI=function(e){highed.cloud.loginForm(function(){a=e,r.show(),h.refresh()})},highed.cloud.loginForm=function(e){b||(b=n()),b(e)}}(),highed.DrawerEditor=function(e,t,i){function n(){function e(e,i){if(e&&e.icon&&e.nav){"data"===i?(e.nav.page=U,U.init(),e.nav.onClick.push(function(){highed.dom.style([E,N,W],{width:"100%",height:"100%"})})):"templates"===i?(e.nav.page=q,q.init()):"customize"===i?(e.nav.page=_,_.init(),highed.dom.ap(H,_.getResolutionContainer())):(v=highed.DefaultPage(I.bottom,e,G,E),v.init(),e.nav.page=v);var n=function(t,i){t.hide(),i.page.show(),P.setDefault(i.page),titleHeader.innerHTML=i.text,helpModal=e.help?highed.HelpModal(e.help||[]):null,highed.dom.style(helpIcon,{display:helpModal?"inline":"none"}),iconContainer.innerHTML="",i.page.getIcons()&&highed.dom.ap(iconContainer,i.page.getIcons()),highed.dom.style(iconContainer,{display:i.page.getIcons()?"inline":"none"})};"customize"==i?e.nav.onClick=[n]:e.nav.onClick.push(n),P.addOption(e.nav,i),t[i]=i}}var t={};P.clearOptions(),k.features=highed.isArr(k.features)?k.features:k.features.split(" "), d(),k.features.forEach(function(t){e(D[t]||customOptions[t]||!1,t)}),toolboxEntries=t}function o(){helpModal.show()}function s(){toolbarButtons.forEach(function(e){"-"===e?V.addSeparator():V.addIcon(e)})}function a(){createChartPage.init(U,q,_),highed.dom.style([M,B,j],{opacity:0}),P.getPrev().hide(),createChartPage.show(),highed.dom.style([W,titleContainer],{opacity:"0"}),highed.onPhone()&&highed.dom.style(titleContainer,{display:"none"}),createChartPage.on("SimpleCreateChartDone",function(e){if(createChartPage.hide(),highed.dom.style([W,titleContainer],{opacity:"1"}),highed.dom.style([M,B,j],{opacity:1}),highed.onPhone()&&highed.dom.style(titleContainer,{display:"block"}),e)U.show(),P.setDefault(U),U.resize();else{const t=P.getOptions().customize;t&&(_.setTabBehaviour(!0),t.click())}}),createChartPage.on("SimpleCreateChangeTitle",function(e){G.options.set("title--text",e.title),G.options.set("subtitle--text",e.subtitle),m(e.title)})}function r(e){return highed.dom.size(I.bottom),z=e,highed.dom.style(E,{width:"28%",height:"37%"}),L?void setTimeout(function(){l(L.w,L.h)},400):void G.resize()}function l(e,t){if(e&&0!==e.length||t&&0!==t.length){var i=highed.dom.size(E);L={w:e,h:t},e=e||i.w-100,t=t||i.h-100,G.resize()}else L=!1,resHeight.value="",resWidth.value="",r(z)}function d(){I.resize(),P.getPrev().resize()}function h(e){k.features=e,n()}function c(e,t){customOptions[e]=t,n()}function p(e){const t=highed.dom.cr("button","highed-import-button green action-btn","Action "),i=highed.dom.cr("button","highed-import-button green action-btn","Action ");highed.dom.on(t,"click",function(){highed.dom.style(F,{overflow:""===F.style.overflow||"hidden"===F.style.overflow?"unset":"hidden"})}),highed.dom.on(i,"click",function(){highed.dom.style(j,{overflow:""===j.style.overflow||"hidden"===j.style.overflow?"unset":"hidden"})}),highed.dom.ap(F,t),highed.dom.ap(j,i),e.forEach(function(e,t){const i=highed.dom.cr("button","highed-import-button green highed-sm-dropdown-button"+(t?"":" highed-btn-dropdown-first"),e.text);highed.dom.on(i,"click",e.onClick);const n=highed.dom.cr("button","highed-import-button green highed-sm-dropdown-button"+(t?"":" highed-btn-dropdown-first"),e.text);highed.dom.on(n,"click",e.onClick),highed.dom.ap(F,i),highed.dom.ap(j,n)})}function u(){}function m(e){U.setChartTitle(e)}function g(e){U.addImportTab(e)}function f(){}function b(e,t,i,n){if(i){if(R)return;highed.dom.style(A,{display:"inline-block"}),T.classList.contains("highed-warningbar")||(T.classList+=" highed-warningbar")}else highed.dom.style(A,{display:"none"}),T.classList.remove("highed-warningbar");highed.dom.style(T,{opacity:1,"pointer-events":"auto"}),S.innerHTML=e,O.innerHTML=t,14===n&&U.showDataTableError()}function y(){highed.dom.style(T,{opacity:0,"pointer-events":"none"}),U.hideDataTableError()}function x(){resWidth.disabled=resHeight.disabled="disabled",G.getHighchartsInstance(function(e){var t,i;e&&e.options&&e.options.chart?(t=e.options.chart.width,i=e.options.chart.height||400):i=400,resWidth.value=t,resHeight.value=i,l(t,i)})}var v,w=highed.events(),k=highed.merge({defaultChartOptions:{},useHeader:!0,features:["data","templates","customize","customcode","advanced","export"],importer:{},dataGrid:{},customizer:{},toolbarIcons:[]},t),T=highed.dom.cr("div","highed-errorbar highed-box-size highed-transition"),C=highed.dom.cr("div","highed-errorbar-headline"),S=highed.dom.cr("div","highed-errorbar-headline-text","This is an error!"),A=highed.dom.cr("div","highed-errorbar-close",''),O=highed.dom.cr("div","highed-errorbar-body highed-scrollbar","Oh noes! something is very wrong!"),z=!1,L=!1,I=highed.VSplitter(e,{topHeight:k.useHeader?"60px":"0px",noOverflow:!0}),D={data:{icon:"fa-table",title:"Data",widths:{desktop:66,tablet:64,phone:100},nav:{icon:"table",text:"Data",onClick:[]},help:[{title:"Manually Add/Edit Data",gif:"dataImport.gif",description:["Click a cell to edit its contents.

","The cells can be navigated using the arrow keys.

","Pressing Enter creates a new row, or navigates to the row directly below the current row."]},{title:"Setting headings",gif:"dataImport.gif",description:["The headings are used as the series titles.

","They can be edited by left clicking them.

","Click the arrow symbol in the header to access column properties."]},{title:"Importing Data",gif:"import.gif",description:["To import data, simply drag and drop CSV files onto the table, or paste CSV/Excel data into any cell.

","For more advanced data import, click the IMPORT DATA button."]}],showLiveStatus:!0},templates:{icon:"fa-bar-chart",widths:{desktop:26,tablet:24,phone:100},title:"Templates",nav:{icon:"bar-chart",text:"Templates",onClick:[]},help:[{title:"Templates",description:["Templates are pre-defined bundles of configuration.

","Start by choosing the template category in the list to the left,","then pick a suitable template for your data and use case in the","template list."]}]},customize:{icon:"fa-sliders",title:"Customize Chart",nav:{icon:"pie-chart",text:"Customize",onClick:[]},widths:{desktop:27,tablet:24,phone:100},help:[{title:"Customize",description:["The customize pane lets you customize your chart.

","The customizer has three different sections:
","
  • Simple: A simple customizer with the most used options
  • ","
  • Advanced: All options available in Highcharts/Highstock can be set here
  • ","
  • Custom code: Here, properties can be overridden programatically
  • "]}]}},M=highed.dom.cr("div","highed-optionspanel-body highed-box-size highed-transition"),F=highed.dom.cr("div","highed-optionspanel-buttons highed-optionspanel-cloud highed-box-size highed-transition"),j=highed.dom.cr("div","highed-xs-workspace-buttons highed-optionspanel-xs-cloud highed-box-size highed-transition"),H=highed.dom.cr("div","highed-optionspanel-buttons highed-optionspanel-res highed-box-size highed-transition"),P=highed.OptionsPanel(M),V=highed.Toolbar(I.top),E=highed.dom.cr("div","highed-chart-container highed-transition"),W=highed.dom.cr("div","highed-transition highed-box-size highed-chart-frame highed-scrollbar"),B=highed.dom.cr("div","highed-transition highed-box-size highed-show-chart-xs",''),N=highed.dom.cr("div","highed-box-size highed-chart-frame-body"),G=highed.ChartPreview(N,{defaultChartOptions:k.defaultChartOptions}),R=!1,_=(highed.dom.cr("div","highed-box-size highed-fill"),highed.CustomizePage(I.bottom,highed.merge({importer:k.importer},k.customizer),G,E,D.customize,W,i)),U=highed.DataPage(I.bottom,highed.merge({importer:k.importer},k.dataGrid),G,E,D.data),q=highed.TemplatePage(I.bottom,highed.merge({importer:k.importer},k.dataGrid),G,E,D.templates);return createChartPage=highed.CreateChartPage(I.bottom,k.features,{title:"Create Chart",widths:{desktop:95}}),resPreviewBar=highed.dom.cr("div","highed-res-preview"),resWidth=highed.dom.cr("input","highed-res-number"),resHeight=highed.dom.cr("input","highed-res-number"),exporterContainer=highed.dom.cr("div","highed-box-size highed-fill"),exporter=highed.Exporter(exporterContainer),templatesContainer=highed.dom.cr("div","highed-box-size highed-fill"),templates=highed.ChartTemplateSelector(templatesContainer,G),customizerContainer=highed.dom.cr("div","highed-box-size highed-fill"),customizer=highed.ChartCustomizer(customizerContainer,k.customizer,G),toolbarButtons=[{title:highed.L("newChart"),css:"fa-file",click:function(){window.confirm(highed.getLocalizedStr("confirmNewChart"))&&G.new()}},{title:highed.L("saveProject"),css:"fa-floppy-o",click:function(){var e;G.options.full.title&&(e=G.options.full.title.text),e=(e||"chart").replace(/\s/g,"_"),highed.download(e+".json",G.toProjectStr())}},{title:highed.L("openProject"),css:"fa-folder-open",click:function(){highed.readLocalFile({type:"text",accept:".json",success:function(e){try{e=JSON.parse(e.data)}catch(e){return highed.snackBar("Error loading JSON: "+e)}G.loadProject(e)}})}},"-",{title:highed.L("saveCloud"),css:"fa-cloud-upload",click:function(){highed.cloud.save(G)}},{title:highed.L("loadCloud"),css:"fa-cloud-download",click:function(){highed.cloud.showUI(G)}},"-",{title:"Help",css:"fa-question-circle",click:function(){window.open(highed.option("helpURL"))}}].concat(k.toolbarIcons),customOptions={},helpIcon=highed.dom.cr("div","highed-toolbox-help highed-icon fa fa-question-circle"),titleHeader=highed.dom.cr("h3","","Data"),iconContainer=highed.dom.cr("div",""),titleContainer=highed.dom.ap(highed.dom.cr("div","highed-page-title"),titleHeader,helpIcon,iconContainer),helpModal=highed.HelpModal(D.data.help||[]),highed.dom.on(helpIcon,"click",o),highed.dom.ap(I.bottom,highed.dom.ap(M,H,F)),highed.dom.ap(I.bottom,titleContainer,j),k.useHeader||highed.dom.style(I.top.parentNode,{display:"none"}),highed.dom.on(B,"click",function(){E.classList.contains("active")?E.classList.remove("active"):(setTimeout(function(){G.resize()},200),E.classList+=" active")}),D.import=D.data,P.setDefault(U),U.show(),U.on("GoToTemplatePage",function(){const e=P.getOptions().templates;e&&e.click()}),U.on("SeriesChanged",function(e){(!t&&!t.features||t.features&&t.features.indexOf("templates")>-1)&&q.selectSeriesTemplate(e,G.options.getTemplateSettings())}),G.on("LoadProject",function(e,t){U.loadProject(e,t),q.selectSeriesTemplate(0,e)}),q.on("TemplateChanged",function(e,t,i){U.changeAssignDataTemplate(e,t,i)}),G.on("ChartChange",function(e){w.emit("ChartChangedLately",e)}),templates.on("Select",function(e){G.loadTemplate(e)}),templates.on("LoadDataSet",function(e){"csv"===e.type&&(highed.isArr(e.dataset)?G.data.csv(e.dataset.join("\n")):G.data.csv(e.dataset),G.options.set("subtitle-text",""),G.options.set("title-text",e.title))}),G.on("LoadProject",function(){setTimeout(function(){x()},2e3)}),G.on("RequestEdit",function(e,t,i){const n=P.getOptions().customize;P.getCurrentOption()&&"Customize"===P.getCurrentOption().text||n&&(_.setTabBehaviour(!1),n.click()),setTimeout(function(){_.selectOption(e,t,i)},500)}),G.on("ProviderGSheet",function(e){}),G.on("ProviderLiveData",function(e){}),G.on("Error",function(e){if(e&&e.code&&highed.highchartsErrors[e.code]){var t=highed.highchartsErrors[e.code],i="";return e.url>=0&&(i=''),b((t.title||"There's a problem with your chart")+"!",t.text+i,e.warning,e.code)}b("There's a problem with your chart!",e)}),G.on("ChartRecreated",y),highed.dom.on(window,"resize",d),highed.dom.on(window,"afterprint",function(){setTimeout(function(){const e=P.getCurrentOption()?P.getCurrentOption().page:U;setTimeout(e.resize,10),d()},1100)}),highed.dom.ap(V.left,highed.dom.style(highed.dom.cr("span"),{"margin-left":"2px",width:"200px",height:"60px",float:"left",display:"inline-block","background-position":"left middle","background-size":"auto 100%","background-repeat":"no-repeat","background-image":'url("data:image/svg+xml;utf8,'+encodeURIComponent(highed.resources.logo)+'")'})),highed.dom.on(A,"click",function(){y(),R=!0}),highed.dom.ap(I.bottom,highed.dom.ap(E,highed.dom.ap(W,N)),B,highed.dom.ap(T,highed.dom.ap(C,S,A),O)),highed.dom.on([resWidth,resHeight],"change",function(){l(parseInt(resWidth.value,10),parseInt(resHeight.value,10))}),n(),s(),d(),G.on("AttrChange",function(e){"chart.height"===e.id||"chart.width"===e.id}),G.on("SetResizeData",function(){x()}),{on:w.on,resize:d,destroy:u,getEmbeddableHTML:G.export.html,getEmbeddableJSON:G.export.json,getEmbeddableSVG:G.export.svg,addImportTab:g,hideImportModal:f,setEnabledFeatures:h,addFeature:c,chart:G,toolbar:V,getChartTitle:U.getChartTitle,setChartTitle:m,showCreateChartPage:a,addToWorkspace:p,data:{on:function(){},showLiveStatus:function(){},hideLiveStatus:function(){}},toolbar:V}},highed.Editor=highed.DrawerEditor,function(){function e(e,t){var n=highed.merge({meta:{version:"unknown",author:"unknown",homepage:"unknown"},dependencies:[],options:{}},t);return console.error("Warning: editor plugins are no longer supported."),n.dependencies.forEach(highed.include),highed.isNull(i[e])?void(i[e]=n):highed.log(1,"plugin -",e,"is already installed")}function t(e,t){var s=i[e],a={};if(console.error("Warning: editor plugins are no longer supported."),highed.isNull(s))highed.log(2,"plugin -",e,"is not installed");else{if(n[e])return highed.log(2,"plugin -",e,"is already active");Object.keys(s.options).forEach(function(i){var n=s.options[i];highed.isBasic(n)||highed.isArr(n)?highed.log(2,"plugin -",e,"unexpected type definition for option",i,"expected object"):(a[i]=t[i]||s.options[i].default||"",n.required&&highed.isNull(t[i])&&highed.log(1,"plugin -",e,"option",i,"is required"))}),n[e]={definition:s,options:a},highed.isFn(s.activate)&&n[e].definition.activate(a),o.emit("Use",n[e])}}var i={},n={},o=highed.events(),s={};highed.plugins.editor={install:e,use:t},highed.plugins.step={install:function(e){s[e.title]=e}}}(),highed.SimpleEditor=function(e,t){function i(){s.features.import||g.hide(),!s.features.preview,!s.features.customize}function n(){var e=highed.dom.size(r);d.resize(e.w,e.h),p.resize(!1,e.h-60),u.resize(),c.resize(e.w,e.h-60),m.resize(),g.resize()}function o(){f.build(m.options.customized)}var s=highed.merge({importer:{options:"csv"},features:"import preview customize",availableSettings:["title--text","subtitle--text","colors","chart--backgroundColor","yAxis-title--style","yAxis--type","yAxis--opposite","yAxis--reversed","yAxis-labels--format"],defaultChartOptions:{}},t),a=highed.events(),r=highed.dom.cr("div","highed-container"),l=highed.dom.cr("div","highed-expand-container"),d=highed.VSplitter(r,{topHeight:"60px",noOverflow:!0}),h=highed.Toolbar(d.top,{additionalCSS:["highed-header"]}),c=highed.HSplitter(d.bottom,{leftWidth:30,noOverflow:!1}),p=highed.VSplitter(c.right,{noOverflow:!0}),u=highed.VSplitter(c.left,{topHeight:60}),m=highed.ChartPreview(p.top,{defaultChartOptions:s.defaultChartOptions,expandTo:l}),g=highed.SimpleDataPage(p.bottom,u.bottom,s.importer,m,p.top,{}),f=highed.SimpleCustomizer(u.top,{availableSettings:s.availableSettings}),b=highed.DefaultContextMenu(m);return s.features=highed.arrToObj(s.features.split(" ")),g.init(),f.on("PropertyChange",function(e,t,i){m.options.set(e,t,i),a.emit("Change",m)}),m.on("RequestEdit",function(e,t,i){f.focus(e,t,i)}),m.on("New",o),highed.dom.ap(highed.dom.get(e),r,l),highed.dom.on(window,"resize",n),highed.dom.ap(h.left,highed.dom.style(highed.dom.cr("div","highed-logo"),{"background-image":'url("data:image/svg+xml;utf8,'+encodeURIComponent(' ')+'")'})),h.addIcon({css:"fa-gear",click:function(e){b.show(e.clientX,e.clientY)}}),i(),n(),o(),{resize:n,on:a.on,toolbar:h,chart:m}},highed.ModalEditor=function(e,t,i){function n(t){t=t||e,t&&(highed.isFn(l)&&l(),l=highed.dom.on(highed.dom.get(t),"click",function(){a.show(),r.resize()}))}function o(){highed.isFn(i)&&i(r.chart),a.hide()}var s=highed.merge({type:"full",allowDone:!1},t),a=highed.OverlayModal(!1,{width:"95%",height:"95%",showOnInit:!1}),r="full"===s.type?highed.Editor(a.body,t):highed.SimpleEditor(a.body,t),l=!1,d=highed.dom.cr("button","highed-done-button","Close & Use");return a.on("Show",r.resize),highed.dom.on(d,"click",o),n(e),s.allowDone&&highed.dom.ap(r.toolbar.center,d),r.on("Done",o),r.resize(),{editor:r,show:a.show,hide:a.hide,on:r.on,resize:r.resize,attachToSummoner:n}},highed.validators.add("line",function(e){return!0}),highed.validators.add("line",function(e){return!0}),highed.validators.add("line",function(e){return!0}),highed.samples.add({id:"line-series-dates",title:"Dates on X",description:"",type:"csv",dataset:["row,val","2013-01-01,24","2014-01-01,76","2015-01-01,23"]}),highed.samples.add({id:"line-series-four-series",title:"Categorized, four series",description:"",type:"csv",dataset:["Categories,Tokyo,New York,Berlin,London","Jan,7,-0.2,-0.9,3.9","Feb,6.9,0.8,0.6,4.2","Mar,9.5,5.7,3.5,5.7","Apr,14.5,11.3,8.4,8.5","May,18.2,17,13.5,11.9","Jun,21.5,22,17,15.2","Jul,25.2,24.8,18.6,17","Aug,26.5,24.1,17.9,16.6","Sep,23.3,20.1,14.3,14.2","Oct,18.3,14.1,9,10.3","Nov,13.9,8.6,3.9,6.6","Dec,9.6,2.5,1,4.8"]}),highed.samples.add({id:"line-series-simple",title:"Basic Line Series",description:"",type:"csv",dataset:["row,val","0,24","1,76","2,23"]}),highed.samples.add({id:"os-stats",title:"OS Usage Stats",description:"",type:"csv",dataset:["Date,Windows,Android,iOS,OS X,Unknown,Linux,Nokia Unknown,Series 40,BlackBerry OS,Chrome OS,Samsung,SymbianOS,Playstation,Tizen,Xbox,LG,Sony Ericsson,MeeGo,bada,Other","2016-02-01,48.15,27.51,11.04,5.2,3.61,1,0.97,0.98,0.39,0.3,0.29,0.29,0.09,0.03,0.03,0.03,0.03,0.02,0.02,0.02","2016-03-01,47.32,29.34,11.02,5.08,2.95,0.95,0.94,0.93,0.38,0.29,0.29,0.28,0.08,0.03,0.02,0.03,0.03,0.02,0.02,0.02","2016-04-01,46.44,29.9,11.12,5.09,3.12,0.99,0.96,0.89,0.4,0.3,0.28,0.26,0.08,0.03,0.03,0.03,0.02,0.02,0.01,0.02","2016-05-01,44.29,31.6,11.38,5.05,3.35,0.91,0.99,0.89,0.41,0.3,0.3,0.26,0.1,0.04,0.03,0.03,0.03,0.02,0.01,0.02","2016-06-01,45.55,30.15,11.83,5.29,3.39,0.96,0.79,0.72,0.35,0.22,0.29,0.2,0.1,0.04,0.03,0.03,0.03,0.02,0.01,0.02","2016-07-01,42.56,32.48,12.25,4.81,4,0.96,0.87,0.77,0.34,0.18,0.3,0.22,0.09,0.04,0.03,0.03,0.03,0.02,0.01,0.02","2016-08-01,42.49,32.07,12.16,4.96,4.53,0.98,0.85,0.71,0.29,0.21,0.28,0.21,0.09,0.04,0.03,0.03,0.03,0.02,0.01,0.02","2016-09-01,41.61,32.84,11.87,5.07,4.84,0.94,0.84,0.65,0.27,0.33,0.28,0.19,0.1,0.05,0.03,0.02,0.03,0.02,0.01,0.02","2016-10-01,40.06,34.46,12.04,5.3,4.57,0.85,0.87,0.55,0.27,0.34,0.26,0.17,0.08,0.07,0.03,0.02,0.03,0.01,0.01,0.02","2016-11-01,39.65,36.28,12.28,5.22,3.15,0.86,0.79,0.49,0.26,0.35,0.24,0.15,0.08,0.08,0.03,0.02,0.03,0.01,0.01,0.02","2016-12-01,38.35,37.8,12.71,4.92,2.85,0.86,0.77,0.49,0.22,0.33,0.25,0.15,0.09,0.1,0.03,0.02,0.02,0.01,0.01,0.02","2017-01-01,38.75,37.15,13.16,5.06,2.63,0.78,0.75,0.46,0.21,0.35,0.24,0.14,0.09,0.11,0.03,0.02,0.02,0.01,0.01,0.02","2017-02-01,38.59,37.42,12.99,5.24,2.56,0.77,0.74,0.42,0.23,0.38,0.22,0.13,0.1,0.12,0.03,0.02,0.01,0.01,0.01,0.01"]}),highed.samples.add({id:"pie-pacman",title:"Pacman Pie",description:"",type:"csv",dataset:["slice,val","Not Pacman,24","Pacman,76"]}),highed.samples.add({id:"pie-series-simple",title:"Basic Pie Series",description:"",type:"csv",dataset:["slice,val","Cats,20","Dogs,75","Birds,5"]}),highed.templates.addCategory("Area",{}),highed.templates.addCategory("Bar",{}),highed.templates.addCategory("Line",{description:['A line chart is a type of chart which diplays information as a series of data points called "markers" connected by straight line segments'],samples:["os-stats","line-series-simple","line-series-four-series"]}),highed.templates.addCategory("Pie",{description:["A pie chart is a circular statistical graphic which is divided into slices to illustrate numerical proportions.","In a pie chart, the arc length of each slice is proportional to the quantity it represents."],samples:["pie-series-simple"]}),highed.templates.addCategory("Bar",{description:["A bar chart is a chart that presents grouped data with rectangular bars with lengths proportional to the values that they represent."],nofits:"The dataset must contain at least one column.",samples:[]}),highed.templates.addCategory("Column",{description:[],samples:[]}),highed.templates.addCategory("Stock",{}),highed.templates.addCategory("Scatter And Bubble",{}),highed.templates.addCategory("Polar",{}),highed.templates.addCategory("More",{}),highed.templates.add("Area",{title:"Basic Area",description:"",thumbnail:"ecexev.svg",dataValidator:!1,sampleSets:[],popular:!0,config:{chart:{type:"area",polar:!1}}}),highed.templates.add("Area",{title:"Arearange",description:"",thumbnail:"udepat.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"arearange",polar:!1}}}),highed.templates.add("Area",{title:"Area with labels",description:"",thumbnail:"atikon.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"area",polar:!1},plotOptions:{series:{dataLabels:{enabled:!0}}}}}),highed.templates.add("Area",{title:"Inverted",description:"",thumbnail:"yqenid.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"area",inverted:!0,polar:!1}}}),highed.templates.add("Area",{title:"Inverted with labels",description:"",thumbnail:"acemyq.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"area",inverted:!0,polar:!1},plotOptions:{series:{dataLabels:{enabled:!0}}}}}),highed.templates.add("Area",{title:"Negative color",description:"",thumbnail:"ydypal.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"area",polar:!1},"series[0]":{negativeColor:"#0088FF",color:"#FF0000"}}}),highed.templates.add("Area",{title:"Stacked percentage",description:"",thumbnail:"iporos.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"area",polar:!1},plotOptions:{series:{stacking:"percent"}}}}),highed.templates.add("Area",{title:"Stacked",description:"",thumbnail:"inebav.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"area",polar:!1},plotOptions:{series:{stacking:"normal"}}}}),highed.templates.add("Area",{title:"Stacked with labels",description:"",thumbnail:"iluryh.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"area",polar:!1},plotOptions:{series:{stacking:"normal",dataLabels:{enabled:!0}}}}}),highed.templates.add("Area",{title:"Step line",description:"",thumbnail:"abutix.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"area",polar:!1},plotOptions:{area:{step:"left"}}}}),highed.templates.add("Bar",{title:"Basic bar",description:"",thumbnail:"ovuvul.svg",dataValidator:!1,popular:!0,sampleSets:[],config:{chart:{type:"column",inverted:!0,polar:!1}}}),highed.templates.add("Bar",{title:"Horizontal columnrange",description:"",thumbnail:"iqagel.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"columnrange",inverted:!0,polar:!1}}}),highed.templates.add("Bar",{title:"Columnrange with labels",description:"",thumbnail:"eracar.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"columnrange",inverted:!0,polar:!1},plotOptions:{series:{dataLabels:{enabled:!0}}}}}),highed.templates.add("Bar",{title:"Stacked bar",description:"",thumbnail:"epodat.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"column",inverted:!0,polar:!1},plotOptions:{series:{stacking:"normal"}}}}),highed.templates.add("Bar",{title:"Stacked with labels",description:"",thumbnail:"otupaz.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"column",inverted:!0,polar:!1},plotOptions:{series:{stacking:"normal",dataLabels:{enabled:!0}}}}}),highed.templates.add("Bar",{title:"Stacked percent bar",description:"",thumbnail:"yhekaq.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"column",inverted:!0,polar:!1},plotOptions:{series:{stacking:"percent"}}}}),highed.templates.add("Bar",{title:"Stacked percentage with labels",description:"",thumbnail:"izoqyx.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"column",inverted:!0,polar:!1},plotOptions:{series:{stacking:"percent",dataLabels:{enabled:!0}}}}}),highed.templates.add("Bar",{title:"Basic with labels",description:"",thumbnail:"ovuvul.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"column",inverted:!0,polar:!1},plotOptions:{series:{dataLabels:{enabled:!0}}}}}),highed.templates.add("Bar",{title:"Error bar",description:"",thumbnail:"omikax.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"column",inverted:!0,polar:!1},"series[1]":{type:"errorbar"}}}),highed.templates.add("Bar",{title:"Logarithmic",description:"",thumbnail:"imykus.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"column",inverted:!0,polar:!1},yAxis:{type:"logarithmic",minorTickInterval:"auto"}}}),highed.templates.add("Bar",{title:"Multi color",description:"",thumbnail:"ogixak.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"column",inverted:!0,polar:!1},plotOptions:{series:{colorByPoint:!0}}}}),highed.templates.add("Bar",{title:"Negative color",description:"",thumbnail:"efygam.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"column",inverted:!0,polar:!1},"series[0]":{negativeColor:"#0088FF",color:"#FF0000"}}}),highed.templates.add("Bar",{title:"Packed columns",description:"",thumbnail:"orixis.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"column",inverted:!0,polar:!1},plotOptions:{series:{pointPadding:0,groupPadding:0,borderWidth:0,shadow:!1}}}}),highed.templates.add("Column",{title:"Basic Column",description:"",thumbnail:"ovobiq.svg",dataValidator:!1,popular:!0,sampleSets:[],config:{chart:{type:"column",polar:!1}}}),highed.templates.add("Column",{title:"Column 3D",description:"",thumbnail:"ahyqyx.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"column",margin:75,options3d:{enabled:!0,alpha:15,beta:15,depth:50,viewDistance:15},polar:!1},plotOptions:{column:{depth:25}}}}),highed.templates.add("Column",{title:"Stacked 3D",description:"",thumbnail:"ahyqyx.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"column",margin:75,options3d:{enabled:!0,alpha:15,beta:15,depth:50,viewDistance:15},polar:!1},plotOptions:{column:{depth:25},series:{stacking:"normal"}}}}),highed.templates.add("Column",{title:"Stacked percent",description:"",thumbnail:"ojixow.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"column"},plotOptions:{series:{stacking:"percent"}}}}),highed.templates.add("Column",{title:"Stacked percent with labels",description:"",thumbnail:"iwanyg.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"column",polar:!1},plotOptions:{series:{stacking:"percent",dataLabels:{enabled:!0}}}}}),highed.templates.add("Column",{title:"Columnrange",description:"",thumbnail:"ihilaq.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"columnrange",polar:!1}}}),highed.templates.add("Column",{title:"Columnrange with labels",description:"",thumbnail:"ojykiw.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"columnrange",polar:!1},plotOptions:{series:{dataLabels:{enabled:!0}}}}}),highed.templates.add("Column",{title:"Stacked",description:"",thumbnail:"ycehiz.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"column",polar:!1},plotOptions:{series:{stacking:"normal"}}}}),highed.templates.add("Column",{title:"Stacked with labels",description:"",thumbnail:"acijil.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"column",polar:!1},plotOptions:{series:{stacking:"normal",dataLabels:{enabled:!0}}}}}),highed.templates.add("Column",{title:"Error bar",description:"",thumbnail:"icytes.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"column",polar:!1},"series[1]":{type:"errorbar"}}}),highed.templates.add("Column",{title:"With label",description:"",thumbnail:"ivetir.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"column",polar:!1},plotOptions:{series:{dataLabels:{enabled:!0}}}}}),highed.templates.add("Column",{title:"Logarithmic",description:"",thumbnail:"igipeg.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"column",polar:!1},yAxis:{type:"logarithmic",minorTickInterval:"auto"}}}),highed.templates.add("Column",{title:"Multi color",description:"",thumbnail:"alyqyz.svg", dataValidator:!1,sampleSets:[],config:{chart:{type:"column",polar:!1},plotOptions:{series:{colorByPoint:!0}}}}),highed.templates.add("Column",{title:"Negative color",description:"",thumbnail:"yxajih.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"column",polar:!1},"series[0]":{negativeColor:"#0088FF",color:"#FF0000"}}}),highed.templates.add("Column",{title:"Packed columns",description:"",thumbnail:"exypor.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"column",polar:!1},plotOptions:{series:{pointPadding:0,groupPadding:0,borderWidth:0,shadow:!1}}}}),highed.templates.add("Line",{title:"Line chart",description:"",thumbnail:"abywon.svg",popular:!0,dataValidator:!1,sampleSets:[],config:{chart:{type:"line"}}}),highed.templates.add("Line",{title:"Error bar",description:"",thumbnail:"ypewak.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"line",polar:!1},"series[0]":{type:"line"},"series[1]":{type:"errorbar"}}}),highed.templates.add("Line",{title:"Inverted",description:"",thumbnail:"ozojul.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"line",inverted:!0,polar:!1}}}),highed.templates.add("Line",{title:"Line",description:["Basic line series. Good starting point for custom line series.","Requires one column for X values or categories, subsequently one column for each series' Y values."],constructor:"Chart",thumbnail:"abywon.svg",sampleSets:[],validator:"line",config:{chart:{type:"line"}}}),highed.templates.add("Line",{title:"Logarithmic",description:"",thumbnail:"abywon.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"line",polar:!1},yAxis:{type:"logarithmic",minorTickInterval:"auto"}}}),highed.templates.add("Line",{title:"Negative color",description:"",thumbnail:"uxyfys.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"line",polar:!1},"series[0]":{negativeColor:"#0088FF",color:"#FF0000"}}}),highed.templates.add("Line",{title:"Spline",description:"",thumbnail:"upafes.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"spline",polar:!1}}}),highed.templates.add("Line",{title:"Spline with labels",description:"",thumbnail:"odopic.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"spline",polar:!1},plotOptions:{series:{dataLabels:{enabled:!0}}}}}),highed.templates.add("Line",{title:"Step line",description:"",thumbnail:"akeduw.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"line",polar:!1},plotOptions:{line:{step:"left"}}}}),highed.templates.add("Line",{title:"Step line with labels",description:"",thumbnail:"oxenux.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"line",polar:!1},plotOptions:{series:{dataLabels:{enabled:!0}},line:{step:"left"}}}}),highed.templates.add("Line",{title:"With data labels",description:"",thumbnail:"agonam.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"line",polar:!1},plotOptions:{series:{dataLabels:{enabled:!0}}}}}),highed.templates.add("More",{title:"Boxplot",description:"",thumbnail:"idagib.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"boxplot"}}}),highed.templates.add("More",{title:"Funnel",description:"",thumbnail:"exumeq.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"funnel"},plotOptions:{series:{datalabels:{color:"#000000"},dataLabels:{softConnector:!0},neckWidth:"20%",neckHeight:"35%"}},"series[0]":{width:"64%"}}}),highed.templates.add("More",{title:"Pyramid",description:"",thumbnail:"obulek.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"pyramid"},plotOptions:{series:{datalabels:{color:"#000000"},dataLabels:{softConnector:!0}}},"series[0]":{width:"64%"}}}),highed.templates.add("More",{title:"Solid gauge",description:"",thumbnail:"apocob.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"solidgauge"},pane:{center:["50%","85%"],size:"140%",startAngle:"-90",endAngle:"90",background:{backgroundColor:"#EEE",innerRadius:"60%",outerRadius:"100%",shape:"arc"}},tooltip:{enabled:!1},yAxis:{stops:[[.1,"#55BF3B"],[.5,"#DDDF0D"],[.9,"#DF5353"]],min:0,max:100,lineWidth:0,minorTickInterval:null,tickPixelInterval:400,tickWidth:0,title:{y:-70},labels:{y:16}},plotOptions:{solidgauge:{dataLabels:{y:10,borderWidth:0,useHTML:!0}}},"series[0]":{dataLabels:{format:'
    {y}
    '}}}}),highed.templates.add("Pie",{title:"Pie",description:["Good starting point for custom pie series."],constructor:"Chart",popular:!0,thumbnail:"yqoxob.svg",sampleSets:[],validator:"pie",config:{chart:{type:"pie"}}}),highed.templates.add("Pie",{title:"Pie chart with labels",description:"",thumbnail:"yqoxob.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"pie",polar:!1},plotOptions:{pie:{allowPointSelect:!0,cursor:!0},series:{dataLabels:{enabled:!0}}}}}),highed.templates.add("Pie",{title:"Pie with legend",description:"",thumbnail:"anofof.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"pie",polar:!1},plotOptions:{pie:{allowPointSelect:!0,cursor:!0,showInLegend:!0,dataLabels:{enabled:!1}}}}}),highed.templates.add("Pie",{title:"3D Pie with legend",description:"",thumbnail:"ubopaq.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"pie",options3d:{enabled:!0,alpha:45,beta:0},polar:!1},plotOptions:{pie:{allowPointSelect:!0,depth:35,cursor:"pointer",showInLegend:!0,dataLabels:{enabled:!1}}}}}),highed.templates.add("Pie",{title:"3D Pie chart",description:"",thumbnail:"erifer.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"pie",options3d:{enabled:!0,alpha:45,beta:0},polar:!1},plotOptions:{pie:{allowPointSelect:!0,depth:35,cursor:"pointer"},series:{dataLabels:{enabled:!0}}}}}),highed.templates.add("Pie",{title:"Donut",description:"",thumbnail:"upaxab.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"pie",polar:!1},plotOptions:{pie:{allowPointSelect:!0,cursor:!0,innerSize:"60%",dataLabels:{enabled:!0}}}}}),highed.templates.add("Pie",{title:"3D Donut chart",description:"",thumbnail:"ehuvoh.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"pie",options3d:{enabled:!0,alpha:45,beta:0},polar:!1},plotOptions:{pie:{allowPointSelect:!0,depth:35,cursor:"pointer",innerSize:"60%"},series:{dataLabels:{enabled:!0}}}}}),highed.templates.add("Pie",{title:"3D Donut chart with legend",description:"",thumbnail:"oriwyb.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"pie",options3d:{enabled:!0,alpha:45,beta:0},polar:!1},plotOptions:{pie:{allowPointSelect:!0,depth:35,cursor:"pointer",showInLegend:!0,innerSize:"60%"},series:{dataLabels:{enabled:!1}}}}}),highed.templates.add("Pie",{title:"Donut with legend",description:"",thumbnail:"arutag.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"pie",polar:!1},plotOptions:{pie:{allowPointSelect:!0,cursor:!0,showInLegend:!0,innerSize:"60%",dataLabels:{enabled:!1}}}}}),highed.templates.add("Pie",{title:"Semi circle donut",description:"",thumbnail:"iwyfes.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"pie",polar:!1},plotOptions:{pie:{allowPointSelect:!1,dataLabels:{distance:-30,style:{fontWeight:"bold",color:"white",textShadow:"0px 1px 2px black"}},innerSize:"50%",startAngle:-90,endAngle:90,center:["50%","75%"]},series:{dataLabels:{enabled:!0}}}}}),highed.templates.add("Polar",{title:"Polar area",description:"",thumbnail:"oqajux.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"area",polar:!0}}}),highed.templates.add("Polar",{title:"Polar line",description:"",thumbnail:"ajogud.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"line",polar:!0}}}),highed.templates.add("Polar",{title:"Spider area",description:"",thumbnail:"exajib.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"area",polar:!0},xAxis:{tickmarkPlacement:"on",lineWidth:0},yAxis:{lineWidth:0,gridLineInterpolation:"polygon"}}}),highed.templates.add("Polar",{title:"Spider line",description:"",thumbnail:"uqonaj.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"line",polar:!0},xAxis:{tickmarkPlacement:"on",lineWidth:0},yAxis:{lineWidth:0,gridLineInterpolation:"polygon"}}}),highed.templates.add("Scatter And Bubble",{title:"Scatter with line",description:"",thumbnail:"ydaqok.svg",dataValidator:!1,popular:!0,sampleSets:[],config:{chart:{type:"scatter",polar:!1},plotOptions:{series:{lineWidth:1}}}}),highed.templates.add("Scatter And Bubble",{title:"Bubble chart",description:"",thumbnail:"usyfyw.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"bubble",polar:!1}}}),highed.templates.add("Scatter And Bubble",{title:"Scatter chart",description:"",thumbnail:"ezatat.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"scatter",polar:!1}}}),highed.templates.add("Scatter And Bubble",{title:"Scatter with line, no marker",description:"",thumbnail:"uvepiw.svg",dataValidator:!1,sampleSets:[],config:{chart:{type:"scatter",polar:!1},plotOptions:{series:{lineWidth:1,marker:{enabled:!1}}}}}),highed.templates.addCategory("Stock",{description:["Stock charts are used to display financial data."],samples:[]}),highed.templates.add("Stock",{title:"Area",description:"",constructor:"StockChart",thumbnail:"ukaqor.svg",dataValidator:!1,sampleSets:["line-series-dates"],config:{chart:{type:"area",polar:!1},rangeSelector:{enabled:!1}}}),highed.templates.add("Stock",{title:"Basic",description:"",constructor:"StockChart",thumbnail:"awuhad.svg",dataValidator:!1,sampleSets:["line-series-dates"],config:{chart:{type:"line",polar:!1},rangeSelector:{enabled:!1}}}),highed.templates.add("Stock",{title:"Candlestick",description:"",constructor:"StockChart",thumbnail:"etybef.svg",dataValidator:!1,sampleSets:["candlestick"],config:{chart:{type:"candlestick",polar:!1},rangeSelector:{enabled:!1}}}),highed.templates.add("Stock",{title:"Column",description:"",constructor:"StockChart",thumbnail:"ogywen.svg",dataValidator:!1,sampleSets:["line-series-dates"],config:{chart:{type:"column",polar:!1},rangeSelector:{enabled:!1}}}),highed.templates.add("Stock",{title:"OHLC",description:"",constructor:"StockChart",thumbnail:"opilip.svg",dataValidator:!1,sampleSets:["candlestick"],config:{chart:{type:"ohlc",polar:!1},rangeSelector:{enabled:!1}}}),highed.meta.optionsAdvanced={meta:{types:{},excludes:{}},subtree:{accessibility:{meta:{types:{object:1},name:"accessibility",excludes:{},description:"Options for configuring accessibility for the chart. Requires the\n[accessibility module](//code.highcharts.com/modules/accessibility.\njs) to be loaded. For a description of the module and information\non its features, see [Highcharts Accessibility](http://www.highcharts.\ncom/docs/chart-concepts/accessibility)."},subtree:{describeSingleSeries:{meta:{types:{boolean:1},name:"describeSingleSeries",excludes:{},default:"false",description:"Whether or not to add series descriptions to charts with a single\nseries."},subtree:{}},enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:"true",description:"Enable accessibility features for the chart."},subtree:{}},keyboardNavigation:{meta:{types:{object:1},name:"keyboardNavigation",excludes:{},description:"Options for keyboard navigation."},subtree:{enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:"true",description:"Enable keyboard navigation for the chart."},subtree:{}},focusBorder:{meta:{types:{object:1},name:"focusBorder",excludes:{},description:"Options for the focus border drawn around elements while\nnavigating through them."},subtree:{enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:"true",description:"Enable/disable focus border for chart."},subtree:{}},hideBrowserFocusOutline:{meta:{types:{boolean:1},name:"hideBrowserFocusOutline",excludes:{},default:"true",description:"Hide the browser's default focus indicator."},subtree:{}},margin:{meta:{types:{number:1},name:"margin",excludes:{},default:"2",description:"Focus border margin around the elements."},subtree:{}},style:{meta:{types:{object:1},name:"style",excludes:{},description:"Style options for the focus border drawn around elements\nwhile navigating through them. Note that some browsers in\naddition draw their own borders for focused elements. These\nautomatic borders can not be styled by Highcharts.\n\nIn styled mode, the border is given the\n`.highcharts-focus-border` class."},subtree:{borderRadius:{meta:{types:{number:1},name:"borderRadius",excludes:{},default:"3",description:"Border radius of the focus border."},subtree:{}},color:{meta:{types:{color:1},name:"color",excludes:{},default:"#000000",description:"Color of the focus border."},subtree:{}},lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:"2",description:"Line width of the focus border."},subtree:{}}}}}},mode:{meta:{types:{string:1},name:"mode",excludes:{},default:"normal",description:'Set the keyboard navigation mode for the chart. Can be "normal"\nor "serialize". In normal mode, left/right arrow keys move\nbetween points in a series, while up/down arrow keys move between\nseries. Up/down navigation acts intelligently to figure out which\nseries makes sense to move to from any given point.\n\nIn "serialize" mode, points are instead navigated as a single\nlist. Left/right behaves as in "normal" mode. Up/down arrow keys\nwill behave like left/right. This is useful for unifying\nnavigation behavior with/without screen readers enabled.'},subtree:{}},skipNullPoints:{meta:{types:{boolean:1},name:"skipNullPoints",excludes:{},default:"true",description:"Skip null points when navigating through points with the\nkeyboard."},subtree:{}}}},onTableAnchorClick:{meta:{types:{function:1},name:"onTableAnchorClick",excludes:{},description:'Function to run upon clicking the "View as Data Table" link in the\nscreen reader region.\n\nBy default Highcharts will insert and set focus to a data table\nrepresentation of the chart.'},subtree:{}},pointDateFormat:{meta:{types:{string:1},name:"pointDateFormat",excludes:{},description:"Date format to use for points on datetime axes when describing them\nto screen reader users.\n\nDefaults to the same format as in tooltip.\n\nFor an overview of the replacement codes, see\n[dateFormat](/class-reference/Highcharts#dateFormat)."},subtree:{}},pointDateFormatter:{meta:{types:{function:1},name:"pointDateFormatter",excludes:{},description:"Formatter function to determine the date/time format used with\npoints on datetime axes when describing them to screen reader users.\nReceives one argument, `point`, referring to the point to describe.\nShould return a date format string compatible with\n[dateFormat](/class-reference/Highcharts#dateFormat)."},subtree:{}},pointDescriptionFormatter:{meta:{types:{function:1},name:"pointDescriptionFormatter",excludes:{},description:"Formatter function to use instead of the default for point\ndescriptions.\nReceives one argument, `point`, referring to the point to describe.\nShould return a String with the description of the point for a screen\nreader user."},subtree:{}},pointDescriptionThreshold:{meta:{types:{boolean:1,number:1},name:"pointDescriptionThreshold",excludes:{},default:!1,description:"When a series contains more points than this, we no longer expose\ninformation about individual points to screen readers.\n\nSet to `false` to disable."},subtree:{}},screenReaderSectionFormatter:{meta:{types:{function:1},name:"screenReaderSectionFormatter",excludes:{},default:"undefined",description:"A formatter function to create the HTML contents of the hidden screen\nreader information region. Receives one argument, `chart`, referring\nto the chart object. Should return a String with the HTML content\nof the region.\n\nThe link to view the chart as a data table will be added\nautomatically after the custom HTML content."},subtree:{}},seriesDescriptionFormatter:{meta:{types:{function:1},name:"seriesDescriptionFormatter",excludes:{},description:"Formatter function to use instead of the default for series\ndescriptions. Receives one argument, `series`, referring to the\nseries to describe. Should return a String with the description of\nthe series for a screen reader user."},subtree:{}}}},annotations:{meta:{types:{array:"Object"},name:"annotations",excludes:{},description:"Options for configuring annotations, for example labels, arrows or\nshapes. Annotations can be tied to points, axis coordinates or chart\npixel coordinates."},subtree:{labelOptions:{meta:{types:{object:1},name:"labelOptions",excludes:{},description:"Options for annotation's labels. Each label inherits options\nfrom the labelOptions object. An option from the labelOptions can be\noverwritten by config for a specific label."},subtree:{align:{meta:{types:{string:1},name:"align",excludes:{},default:"center",description:"The alignment of the annotation's label. If right,\nthe right side of the label should be touching the point."},subtree:{}},allowOverlap:{meta:{types:{boolean:1},name:"allowOverlap",excludes:{},default:!1,description:"Whether to allow the annotation's labels to overlap.\nTo make the labels less sensitive for overlapping,\nthe can be set to 0."},subtree:{}},backgroundColor:{meta:{types:{color:1},name:"backgroundColor",excludes:{},default:"rgba(0, 0, 0, 0.75)",description:"The background color or gradient for the annotation's label."},subtree:{}},borderColor:{meta:{types:{color:1},name:"borderColor",excludes:{},default:"black",description:"The border color for the annotation's label."},subtree:{}},borderRadius:{meta:{types:{number:1},name:"borderRadius",excludes:{},default:3,description:"The border radius in pixels for the annotaiton's label."},subtree:{}},borderWidth:{meta:{types:{number:1},name:"borderWidth",excludes:{},default:1,description:"The border width in pixels for the annotation's label"},subtree:{}},className:{meta:{types:{string:1},name:"className",excludes:{},default:"",description:"A class name for styling by CSS."},subtree:{}},crop:{meta:{types:{boolean:1},name:"crop",excludes:{},default:!1,description:"Whether to hide the annotation's label that is outside the plot\narea."},subtree:{}},distance:{meta:{types:{number:1},name:"distance",excludes:{},default:"undefined",description:"The label's pixel distance from the point."},subtree:{}},format:{meta:{types:{string:1},name:"format",excludes:{},default:"undefined",description:"A [format](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting) string for the data label."},subtree:{}},formatter:{meta:{types:{function:1},name:"formatter",excludes:{},default:"function () {\n return defined(this.y) ? this.y : 'Annotation label';\n}",description:"Callback JavaScript function to format the annotation's label.\nNote that if a `format` or `text` are defined, the format or text\ntake precedence and the formatter is ignored. `This` refers to a\npoint object."},subtree:{}},overflow:{meta:{types:{string:1},name:"overflow",excludes:{},default:"justify",description:"How to handle the annotation's label that flow outside the plot\narea. The justify option aligns the label inside the plot area."},subtree:{}},padding:{meta:{types:{number:1},name:"padding",excludes:{},default:5,description:"When either the borderWidth or the backgroundColor is set,\nthis is the padding within the box."},subtree:{}},shadow:{meta:{types:{boolean:1,object:1},name:"shadow",excludes:{},default:!1,description:"The shadow of the box. The shadow can be an object configuration\ncontaining `color`, `offsetX`, `offsetY`, `opacity` and `width`."},subtree:{}},shape:{meta:{types:{string:1},name:"shape",excludes:{},default:"callout",description:"The name of a symbol to use for the border around the label.\nSymbols are predefined functions on the Renderer object."},subtree:{}},style:{meta:{types:{cssobject:1},name:"style",excludes:{},description:"Styles for the annotation's label."},subtree:{color:{meta:{types:{string:1},name:"color",excludes:{},default:"contrast"},subtree:{}},fontSize:{meta:{types:{string:1},name:"fontSize",excludes:{},default:"11px"},subtree:{}},fontWeight:{meta:{types:{string:1},name:"fontWeight",excludes:{},default:"normal"},subtree:{}}}},text:{meta:{types:{string:1},name:"text",excludes:{},default:"undefined",description:"Alias for the format option."},subtree:{}},useHTML:{meta:{types:{boolean:1},name:"useHTML",excludes:{},default:"false",description:"Whether to [use HTML](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting#html)\nto render the annotation's label."},subtree:{}},verticalAlign:{meta:{types:{string:1},name:"verticalAlign",excludes:{},default:"bottom",description:"The vertical alignment of the annotation's label."},subtree:{}},x:{meta:{types:{number:1},name:"x",excludes:{},default:0,description:"The x position offset of the label relative to the point.\nNote that if a `distance` is defined, the distance takes\nprecedence over `x` and `y` options."},subtree:{}},y:{meta:{types:{number:1},name:"y",excludes:{},default:-16,description:"The y position offset of the label relative to the point.\nNote that if a `distance` is defined, the distance takes\nprecedence over `x` and `y` options."},subtree:{}}}},labels:{meta:{types:{array:"Object"},name:"labels",excludes:{},description:"An array of labels for the annotation. For options that apply to\nmultiple labels, they can be added to the\n[labelOptions](annotations.labelOptions.html).",extends:"annotations.labelOptions"},subtree:{point:{meta:{types:{object:1,string:1},name:"point",excludes:{},description:"This option defines the point to which the label will be connected.\nIt can be either the point which exists in the series - it is\nreferenced by the point's id - or a new point with defined x, y\nproperies and optionally axes."},subtree:{x:{meta:{types:{number:1},name:"x",excludes:{},description:"The x position of the point. Units can be either in axis\nor chart pixel coordinates."},subtree:{}},xAxis:{meta:{types:{number:1,string:1},name:"xAxis",excludes:{},description:"This number defines which xAxis the point is connected to. It refers\nto either the axis id or the index of the axis in the xAxis array.\nIf the option is not configured or the axis is not found the point's\nx coordinate refers to the chart pixels."},subtree:{}},y:{meta:{types:{number:1},name:"y",excludes:{},description:"The y position of the point. Units can be either in axis\nor chart pixel coordinates."},subtree:{}},yAxis:{meta:{types:{number:1,string:1},name:"yAxis",excludes:{},description:"This number defines which yAxis the point is connected to. It refers\nto either the axis id or the index of the axis in the yAxis array.\nIf the option is not configured or the axis is not found the point's\ny coordinate refers to the chart pixels."},subtree:{}}}}}},shapeOptions:{meta:{types:{object:1},name:"shapeOptions",excludes:{},description:"Options for annotation's shapes. Each shape inherits options\nfrom the shapeOptions object. An option from the shapeOptions can be\noverwritten by config for a specific shape."},subtree:{fill:{meta:{types:{color:1},name:"fill",excludes:{},default:"rgba(0, 0, 0, 0.75)",description:"The color of the shape's fill."},subtree:{}},height:{meta:{types:{number:1},name:"height",excludes:{},description:"The height of the shape."},subtree:{}},r:{meta:{types:{number:1},name:"r",excludes:{},default:0,description:"The radius of the shape."},subtree:{}},stroke:{meta:{types:{color:1},name:"stroke",excludes:{},default:"rgba(0, 0, 0, 0.75)",description:"The color of the shape's stroke."},subtree:{}},strokeWidth:{meta:{types:{number:1},name:"strokeWidth",excludes:{},default:1,description:"The pixel stroke width of the shape."},subtree:{}},type:{meta:{types:{string:1},name:"type",excludes:{},default:"'rect'",description:"The type of the shape, e.g. circle or rectangle."},subtree:{}},width:{meta:{types:{number:1},name:"width",excludes:{},description:"The width of the shape."},subtree:{}}}},shapes:{meta:{types:{array:"Object"},name:"shapes",excludes:{},description:"An array of shapes for the annotation. For options that apply to\nmultiple shapes, then can be added to the\n[shapeOptions](annotations.shapeOptions.html).",extends:"annotations.shapeOptions"},subtree:{markerEnd:{meta:{types:{string:1},name:"markerEnd",excludes:{},description:"Id of the marker which will be drawn at the final vertex of the path.\nCustom markers can be defined in defs property."},subtree:{}},markerStart:{meta:{types:{string:1},name:"markerStart",excludes:{},description:"Id of the marker which will be drawn at the first vertex of the path.\nCustom markers can be defined in defs property."},subtree:{}},point:{meta:{types:{object:1,string:1},name:"point",excludes:{},description:"This option defines the point to which the shape will be connected.\nIt can be either the point which exists in the series - it is\nreferenced by the point's id - or a new point with defined x, y\nproperties and optionally axes.",extends:"annotations.labels.point"},subtree:{}},points:{meta:{types:{array:"object"},name:"points",excludes:{},description:"An array of points for the shape. This option is available for shapes\nwhich can use multiple points such as path. A point can be either\na point object or a point's id."},subtree:{}}}},visible:{meta:{types:{boolean:1},name:"visible",excludes:{},default:!0,description:"Whether the annotation is visible."},subtree:{}},zIndex:{meta:{types:{number:1},name:"zIndex",excludes:{},default:"6",description:"The Z index of the annotation."},subtree:{}}}},boost:{meta:{types:{object:1},name:"boost",excludes:{},products:{highcharts:1,highstock:1},description:"Options for the Boost module. The Boost module allows certain series types\nto be rendered by WebGL instead of the default SVG. This allows hundreds of\nthousands of data points to be rendered in milliseconds. In addition to the\nWebGL rendering it saves time by skipping processing and inspection of the\ndata wherever possible. This introduces some limitations to what features are\navailable in Boost mode. See [the docs](\nhttps://www.highcharts.com/docs/advanced-chart-features/boost-module) for\ndetails.\n\nIn addition to the global `boost` option, each series has a\n[boostThreshold](#plotOptions.series.boostThreshold) that defines when the\nboost should kick in.\n\nRequires the `modules/boost.js` module."},subtree:{allowForce:{meta:{types:{boolean:1},name:"allowForce",excludes:{},default:"true",description:"If set to true, the whole chart will be boosted if one of the series\ncrosses its threshold, and all the series can be boosted."},subtree:{}},debug:{meta:{types:{object:1},name:"debug",excludes:{},description:"Debugging options for boost.\nUseful for benchmarking, and general timing."},subtree:{showSkipSummary:{meta:{types:{boolean:1},name:"showSkipSummary",excludes:{},default:"false",description:"Show the number of points skipped through culling.\n\nWhen set to true, the number of points skipped in series processing\nis outputted. Points are skipped if they are closer than 1 pixel from\neach other."},subtree:{}},timeBufferCopy:{meta:{types:{boolean:1},name:"timeBufferCopy",excludes:{},default:"false",description:"Time the WebGL to SVG buffer copy\n\nAfter rendering, the result is copied to an image which is injected\ninto the SVG.\n\nIf this property is set to true, the time it takes for the buffer copy\nto complete is outputted."},subtree:{}},timeKDTree:{meta:{types:{boolean:1},name:"timeKDTree",excludes:{},default:"false",description:"Time the building of the k-d tree.\n\nThis outputs the time spent building the k-d tree used for\nmarkers etc.\n\nNote that the k-d tree is built async, and runs post-rendering.\nFollowing, it does not affect the performance of the rendering itself."},subtree:{}},timeRendering:{meta:{types:{boolean:1},name:"timeRendering",excludes:{},default:"false",description:"Time the series rendering.\n\nThis outputs the time spent on actual rendering in the console when\nset to true."},subtree:{}},timeSeriesProcessing:{meta:{types:{boolean:1},name:"timeSeriesProcessing",excludes:{},default:"false",description:"Time the series processing.\n\nThis outputs the time spent on transforming the series data to\nvertex buffers when set to true."},subtree:{}},timeSetup:{meta:{types:{boolean:1},name:"timeSetup",excludes:{},default:"false",description:"Time the the WebGL setup.\n\nThis outputs the time spent on setting up the WebGL context,\ncreating shaders, and textures."},subtree:{}}}},enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:"true",description:"Enable or disable boost on a chart."},subtree:{}},seriesThreshold:{meta:{types:{number:1},name:"seriesThreshold",excludes:{},default:"null",description:"Set the series threshold for when the boost should kick in globally.\n\nSetting to e.g. 20 will cause the whole chart to enter boost mode\nif there are 20 or more series active. When the chart is in boost mode,\nevery series in it will be rendered to a common canvas. This offers\na significant speed improvment in charts with a very high\namount of series."},subtree:{}},useGPUTranslations:{meta:{types:{boolean:1},name:"useGPUTranslations",excludes:{},default:"false",description:"Enable or disable GPU translations. GPU translations are faster than doing\nthe translation in JavaScript.\n\nThis option may cause rendering issues with certain datasets.\nNamely, if your dataset has large numbers with small increments (such as\ntimestamps), it won't work correctly. This is due to floating point\nprecission."},subtree:{}}}},chart:{meta:{types:{"*":1},name:"chart",excludes:{},description:"General options for the chart."},subtree:{alignTicks:{meta:{types:{boolean:1},name:"alignTicks",excludes:{},default:"true",products:{highcharts:1,highstock:1},description:"When using multiple axis, the ticks of two or more opposite axes\nwill automatically be aligned by adding ticks to the axis or axes\nwith the least ticks, as if `tickAmount` were specified.\n\nThis can be prevented by setting `alignTicks` to false. If the grid\nlines look messy, it's a good idea to hide them for the secondary\naxis by setting `gridLineWidth` to 0.\n\nIf `startOnTick` or `endOnTick` in an Axis options are set to false,\nthen the `alignTicks ` will be disabled for the Axis.\n\nDisabled for logarithmic axes."},subtree:{}},animation:{meta:{types:{"highcharts.animationoptionsobject":1,boolean:1},name:"animation",excludes:{},default:"true",description:"Set the overall animation for all chart updating. Animation can be\ndisabled throughout the chart by setting it to false here. It can\nbe overridden for each individual API method as a function parameter.\nThe only animation not affected by this option is the initial series\nanimation, see [plotOptions.series.animation](\n#plotOptions.series.animation).\n\nThe animation can either be set as a boolean or a configuration\nobject. If `true`, it will use the 'swing' jQuery easing and a\nduration of 500 ms. If used as a configuration object, the following\nproperties are supported:\n\n
    \n\n
    duration
    \n\n
    The duration of the animation in milliseconds.
    \n\n
    easing
    \n\n
    A string reference to an easing function set on the `Math`\nobject. See [the easing\ndemo](https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/plotoptions/series-animation-easing/).\n
    \n\n
    "},subtree:{}},backgroundColor:{meta:{types:{"highcharts.colorstring":1},name:"backgroundColor",excludes:{},default:"#FFFFFF",description:"The background color or gradient for the outer chart area."},subtree:{}},borderColor:{meta:{types:{"highcharts.colorstring":1},name:"borderColor",excludes:{},default:"#335cad",description:"The color of the outer chart border."},subtree:{}},borderRadius:{meta:{types:{number:1},name:"borderRadius",excludes:{},default:"0",description:"The corner radius of the outer chart border."},subtree:{}},borderWidth:{meta:{types:{number:1},name:"borderWidth",excludes:{},default:"0",description:"The pixel width of the outer chart border."},subtree:{}},className:{meta:{types:{string:1},name:"className",excludes:{},description:"A CSS class name to apply to the charts container `div`, allowing\nunique CSS styling for each chart."},subtree:{} },colorCount:{meta:{types:{number:1},name:"colorCount",excludes:{},default:"10",description:"In styled mode, this sets how many colors the class names\nshould rotate between. With ten colors, series (or points) are\ngiven class names like `highcharts-color-0`, `highcharts-color-0`\n[...] `highcharts-color-9`. The equivalent in non-styled mode\nis to set colors using the [colors](#colors) setting."},subtree:{}},defaultSeriesType:{meta:{types:{string:1},name:"defaultSeriesType",excludes:{},default:"line",products:{highcharts:1},description:"Alias of `type`."},subtree:{}},description:{meta:{types:{string:1},name:"description",excludes:{},default:"undefined",description:"A text description of the chart.\n\nIf the Accessibility module is loaded, this is included by default\nas a long description of the chart and its contents in the hidden\nscreen reader information region."},subtree:{}},events:{meta:{types:{"*":1},name:"events",excludes:{},description:"Event listeners for the chart."},subtree:{addSeries:{meta:{types:{function:1},name:"addSeries",excludes:{},description:"Fires when a series is added to the chart after load time, using\nthe `addSeries` method. One parameter, `event`, is passed to the\nfunction, containing common event information.\nThrough `event.options` you can access the series options that was\npassed to the `addSeries` method. Returning false prevents the series\nfrom being added."},subtree:{}},afterPrint:{meta:{types:{function:1},name:"afterPrint",excludes:{},description:"Fires after a chart is printed through the context menu item or the\n`Chart.print` method. Requires the exporting module."},subtree:{}},beforePrint:{meta:{types:{function:1},name:"beforePrint",excludes:{},description:"Fires before a chart is printed through the context menu item or\nthe `Chart.print` method. Requires the exporting module."},subtree:{}},click:{meta:{types:{function:1},name:"click",excludes:{},description:"Fires when clicking on the plot background. One parameter, `event`,\nis passed to the function, containing common event information.\n\nInformation on the clicked spot can be found through `event.xAxis`\nand `event.yAxis`, which are arrays containing the axes of each\ndimension and each axis' value at the clicked spot. The primary axes\nare `event.xAxis[0]` and `event.yAxis[0]`. Remember the unit of a\ndatetime axis is milliseconds since 1970-01-01 00:00:00.\n\n
    click: function(e) {\n    console.log(\n        Highcharts.dateFormat('%Y-%m-%d %H:%M:%S', e.xAxis[0].value),\n        e.yAxis[0].value\n    )\n}
    "},subtree:{}},drilldown:{meta:{types:{function:1},name:"drilldown",excludes:{},products:{highcharts:1,highmaps:1},description:"Fires when a drilldown point is clicked, before the new series is\nadded. This event is also utilized for async drilldown, where the\nseriesOptions are not added by option, but rather loaded async. Note\nthat when clicking a category label to trigger multiple series drilldown,\none `drilldown` event is triggered per point in the category.\n\nEvent arguments:\n\n
    \n\n
    `category`
    \n\n
    If a category label was clicked, which index.
    \n\n
    `point`
    \n\n
    The originating point.
    \n\n
    `originalEvent`
    \n\n
    The original browser event (usually click) that triggered the\ndrilldown.
    \n\n
    `points`
    \n\n
    If a category label was clicked, this array holds all points\ncorresponing to the category.
    \n\n
    `seriesOptions`
    \n\n
    Options for the new series
    \n\n
    "},subtree:{}},drillup:{meta:{types:{function:1},name:"drillup",excludes:{},products:{highcharts:1,highmaps:1},description:"Fires when drilling up from a drilldown series."},subtree:{}},drillupall:{meta:{types:{function:1},name:"drillupall",excludes:{},products:{highcharts:1,highmaps:1},description:"In a chart with multiple drilldown series, this event fires after\nall the series have been drilled up."},subtree:{}},load:{meta:{types:{function:1},name:"load",excludes:{},description:"Fires when the chart is finished loading. Since v4.2.2, it also waits\nfor images to be loaded, for example from point markers. One\nparameter, `event`, is passed to the function, containing common\nevent information.\n\nThere is also a second parameter to the chart constructor where a\ncallback function can be passed to be executed on chart.load."},subtree:{}},redraw:{meta:{types:{function:1},name:"redraw",excludes:{},description:"Fires when the chart is redrawn, either after a call to\n`chart.redraw()` or after an axis, series or point is modified with\nthe `redraw` option set to true. One parameter, `event`, is passed to\nthe function, containing common event information."},subtree:{}},render:{meta:{types:{function:1},name:"render",excludes:{},description:"Fires after initial load of the chart (directly after the `load`\nevent), and after each redraw (directly after the `redraw` event)."},subtree:{}},selection:{meta:{types:{function:1},name:"selection",excludes:{},description:"Fires when an area of the chart has been selected. Selection is\nenabled by setting the chart's zoomType. One parameter, `event`, is\npassed to the function, containing common event information. The\ndefault action for the selection event is to zoom the chart to the\nselected area. It can be prevented by calling\n`event.preventDefault()`.\n\nInformation on the selected area can be found through `event.xAxis`\nand `event.yAxis`, which are arrays containing the axes of each\ndimension and each axis' min and max values. The primary axes are\n`event.xAxis[0]` and `event.yAxis[0]`. Remember the unit of a\ndatetime axis is milliseconds since 1970-01-01 00:00:00.\n\n
    selection: function(event) {\n    // log the min and max of the primary, datetime x-axis\n    console.log(\n        Highcharts.dateFormat(\n            '%Y-%m-%d %H:%M:%S',\n            event.xAxis[0].min\n        ),\n        Highcharts.dateFormat(\n            '%Y-%m-%d %H:%M:%S',\n            event.xAxis[0].max\n        )\n    );\n    // log the min and max of the y axis\n    console.log(event.yAxis[0].min, event.yAxis[0].max);\n}
    "},subtree:{}}}},height:{meta:{types:{null:1,number:1,string:1},name:"height",excludes:{},default:"null",description:"An explicit height for the chart. If a _number_, the height is\ngiven in pixels. If given a _percentage string_ (for example\n`'56%'`), the height is given as the percentage of the actual chart\nwidth. This allows for preserving the aspect ratio across responsive\nsizes.\n\nBy default (when `null`) the height is calculated from the offset\nheight of the containing element, or 400 pixels if the containing\nelement's height is 0."},subtree:{}},ignoreHiddenSeries:{meta:{types:{boolean:1},name:"ignoreHiddenSeries",excludes:{},default:"true",products:{highcharts:1,highstock:1},description:"If true, the axes will scale to the remaining visible series once\none series is hidden. If false, hiding and showing a series will\nnot affect the axes or the other series. For stacks, once one series\nwithin the stack is hidden, the rest of the stack will close in\naround it even if the axis is not affected."},subtree:{}},inverted:{meta:{types:{boolean:1},name:"inverted",excludes:{},default:"false",products:{highcharts:1,highstock:1},description:"Whether to invert the axes so that the x axis is vertical and y axis\nis horizontal. When `true`, the x axis is [reversed](#xAxis.reversed)\nby default."},subtree:{}},map:{meta:{types:{array:"*",string:1},name:"map",excludes:{},products:{highmaps:1},description:"Default `mapData` for all series. If set to a string, it functions\nas an index into the `Highcharts.maps` array. Otherwise it is\ninterpreted s map data."},subtree:{}},mapTransforms:{meta:{types:{"*":1},name:"mapTransforms",excludes:{},products:{highmaps:1},description:"Set lat/lon transformation definitions for the chart. If not defined,\nthese are extracted from the map data."},subtree:{}},margin:{meta:{types:{array:"number",number:1},name:"margin",excludes:{},description:"The margin between the outer edge of the chart and the plot area.\nThe numbers in the array designate top, right, bottom and left\nrespectively. Use the options `marginTop`, `marginRight`,\n`marginBottom` and `marginLeft` for shorthand setting of one option.\n\nBy default there is no margin. The actual space is dynamically\ncalculated from the offset of axis labels, axis title, title,\nsubtitle and legend in addition to the `spacingTop`, `spacingRight`,\n`spacingBottom` and `spacingLeft` options."},subtree:{}},marginBottom:{meta:{types:{number:1},name:"marginBottom",excludes:{},description:"The margin between the bottom outer edge of the chart and the plot\narea. Use this to set a fixed pixel value for the margin as opposed\nto the default dynamic margin. See also `spacingBottom`."},subtree:{}},marginLeft:{meta:{types:{number:1},name:"marginLeft",excludes:{},description:"The margin between the left outer edge of the chart and the plot\narea. Use this to set a fixed pixel value for the margin as opposed\nto the default dynamic margin. See also `spacingLeft`."},subtree:{}},marginRight:{meta:{types:{number:1},name:"marginRight",excludes:{},description:"The margin between the right outer edge of the chart and the plot\narea. Use this to set a fixed pixel value for the margin as opposed\nto the default dynamic margin. See also `spacingRight`."},subtree:{}},marginTop:{meta:{types:{number:1},name:"marginTop",excludes:{},description:"The margin between the top outer edge of the chart and the plot area.\nUse this to set a fixed pixel value for the margin as opposed to\nthe default dynamic margin. See also `spacingTop`."},subtree:{}},options3d:{meta:{types:{object:1},name:"options3d",excludes:{},products:{highcharts:1},description:"Options to render charts in 3 dimensions. This feature requires\n`highcharts-3d.js`, found in the download package or online at\n[code.highcharts.com/highcharts-3d.js](http://code.highcharts.com/highcharts-\n3d.js)."},subtree:{alpha:{meta:{types:{number:1},name:"alpha",excludes:{},default:"0",products:{highcharts:1},description:"One of the two rotation angles for the chart."},subtree:{}},axisLabelPosition:{meta:{types:{string:1},name:"axisLabelPosition",excludes:{},default:null,products:{highcharts:1},description:'Set it to `"auto"` to automatically move the labels to the best\nedge.'},subtree:{}},beta:{meta:{types:{number:1},name:"beta",excludes:{},default:"0",products:{highcharts:1},description:"One of the two rotation angles for the chart."},subtree:{}},depth:{meta:{types:{number:1},name:"depth",excludes:{},default:"100",products:{highcharts:1},description:"The total depth of the chart."},subtree:{}},enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:"false",products:{highcharts:1},description:"Wether to render the chart using the 3D functionality."},subtree:{}},fitToPlot:{meta:{types:{boolean:1},name:"fitToPlot",excludes:{},default:"true",products:{highcharts:1},description:"Whether the 3d box should automatically adjust to the chart plot\narea."},subtree:{}},frame:{meta:{types:{object:1},name:"frame",excludes:{},products:{highcharts:1},description:"Provides the option to draw a frame around the charts by defining\na bottom, front and back panel."},subtree:{back:{meta:{types:{},name:"back",excludes:{},description:"The back side of the frame around a 3D chart.",extends:"chart.options3d.frame.bottom"},subtree:{}},bottom:{meta:{types:{object:1},name:"bottom",excludes:{},description:"The bottom of the frame around a 3D chart."},subtree:{color:{meta:{types:{color:1},name:"color",excludes:{},default:"transparent",products:{highcharts:1},description:"The color of the panel."},subtree:{}},size:{meta:{types:{number:1},name:"size",excludes:{},default:"1",products:{highcharts:1},description:"The thickness of the panel."},subtree:{}},visible:{meta:{types:{boolean:1,string:1},name:"visible",excludes:{},default:"default",products:{highcharts:1},description:'Whether to display the frame. Possible values are `true`,\n`false`, `"auto"` to display only the frames behind the data,\nand `"default"` to display faces behind the data based on the\naxis layout, ignoring the point of view.'},subtree:{}}}},front:{meta:{types:{},name:"front",excludes:{},description:"The front of the frame around a 3D chart.",extends:"chart.options3d.frame.bottom"},subtree:{}},left:{meta:{types:{},name:"left",excludes:{},description:"The left side of the frame around a 3D chart.",extends:"chart.options3d.frame.bottom"},subtree:{}},right:{meta:{types:{},name:"right",excludes:{},description:"The right of the frame around a 3D chart.",extends:"chart.options3d.frame.bottom"},subtree:{}},side:{meta:{types:{object:1},name:"side",excludes:{},products:{highcharts:1},description:"Note: As of v5.0.12, `frame.left` or `frame.right` should be used\ninstead.\n\nThe side for the frame around a 3D chart."},subtree:{color:{meta:{types:{color:1},name:"color",excludes:{},default:"transparent",products:{highcharts:1},description:"The color of the panel."},subtree:{}},size:{meta:{types:{number:1},name:"size",excludes:{},default:"1",products:{highcharts:1},description:"The thickness of the panel."},subtree:{}}}},size:{meta:{types:{number:1},name:"size",excludes:{},default:1,description:"General pixel thickness for the frame faces."},subtree:{}},top:{meta:{types:{},name:"top",excludes:{},description:"The top of the frame around a 3D chart.",extends:"chart.options3d.frame.bottom"},subtree:{}},visible:{meta:{types:{string:1},name:"visible",excludes:{},default:"default",description:"Whether the frames are visible."},subtree:{}}}},viewDistance:{meta:{types:{number:1},name:"viewDistance",excludes:{},default:"100",products:{highcharts:1},description:"Defines the distance the viewer is standing in front of the\nchart, this setting is important to calculate the perspective\neffect in column and scatter charts. It is not used for 3D pie\ncharts."},subtree:{}}}},panKey:{meta:{types:{string:1},name:"panKey",excludes:{},products:{highcharts:1},description:"Allows setting a key to switch between zooming and panning. Can be\none of `alt`, `ctrl`, `meta` (the command key on Mac and Windows\nkey on Windows) or `shift`. The keys are mapped directly to the key\nproperties of the click event argument (`event.altKey`,\n`event.ctrlKey`, `event.metaKey` and `event.shiftKey`)."},subtree:{}},panning:{meta:{types:{boolean:1},name:"panning",excludes:{},products:{highcharts:1,highstock:1},description:"Allow panning in a chart. Best used with [panKey](#chart.panKey)\nto combine zooming and panning.\n\nOn touch devices, when the [tooltip.followTouchMove](\n#tooltip.followTouchMove) option is `true` (default), panning\nrequires two fingers. To allow panning with one finger, set\n`followTouchMove` to `false`."},subtree:{}},parallelAxes:{meta:{types:{object:1},name:"parallelAxes",excludes:{},products:{highcharts:1},description:"Common options for all yAxes rendered in a parallel coordinates plot.\nThis feature requires `modules/parallel-coordinates.js`.\n\nThe default options are:\n
    \nparallelAxes: {\n   lineWidth: 1,       // classic mode only\n   gridlinesWidth: 0,  // classic mode only\n   title: {\n       text: '',\n       reserveSpace: false\n   },\n   labels: {\n       x: 0,\n       y: 0,\n       align: 'center',\n       reserveSpace: false\n   },\n   offset: 0\n}
    ",extends:"yAxis"},subtree:{labels:{meta:{types:{object:1},name:"labels",excludes:{}},subtree:{align:{meta:{types:{string:1},name:"align",excludes:{},default:"center"},subtree:{}},reserveSpace:{meta:{types:{boolean:1},name:"reserveSpace",excludes:{},default:!1},subtree:{}},x:{meta:{types:{number:1},name:"x",excludes:{},default:0},subtree:{}},y:{meta:{types:{number:1},name:"y",excludes:{},default:4},subtree:{}}}},lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:1},subtree:{}},offset:{meta:{types:{number:1},name:"offset",excludes:{},default:0},subtree:{}},title:{meta:{types:{object:1},name:"title",excludes:{},description:"Titles for yAxes are taken from\n[xAxis.categories](#xAxis.categories). All options for\n`xAxis.labels` applies to parallel coordinates titles.\nFor example, to style categories, use\n[xAxis.labels.style](#xAxis.labels.style)."},subtree:{reserveSpace:{meta:{types:{boolean:1},name:"reserveSpace",excludes:{},default:!1},subtree:{}},text:{meta:{types:{string:1},name:"text",excludes:{},default:""},subtree:{}}}}}},parallelCoordinates:{meta:{types:{boolean:1},name:"parallelCoordinates",excludes:{},default:!1,products:{highcharts:1},description:"Flag to render charts as a parallel coordinates plot. In a parallel\ncoordinates plot (||-coords) by default all required yAxes are generated\nand the legend is disabled. This feature requires\n`modules/parallel-coordinates.js`."},subtree:{}},pinchType:{meta:{types:{string:1},name:"pinchType",excludes:{},products:{highcharts:1,highstock:1},description:"Equivalent to [zoomType](#chart.zoomType), but for multitouch\ngestures only. By default, the `pinchType` is the same as the\n`zoomType` setting. However, pinching can be enabled separately in\nsome cases, for example in stock charts where a mouse drag pans the\nchart, while pinching is enabled. When [tooltip.followTouchMove](\n#tooltip.followTouchMove) is true, pinchType only applies to\ntwo-finger touches."},subtree:{}},plotBackgroundColor:{meta:{types:{"highcharts.colorstring":1},name:"plotBackgroundColor",excludes:{},description:"The background color or gradient for the plot area."},subtree:{}},plotBackgroundImage:{meta:{types:{string:1},name:"plotBackgroundImage",excludes:{},description:"The URL for an image to use as the plot background. To set an image\nas the background for the entire chart, set a CSS background image\nto the container element. Note that for the image to be applied to\nexported charts, its URL needs to be accessible by the export server."},subtree:{}},plotBorderColor:{meta:{types:{"highcharts.colorstring":1},name:"plotBorderColor",excludes:{},default:"#cccccc",description:"The color of the inner chart or plot area border."},subtree:{}},plotBorderWidth:{meta:{types:{number:1},name:"plotBorderWidth",excludes:{},default:"0",description:"The pixel width of the plot area border."},subtree:{}},plotShadow:{meta:{types:{"highcharts.cssobject":1,boolean:1},name:"plotShadow",excludes:{},default:"false",description:"Whether to apply a drop shadow to the plot area. Requires that\nplotBackgroundColor be set. The shadow can be an object configuration\ncontaining `color`, `offsetX`, `offsetY`, `opacity` and `width`."},subtree:{}},polar:{meta:{types:{boolean:1},name:"polar",excludes:{},default:"false",products:{highcharts:1},description:"When true, cartesian charts like line, spline, area and column are\ntransformed into the polar coordinate system. Requires\n`highcharts-more.js`."},subtree:{}},reflow:{meta:{types:{boolean:1},name:"reflow",excludes:{},default:"true",description:"Whether to reflow the chart to fit the width of the container div\non resizing the window."},subtree:{}},renderTo:{meta:{types:{"highcharts.svgdomelement":1,string:1},name:"renderTo",excludes:{},description:"The HTML element where the chart will be rendered. If it is a string,\nthe element by that id is used. The HTML element can also be passed\nby direct reference, or as the first argument of the chart\nconstructor, in which case the option is not needed."},subtree:{}},resetZoomButton:{meta:{types:{"*":1},name:"resetZoomButton",excludes:{},description:"The button that appears after a selection zoom, allowing the user\nto reset zoom."},subtree:{position:{meta:{types:{"*":1},name:"position",excludes:{},description:"The position of the button."},subtree:{align:{meta:{types:{string:1},name:"align",excludes:{},default:"right",description:"The horizontal alignment of the button."},subtree:{}},verticalAlign:{meta:{types:{string:1},name:"verticalAlign",excludes:{},default:"top",description:"The vertical alignment of the button."},subtree:{}},x:{meta:{types:{number:1},name:"x",excludes:{},default:-10,description:"The horizontal offset of the button."},subtree:{}},y:{meta:{types:{number:1},name:"y",excludes:{},default:10,description:"The vertical offset of the button."},subtree:{}}}},relativeTo:{meta:{types:{string:1},name:"relativeTo",excludes:{},default:"plot",description:"What frame the button should be placed related to. Can be either\n`plot` or `chart`"},subtree:{}},theme:{meta:{types:{"*":1},name:"theme",excludes:{},description:"A collection of attributes for the button. The object takes SVG\nattributes like `fill`, `stroke`, `stroke-width` or `r`, the\nborder radius. The theme also supports `style`, a collection of\nCSS properties for the text. Equivalent attributes for the hover\nstate are given in `theme.states.hover`."},subtree:{zIndex:{meta:{types:{number:1},name:"zIndex",excludes:{},default:6,description:"The Z index for the reset zoom button. The default value\nplaces it below the tooltip that has Z index 7."},subtree:{}}}}}},scrollablePlotArea:{meta:{types:{object:1},name:"scrollablePlotArea",excludes:{},products:{highcharts:1},description:"Options for a scrollable plot area. This feature provides a minimum width for\nthe plot area of the chart. If the width gets smaller than this, typically\non mobile devices, a native browser scrollbar is presented below the chart.\nThis scrollbar provides smooth scrolling for the contents of the plot area,\nwhereas the title, legend and axes are fixed."},subtree:{minWidth:{meta:{types:{number:1},name:"minWidth",excludes:{},description:"The minimum width for the plot area. If it gets smaller than this, the plot\narea will become scrollable."},subtree:{}},scrollPositionX:{meta:{types:{number:1},name:"scrollPositionX",excludes:{},description:"The initial scrolling position of the scrollable plot area. Ranges from 0 to\n1, where 0 aligns the plot area to the left and 1 aligns it to the right.\nTypically we would use 1 if the chart has right aligned Y axes."},subtree:{}}}},selectionMarkerFill:{meta:{types:{"highcharts.colorstring":1},name:"selectionMarkerFill",excludes:{},default:"rgba(51,92,173,0.25)",description:"The background color of the marker square when selecting (zooming\nin on) an area of the chart."},subtree:{}},shadow:{meta:{types:{"highcharts.cssobject":1,boolean:1},name:"shadow",excludes:{},default:"false",description:"Whether to apply a drop shadow to the outer chart area. Requires\nthat backgroundColor be set. The shadow can be an object\nconfiguration containing `color`, `offsetX`, `offsetY`, `opacity` and\n`width`."},subtree:{}},showAxes:{meta:{types:{boolean:1},name:"showAxes",excludes:{},products:{highcharts:1},description:"Whether to show the axes initially. This only applies to empty charts\nwhere series are added dynamically, as axes are automatically added\nto cartesian series."},subtree:{}},spacing:{meta:{types:{array:"number"},name:"spacing",excludes:{},default:"[10, 10, 15, 10]",description:"The distance between the outer edge of the chart and the content,\nlike title or legend, or axis title and labels if present. The\nnumbers in the array designate top, right, bottom and left\nrespectively. Use the options spacingTop, spacingRight, spacingBottom\nand spacingLeft options for shorthand setting of one option."},subtree:{}},spacingBottom:{meta:{types:{number:1},name:"spacingBottom",excludes:{},default:"15",description:"The space between the bottom edge of the chart and the content (plot\narea, axis title and labels, title, subtitle or legend in top\nposition)."},subtree:{}},spacingLeft:{meta:{types:{number:1},name:"spacingLeft",excludes:{},default:"10",description:"The space between the left edge of the chart and the content (plot\narea, axis title and labels, title, subtitle or legend in top\nposition)."},subtree:{}},spacingRight:{meta:{types:{number:1},name:"spacingRight",excludes:{},default:"10",description:"The space between the right edge of the chart and the content (plot\narea, axis title and labels, title, subtitle or legend in top\nposition)."},subtree:{}},spacingTop:{meta:{types:{number:1},name:"spacingTop",excludes:{},default:"10",description:"The space between the top edge of the chart and the content (plot\narea, axis title and labels, title, subtitle or legend in top\nposition)."},subtree:{}},style:{meta:{types:{"highcharts.cssobject":1},name:"style",excludes:{},default:'{"fontFamily": "\\"Lucida Grande\\", \\"Lucida Sans Unicode\\", Verdana, Arial, Helvetica, sans-serif","fontSize":"12px"}',description:"Additional CSS styles to apply inline to the container `div`. Note\nthat since the default font styles are applied in the renderer, it\nis ignorant of the individual chart options and must be set globally."},subtree:{}},type:{meta:{types:{string:1},name:"type",excludes:{},description:"The default series type for the chart. Can be any of the chart types\nlisted under [plotOptions](#plotOptions)."},subtree:{}},typeDescription:{meta:{types:{string:1},name:"typeDescription",excludes:{},default:"undefined",description:"A text description of the chart type.\n\nIf the Accessibility module is loaded, this will be included in the\ndescription of the chart in the screen reader information region.\n\n\nHighcharts will by default attempt to guess the chart type, but for\nmore complex charts it is recommended to specify this property for\nclarity."},subtree:{}},width:{meta:{types:{null:1,number:1},name:"width",excludes:{},default:"null",description:"An explicit width for the chart. By default (when `null`) the width\nis calculated from the offset width of the containing element."},subtree:{}},zoomType:{meta:{types:{string:1},name:"zoomType",excludes:{},products:{highcharts:1,highstock:1},description:"Decides in what dimensions the user can zoom by dragging the mouse.\nCan be one of `x`, `y` or `xy`."},subtree:{}}}},colorAxis:{meta:{types:{object:1},name:"colorAxis",excludes:{},products:{highcharts:1,highmaps:1},description:"A color axis for choropleth maps and heat maps. Visually, the color\naxis will appear as a gradient or as separate items inside the\nlegend, depending on whether the axis is scalar or based on data\nclasses.\n\nFor supported color formats, see the\n[docs article about colors](https://www.highcharts.com/docs/chart-design-and-style/colors).\n\nA scalar color axis is represented by a gradient. The colors either\nrange between the [minColor](#colorAxis.minColor) and the\n[maxColor](#colorAxis.maxColor), or for more fine grained control the\ncolors can be defined in [stops](#colorAxis.stops). Often times, the\ncolor axis needs to be adjusted to get the right color spread for the\ndata. In addition to stops, consider using a logarithmic\n[axis type](#colorAxis.type), or setting [min](#colorAxis.min) and\n[max](#colorAxis.max) to avoid the colors being determined by\noutliers.\n\nWhen [dataClasses](#colorAxis.dataClasses) are used, the ranges are\nsubdivided into separate classes like categories based on their\nvalues. This can be used for ranges between two values, but also for\na true category. However, when your data is categorized, it may be as\nconvenient to add each category to a separate series.\n\nSee [the Axis object](/class-reference/Highcharts.Axis) for\nprogrammatic access to the axis.",extends:"xAxis"},subtree:{allowDecimals:{meta:{types:{boolean:1},name:"allowDecimals",excludes:{},default:"true",products:{highcharts:1,highmaps:1},description:"Whether to allow decimals on the color axis."},subtree:{}},dataClassColor:{meta:{types:{string:1},name:"dataClassColor",excludes:{},default:"tween",products:{highcharts:1,highmaps:1},description:"Determines how to set each data class' color if no individual\ncolor is set. The default value, `tween`, computes intermediate\ncolors between `minColor` and `maxColor`. The other possible\nvalue, `category`, pulls colors from the global or chart specific\n[colors](#colors) array."},subtree:{}},dataClasses:{meta:{types:{array:"Object"},name:"dataClasses",excludes:{},products:{highcharts:1,highmaps:1},description:"An array of data classes or ranges for the choropleth map. If\nnone given, the color axis is scalar and values are distributed\nas a gradient between the minimum and maximum colors."},subtree:{color:{meta:{types:{color:1},name:"color",excludes:{},products:{highcharts:1,highmaps:1},description:"The color of each data class. If not set, the color is pulled\nfrom the global or chart-specific [colors](#colors) array. In\nstyled mode, this option is ignored. Instead, use colors defined\nin CSS."},subtree:{}},from:{meta:{types:{number:1},name:"from",excludes:{},products:{highcharts:1,highmaps:1},description:"The start of the value range that the data class represents,\nrelating to the point value.\n\nThe range of each `dataClass` is closed in both ends, but can be\noverridden by the next `dataClass`."},subtree:{}},name:{meta:{types:{string:1},name:"name",excludes:{},products:{highcharts:1,highmaps:1},description:"The name of the data class as it appears in the legend.\nIf no name is given, it is automatically created based on the\n`from` and `to` values. For full programmatic control,\n[legend.labelFormatter](#legend.labelFormatter) can be used.\nIn the formatter, `this.from` and `this.to` can be accessed."},subtree:{}},to:{meta:{types:{number:1},name:"to",excludes:{},products:{highcharts:1,highmaps:1},description:"The end of the value range that the data class represents,\nrelating to the point value.\n\nThe range of each `dataClass` is closed in both ends, but can be\noverridden by the next `dataClass`."},subtree:{}}}},endOnTick:{meta:{types:{boolean:1},name:"endOnTick",excludes:{},default:"true",products:{highcharts:1,highmaps:1},description:"Whether to force the axis to end on a tick. Use this option with\nthe [maxPadding](#colorAxis.maxPadding) option to control the\naxis end."},subtree:{}},events:{meta:{types:{object:1},name:"events",excludes:{}},subtree:{legendItemClick:{meta:{types:{function:1},name:"legendItemClick",excludes:{},products:{highcharts:1,highmaps:1},description:"Fires when the legend item belonging to the colorAxis is clicked.\nOne parameter, `event`, is passed to the function."},subtree:{}}}},gridLineColor:{meta:{types:{color:1},name:"gridLineColor",excludes:{},default:"#e6e6e6",products:{highcharts:1,highmaps:1},description:"Color of the grid lines extending from the axis across the\ngradient."},subtree:{}},gridLineWidth:{meta:{types:{number:1},name:"gridLineWidth",excludes:{},default:"1",products:{highcharts:1,highmaps:1},description:"The width of the grid lines extending from the axis across the\ngradient of a scalar color axis."},subtree:{}},labels:{meta:{types:{object:1},name:"labels",excludes:{},products:{highcharts:1,highmaps:1},description:"The axis labels show the number for each tick.\n\nFor more live examples on label options, see [xAxis.labels in the\nHighcharts API.](/highcharts#xAxis.labels)",extends:"xAxis.labels"},subtree:{overflow:{meta:{types:{string:1},name:"overflow",excludes:{},default:"justify",products:{highcharts:1,highmaps:1},description:'How to handle overflowing labels on horizontal color axis.\nCan be undefined or "justify". If "justify", labels will not\nrender outside the legend area. If there is room to move it,\nit will be aligned to the edge, else it will be removed.'},subtree:{}},rotation:{meta:{types:{number:1},name:"rotation",excludes:{},default:0},subtree:{}}}},marker:{meta:{types:{object:1},name:"marker",excludes:{},products:{highcharts:1,highmaps:1},description:"The triangular marker on a scalar color axis that points to the\nvalue of the hovered area. To disable the marker, set\n`marker: null`."},subtree:{animation:{meta:{types:{animationoptions:1,boolean:1},name:"animation",excludes:{},products:{highcharts:1,highmaps:1},description:"Animation for the marker as it moves between values. Set to\n`false` to disable animation. Defaults to `{ duration: 50 }`."},subtree:{duration:{meta:{types:{number:1},name:"duration",excludes:{}, default:50},subtree:{}}}},color:{meta:{types:{color:1},name:"color",excludes:{},default:"#999999",products:{highcharts:1,highmaps:1},description:"The color of the marker."},subtree:{}}}},max:{meta:{types:{number:1},name:"max",excludes:{},products:{highcharts:1,highmaps:1},description:"The maximum value of the axis in terms of map point values. If\n`null`, the max value is automatically calculated. If the\n`endOnTick` option is true, the max value might be rounded up."},subtree:{}},maxColor:{meta:{types:{color:1},name:"maxColor",excludes:{},default:"#003399",products:{highcharts:1,highmaps:1},description:"The color to represent the maximum of the color axis. Unless\n[dataClasses](#colorAxis.dataClasses) or\n[stops](#colorAxis.stops) are set, the gradient ends at this\nvalue.\n\nIf dataClasses are set, the color is based on minColor and\nmaxColor unless a color is set for each data class, or the\n[dataClassColor](#colorAxis.dataClassColor) is set."},subtree:{}},maxPadding:{meta:{types:{number:1},name:"maxPadding",excludes:{},default:0,products:{highcharts:1,highmaps:1},description:"Padding of the max value relative to the length of the axis. A\npadding of 0.05 will make a 100px axis 5px longer."},subtree:{}},min:{meta:{types:{number:1},name:"min",excludes:{},products:{highcharts:1,highmaps:1},description:"The minimum value of the axis in terms of map point values. If\n`null`, the min value is automatically calculated. If the\n`startOnTick` option is true, the min value might be rounded\ndown."},subtree:{}},minColor:{meta:{types:{color:1},name:"minColor",excludes:{},default:"#e6ebf5",products:{highcharts:1,highmaps:1},description:"The color to represent the minimum of the color axis. Unless\n[dataClasses](#colorAxis.dataClasses) or\n[stops](#colorAxis.stops) are set, the gradient starts at this\nvalue.\n\nIf dataClasses are set, the color is based on minColor and\nmaxColor unless a color is set for each data class, or the\n[dataClassColor](#colorAxis.dataClassColor) is set."},subtree:{}},minPadding:{meta:{types:{number:1},name:"minPadding",excludes:{},default:0,products:{highcharts:1,highmaps:1},description:"Padding of the min value relative to the length of the axis. A\npadding of 0.05 will make a 100px axis 5px longer."},subtree:{}},reversed:{meta:{types:{boolean:1},name:"reversed",excludes:{},products:{highcharts:1,highmaps:1},description:"Whether to reverse the axis so that the highest number is closest\nto the origin. Defaults to `false` in a horizontal legend and\n`true` in a vertical legend, where the smallest value starts on\ntop."},subtree:{}},showInLegend:{meta:{types:{boolean:1},name:"showInLegend",excludes:{},default:"true",products:{highcharts:1,highmaps:1},description:"Whether to display the colorAxis in the legend."},subtree:{}},startOnTick:{meta:{types:{boolean:1},name:"startOnTick",excludes:{},default:"true",products:{highcharts:1,highmaps:1},description:"Whether to force the axis to start on a tick. Use this option\nwith the `maxPadding` option to control the axis start."},subtree:{}},stops:{meta:{types:{array:"Array"},name:"stops",excludes:{},products:{highcharts:1,highmaps:1},description:"Color stops for the gradient of a scalar color axis. Use this in\ncases where a linear gradient between a `minColor` and `maxColor`\nis not sufficient. The stops is an array of tuples, where the\nfirst item is a float between 0 and 1 assigning the relative\nposition in the gradient, and the second item is the color."},subtree:{}},tickInterval:{meta:{types:{number:1},name:"tickInterval",excludes:{},products:{highcharts:1,highmaps:1},description:"The interval of the tick marks in axis units. When `null`, the\ntick interval is computed to approximately follow the\n`tickPixelInterval`."},subtree:{}},tickLength:{meta:{types:{number:1},name:"tickLength",excludes:{},default:5,description:"The pixel length of the main tick marks on the color axis."},subtree:{}},tickPixelInterval:{meta:{types:{number:1},name:"tickPixelInterval",excludes:{},default:"72",products:{highcharts:1,highmaps:1},description:"If [tickInterval](#colorAxis.tickInterval) is `null` this option\nsets the approximate pixel interval of the tick marks."},subtree:{}},type:{meta:{types:{string:1},name:"type",excludes:{},default:"linear",products:{highcharts:1,highmaps:1},description:"The type of interpolation to use for the color axis. Can be\n`linear` or `logarithmic`."},subtree:{}}}},colors:{meta:{types:{array:"Highcharts.ColorString"},name:"colors",excludes:{},default:'["#7cb5ec", "#434348", "#90ed7d", "#f7a35c", "#8085e9",\n "#f15c80", "#e4d354", "#2b908f", "#f45b5b", "#91e8e1"]',description:"An array containing the default colors for the chart's series. When\nall colors are used, new colors are pulled from the start again.\n\nDefault colors can also be set on a series or series.type basis,\nsee [column.colors](#plotOptions.column.colors),\n[pie.colors](#plotOptions.pie.colors).\n\nIn styled mode, the colors option doesn't exist. Instead, colors\nare defined in CSS and applied either through series or point class\nnames, or through the [chart.colorCount](#chart.colorCount) option.\n\n\n### Legacy\n\nIn Highcharts 3.x, the default colors were:\n\n
    colors: ['#2f7ed8', '#0d233a', '#8bbc21', '#910000', '#1aadce',\n    '#492970', '#f28f43', '#77a1e5', '#c42525', '#a6c96a']
    \n\nIn Highcharts 2.x, the default colors were:\n\n
    colors: ['#4572A7', '#AA4643', '#89A54E', '#80699B', '#3D96AE',\n   '#DB843D', '#92A8CD', '#A47D7C', '#B5CA92']
    "},subtree:{}},credits:{meta:{types:{"*":1},name:"credits",excludes:{},description:"Highchart by default puts a credits label in the lower right corner\nof the chart. This can be changed using these options."},subtree:{enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:!0,description:"Whether to show the credits text."},subtree:{}},href:{meta:{types:{string:1},name:"href",excludes:{},default:"https://www.highcharts.com",description:"The URL for the credits label."},subtree:{}},mapText:{meta:{types:{string:1},name:"mapText",excludes:{},default:'\\u00a9 {geojson.copyrightShort}',products:{highmaps:1},description:"Credits for map source to be concatenated with conventional credit\ntext. By default this is a format string that collects copyright\ninformation from the map if available."},subtree:{}},mapTextFull:{meta:{types:{string:1},name:"mapTextFull",excludes:{},default:"{geojson.copyright}",products:{highmaps:1},description:"Detailed credits for map source to be displayed on hover of credits\ntext. By default this is a format string that collects copyright\ninformation from the map if available."},subtree:{}},position:{meta:{types:{"*":1},name:"position",excludes:{},description:"Position configuration for the credits label."},subtree:{align:{meta:{types:{string:1},name:"align",excludes:{},default:"right",description:"Horizontal alignment of the credits."},subtree:{}},verticalAlign:{meta:{types:{string:1},name:"verticalAlign",excludes:{},default:"bottom",description:"Vertical alignment of the credits."},subtree:{}},x:{meta:{types:{number:1},name:"x",excludes:{},default:"-10",description:"Horizontal pixel offset of the credits."},subtree:{}},y:{meta:{types:{number:1},name:"y",excludes:{},default:"-5",description:"Vertical pixel offset of the credits."},subtree:{}}}},style:{meta:{types:{"highcharts.cssobject":1},name:"style",excludes:{},default:'{"cursor": "pointer", "color": "#999999", "fontSize": "10px"}',description:"CSS styles for the credits label."},subtree:{color:{meta:{types:{string:1},name:"color",excludes:{},default:"#999999"},subtree:{}},cursor:{meta:{types:{string:1},name:"cursor",excludes:{},default:"pointer"},subtree:{}},fontSize:{meta:{types:{string:1},name:"fontSize",excludes:{},default:"9px"},subtree:{}}}},text:{meta:{types:{string:1},name:"text",excludes:{},default:"Highcharts.com",description:"The text for the credits label."},subtree:{}}}},defs:{meta:{types:{"*":1},name:"defs",excludes:{},description:"Styled mode only. Configuration object for adding SVG definitions for\nreusable elements. See [gradients, shadows and\npatterns](https://www.highcharts.com/docs/chart-design-and-style/gradients-shadows-and-patterns)\nfor more information and code examples."},subtree:{}},drilldown:{meta:{types:{object:1},name:"drilldown",excludes:{},description:"Options for drill down, the concept of inspecting increasingly high\nresolution data through clicking on chart items like columns or pie slices.\n\nThe drilldown feature requires the drilldown.js file to be loaded,\nfound in the modules directory of the download package, or online at\n[code.highcharts.com/modules/drilldown.js\n](code.highcharts.com/modules/drilldown.js)."},subtree:{activeAxisLabelStyle:{meta:{types:{cssobject:1},name:"activeAxisLabelStyle",excludes:{},default:'{ "cursor": "pointer", "color": "#003399", "fontWeight": "bold", "textDecoration": "underline" }',products:{highcharts:1,highmaps:1},description:"Additional styles to apply to the X axis label for a point that\nhas drilldown data. By default it is underlined and blue to invite\nto interaction."},subtree:{color:{meta:{types:{string:1},name:"color",excludes:{},default:"#003399"},subtree:{}},cursor:{meta:{types:{string:1},name:"cursor",excludes:{},default:"pointer"},subtree:{}},fontWeight:{meta:{types:{string:1},name:"fontWeight",excludes:{},default:"bold"},subtree:{}},textDecoration:{meta:{types:{string:1},name:"textDecoration",excludes:{},default:"underline"},subtree:{}}}},activeDataLabelStyle:{meta:{types:{cssobject:1},name:"activeDataLabelStyle",excludes:{},default:'{ "cursor": "pointer", "color": "#003399", "fontWeight": "bold", "textDecoration": "underline" }',products:{highcharts:1,highmaps:1},description:"Additional styles to apply to the data label of a point that has\ndrilldown data. By default it is underlined and blue to invite to\ninteraction."},subtree:{color:{meta:{types:{string:1},name:"color",excludes:{},default:"#003399"},subtree:{}},cursor:{meta:{types:{string:1},name:"cursor",excludes:{},default:"pointer"},subtree:{}},fontWeight:{meta:{types:{string:1},name:"fontWeight",excludes:{},default:"bold"},subtree:{}},textDecoration:{meta:{types:{string:1},name:"textDecoration",excludes:{},default:"underline"},subtree:{}}}},allowPointDrilldown:{meta:{types:{boolean:1},name:"allowPointDrilldown",excludes:{},default:"true",products:{highcharts:1},description:"When this option is false, clicking a single point will drill down\nall points in the same category, equivalent to clicking the X axis\nlabel."},subtree:{}},animation:{meta:{types:{animationoptions:1,boolean:1},name:"animation",excludes:{},products:{highcharts:1,highmaps:1},description:"Set the animation for all drilldown animations. Animation of a drilldown\noccurs when drilling between a column point and a column series,\nor a pie slice and a full pie series. Drilldown can still be used\nbetween series and points of different types, but animation will\nnot occur.\n\nThe animation can either be set as a boolean or a configuration\nobject. If `true`, it will use the 'swing' jQuery easing and a duration\nof 500 ms. If used as a configuration object, the following properties\nare supported:\n\n
    \n\n
    duration
    \n\n
    The duration of the animation in milliseconds.
    \n\n
    easing
    \n\n
    A string reference to an easing function set on the `Math` object.\nSee [the easing demo](https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/plotoptions/series-\nanimation-easing/).
    \n\n
    "},subtree:{duration:{meta:{types:{number:1,string:1},name:"duration",excludes:{},default:"500",description:"Duration for the drilldown animation."},subtree:{}}}},drillUpButton:{meta:{types:{object:1},name:"drillUpButton",excludes:{},products:{highcharts:1,highmaps:1},description:"Options for the drill up button that appears when drilling down\non a series. The text for the button is defined in\n[lang.drillUpText](#lang.drillUpText)."},subtree:{position:{meta:{types:{object:1},name:"position",excludes:{},products:{highcharts:1,highmaps:1},description:"Positioning options for the button within the `relativeTo` box.\nAvailable properties are `x`, `y`, `align` and `verticalAlign`."},subtree:{align:{meta:{types:{string:1},name:"align",excludes:{},default:"right",description:"Horizontal alignment."},subtree:{}},verticalAlign:{meta:{types:{string:1},name:"verticalAlign",excludes:{},default:"top",products:{highcharts:1,highmaps:1},description:"Vertical alignment of the button."},subtree:{}},x:{meta:{types:{number:1},name:"x",excludes:{},default:-10,description:"The X offset of the button."},subtree:{}},y:{meta:{types:{number:1},name:"y",excludes:{},default:10,description:"The Y offset of the button."},subtree:{}}}},relativeTo:{meta:{types:{string:1},name:"relativeTo",excludes:{},default:"plotBox",products:{highcharts:1,highmaps:1},description:"What box to align the button to. Can be either `plotBox` or\n`spacingBox`."},subtree:{}},theme:{meta:{types:{object:1},name:"theme",excludes:{},products:{highcharts:1,highmaps:1},description:"A collection of attributes for the button. The object takes SVG\nattributes like `fill`, `stroke`, `stroke-width` or `r`, the border\nradius. The theme also supports `style`, a collection of CSS\nproperties for the text. Equivalent attributes for the hover state\nare given in `theme.states.hover`."},subtree:{}}}},series:{meta:{types:{array:"Object"},name:"series",excludes:{},products:{highcharts:1,highmaps:1},description:"An array of series configurations for the drill down. Each series\nconfiguration uses the same syntax as the [series](#series) option\nset. These drilldown series are hidden by default. The drilldown\nseries is linked to the parent series' point by its `id`."},subtree:{}}}},exporting:{meta:{types:{object:1},name:"exporting",excludes:{},description:"Options for the exporting module. For an overview on the matter, see\n[the docs](https://www.highcharts.com/docs/export-module/export-module-overview)."},subtree:{allowHTML:{meta:{types:{boolean:1},name:"allowHTML",excludes:{},default:"false",description:"Experimental setting to allow HTML inside the chart (added through\nthe `useHTML` options), directly in the exported image. This allows\nyou to preserve complicated HTML structures like tables or bi-directional\ntext in exported charts.\n\nDisclaimer: The HTML is rendered in a `foreignObject` tag in the\ngenerated SVG. The official export server is based on PhantomJS,\nwhich supports this, but other SVG clients, like Batik, does not\nsupport it. This also applies to downloaded SVG that you want to\nopen in a desktop client."},subtree:{}},buttons:{meta:{types:{object:1},name:"buttons",excludes:{},description:"Options for the export related buttons, print and export. In addition\nto the default buttons listed here, custom buttons can be added.\nSee [navigation.buttonOptions](#navigation.buttonOptions) for general\noptions."},subtree:{contextButton:{meta:{types:{object:1},name:"contextButton",excludes:{},description:"Options for the export button.\n\nIn styled mode, export button styles can be applied with the\n`.highcharts-contextbutton` class.",extends:"navigation.buttonOptions"},subtree:{_titleKey:{meta:{types:{string:1},name:"_titleKey",excludes:{},default:"contextButtonTitle",description:'The key to a [lang](#lang) option setting that is used for the\nbutton\'s title tooltip. When the key is `contextButtonTitle`, it\nrefers to [lang.contextButtonTitle](#lang.contextButtonTitle)\nthat defaults to "Chart context menu".'},subtree:{}},className:{meta:{types:{string:1},name:"className",excludes:{},default:"highcharts-contextbutton",description:"The class name of the context button."},subtree:{}},menuClassName:{meta:{types:{string:1},name:"menuClassName",excludes:{},default:"highcharts-contextmenu",description:"The class name of the menu appearing from the button."},subtree:{}},menuItems:{meta:{types:{array:"String"},name:"menuItems",excludes:{},description:"A collection of strings pointing to config options for the menu\nitems. The config options are defined in the\n`menuItemDefinitions` option.\n\nBy default, there is the \"Print\" menu item plus one menu item\nfor each of the available export types.\n\nDefaults to\n
    \n[\n   'printChart',\n   'separator',\n   'downloadPNG',\n   'downloadJPEG',\n   'downloadPDF',\n   'downloadSVG'\n]\n
    "},subtree:{}},onclick:{meta:{types:{function:1},name:"onclick",excludes:{},description:"A click handler callback to use on the button directly instead of\nthe popup menu."},subtree:{}},symbol:{meta:{types:{string:1},name:"symbol",excludes:{},default:"menu",description:"The symbol for the button. Points to a definition function in\nthe `Highcharts.Renderer.symbols` collection. The default\n`exportIcon` function is part of the exporting module."},subtree:{}},symbolFill:{meta:{types:{color:1},name:"symbolFill",excludes:{},default:"#666666",description:"See [navigation.buttonOptions.symbolFill](\n#navigation.buttonOptions.symbolFill)."},subtree:{}},x:{meta:{types:{number:1},name:"x",excludes:{},default:"-10",description:"The horizontal position of the button relative to the `align`\noption."},subtree:{}}}}}},chartOptions:{meta:{types:{object:1},name:"chartOptions",excludes:{},default:"null",description:"Additional chart options to be merged into an exported chart. For\nexample, a common use case is to add data labels to improve readability\nof the exported chart, or to add a printer-friendly color scheme."},subtree:{}},csv:{meta:{types:{object:1},name:"csv",excludes:{},description:"Options for exporting data to CSV or ExCel, or displaying the data\nin a HTML table or a JavaScript structure. Requires the\n`export-data.js` module. This module adds data export options to the\nexport menu and provides functions like `Chart.getCSV`,\n`Chart.getTable`, `Chart.getDataRows` and `Chart.viewData`.\n\nThe XLS converter is limited and only creates a HTML string that is\npassed for download, which works but creates a warning before\nopening. The workaround for this is to use a third party XLSX\nconverter, as demonstrated in the sample below."},subtree:{columnHeaderFormatter:{meta:{types:{function:1,null:1},name:"columnHeaderFormatter",excludes:{},default:null,description:'Formatter callback for the column headers. Parameters are:\n- `item` - The series or axis object)\n- `key` - The point key, for example y or z\n- `keyLength` - The amount of value keys for this item, for\n example a range series has the keys `low` and `high` so the\n key length is 2.\n\nIf [useMultiLevelHeaders](#exporting.useMultiLevelHeaders) is\ntrue, columnHeaderFormatter by default returns an object with\ncolumnTitle and topLevelColumnTitle for each key. Columns with\nthe same topLevelColumnTitle have their titles merged into a\nsingle cell with colspan for table/Excel export.\n\nIf `useMultiLevelHeaders` is false, or for CSV export, it returns\nthe series name, followed by the key if there is more than one\nkey.\n\nFor the axis it returns the axis title or "Category" or\n"DateTime" by default.\n\nReturn `false` to use Highcharts\' proposed header.'},subtree:{}},dateFormat:{meta:{types:{string:1},name:"dateFormat",excludes:{},default:"%Y-%m-%d %H:%M:%S",description:"Which date format to use for exported dates on a datetime X axis.\nSee `Highcharts.dateFormat`."},subtree:{}},decimalPoint:{meta:{types:{string:1},name:"decimalPoint",excludes:{},default:null,description:"Which decimal point to use for exported CSV. Defaults to the same\nas the browser locale, typically `.` (English) or `,` (German,\nFrench etc)."},subtree:{}},itemDelimiter:{meta:{types:{string:1},name:"itemDelimiter",excludes:{},default:null,description:"The item delimiter in the exported data. Use `;` for direct\nexporting to Excel. Defaults to a best guess based on the browser\nlocale. If the locale _decimal point_ is `,`, the `itemDelimiter`\ndefaults to `;`, otherwise the `itemDelimiter` defaults to `,`."},subtree:{}},lineDelimiter:{meta:{types:{string:1},name:"lineDelimiter",excludes:{},default:"\n",description:"The line delimiter in the exported data, defaults to a newline."},subtree:{}}}},enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:"true",description:"Whether to enable the exporting module. Disabling the module will\nhide the context button, but API methods will still be available."},subtree:{}},error:{meta:{types:{function:1},name:"error",excludes:{},default:"undefined",description:"Function to call if the offline-exporting module fails to export\na chart on the client side, and [fallbackToExportServer](\n#exporting.fallbackToExportServer) is disabled. If left undefined, an\nexception is thrown instead. Receives two parameters, the exporting\noptions, and the error from the module."},subtree:{}},fallbackToExportServer:{meta:{types:{boolean:1},name:"fallbackToExportServer",excludes:{},default:"true",description:"Whether or not to fall back to the export server if the offline-exporting\nmodule is unable to export the chart on the client side. This happens for\ncertain browsers, and certain features (e.g.\n[allowHTML](#exporting.allowHTML)), depending on the image type exporting\nto. For very complex charts, it is possible that export can fail in\nbrowsers that don't support Blob objects, due to data URL length limits.\nIt is recommended to define the [exporting.error](#exporting.error)\nhandler if disabling fallback, in order to notify users in case export\nfails."},subtree:{}},filename:{meta:{types:{string:1},name:"filename",excludes:{},default:"chart",description:"The filename, without extension, to use for the exported chart."},subtree:{}},formAttributes:{meta:{types:{object:1},name:"formAttributes",excludes:{},description:"An object containing additional attributes for the POST form that\nsends the SVG to the export server. For example, a `target` can be\nset to make sure the generated image is received in another frame,\n or a custom `enctype` or `encoding` can be set."},subtree:{}},libURL:{meta:{types:{string:1},name:"libURL",excludes:{},description:"Path where Highcharts will look for export module dependencies to\nload on demand if they don't already exist on `window`. Should currently\npoint to location of [CanVG](https://github.com/canvg/canvg) library,\n[RGBColor.js](https://github.com/canvg/canvg), [jsPDF](https://github.\ncom/yWorks/jsPDF) and [svg2pdf.js](https://github.com/yWorks/svg2pdf.\njs), required for client side export in certain browsers."},subtree:{}},menuItemDefinitions:{meta:{types:{object:1},name:"menuItemDefinitions",excludes:{},description:"An object consisting of definitions for the menu items in the context\nmenu. Each key value pair has a `key` that is referenced in the\n[menuItems](#exporting.buttons.contextButton.menuItems) setting,\nand a `value`, which is an object with the following properties:\n\n
    \n\n
    onclick
    \n\n
    The click handler for the menu item
    \n\n
    text
    \n\n
    The text for the menu item
    \n\n
    textKey
    \n\n
    If internationalization is required, the key to a language string\n
    \n\n
    "},subtree:{}},printMaxWidth:{meta:{types:{number:1},name:"printMaxWidth",excludes:{},default:"780",description:"When printing the chart from the menu item in the burger menu, if\nthe on-screen chart exceeds this width, it is resized. After printing\nor cancelled, it is restored. The default width makes the chart\nfit into typical paper format. Note that this does not affect the\nchart when printing the web page as a whole."},subtree:{}},scale:{meta:{types:{number:1},name:"scale",excludes:{},default:2,description:"Defines the scale or zoom factor for the exported image compared\nto the on-screen display. While for instance a 600px wide chart\nmay look good on a website, it will look bad in print. The default\nscale of 2 makes this chart export to a 1200px PNG or JPG."},subtree:{}},showTable:{meta:{types:{boolean:1},name:"showTable",excludes:{},default:!1,description:"Export-data module required. Show a HTML table below the chart with\nthe chart's current data."},subtree:{}},sourceHeight:{meta:{types:{number:1},name:"sourceHeight",excludes:{},description:"Analogous to [sourceWidth](#exporting.sourceWidth)."},subtree:{}},sourceWidth:{meta:{types:{number:1},name:"sourceWidth",excludes:{},description:"The width of the original chart when exported, unless an explicit\n[chart.width](#chart.width) is set. The width exported raster image\nis then multiplied by [scale](#exporting.scale)."},subtree:{}},tableCaption:{meta:{types:{boolean:1,string:1},name:"tableCaption",excludes:{},default:"undefined",description:"Export-data module required. Caption for the data table. Same as\nchart title by default. Set to `false` to disable."},subtree:{}},type:{meta:{types:{string:1},name:"type",excludes:{},default:"image/png",description:"Default MIME type for exporting if `chart.exportChart()` is called\nwithout specifying a `type` option. Possible values are `image/png`,\n `image/jpeg`, `application/pdf` and `image/svg+xml`."},subtree:{}},url:{meta:{types:{string:1},name:"url",excludes:{},default:"https://export.highcharts.com/",description:"The URL for the server module converting the SVG string to an image\nformat. By default this points to Highchart's free web service."},subtree:{}},useMultiLevelHeaders:{meta:{types:{boolean:1},name:"useMultiLevelHeaders",excludes:{},default:!0,description:"Export-data module required. Use multi level headers in data table.\nIf [csv.columnHeaderFormatter](#exporting.csv.columnHeaderFormatter)\nis defined, it has to return objects in order for multi level headers\nto work."},subtree:{}},useRowspanHeaders:{meta:{types:{boolean:1},name:"useRowspanHeaders",excludes:{},default:!0,description:"Export-data module required. If using multi level table headers, use\nrowspans for headers that have only one level."},subtree:{}},width:{meta:{types:{number:1},name:"width",excludes:{},default:"undefined",description:"The pixel width of charts exported to PNG or JPG. As of Highcharts\n3.0, the default pixel width is a function of the [chart.width](\n#chart.width) or [exporting.sourceWidth](#exporting.sourceWidth) and the\n[exporting.scale](#exporting.scale)."},subtree:{}}}},global:{meta:{types:{object:1},name:"global",excludes:{}},subtree:{Date:{meta:{types:{function:1},name:"Date",excludes:{},products:{highcharts:1,highstock:1},description:"This option is deprecated since v6.0.5. Instead, use\n[time.Date](#time.Date) that supports individual time settings\nper chart."},subtree:{}},VMLRadialGradientURL:{meta:{types:{string:1},name:"VMLRadialGradientURL",excludes:{},description:"Path to the pattern image required by VML browsers in order to\ndraw radial gradients."},subtree:{}},canvasToolsURL:{meta:{types:{string:1},name:"canvasToolsURL",excludes:{},products:{highcharts:1,highmaps:1},description:"_Canvg rendering for Android 2.x is removed as of Highcharts 5.0\\.\nUse the [libURL](#exporting.libURL) option to configure exporting._\n\nThe URL to the additional file to lazy load for Android 2.x devices.\nThese devices don't support SVG, so we download a helper file that\ncontains [canvg](http://code.google.com/p/canvg/), its dependency\nrbcolor, and our own CanVG Renderer class. To avoid hotlinking to\nour site, you can install canvas-tools.js on your own server and\nchange this option accordingly."},subtree:{}},getTimezoneOffset:{meta:{types:{function:1},name:"getTimezoneOffset",excludes:{},products:{highcharts:1,highstock:1},description:"This option is deprecated since v6.0.5. Instead, use\n[time.getTimezoneOffset](#time.getTimezoneOffset) that supports\nindividual time settings per chart."},subtree:{}},timezone:{meta:{types:{string:1},name:"timezone",excludes:{},products:{highcharts:1,highstock:1},description:"This option is deprecated since v6.0.5. Instead, use\n[time.timezone](#time.timezone) that supports individual time\nsettings per chart."},subtree:{}},timezoneOffset:{meta:{types:{number:1},name:"timezoneOffset",excludes:{},products:{highcharts:1,highstock:1},description:"This option is deprecated since v6.0.5. Instead, use\n[time.timezoneOffset](#time.timezoneOffset) that supports individual\ntime settings per chart."},subtree:{}},useUTC:{meta:{types:{boolean:1},name:"useUTC",excludes:{},description:"This option is deprecated since v6.0.5. Instead, use\n[time.useUTC](#time.useUTC) that supports individual time settings\nper chart."},subtree:{}}}},labels:{meta:{types:{"*":1},name:"labels",excludes:{},description:"HTML labels that can be positioned anywhere in the chart area."},subtree:{items:{meta:{types:{array:"*"},name:"items",excludes:{},description:"An HTML label that can be positioned anywhere in the chart area."},subtree:{html:{meta:{types:{string:1},name:"html",excludes:{},description:"Inner HTML or text for the label."},subtree:{}},style:{meta:{types:{"highcharts.cssobject":1},name:"style",excludes:{},description:"CSS styles for each label. To position the label, use left and top\nlike this:\n\n
    style: {\n    left: '100px',\n    top: '100px'\n}
    "},subtree:{}}}},style:{meta:{types:{"highcharts.cssobject":1},name:"style",excludes:{},default:'{"color": "#333333"}',description:"Shared CSS styles for all labels."},subtree:{color:{meta:{types:{string:1},name:"color",excludes:{},default:"#333333"},subtree:{}},position:{meta:{types:{string:1},name:"position",excludes:{},default:"absolute"},subtree:{}}}}}},lang:{meta:{types:{"*":1},name:"lang",excludes:{},description:"Language object. The language object is global and it can't be set\non each chart initiation. Instead, use `Highcharts.setOptions` to\nset it before any chart is initialized.\n\n
    Highcharts.setOptions({\n    lang: {\n        months: [\n            'Janvier', 'Février', 'Mars', 'Avril',\n            'Mai', 'Juin', 'Juillet', 'Août',\n            'Septembre', 'Octobre', 'Novembre', 'Décembre'\n        ],\n        weekdays: [\n            'Dimanche', 'Lundi', 'Mardi', 'Mercredi',\n            'Jeudi', 'Vendredi', 'Samedi'\n        ]\n    }\n});
    "},subtree:{accessibility:{meta:{types:{object:1},name:"accessibility",excludes:{},description:"Configure the accessibility strings in the chart. Requires the\n[accessibility module](//code.highcharts.com/modules/accessibility.\njs) to be loaded. For a description of the module and information\non its features, see [Highcharts Accessibility](http://www.highcharts.\ncom/docs/chart-concepts/accessibility).\n\nFor more dynamic control over the accessibility functionality, see\n[accessibility.pointDescriptionFormatter](\naccessibility.pointDescriptionFormatter),\n[accessibility.seriesDescriptionFormatter](\naccessibility.seriesDescriptionFormatter), and\n[accessibility.screenReaderSectionFormatter](\naccessibility.screenReaderSectionFormatter)."},subtree:{axis:{meta:{types:{object:1},name:"axis",excludes:{},description:"Axis description format strings."},subtree:{xAxisDescriptionPlural:{meta:{types:{string:1},name:"xAxisDescriptionPlural",excludes:{},default:"The chart has {numAxes} X axes displaying {#each(names, -1), }and {names[-1]}"},subtree:{}},xAxisDescriptionSingular:{meta:{types:{string:1},name:"xAxisDescriptionSingular",excludes:{},default:"The chart has 1 X axis displaying {names[0]}."},subtree:{}},yAxisDescriptionPlural:{meta:{types:{string:1},name:"yAxisDescriptionPlural",excludes:{},default:"The chart has {numAxes} Y axes displaying {#each(names, -1), }and {names[-1]}"},subtree:{}},yAxisDescriptionSingular:{meta:{types:{string:1},name:"yAxisDescriptionSingular",excludes:{},default:"The chart has 1 Y axis displaying {names[0]}."},subtree:{}}}},chartContainerLabel:{meta:{types:{string:1},name:"chartContainerLabel",excludes:{},default:"Interactive chart. {title}. Use up and down arrows to navigate with most screen readers."},subtree:{}},chartHeading:{meta:{types:{string:1},name:"chartHeading", excludes:{},default:"Chart graphic."},subtree:{}},chartTypes:{meta:{types:{object:1},name:"chartTypes",excludes:{},description:"Chart type description strings. This is added to the chart\ninformation region.\n\nIf there is only a single series type used in the chart, we use\nthe format string for the series type, or default if missing.\nThere is one format string for cases where there is only a single\nseries in the chart, and one for multiple series of the same\ntype."},subtree:{barMultiple:{meta:{types:{string:1},name:"barMultiple",excludes:{},default:"Bar chart with {numSeries} data series."},subtree:{}},barSingle:{meta:{types:{string:1},name:"barSingle",excludes:{},default:"Bar chart with {numPoints} {#plural(numPoints, bars, bar)}."},subtree:{}},boxplotMultiple:{meta:{types:{string:1},name:"boxplotMultiple",excludes:{},default:"Boxplot with {numSeries} data series."},subtree:{}},boxplotSingle:{meta:{types:{string:1},name:"boxplotSingle",excludes:{},default:"Boxplot with {numPoints} {#plural(numPoints, boxes, box)}."},subtree:{}},bubbleMultiple:{meta:{types:{string:1},name:"bubbleMultiple",excludes:{},default:"Bubble chart with {numSeries} data series."},subtree:{}},bubbleSingle:{meta:{types:{string:1},name:"bubbleSingle",excludes:{},default:"Bubble chart with {numPoints} {#plural(numPoints, bubbles, bubble)}."},subtree:{}},columnMultiple:{meta:{types:{string:1},name:"columnMultiple",excludes:{},default:"Bar chart with {numSeries} data series."},subtree:{}},columnSingle:{meta:{types:{string:1},name:"columnSingle",excludes:{},default:"Bar chart with {numPoints} {#plural(numPoints, bars, bar)}."},subtree:{}},combinationChart:{meta:{types:{string:1},name:"combinationChart",excludes:{},default:"Combination chart with {numSeries} data series."},subtree:{}},defaultMultiple:{meta:{types:{string:1},name:"defaultMultiple",excludes:{},default:"Chart with {numSeries} data series."},subtree:{}},defaultSingle:{meta:{types:{string:1},name:"defaultSingle",excludes:{},default:"Chart with {numPoints} data {#plural(numPoints, points, point)}."},subtree:{}},emptyChart:{meta:{types:{string:1},name:"emptyChart",excludes:{},default:"Empty chart"},subtree:{}},lineMultiple:{meta:{types:{string:1},name:"lineMultiple",excludes:{},default:"Line chart with {numSeries} lines."},subtree:{}},lineSingle:{meta:{types:{string:1},name:"lineSingle",excludes:{},default:"Line chart with {numPoints} data {#plural(numPoints, points, point)}."},subtree:{}},mapTypeDescription:{meta:{types:{string:1},name:"mapTypeDescription",excludes:{},default:"Map of {mapTitle} with {numSeries} data series."},subtree:{}},pieMultiple:{meta:{types:{string:1},name:"pieMultiple",excludes:{},default:"Pie chart with {numSeries} pies."},subtree:{}},pieSingle:{meta:{types:{string:1},name:"pieSingle",excludes:{},default:"Pie chart with {numPoints} {#plural(numPoints, slices, slice)}."},subtree:{}},scatterMultiple:{meta:{types:{string:1},name:"scatterMultiple",excludes:{},default:"Scatter chart with {numSeries} data series."},subtree:{}},scatterSingle:{meta:{types:{string:1},name:"scatterSingle",excludes:{},default:"Scatter chart with {numPoints} {#plural(numPoints, points, point)}."},subtree:{}},splineMultiple:{meta:{types:{string:1},name:"splineMultiple",excludes:{},default:"Line chart with {numSeries} lines."},subtree:{}},splineSingle:{meta:{types:{string:1},name:"splineSingle",excludes:{},default:"Line chart with {numPoints} data {#plural(numPoints, points, point)}."},subtree:{}},unknownMap:{meta:{types:{string:1},name:"unknownMap",excludes:{},default:"Map of unspecified region with {numSeries} data series."},subtree:{}}}},defaultChartTitle:{meta:{types:{string:1},name:"defaultChartTitle",excludes:{},default:"Chart"},subtree:{}},exporting:{meta:{types:{object:1},name:"exporting",excludes:{},description:"Exporting menu format strings for accessibility module."},subtree:{chartMenuLabel:{meta:{types:{string:1},name:"chartMenuLabel",excludes:{},default:"Chart export"},subtree:{}},exportRegionLabel:{meta:{types:{string:1},name:"exportRegionLabel",excludes:{},default:"Chart export menu"},subtree:{}},menuButtonLabel:{meta:{types:{string:1},name:"menuButtonLabel",excludes:{},default:"View export menu"},subtree:{}}}},legendItem:{meta:{types:{string:1},name:"legendItem",excludes:{},default:"Toggle visibility of series {itemName}"},subtree:{}},longDescriptionHeading:{meta:{types:{string:1},name:"longDescriptionHeading",excludes:{},default:"Long description."},subtree:{}},mapZoomIn:{meta:{types:{string:1},name:"mapZoomIn",excludes:{},default:"Zoom chart"},subtree:{}},mapZoomOut:{meta:{types:{string:1},name:"mapZoomOut",excludes:{},default:"Zoom out chart"},subtree:{}},navigationHint:{meta:{types:{string:1},name:"navigationHint",excludes:{},default:"Use regions/landmarks to skip ahead to chart {#plural(numSeries, and navigate between data series,)}"},subtree:{}},noDescription:{meta:{types:{string:1},name:"noDescription",excludes:{},default:"No description available."},subtree:{}},rangeSelectorButton:{meta:{types:{string:1},name:"rangeSelectorButton",excludes:{},default:"Select range {buttonText}"},subtree:{}},rangeSelectorMaxInput:{meta:{types:{string:1},name:"rangeSelectorMaxInput",excludes:{},default:"Select end date."},subtree:{}},rangeSelectorMinInput:{meta:{types:{string:1},name:"rangeSelectorMinInput",excludes:{},default:"Select start date."},subtree:{}},screenReaderRegionLabel:{meta:{types:{string:1},name:"screenReaderRegionLabel",excludes:{},default:"Chart screen reader information."},subtree:{}},series:{meta:{types:{object:1},name:"series",excludes:{},description:"Lang configuration for different series types. For more dynamic\ncontrol over the series element descriptions, see\n[accessibility.seriesDescriptionFormatter](\naccessibility.seriesDescriptionFormatter)."},subtree:{description:{meta:{types:{string:1},name:"description",excludes:{},default:"{description}",description:"User supplied description text. This is added after the main\nsummary if present."},subtree:{}},summary:{meta:{types:{object:1},name:"summary",excludes:{},description:"Lang configuration for the series main summary. Each series\ntype has two modes:\n 1. This series type is the only series type used in the\n chart\n 2. This is a combination chart with multiple series types\n\nIf a definition does not exist for the specific series type\nand mode, the 'default' lang definitions are used."},subtree:{bar:{meta:{types:{string:1},name:"bar",excludes:{},default:"{name}, bar series {ix} of {numSeries} with {numPoints} {#plural(numPoints, bars, bar)}."},subtree:{}},barCombination:{meta:{types:{string:1},name:"barCombination",excludes:{},default:"{name}, series {ix} of {numSeries}. Bar series with {numPoints} {#plural(numPoints, bars, bar)}."},subtree:{}},boxplot:{meta:{types:{string:1},name:"boxplot",excludes:{},default:"{name}, boxplot {ix} of {numSeries} with {numPoints} {#plural(numPoints, boxes, box)}."},subtree:{}},boxplotCombination:{meta:{types:{string:1},name:"boxplotCombination",excludes:{},default:"{name}, series {ix} of {numSeries}. Boxplot with {numPoints} {#plural(numPoints, boxes, box)}."},subtree:{}},bubble:{meta:{types:{string:1},name:"bubble",excludes:{},default:"{name}, bubble series {ix} of {numSeries} with {numPoints} {#plural(numPoints, bubbles, bubble)}."},subtree:{}},bubbleCombination:{meta:{types:{string:1},name:"bubbleCombination",excludes:{},default:"{name}, series {ix} of {numSeries}. Bubble series with {numPoints} {#plural(numPoints, bubbles, bubble)}."},subtree:{}},column:{meta:{types:{string:1},name:"column",excludes:{},default:"{name}, bar series {ix} of {numSeries} with {numPoints} {#plural(numPoints, bars, bar)}."},subtree:{}},columnCombination:{meta:{types:{string:1},name:"columnCombination",excludes:{},default:"{name}, series {ix} of {numSeries}. Bar series with {numPoints} {#plural(numPoints, bars, bar)}."},subtree:{}},default:{meta:{types:{string:1},name:"default",excludes:{},default:"{name}, series {ix} of {numSeries} with {numPoints} data {#plural(numPoints, points, point)}."},subtree:{}},defaultCombination:{meta:{types:{string:1},name:"defaultCombination",excludes:{},default:"{name}, series {ix} of {numSeries} with {numPoints} data {#plural(numPoints, points, point)}."},subtree:{}},line:{meta:{types:{string:1},name:"line",excludes:{},default:"{name}, line {ix} of {numSeries} with {numPoints} data {#plural(numPoints, points, point)}."},subtree:{}},lineCombination:{meta:{types:{string:1},name:"lineCombination",excludes:{},default:"{name}, series {ix} of {numSeries}. Line with {numPoints} data {#plural(numPoints, points, point)}."},subtree:{}},map:{meta:{types:{string:1},name:"map",excludes:{},default:"{name}, map {ix} of {numSeries} with {numPoints} {#plural(numPoints, areas, area)}."},subtree:{}},mapCombination:{meta:{types:{string:1},name:"mapCombination",excludes:{},default:"{name}, series {ix} of {numSeries}. Map with {numPoints} {#plural(numPoints, areas, area)}."},subtree:{}},mapbubble:{meta:{types:{string:1},name:"mapbubble",excludes:{},default:"{name}, bubble series {ix} of {numSeries} with {numPoints} {#plural(numPoints, bubbles, bubble)}."},subtree:{}},mapbubbleCombination:{meta:{types:{string:1},name:"mapbubbleCombination",excludes:{},default:"{name}, series {ix} of {numSeries}. Bubble series with {numPoints} {#plural(numPoints, bubbles, bubble)}."},subtree:{}},mapline:{meta:{types:{string:1},name:"mapline",excludes:{},default:"{name}, line {ix} of {numSeries} with {numPoints} data {#plural(numPoints, points, point)}."},subtree:{}},maplineCombination:{meta:{types:{string:1},name:"maplineCombination",excludes:{},default:"{name}, series {ix} of {numSeries}. Line with {numPoints} data {#plural(numPoints, points, point)}."},subtree:{}},pie:{meta:{types:{string:1},name:"pie",excludes:{},default:"{name}, pie {ix} of {numSeries} with {numPoints} {#plural(numPoints, slices, slice)}."},subtree:{}},pieCombination:{meta:{types:{string:1},name:"pieCombination",excludes:{},default:"{name}, series {ix} of {numSeries}. Pie with {numPoints} {#plural(numPoints, slices, slice)}."},subtree:{}},scatter:{meta:{types:{string:1},name:"scatter",excludes:{},default:"{name}, scatter plot {ix} of {numSeries} with {numPoints} {#plural(numPoints, points, point)}."},subtree:{}},scatterCombination:{meta:{types:{string:1},name:"scatterCombination",excludes:{},default:"{name}, series {ix} of {numSeries}, scatter plot with {numPoints} {#plural(numPoints, points, point)}."},subtree:{}},spline:{meta:{types:{string:1},name:"spline",excludes:{},default:"{name}, line {ix} of {numSeries} with {numPoints} data {#plural(numPoints, points, point)}."},subtree:{}},splineCombination:{meta:{types:{string:1},name:"splineCombination",excludes:{},default:"{name}, series {ix} of {numSeries}. Line with {numPoints} data {#plural(numPoints, points, point)}."},subtree:{}}}},xAxisDescription:{meta:{types:{string:1},name:"xAxisDescription",excludes:{},default:"X axis, {name}",description:"xAxis description for series if there are multiple xAxes in\nthe chart."},subtree:{}},yAxisDescription:{meta:{types:{string:1},name:"yAxisDescription",excludes:{},default:"Y axis, {name}",description:"yAxis description for series if there are multiple yAxes in\nthe chart."},subtree:{}}}},seriesTypeDescriptions:{meta:{types:{object:1},name:"seriesTypeDescriptions",excludes:{},description:"Descriptions of lesser known series types. The relevant\ndescription is added to the screen reader information region\nwhen these series types are used."},subtree:{arearange:{meta:{types:{string:1},name:"arearange",excludes:{},default:"Arearange charts are line charts displaying a range between a lower and higher value for each point."},subtree:{}},areasplinerange:{meta:{types:{string:1},name:"areasplinerange",excludes:{},default:"These charts are line charts displaying a range between a lower and higher value for each point."},subtree:{}},boxplot:{meta:{types:{string:1},name:"boxplot",excludes:{},default:"Box plot charts are typically used to display groups of statistical data. Each data point in the chart can have up to 5 values: minimum, lower quartile, median, upper quartile, and maximum."},subtree:{}},bubble:{meta:{types:{string:1},name:"bubble",excludes:{},default:"Bubble charts are scatter charts where each data point also has a size value."},subtree:{}},columnrange:{meta:{types:{string:1},name:"columnrange",excludes:{},default:"Columnrange charts are column charts displaying a range between a lower and higher value for each point."},subtree:{}},errorbar:{meta:{types:{string:1},name:"errorbar",excludes:{},default:"Errorbar series are used to display the variability of the data."},subtree:{}},funnel:{meta:{types:{string:1},name:"funnel",excludes:{},default:"Funnel charts are used to display reduction of data in stages."},subtree:{}},pyramid:{meta:{types:{string:1},name:"pyramid",excludes:{},default:"Pyramid charts consist of a single pyramid with item heights corresponding to each point value."},subtree:{}},waterfall:{meta:{types:{string:1},name:"waterfall",excludes:{},default:"A waterfall chart is a column chart where each column contributes towards a total end value."},subtree:{}}}},structureHeading:{meta:{types:{string:1},name:"structureHeading",excludes:{},default:"Structure."},subtree:{}},svgContainerTitle:{meta:{types:{string:1},name:"svgContainerTitle",excludes:{},default:"{chartTitle}",description:"Title element text for the chart SVG element. Leave this\nempty to disable adding the title element. Browsers will display\nthis content when hovering over elements in the chart. Assistive\ntechnology may use this element to label the chart."},subtree:{}},tableSummary:{meta:{types:{string:1},name:"tableSummary",excludes:{},default:"Table representation of chart."},subtree:{}},viewAsDataTable:{meta:{types:{string:1},name:"viewAsDataTable",excludes:{},default:"View as data table."},subtree:{}}}},contextButtonTitle:{meta:{types:{string:1},name:"contextButtonTitle",excludes:{},default:"Chart context menu",description:"Exporting module menu. The tooltip title for the context menu holding\nprint and export menu items."},subtree:{}},decimalPoint:{meta:{types:{string:1},name:"decimalPoint",excludes:{},default:".",description:"The default decimal point used in the `Highcharts.numberFormat`\nmethod unless otherwise specified in the function arguments."},subtree:{}},downloadCSV:{meta:{types:{string:1},name:"downloadCSV",excludes:{},default:"Download CSV",description:"Export-data module only. The text for the menu item."},subtree:{}},downloadJPEG:{meta:{types:{string:1},name:"downloadJPEG",excludes:{},default:"Download JPEG image",description:"Exporting module only. The text for the JPEG download menu item."},subtree:{}},downloadPDF:{meta:{types:{string:1},name:"downloadPDF",excludes:{},default:"Download PDF document",description:"Exporting module only. The text for the PDF download menu item."},subtree:{}},downloadPNG:{meta:{types:{string:1},name:"downloadPNG",excludes:{},default:"Download PNG image",description:"Exporting module only. The text for the PNG download menu item."},subtree:{}},downloadSVG:{meta:{types:{string:1},name:"downloadSVG",excludes:{},default:"Download SVG vector image",description:"Exporting module only. The text for the SVG download menu item."},subtree:{}},downloadXLS:{meta:{types:{string:1},name:"downloadXLS",excludes:{},default:"Download XLS",description:"Export-data module only. The text for the menu item."},subtree:{}},drillUpText:{meta:{types:{string:1},name:"drillUpText",excludes:{},default:"Back to {series.name}",products:{highcharts:1,highmaps:1},description:"The text for the button that appears when drilling down, linking\nback to the parent series. The parent series' name is inserted for\n`{series.name}`."},subtree:{}},invalidDate:{meta:{types:{string:1},name:"invalidDate",excludes:{},products:{highcharts:1,highstock:1},description:"What to show in a date field for invalid dates. Defaults to an empty\nstring."},subtree:{}},loading:{meta:{types:{string:1},name:"loading",excludes:{},default:"Loading...",description:"The loading text that appears when the chart is set into the loading\nstate following a call to `chart.showLoading`."},subtree:{}},months:{meta:{types:{array:"string"},name:"months",excludes:{},default:'["January", "February", "March", "April", "May", "June",\n "July", "August", "September", "October", "November",\n "December"]',description:"An array containing the months names. Corresponds to the `%B` format\nin `Highcharts.dateFormat()`."},subtree:{}},noData:{meta:{types:{string:1},name:"noData",excludes:{},default:"No data to display",products:{highcharts:1,highstock:1},description:"The text to display when the chart contains no data. Requires the\nno-data module, see [noData](#noData)."},subtree:{}},numericSymbolMagnitude:{meta:{types:{number:1},name:"numericSymbolMagnitude",excludes:{},default:"1000",description:"The magnitude of [numericSymbols](#lang.numericSymbol) replacements.\nUse 10000 for Japanese, Korean and various Chinese locales, which\nuse symbols for 10^4, 10^8 and 10^12."},subtree:{}},numericSymbols:{meta:{types:{array:"string"},name:"numericSymbols",excludes:{},default:'["k", "M", "G", "T", "P", "E"]',description:"[Metric prefixes](http://en.wikipedia.org/wiki/Metric_prefix) used\nto shorten high numbers in axis labels. Replacing any of the\npositions with `null` causes the full number to be written. Setting\n`numericSymbols` to `null` disables shortening altogether."},subtree:{}},openInCloud:{meta:{types:{string:1},name:"openInCloud",excludes:{},default:"Open in Highcharts Cloud",description:"Export-data module only. The text for the menu item."},subtree:{}},printChart:{meta:{types:{string:1},name:"printChart",excludes:{},default:"Print chart",description:"Exporting module only. The text for the menu item to print the chart."},subtree:{}},rangeSelectorFrom:{meta:{types:{string:1},name:"rangeSelectorFrom",excludes:{},default:"From",products:{highstock:1},description:'The text for the label for the "from" input box in the range\nselector.'},subtree:{}},rangeSelectorTo:{meta:{types:{string:1},name:"rangeSelectorTo",excludes:{},default:"To",products:{highstock:1},description:'The text for the label for the "to" input box in the range selector.'},subtree:{}},rangeSelectorZoom:{meta:{types:{string:1},name:"rangeSelectorZoom",excludes:{},default:"Zoom",products:{highstock:1},description:"The text for the label for the range selector buttons."},subtree:{}},resetZoom:{meta:{types:{string:1},name:"resetZoom",excludes:{},default:"Reset zoom",description:"The text for the label appearing when a chart is zoomed."},subtree:{}},resetZoomTitle:{meta:{types:{string:1},name:"resetZoomTitle",excludes:{},default:"Reset zoom level 1:1",description:"The tooltip title for the label appearing when a chart is zoomed."},subtree:{}},shortMonths:{meta:{types:{array:"string"},name:"shortMonths",excludes:{},default:'["Jan", "Feb", "Mar", "Apr", "May", "Jun",\n "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]',description:"An array containing the months names in abbreviated form. Corresponds\nto the `%b` format in `Highcharts.dateFormat()`."},subtree:{}},shortWeekdays:{meta:{types:{array:"string"},name:"shortWeekdays",excludes:{},description:"Short week days, starting Sunday. If not specified, Highcharts uses\nthe first three letters of the `lang.weekdays` option."},subtree:{}},thousandsSep:{meta:{types:{string:1},name:"thousandsSep",excludes:{},default:"\\u0020",description:"The default thousands separator used in the `Highcharts.numberFormat`\nmethod unless otherwise specified in the function arguments. Since\nHighcharts 4.1 it defaults to a single space character, which is\ncompatible with ISO and works across Anglo-American and continental\nEuropean languages.\n\nThe default is a single space."},subtree:{}},viewData:{meta:{types:{string:1},name:"viewData",excludes:{},default:"View data table",description:"Export-data module only. The text for the menu item."},subtree:{}},weekdays:{meta:{types:{array:"string"},name:"weekdays",excludes:{},default:'["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday",\n "Friday", "Saturday"]',description:"An array containing the weekday names."},subtree:{}},zoomIn:{meta:{types:{string:1},name:"zoomIn",excludes:{},default:"Zoom in",products:{highmaps:1},description:'The title appearing on hovering the zoom in button. The text itself\ndefaults to "+" and can be changed in the button options.'},subtree:{}},zoomOut:{meta:{types:{string:1},name:"zoomOut",excludes:{},default:"Zoom out",products:{highmaps:1},description:'The title appearing on hovering the zoom out button. The text itself\ndefaults to "-" and can be changed in the button options.'},subtree:{}}}},legend:{meta:{types:{"*":1},name:"legend",excludes:{},description:"Options for the tooltip that appears when the user hovers over a\nseries or point."},subtree:{align:{meta:{types:{string:1},name:"align",excludes:{},default:"center",description:"The horizontal alignment of the legend box within the chart area.\nValid values are `left`, `center` and `right`.\n\nIn the case that the legend is aligned in a corner position, the\n`layout` option will determine whether to place it above/below\nor on the side of the plot area."},subtree:{}},alignColumns:{meta:{types:{boolean:1},name:"alignColumns",excludes:{},default:!0,description:"If the [layout](legend.layout) is `horizontal` and the legend items\nspan over two lines or more, whether to align the items into vertical\ncolumns. Setting this to `false` makes room for more items, but will\nlook more messy."},subtree:{}},backgroundColor:{meta:{types:{"highcharts.colorstring":1},name:"backgroundColor",excludes:{},description:"The background color of the legend."},subtree:{}},borderColor:{meta:{types:{"highcharts.colorstring":1},name:"borderColor",excludes:{},default:"#999999",description:"The color of the drawn border around the legend."},subtree:{}},borderRadius:{meta:{types:{number:1},name:"borderRadius",excludes:{},default:0,description:"The border corner radius of the legend."},subtree:{}},borderWidth:{meta:{types:{number:1},name:"borderWidth",excludes:{},default:"0",description:"The width of the drawn border around the legend."},subtree:{}},enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:!0,description:"Enable or disable the legend."},subtree:{}},floating:{meta:{types:{string:1},name:"floating",excludes:{},default:"horizontal",description:"The layout of the legend items. Can be one of `horizontal` or\n`vertical` or `proximate`. When `proximate`, the legend items will be\nplaced as close as possible to the graphs they're representing,\nexcept in inverted charts or when the legend position doesn't allow\nit."},subtree:{}},itemCheckboxStyle:{meta:{types:{"highcharts.cssobject":1},name:"itemCheckboxStyle",excludes:{},description:"Default styling for the checkbox next to a legend item when\n`showCheckbox` is true."},subtree:{height:{meta:{types:{string:1},name:"height",excludes:{},default:"13px"},subtree:{}},position:{meta:{types:{string:1},name:"position",excludes:{},default:"absolute"},subtree:{}},width:{meta:{types:{string:1},name:"width",excludes:{},default:"13px"},subtree:{}}}},itemDistance:{meta:{types:{number:1},name:"itemDistance",excludes:{},description:"In a legend with horizontal layout, the itemDistance defines the\npixel distance between each item."},subtree:{}},itemHiddenStyle:{meta:{types:{"highcharts.cssobject":1},name:"itemHiddenStyle",excludes:{},default:'{"color": "#cccccc"}',description:"CSS styles for each legend item when the corresponding series or\npoint is hidden. Only a subset of CSS is supported, notably those\noptions related to text. Properties are inherited from `style`\nunless overridden here."},subtree:{color:{meta:{types:{string:1},name:"color",excludes:{},default:"#cccccc"},subtree:{}}}},itemHoverStyle:{meta:{types:{"highcharts.cssobject":1},name:"itemHoverStyle",excludes:{},default:'{"color": "#000000"}',description:"CSS styles for each legend item in hover mode. Only a subset of\nCSS is supported, notably those options related to text. Properties\nare inherited from `style` unless overridden here."},subtree:{color:{meta:{types:{string:1},name:"color",excludes:{},default:"#000000"},subtree:{}}}},itemMarginBottom:{meta:{types:{number:1},name:"itemMarginBottom",excludes:{},default:"0",description:"The pixel bottom margin for each legend item."},subtree:{}},itemMarginTop:{meta:{types:{number:1},name:"itemMarginTop",excludes:{},default:"0",description:"The pixel top margin for each legend item."},subtree:{}},itemStyle:{meta:{types:{"highcharts.cssobject":1},name:"itemStyle",excludes:{},default:'{"color": "#333333", "cursor": "pointer", "fontSize": "12px", "fontWeight": "bold", "textOverflow": "ellipsis"}',description:"CSS styles for each legend item. Only a subset of CSS is supported,\nnotably those options related to text. The default `textOverflow`\nproperty makes long texts truncate. Set it to `undefined` to wrap\ntext instead. A `width` property can be added to control the text\nwidth."},subtree:{color:{meta:{types:{string:1},name:"color",excludes:{},default:"#333333"},subtree:{}},fontSize:{meta:{types:{string:1},name:"fontSize",excludes:{},default:"12px"},subtree:{}},fontWeight:{meta:{types:{string:1},name:"fontWeight",excludes:{},default:"bold"},subtree:{}},textOverflow:{meta:{types:{string:1},name:"textOverflow",excludes:{},default:"ellipsis"},subtree:{}}}},itemWidth:{meta:{types:{number:1},name:"itemWidth",excludes:{},description:"The width for each legend item. By default the items are laid out\nsuccessively. In a [horizontal layout](legend.layout), if the items\nare laid out across two rows or more, they will be vertically aligned\ndepending on the [legend.alignColumns](legend.alignColumns) option."},subtree:{}},keyboardNavigation:{meta:{types:{object:1},name:"keyboardNavigation",excludes:{},description:"Keyboard navigation for the legend. Requires the Accessibility module."},subtree:{enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:"true",description:"Enable/disable keyboard navigation for the legend. Requires the Accessibility\nmodule."},subtree:{}}}},labelFormat:{meta:{types:{string:1},name:"labelFormat",excludes:{},default:"{name}",description:"A [format string](https://www.highcharts.com/docs/chart-concepts/\nlabels-and-string-formatting) for each legend label. Available\nvariables relates to properties on the series, or the point in case\nof pies."},subtree:{}},labelFormatter:{meta:{types:{function:1},name:"labelFormatter",excludes:{},description:"Callback function to format each of the series' labels. The `this`\nkeyword refers to the series object, or the point object in case\nof pie charts. By default the series or point name is printed."},subtree:{}},layout:{meta:{types:{string:1},name:"layout",excludes:{},default:"horizontal"},subtree:{}},lineHeight:{meta:{types:{number:1},name:"lineHeight",excludes:{},default:"16",products:{highcharts:1},description:"Line height for the legend items. Deprecated as of 2.1\\. Instead,\nthe line height for each item can be set using itemStyle.lineHeight,\nand the padding between items using `itemMarginTop` and\n`itemMarginBottom`."},subtree:{}},margin:{meta:{types:{number:1},name:"margin",excludes:{},default:"12",description:"If the plot area sized is calculated automatically and the legend\nis not floating, the legend margin is the space between the legend\nand the axis labels or plot area."},subtree:{}},maxHeight:{meta:{types:{number:1},name:"maxHeight",excludes:{},description:"Maximum pixel height for the legend. When the maximum height is\nextended, navigation will show."},subtree:{}},navigation:{meta:{types:{"*":1},name:"navigation",excludes:{},description:"Options for the paging or navigation appearing when the legend\nis overflown. Navigation works well on screen, but not in static\nexported images. One way of working around that is to\n[increase the chart height in\nexport](https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/legend/navigation-enabled-false/)."},subtree:{activeColor:{meta:{types:{"highcharts.colorstring":1},name:"activeColor",excludes:{},default:"#003399",description:"The color for the active up or down arrow in the legend page\nnavigation."},subtree:{}},animation:{meta:{types:{"highcharts.animationobject":1,boolean:1},name:"animation",excludes:{},default:"true",description:"How to animate the pages when navigating up or down. A value of\n`true` applies the default navigation given in the\n`chart.animation` option. Additional options can be given as an\nobject containing values for easing and duration."},subtree:{}},arrowSize:{meta:{types:{number:1},name:"arrowSize",excludes:{},default:"12",description:"The pixel size of the up and down arrows in the legend paging\nnavigation."},subtree:{}},enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:"true",description:"Whether to enable the legend navigation. In most cases, disabling\nthe navigation results in an unwanted overflow.\n\nSee also the [adapt chart to legend](\nhttps://www.highcharts.com/products/plugin-registry/single/8/Adapt-Chart-To-Legend)\nplugin for a solution to extend the chart height to make room for\nthe legend, optionally in exported charts only."},subtree:{}},inactiveColor:{meta:{types:{"highcharts.colorstring":1},name:"inactiveColor",excludes:{},default:"#cccccc",description:"The color of the inactive up or down arrow in the legend page\nnavigation. ."},subtree:{}},style:{meta:{types:{"highcharts.cssobject":1},name:"style",excludes:{},description:"Text styles for the legend page navigation."},subtree:{}}}},padding:{meta:{types:{number:1},name:"padding",excludes:{},default:"8",description:"The inner padding of the legend box."},subtree:{}},reversed:{meta:{types:{boolean:1},name:"reversed",excludes:{},default:"false",description:"Whether to reverse the order of the legend items compared to the\norder of the series or points as defined in the configuration object."},subtree:{}},rtl:{meta:{types:{boolean:1},name:"rtl",excludes:{},default:"false",description:"Whether to show the symbol on the right side of the text rather than\nthe left side. This is common in Arabic and Hebraic."},subtree:{}},shadow:{meta:{types:{"highcharts.cssobject":1,boolean:1},name:"shadow",excludes:{},default:"false",description:"Whether to apply a drop shadow to the legend. A `backgroundColor`\nalso needs to be applied for this to take effect. The shadow can be\nan object configuration containing `color`, `offsetX`, `offsetY`,\n`opacity` and `width`."},subtree:{}},squareSymbol:{meta:{types:{boolean:1},name:"squareSymbol",excludes:{},default:"true",description:"When this is true, the legend symbol width will be the same as\nthe symbol height, which in turn defaults to the font size of the\nlegend items."},subtree:{}},style:{meta:{types:{"highcharts.cssobject":1},name:"style",excludes:{},products:{highcharts:1,highstock:1},description:"CSS styles for the legend area. In the 1.x versions the position\nof the legend area was determined by CSS. In 2.x, the position is\ndetermined by properties like `align`, `verticalAlign`, `x` and `y`,\nbut the styles are still parsed for backwards compatibility."},subtree:{}},symbolHeight:{meta:{types:{number:1},name:"symbolHeight",excludes:{},description:"The pixel height of the symbol for series types that use a rectangle\nin the legend. Defaults to the font size of legend items."},subtree:{}},symbolPadding:{meta:{types:{number:1},name:"symbolPadding",excludes:{},default:"5",description:"The pixel padding between the legend item symbol and the legend\nitem text."},subtree:{}},symbolRadius:{meta:{types:{number:1},name:"symbolRadius",excludes:{},description:"The border radius of the symbol for series types that use a rectangle\nin the legend. Defaults to half the `symbolHeight`." },subtree:{}},symbolWidth:{meta:{types:{number:1},name:"symbolWidth",excludes:{},description:"The pixel width of the legend item symbol. When the `squareSymbol`\noption is set, this defaults to the `symbolHeight`, otherwise 16."},subtree:{}},title:{meta:{types:{"*":1},name:"title",excludes:{},description:"A title to be added on top of the legend."},subtree:{style:{meta:{types:{"highcharts.cssobject":1},name:"style",excludes:{},default:'{"fontWeight":"bold"}',description:"Generic CSS styles for the legend title."},subtree:{fontWeight:{meta:{types:{string:1},name:"fontWeight",excludes:{},default:"bold"},subtree:{}}}},text:{meta:{types:{string:1},name:"text",excludes:{},description:"A text or HTML string for the title."},subtree:{}}}},useHTML:{meta:{types:{boolean:1},name:"useHTML",excludes:{},default:"false",description:"Whether to [use HTML](https://www.highcharts.com/docs/chart-concepts/\nlabels-and-string-formatting#html) to render the legend item texts.\n\nPrior to 4.1.7, when using HTML, [legend.navigation](\n#legend.navigation) was disabled."},subtree:{}},verticalAlign:{meta:{types:{string:1},name:"verticalAlign",excludes:{},default:"bottom",description:"The vertical alignment of the legend box. Can be one of `top`,\n`middle` or `bottom`. Vertical position can be further determined\nby the `y` option.\n\nIn the case that the legend is aligned in a corner position, the\n`layout` option will determine whether to place it above/below\nor on the side of the plot area.\n\nWhen the [layout](#legend.layout) option is `proximate`, the\n`verticalAlign` option doesn't apply."},subtree:{}},width:{meta:{types:{number:1},name:"width",excludes:{},description:"The width of the legend box."},subtree:{}},x:{meta:{types:{number:1},name:"x",excludes:{},default:"0",description:"The x offset of the legend relative to its horizontal alignment\n`align` within chart.spacingLeft and chart.spacingRight. Negative\nx moves it to the left, positive x moves it to the right."},subtree:{}},y:{meta:{types:{number:1},name:"y",excludes:{},default:"0",description:"The vertical offset of the legend relative to it's vertical alignment\n`verticalAlign` within chart.spacingTop and chart.spacingBottom.\n Negative y moves it up, positive y moves it down."},subtree:{}}}},loading:{meta:{types:{"*":1},name:"loading",excludes:{},description:'The loading options control the appearance of the loading screen\nthat covers the plot area on chart operations. This screen only\nappears after an explicit call to `chart.showLoading()`. It is a\nutility for developers to communicate to the end user that something\nis going on, for example while retrieving new data via an XHR connection.\nThe "Loading..." text itself is not part of this configuration\nobject, but part of the `lang` object.'},subtree:{hideDuration:{meta:{types:{number:1},name:"hideDuration",excludes:{},default:"100",description:"The duration in milliseconds of the fade out effect."},subtree:{}},labelStyle:{meta:{types:{"highcharts.cssobject":1},name:"labelStyle",excludes:{},default:'{"fontWeight": "bold", "position": "relative", "top": "45%"}',description:"CSS styles for the loading label `span`."},subtree:{fontWeight:{meta:{types:{string:1},name:"fontWeight",excludes:{},default:"bold"},subtree:{}},position:{meta:{types:{string:1},name:"position",excludes:{},default:"relative"},subtree:{}},top:{meta:{types:{string:1},name:"top",excludes:{},default:"45%"},subtree:{}}}},showDuration:{meta:{types:{number:1},name:"showDuration",excludes:{},default:"100",description:"The duration in milliseconds of the fade in effect."},subtree:{}},style:{meta:{types:{"highcharts.cssobject":1},name:"style",excludes:{},default:'{"position": "absolute", "backgroundColor": "#ffffff", "opacity": 0.5, "textAlign": "center"}',description:"CSS styles for the loading screen that covers the plot area.\n\nIn styled mode, the loading label is styled with the\n`.highcharts-loading` class."},subtree:{backgroundColor:{meta:{types:{string:1},name:"backgroundColor",excludes:{},default:"#ffffff"},subtree:{}},opacity:{meta:{types:{number:1},name:"opacity",excludes:{},default:.5},subtree:{}},position:{meta:{types:{string:1},name:"position",excludes:{},default:"absolute"},subtree:{}},textAlign:{meta:{types:{string:1},name:"textAlign",excludes:{},default:"center"},subtree:{}}}}}},mapNavigation:{meta:{types:{object:1},name:"mapNavigation",excludes:{},products:{highmaps:1}},subtree:{buttonOptions:{meta:{types:{"*":1},name:"buttonOptions",excludes:{},products:{highmaps:1},description:"General options for the map navigation buttons. Individual options\ncan be given from the [mapNavigation.buttons](#mapNavigation.buttons)\noption set."},subtree:{align:{meta:{types:{string:1},name:"align",excludes:{},default:"left",products:{highmaps:1},description:"The alignment of the navigation buttons."},subtree:{}},alignTo:{meta:{types:{string:1},name:"alignTo",excludes:{},default:"plotBox",products:{highmaps:1},description:"What box to align the buttons to. Possible values are `plotBox`\nand `spacingBox`."},subtree:{}},height:{meta:{types:{number:1},name:"height",excludes:{},default:"18",products:{highmaps:1},description:"The pixel height of the map navigation buttons."},subtree:{}},padding:{meta:{types:{number:1},name:"padding",excludes:{},default:"5",products:{highmaps:1},description:"Padding for the navigation buttons."},subtree:{}},style:{meta:{types:{"highcharts.cssobject":1},name:"style",excludes:{},products:{highmaps:1},description:"Text styles for the map navigation buttons. Defaults to\n\n
    {\n    fontSize: '15px',\n    fontWeight: 'bold',\n    textAlign: 'center'\n}
    "},subtree:{fontSize:{meta:{types:{string:1},name:"fontSize",excludes:{},default:"15px"},subtree:{}},fontWeight:{meta:{types:{string:1},name:"fontWeight",excludes:{},default:"bold"},subtree:{}}}},theme:{meta:{types:{"*":1},name:"theme",excludes:{},products:{highmaps:1},description:"A configuration object for the button theme. The object accepts\nSVG properties like `stroke-width`, `stroke` and `fill`. Tri-state\nbutton styles are supported by the `states.hover` and `states.select`\nobjects."},subtree:{}},verticalAlign:{meta:{types:{string:1},name:"verticalAlign",excludes:{},default:"bottom",products:{highmaps:1},description:"The vertical alignment of the buttons. Individual alignment can\nbe adjusted by each button's `y` offset."},subtree:{}},width:{meta:{types:{number:1},name:"width",excludes:{},default:"18",products:{highmaps:1},description:"The width of the map navigation buttons."},subtree:{}},x:{meta:{types:{number:1},name:"x",excludes:{},default:"0",products:{highmaps:1},description:"The X offset of the buttons relative to its `align` setting."},subtree:{}}}},buttons:{meta:{types:{object:1},name:"buttons",excludes:{}},subtree:{zoomIn:{meta:{types:{object:1},name:"zoomIn",excludes:{}},subtree:{onclick:{meta:{types:{function:1},name:"onclick",excludes:{},products:{highmaps:1},description:"Click handler for the button. Defaults to:\n\n
    function () {\nthis.mapZoom(0.5);\n}
    "},subtree:{}},text:{meta:{types:{string:1},name:"text",excludes:{},default:"+",products:{highmaps:1},description:"The text for the button. The tooltip (title) is a language option\ngiven by [lang.zoomIn](#lang.zoomIn)."},subtree:{}},y:{meta:{types:{number:1},name:"y",excludes:{},default:"0",products:{highmaps:1},description:"The position of the zoomIn button relative to the vertical\nalignment."},subtree:{}}}},zoomOut:{meta:{types:{object:1},name:"zoomOut",excludes:{}},subtree:{onclick:{meta:{types:{function:1},name:"onclick",excludes:{},products:{highmaps:1},description:"Click handler for the button. Defaults to:\n\n
    function () {\n    this.mapZoom(2);\n}
    "},subtree:{}},text:{meta:{types:{string:1},name:"text",excludes:{},default:"-",products:{highmaps:1},description:"The text for the button. The tooltip (title) is a language option\ngiven by [lang.zoomOut](#lang.zoomIn)."},subtree:{}},y:{meta:{types:{number:1},name:"y",excludes:{},default:"28",products:{highmaps:1},description:"The position of the zoomOut button relative to the vertical\nalignment."},subtree:{}}}}}},enableButtons:{meta:{types:{boolean:1},name:"enableButtons",excludes:{},products:{highmaps:1},description:"Whether to enable navigation buttons. By default it inherits the\n[enabled](#mapNavigation.enabled) setting."},subtree:{}},enableDoubleClickZoom:{meta:{types:{boolean:1},name:"enableDoubleClickZoom",excludes:{},products:{highmaps:1},description:"Enables zooming in on an area on double clicking in the map. By default\nit inherits the [enabled](#mapNavigation.enabled) setting."},subtree:{}},enableDoubleClickZoomTo:{meta:{types:{boolean:1},name:"enableDoubleClickZoomTo",excludes:{},default:"false",products:{highmaps:1},description:"Whether to zoom in on an area when that area is double clicked."},subtree:{}},enableMouseWheelZoom:{meta:{types:{boolean:1},name:"enableMouseWheelZoom",excludes:{},products:{highmaps:1},description:"Enables zooming by mouse wheel. By default it inherits the [enabled](\n#mapNavigation.enabled) setting."},subtree:{}},enableTouchZoom:{meta:{types:{boolean:1},name:"enableTouchZoom",excludes:{},products:{highmaps:1},description:"Whether to enable multitouch zooming. Note that if the chart covers the\nviewport, this prevents the user from using multitouch and touchdrag on\nthe web page, so you should make sure the user is not trapped inside the\nchart. By default it inherits the [enabled](#mapNavigation.enabled)\nsetting."},subtree:{}},enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:"false",products:{highmaps:1},description:"Whether to enable map navigation. The default is not to enable\nnavigation, as many choropleth maps are simple and don't need it.\nAdditionally, when touch zoom and mousewheel zoom is enabled, it breaks\nthe default behaviour of these interactions in the website, and the\nimplementer should be aware of this.\n\nIndividual interactions can be enabled separately, namely buttons,\nmultitouch zoom, double click zoom, double click zoom to element and\nmousewheel zoom."},subtree:{}},mouseWheelSensitivity:{meta:{types:{number:1},name:"mouseWheelSensitivity",excludes:{},default:"1.1",products:{highmaps:1},description:"Sensitivity of mouse wheel or trackpad scrolling. 1 is no sensitivity,\nwhile with 2, one mousewheel delta will zoom in 50%."},subtree:{}}}},navigation:{meta:{types:{object:1},name:"navigation",excludes:{},description:"A collection of options for buttons and menus appearing in the exporting\nmodule."},subtree:{buttonOptions:{meta:{types:{object:1},name:"buttonOptions",excludes:{},description:"A collection of options for buttons appearing in the exporting module.\n\n\nIn styled mode, the buttons are styled with the\n`.highcharts-contextbutton` and `.highcharts-button-symbol` classes."},subtree:{align:{meta:{types:{string:1},name:"align",excludes:{},default:"right",description:"Alignment for the buttons."},subtree:{}},buttonSpacing:{meta:{types:{number:1},name:"buttonSpacing",excludes:{},default:"3",description:"The pixel spacing between buttons."},subtree:{}},enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:"true",description:"Whether to enable buttons."},subtree:{}},height:{meta:{types:{number:1},name:"height",excludes:{},default:"22",description:"Pixel height of the buttons."},subtree:{}},symbolFill:{meta:{types:{color:1},name:"symbolFill",excludes:{},default:"#666666",description:"Fill color for the symbol within the button."},subtree:{}},symbolSize:{meta:{types:{number:1},name:"symbolSize",excludes:{},default:"14",description:"The pixel size of the symbol on the button."},subtree:{}},symbolStroke:{meta:{types:{color:1},name:"symbolStroke",excludes:{},default:"#666666",description:"The color of the symbol's stroke or line."},subtree:{}},symbolStrokeWidth:{meta:{types:{number:1},name:"symbolStrokeWidth",excludes:{},default:"1",description:"The pixel stroke width of the symbol on the button."},subtree:{}},symbolX:{meta:{types:{number:1},name:"symbolX",excludes:{},default:"12.5",description:"The x position of the center of the symbol inside the button."},subtree:{}},symbolY:{meta:{types:{number:1},name:"symbolY",excludes:{},default:"10.5",description:"The y position of the center of the symbol inside the button."},subtree:{}},text:{meta:{types:{string:1},name:"text",excludes:{},default:"null",description:"A text string to add to the individual button."},subtree:{}},theme:{meta:{types:{object:1},name:"theme",excludes:{},description:"A configuration object for the button theme. The object accepts\nSVG properties like `stroke-width`, `stroke` and `fill`. Tri-state\nbutton styles are supported by the `states.hover` and `states.select`\nobjects."},subtree:{fill:{meta:{types:{string:1},name:"fill",excludes:{},default:"#ffffff",description:"The default fill exists only to capture hover events."},subtree:{}},padding:{meta:{types:{number:1},name:"padding",excludes:{},default:"5"},subtree:{}},stroke:{meta:{types:{string:1},name:"stroke",excludes:{},default:"none"},subtree:{}}}},verticalAlign:{meta:{types:{string:1},name:"verticalAlign",excludes:{},default:"top",description:'The vertical alignment of the buttons. Can be one of "top", "middle"\nor "bottom".'},subtree:{}},width:{meta:{types:{number:1},name:"width",excludes:{},default:"24",description:"The pixel width of the button."},subtree:{}},y:{meta:{types:{number:1},name:"y",excludes:{},default:"0",description:"The vertical offset of the button's position relative to its\n`verticalAlign`."},subtree:{}}}},menuItemHoverStyle:{meta:{types:{cssobject:1},name:"menuItemHoverStyle",excludes:{},default:'{ "background": "#335cad", "color": "#ffffff" }',description:"CSS styles for the hover state of the individual items within the\npopup menu appearing by default when the export icon is clicked.\n The menu items are rendered in HTML."},subtree:{background:{meta:{types:{string:1},name:"background",excludes:{},default:"#335cad"},subtree:{}},color:{meta:{types:{string:1},name:"color",excludes:{},default:"#ffffff"},subtree:{}}}},menuItemStyle:{meta:{types:{cssobject:1},name:"menuItemStyle",excludes:{},default:'{ "padding": "0.5em 1em", "color": "#333333", "background": "none" }',description:"CSS styles for the individual items within the popup menu appearing\nby default when the export icon is clicked. The menu items are rendered\nin HTML."},subtree:{background:{meta:{types:{string:1},name:"background",excludes:{},default:"none"},subtree:{}},color:{meta:{types:{string:1},name:"color",excludes:{},default:"#333333"},subtree:{}},fontSize:{meta:{types:{string:1},name:"fontSize",excludes:{},description:"Defaults to `14px` on touch devices and `11px` on desktop."},subtree:{}},padding:{meta:{types:{string:1},name:"padding",excludes:{},default:"0.5em 1em"},subtree:{}},transition:{meta:{types:{string:1},name:"transition",excludes:{},default:"background 250ms, color 250ms"},subtree:{}}}},menuStyle:{meta:{types:{cssobject:1},name:"menuStyle",excludes:{},default:'{ "border": "1px solid #999999", "background": "#ffffff", "padding": "5px 0" }',description:"CSS styles for the popup menu appearing by default when the export\nicon is clicked. This menu is rendered in HTML."},subtree:{background:{meta:{types:{string:1},name:"background",excludes:{},default:"#ffffff"},subtree:{}},border:{meta:{types:{string:1},name:"border",excludes:{},default:"1px solid #999999"},subtree:{}},padding:{meta:{types:{string:1},name:"padding",excludes:{},default:"5px 0"},subtree:{}}}}}},navigator:{meta:{types:{object:1},name:"navigator",excludes:{},products:{highstock:1},description:"The navigator is a small series below the main series, displaying\na view of the entire data set. It provides tools to zoom in and\nout on parts of the data as well as panning across the dataset."},subtree:{adaptToUpdatedData:{meta:{types:{boolean:1},name:"adaptToUpdatedData",excludes:{},default:"true",products:{highstock:1},description:"Whether the navigator and scrollbar should adapt to updated data\nin the base X axis. When loading data async, as in the demo below,\nthis should be `false`. Otherwise new data will trigger navigator\nredraw, which will cause unwanted looping. In the demo below, the\ndata in the navigator is set only once. On navigating, only the main\nchart content is updated."},subtree:{}},baseSeries:{meta:{types:{"*":1},name:"baseSeries",excludes:{},default:"0",products:{highstock:1},description:"An integer identifying the index to use for the base series, or a\nstring representing the id of the series.\n\n**Note**: As of Highcharts 5.0, this is now a deprecated option.\nPrefer [series.showInNavigator](#plotOptions.series.showInNavigator)."},subtree:{}},enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:"true",products:{highstock:1},description:"Enable or disable the navigator."},subtree:{}},handles:{meta:{types:{"*":1},name:"handles",excludes:{},products:{highstock:1},description:"Options for the handles for dragging the zoomed area."},subtree:{backgroundColor:{meta:{types:{"highcharts.colorstring":1},name:"backgroundColor",excludes:{},default:"#f2f2f2",products:{highstock:1},description:"The fill for the handle."},subtree:{}},borderColor:{meta:{types:{"highcharts.colorstring":1},name:"borderColor",excludes:{},default:"#999999",products:{highstock:1},description:"The stroke for the handle border and the stripes inside."},subtree:{}},enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:"true",products:{highstock:1},description:"Allows to enable/disable handles."},subtree:{}},height:{meta:{types:{number:1},name:"height",excludes:{},default:"15",products:{highstock:1},description:"Height for handles."},subtree:{}},lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:"7",products:{highstock:1},description:"The width for the handle border and the stripes inside."},subtree:{}},symbols:{meta:{types:{array:"string"},name:"symbols",excludes:{},default:"['navigator-handle', 'navigator-handle']",products:{highstock:1},description:"Array to define shapes of handles. 0-index for left, 1-index for\nright.\n\nAdditionally, the URL to a graphic can be given on this form:\n`url(graphic.png)`. Note that for the image to be applied to\nexported charts, its URL needs to be accessible by the export\nserver.\n\nCustom callbacks for symbol path generation can also be added to\n`Highcharts.SVGRenderer.prototype.symbols`. The callback is then\nused by its method name, as shown in the demo."},subtree:{}},width:{meta:{types:{number:1},name:"width",excludes:{},default:"7",products:{highstock:1},description:"Width for handles."},subtree:{}}}},height:{meta:{types:{number:1},name:"height",excludes:{},default:"40",products:{highstock:1},description:"The height of the navigator."},subtree:{}},margin:{meta:{types:{number:1},name:"margin",excludes:{},default:"25",products:{highstock:1},description:"The distance from the nearest element, the X axis or X axis labels."},subtree:{}},maskFill:{meta:{types:{"highcharts.colorstring":1},name:"maskFill",excludes:{},default:"rgba(102,133,194,0.3)",products:{highstock:1},description:"The color of the mask covering the areas of the navigator series\nthat are currently not visible in the main series. The default\ncolor is bluish with an opacity of 0.3 to see the series below."},subtree:{}},maskInside:{meta:{types:{boolean:1},name:"maskInside",excludes:{},default:"true",products:{highstock:1},description:"Whether the mask should be inside the range marking the zoomed\nrange, or outside. In Highstock 1.x it was always `false`."},subtree:{}},opposite:{meta:{types:{boolean:1},name:"opposite",excludes:{},default:"false",products:{highstock:1},description:"When the chart is inverted, whether to draw the navigator on the\nopposite side."},subtree:{}},outlineColor:{meta:{types:{"highcharts.colorstring":1},name:"outlineColor",excludes:{},default:"#cccccc",products:{highstock:1},description:"The color of the line marking the currently zoomed area in the\nnavigator."},subtree:{}},outlineWidth:{meta:{types:{number:1},name:"outlineWidth",excludes:{},default:"2",products:{highstock:1},description:"The width of the line marking the currently zoomed area in the\nnavigator."},subtree:{}},series:{meta:{types:{"*":1},name:"series",excludes:{},products:{highstock:1},description:"Options for the navigator series. Available options are the same\nas any series, documented at [plotOptions](#plotOptions.series)\nand [series](#series).\n\nUnless data is explicitly defined on navigator.series, the data\nis borrowed from the first series in the chart.\n\nDefault series options for the navigator series are:\n\n
    series: {\n    type: 'areaspline',\n    fillOpacity: 0.05,\n    dataGrouping: {\n        smoothed: true\n    },\n    lineWidth: 1,\n    marker: {\n        enabled: false\n    }\n}
    "},subtree:{className:{meta:{types:{string:1},name:"className",excludes:{},default:"highcharts-navigator-series"},subtree:{}},dataGrouping:{meta:{types:{"*":1},name:"dataGrouping",excludes:{},description:"Data grouping options for the navigator series.",extends:"plotOptions.series.dataGrouping"},subtree:{approximation:{meta:{types:{string:1},name:"approximation",excludes:{},default:"average"},subtree:{}},enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:!0},subtree:{}},groupPixelWidth:{meta:{types:{number:1},name:"groupPixelWidth",excludes:{},default:2},subtree:{}},smoothed:{meta:{types:{boolean:1},name:"smoothed",excludes:{},default:!0},subtree:{}},units:{meta:{types:{},name:"units",excludes:{}},subtree:{}}}},dataLabels:{meta:{types:{object:1,"*":1},name:"dataLabels",excludes:{},description:"Data label options for the navigator series. Data labels are\ndisabled by default on the navigator series.",extends:"plotOptions.series.dataLabels"},subtree:{enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:!1},subtree:{}},zIndex:{meta:{types:{number:1},name:"zIndex",excludes:{},default:2},subtree:{}}}},fillOpacity:{meta:{types:{number:1},name:"fillOpacity",excludes:{},default:"0.05",description:"The fill opacity of the navigator series."},subtree:{}},id:{meta:{types:{string:1},name:"id",excludes:{},default:"highcharts-navigator-series"},subtree:{}},lineColor:{meta:{types:{"highcharts.colorstring":1,null:1},name:"lineColor",excludes:{},default:"null",description:"Line color for the navigator series. Allows setting the color\nwhile disallowing the default candlestick setting."},subtree:{}},lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:"1",description:"The pixel line width of the navigator series."},subtree:{}},marker:{meta:{types:{object:1},name:"marker",excludes:{}},subtree:{enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:!1},subtree:{}}}},pointRange:{meta:{types:{number:1},name:"pointRange",excludes:{},default:0},subtree:{}},threshold:{meta:{types:{null:1,number:1},name:"threshold",excludes:{},default:"null",description:"The threshold option. Setting it to 0 will make the default\nnavigator area series draw its area from the 0 value and up."},subtree:{}},type:{meta:{types:{string:1},name:"type",excludes:{},default:"areaspline",description:"The type of the navigator series. Defaults to `areaspline` if\ndefined, otherwise `line`."},subtree:{}}}},xAxis:{meta:{types:{"*":1},name:"xAxis",excludes:{},products:{highstock:1},description:"Options for the navigator X axis. Default series options\nfor the navigator xAxis are:\n\n
    xAxis: {\n    tickWidth: 0,\n    lineWidth: 0,\n    gridLineWidth: 1,\n    tickPixelInterval: 200,\n    labels: {\n           align: 'left',\n        style: {\n            color: '#888'\n        },\n        x: 3,\n        y: -4\n    }\n}
    ",extends:"xAxis"},subtree:{className:{meta:{types:{string:1},name:"className",excludes:{},default:"highcharts-navigator-xaxis"},subtree:{}},crosshair:{meta:{types:{boolean:1},name:"crosshair",excludes:{},default:!1},subtree:{}},gridLineColor:{meta:{types:{string:1},name:"gridLineColor",excludes:{},default:"#e6e6e6"},subtree:{}},gridLineWidth:{meta:{types:{number:1},name:"gridLineWidth",excludes:{},default:1},subtree:{}},labels:{meta:{types:{object:1},name:"labels",excludes:{}},subtree:{align:{meta:{types:{string:1},name:"align",excludes:{},default:"left"},subtree:{}},style:{meta:{types:{object:1},name:"style",excludes:{}},subtree:{color:{meta:{types:{string:1},name:"color",excludes:{},default:"#999999"},subtree:{}}}},x:{meta:{types:{number:1},name:"x",excludes:{},default:3},subtree:{}},y:{meta:{types:{number:1},name:"y",excludes:{},default:-4},subtree:{}}}},lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:0},subtree:{}},overscroll:{meta:{types:{number:1},name:"overscroll",excludes:{},default:"0",products:{highstock:1},description:"Additional range on the right side of the xAxis. Works similar to\nxAxis.maxPadding, but value is set in milliseconds.\nCan be set for both, main xAxis and navigator's xAxis."},subtree:{}},tickLength:{meta:{types:{number:1},name:"tickLength",excludes:{},default:0},subtree:{}},tickPixelInterval:{meta:{types:{number:1},name:"tickPixelInterval",excludes:{},default:200},subtree:{}}}},yAxis:{meta:{types:{"*":1},name:"yAxis",excludes:{},products:{highstock:1},description:"Options for the navigator Y axis. Default series options\nfor the navigator yAxis are:\n\n
    yAxis: {\n    gridLineWidth: 0,\n    startOnTick: false,\n    endOnTick: false,\n    minPadding: 0.1,\n    maxPadding: 0.1,\n    labels: {\n        enabled: false\n    },\n    title: {\n        text: null\n    },\n    tickWidth: 0\n}
    ",extends:"yAxis"},subtree:{className:{meta:{types:{string:1},name:"className",excludes:{},default:"highcharts-navigator-yaxis"},subtree:{}},crosshair:{meta:{types:{boolean:1},name:"crosshair",excludes:{},default:!1},subtree:{}},endOnTick:{meta:{types:{boolean:1},name:"endOnTick",excludes:{},default:!1},subtree:{}},gridLineWidth:{meta:{types:{number:1},name:"gridLineWidth",excludes:{},default:0},subtree:{}},labels:{meta:{types:{object:1},name:"labels",excludes:{}},subtree:{enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:!1},subtree:{}}}},maxPadding:{meta:{types:{number:1},name:"maxPadding",excludes:{},default:.1},subtree:{}},minPadding:{meta:{types:{number:1},name:"minPadding",excludes:{},default:.1},subtree:{}},startOnTick:{meta:{types:{boolean:1},name:"startOnTick",excludes:{},default:!1},subtree:{}},tickLength:{meta:{types:{number:1},name:"tickLength",excludes:{},default:0},subtree:{}},tickWidth:{meta:{types:{number:1},name:"tickWidth",excludes:{},default:0},subtree:{}},title:{meta:{types:{object:1},name:"title",excludes:{}},subtree:{text:{meta:{types:{object:1},name:"text",excludes:{},default:null},subtree:{}}}}}}}},noData:{meta:{types:{object:1},name:"noData",excludes:{},description:'Options for displaying a message like "No data to display".\nThis feature requires the file no-data-to-display.js to be loaded in the\npage. The actual text to display is set in the lang.noData option.'},subtree:{attr:{meta:{types:{object:1},name:"attr",excludes:{},products:{highcharts:1,highstock:1},description:"An object of additional SVG attributes for the no-data label."},subtree:{}},position:{meta:{types:{object:1},name:"position",excludes:{},default:'{ "x": 0, "y": 0, "align": "center", "verticalAlign": "middle" }',description:"The position of the no-data label, relative to the plot area."},subtree:{align:{meta:{types:{string:1},name:"align",excludes:{},default:"center",description:"Horizontal alignment of the label."},subtree:{}},verticalAlign:{meta:{types:{string:1},name:"verticalAlign",excludes:{},default:"middle",products:{highcharts:1,highstock:1},description:"Vertical alignment of the label."},subtree:{}},x:{meta:{types:{number:1},name:"x",excludes:{},default:"0",products:{highcharts:1,highstock:1},description:"Horizontal offset of the label, in pixels."},subtree:{}},y:{meta:{types:{number:1},name:"y",excludes:{},default:"0",products:{highcharts:1,highstock:1},description:"Vertical offset of the label, in pixels."},subtree:{}}}},style:{meta:{types:{object:1},name:"style",excludes:{},description:"CSS styles for the no-data label."},subtree:{color:{meta:{types:{string:1},name:"color",excludes:{},default:"#666666"},subtree:{}},fontSize:{meta:{types:{string:1},name:"fontSize",excludes:{},default:"12px"},subtree:{}},fontWeight:{meta:{types:{string:1},name:"fontWeight",excludes:{},default:"bold"},subtree:{}}}},useHTML:{meta:{types:{boolean:1},name:"useHTML",excludes:{},default:"false",products:{highcharts:1,highstock:1},description:"Whether to insert the label as HTML, or as pseudo-HTML rendered with\nSVG."},subtree:{}}}},pane:{meta:{types:{object:1},name:"pane",excludes:{},description:"The pane serves as a container for axes and backgrounds for circular\ngauges and polar charts."},subtree:{background:{meta:{types:{array:"Object"},name:"background",excludes:{},description:"An array of background items for the pane."},subtree:{backgroundColor:{meta:{types:{color:1},name:"backgroundColor",excludes:{},products:{highcharts:1},description:"The background color or gradient for the pane."},subtree:{linearGradient:{meta:{types:{object:1},name:"linearGradient",excludes:{},description:"Definition of the gradient, similar to SVG: object literal holds\nstart position (x1, y1) and the end position (x2, y2) relative\nto the shape, where 0 means top/left and 1 is bottom/right.\nAll positions are floats between 0 and 1."},subtree:{x1:{meta:{types:{number:1},name:"x1",excludes:{},default:0},subtree:{}},x2:{meta:{types:{number:1},name:"x2",excludes:{},default:0},subtree:{}},y1:{meta:{types:{number:1},name:"y1",excludes:{},default:0},subtree:{}},y2:{meta:{types:{number:1},name:"y2",excludes:{},default:1},subtree:{}}}},stops:{meta:{types:{array:"Array"},name:"stops",excludes:{},default:"[[0, #ffffff], [1, #e6e6e6]]",description:"The stops is an array of tuples, where the first item is a float\nbetween 0 and 1 assigning the relative position in the gradient,\nand the second item is the color."},subtree:{}}}},borderColor:{meta:{types:{color:1},name:"borderColor",excludes:{},default:"#cccccc",products:{highcharts:1},description:"The pane background border color."},subtree:{}},borderWidth:{meta:{types:{number:1},name:"borderWidth",excludes:{},default:"1",products:{highcharts:1},description:"The pixel border width of the pane background."},subtree:{}},className:{meta:{types:{string:1},name:"className",excludes:{},description:"The class name for this background."},subtree:{}},innerRadius:{meta:{types:{number:1,string:1},name:"innerRadius",excludes:{},default:"0",products:{highcharts:1},description:"The inner radius of the pane background. Can be either numeric\n(pixels) or a percentage string."},subtree:{}},outerRadius:{meta:{types:{number:1,string:1},name:"outerRadius",excludes:{},default:"105%",products:{highcharts:1},description:"The outer radius of the circular pane background. Can be either\nnumeric (pixels) or a percentage string."},subtree:{}},shape:{meta:{types:{string:1},name:"shape",excludes:{},default:"solid",products:{highcharts:1},description:"The shape of the pane background. When `solid`, the background\nis circular. When `arc`, the background extends only from the min\nto the max of the value axis."},subtree:{}}}},center:{meta:{types:{array:"(String|Number)"},name:"center",excludes:{},default:'["50%", "50%"]',products:{highcharts:1},description:"The center of a polar chart or angular gauge, given as an array\nof [x, y] positions. Positions can be given as integers that\ntransform to pixels, or as percentages of the plot area size."},subtree:{}},endAngle:{meta:{types:{number:1},name:"endAngle",excludes:{},products:{highcharts:1},description:"The end angle of the polar X axis or gauge value axis, given in\ndegrees where 0 is north. Defaults to [startAngle](#pane.startAngle)\n+ 360."},subtree:{}},size:{meta:{types:{number:1,string:1},name:"size", excludes:{},default:"85%",products:{highcharts:1},description:"The size of the pane, either as a number defining pixels, or a\npercentage defining a percentage of the plot are."},subtree:{}},startAngle:{meta:{types:{number:1},name:"startAngle",excludes:{},default:0,products:{highcharts:1},description:"The start angle of the polar X axis or gauge axis, given in degrees\nwhere 0 is north. Defaults to 0."},subtree:{}}}},plotOptions:{meta:{types:{"*":1},name:"plotOptions",excludes:{},description:"The plotOptions is a wrapper object for config objects for each series\ntype. The config objects for each series can also be overridden for\neach series item as given in the series array.\n\nConfiguration options for the series are given in three levels. Options\nfor all series in a chart are given in the [plotOptions.series](\n#plotOptions.series) object. Then options for all series of a specific\ntype are given in the plotOptions of that type, for example\n`plotOptions.line`. Next, options for one single series are given in\n[the series array](#series)."},subtree:{ad:{meta:{types:{object:1},name:"ad",excludes:{},products:{highstock:1},description:"Accumulation Distribution (AD). This series requires `linkedTo` option to\nbe set.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `ad` series are defined in\n [plotOptions.ad](plotOptions.ad).\n3. Options for one single series are given in\n [the series instance array](series.ad).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        ad: {\n            // shared options for all ad series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'ad'\n    }]\n});\n
    \n ",extends:"plotOptions.sma"},subtree:{params:{meta:{types:{object:1},name:"params",excludes:{}},subtree:{volumeSeriesID:{meta:{types:{string:1},name:"volumeSeriesID",excludes:{},default:"volume",products:{highstock:1},description:"The id of volume series which is mandatory.\nFor example using OHLC data, volumeSeriesID='volume' means\nthe indicator will be calculated using OHLC and volume values."},subtree:{}}}}}},area:{meta:{types:{"*":1},name:"area",excludes:{},products:{highcharts:1,highstock:1},description:"The area series type.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `area` series are defined in\n [plotOptions.area](plotOptions.area).\n3. Options for one single series are given in\n [the series instance array](series.area).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        area: {\n            // shared options for all area series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'area'\n    }]\n});\n
    \n ",extends:"plotOptions.line"},subtree:{fillColor:{meta:{types:{"highcharts.colorstring":1},name:"fillColor",excludes:{},products:{highcharts:1,highstock:1},description:"Fill color or gradient for the area. When `null`, the series' `color`\nis used with the series' `fillOpacity`.\n\nIn styled mode, the fill color can be set with the `.highcharts-area`\nclass name."},subtree:{}},fillOpacity:{meta:{types:{number:1},name:"fillOpacity",excludes:{},products:{highcharts:1,highstock:1},description:"Fill opacity for the area. When you set an explicit `fillColor`,\nthe `fillOpacity` is not applied. Instead, you should define the\nopacity in the `fillColor` with an rgba color definition. The\n`fillOpacity` setting, also the default setting, overrides the alpha\ncomponent of the `color` setting.\n\nIn styled mode, the fill opacity can be set with the `.highcharts-area`\nclass name."},subtree:{}},lineColor:{meta:{types:{"highcharts.colorstring":1},name:"lineColor",excludes:{},products:{highcharts:1,highstock:1},description:"A separate color for the graph line. By default the line takes the\n`color` of the series, but the lineColor setting allows setting a\nseparate color for the line without altering the `fillColor`.\n\nIn styled mode, the line stroke can be set with the `.highcharts-graph`\nclass name."},subtree:{}},negativeFillColor:{meta:{types:{"highcharts.colorstring":1},name:"negativeFillColor",excludes:{},products:{highcharts:1},description:"A separate color for the negative part of the area.\n\nIn styled mode, a negative color is set with the `.highcharts-negative`\nclass name."},subtree:{}},softThreshold:{meta:{types:{boolean:1},name:"softThreshold",excludes:{},products:{highcharts:1,highstock:1},description:"When this is true, the series will not cause the Y axis to cross\nthe zero plane (or [threshold](#plotOptions.series.threshold) option)\nunless the data actually crosses the plane.\n\nFor example, if `softThreshold` is `false`, a series of 0, 1, 2,\n3 will make the Y axis show negative values according to the `minPadding`\noption. If `softThreshold` is `true`, the Y axis starts at 0."},subtree:{}},threshold:{meta:{types:{number:1},name:"threshold",excludes:{},products:{highcharts:1,highstock:1},description:"The Y axis value to serve as the base for the area, for distinguishing\nbetween values above and below a threshold. The area between the graph\nand the threshold is filled.\n\n* If a number is given, the Y axis will scale to the threshold.\n* If `null`, the scaling behaves like a line series with fill between the\n graph and the Y axis minimum.\n* If `Infinity` or `-Infinity`, the area between the graph and the\n corresponing Y axis extreme is filled (since v6.1.0)."},subtree:{}},trackByArea:{meta:{types:{boolean:1},name:"trackByArea",excludes:{},default:"false",products:{highcharts:1,highstock:1},description:"Whether the whole area or just the line should respond to mouseover\ntooltips and other mouse or touch events."},subtree:{}}}},arearange:{meta:{types:{object:1},name:"arearange",excludes:{},products:{highcharts:1,highstock:1},description:"The area range series is a carteseian series with higher and lower values\nfor each point along an X axis, where the area between the values is shaded.\nRequires `highcharts-more.js`.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `arearange` series are defined in\n [plotOptions.arearange](plotOptions.arearange).\n3. Options for one single series are given in\n [the series instance array](series.arearange).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        arearange: {\n            // shared options for all arearange series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'arearange'\n    }]\n});\n
    \n ",extends:"plotOptions.area"},subtree:{dataLabels:{meta:{types:{object:1},name:"dataLabels",excludes:{},products:{highcharts:1,highstock:1},description:"Extended data labels for range series types. Range series data labels\nhave no `x` and `y` options. Instead, they have `xLow`, `xHigh`,\n`yLow` and `yHigh` options to allow the higher and lower data label\nsets individually.",extends:"plotOptions.series.dataLabels"},subtree:{align:{meta:{types:{object:1},name:"align",excludes:{},default:null},subtree:{}},verticalAlign:{meta:{types:{object:1},name:"verticalAlign",excludes:{},default:null},subtree:{}},xHigh:{meta:{types:{number:1},name:"xHigh",excludes:{},default:0,products:{highcharts:1,highstock:1},description:"X offset of the higher data labels relative to the point value."},subtree:{}},xLow:{meta:{types:{number:1},name:"xLow",excludes:{},default:0,products:{highcharts:1,highstock:1},description:"X offset of the lower data labels relative to the point value."},subtree:{}},yHigh:{meta:{types:{number:1,string:1},name:"yHigh",excludes:{},default:"-6",products:{highcharts:1,highstock:1},description:"Y offset of the higher data labels relative to the point value."},subtree:{}},yLow:{meta:{types:{number:1,string:1},name:"yLow",excludes:{},default:"16",products:{highcharts:1,highstock:1},description:"Y offset of the lower data labels relative to the point value."},subtree:{}}}},lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:1,products:{highcharts:1,highstock:1},description:"Pixel width of the arearange graph line."},subtree:{}},shadow:{meta:{types:{boolean:1,object:1},name:"shadow",excludes:{},products:{highcharts:1},description:"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow\ncan be an object configuration containing `color`, `offsetX`, `offsetY`,\n`opacity` and `width`."},subtree:{}},threshold:{meta:{types:{object:1},name:"threshold",excludes:{},default:null},subtree:{}},tooltip:{meta:{types:{object:1},name:"tooltip",excludes:{}},subtree:{pointFormat:{meta:{types:{string:1},name:"pointFormat",excludes:{},default:' {series.name}: {point.low} - {point.high}
    '},subtree:{}}}},trackByArea:{meta:{types:{boolean:1},name:"trackByArea",excludes:{},default:!0,products:{highcharts:1,highstock:1},description:"Whether the whole area or just the line should respond to mouseover\ntooltips and other mouse or touch events."},subtree:{}}}},areaspline:{meta:{types:{},name:"areaspline",excludes:{},products:{highcharts:1,highstock:1},description:"The area spline series is an area series where the graph between the points\nis smoothed into a spline.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `areaspline` series are defined in\n [plotOptions.areaspline](plotOptions.areaspline).\n3. Options for one single series are given in\n [the series instance array](series.areaspline).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        areaspline: {\n            // shared options for all areaspline series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'areaspline'\n    }]\n});\n
    \n ",extends:"plotOptions.area"},subtree:{}},areasplinerange:{meta:{types:{},name:"areasplinerange",excludes:{},products:{highcharts:1,highstock:1},description:"The area spline range is a cartesian series type with higher and\nlower Y values along an X axis. The area inside the range is colored, and\nthe graph outlining the area is a smoothed spline. Requires\n`highcharts-more.js`.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `areasplinerange` series are defined in\n [plotOptions.areasplinerange](plotOptions.areasplinerange).\n3. Options for one single series are given in\n [the series instance array](series.areasplinerange).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        areasplinerange: {\n            // shared options for all areasplinerange series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'areasplinerange'\n    }]\n});\n
    \n ",extends:"plotOptions.arearange"},subtree:{}},atr:{meta:{types:{object:1},name:"atr",excludes:{},products:{highstock:1},description:"Average true range indicator (ATR). This series requires `linkedTo`\noption to be set.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `atr` series are defined in\n [plotOptions.atr](plotOptions.atr).\n3. Options for one single series are given in\n [the series instance array](series.atr).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        atr: {\n            // shared options for all atr series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'atr'\n    }]\n});\n
    \n ",extends:"plotOptions.sma"},subtree:{params:{meta:{types:{object:1},name:"params",excludes:{}},subtree:{period:{meta:{types:{number:1},name:"period",excludes:{},default:14},subtree:{}}}}}},bar:{meta:{types:{object:1},name:"bar",excludes:{},products:{highcharts:1},description:"A bar series is a special type of column series where the columns are\nhorizontal.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `bar` series are defined in\n [plotOptions.bar](plotOptions.bar).\n3. Options for one single series are given in\n [the series instance array](series.bar).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        bar: {\n            // shared options for all bar series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'bar'\n    }]\n});\n
    \n ",extends:"{plotOptions.column}"},subtree:{dataLabels:{meta:{types:{object:1},name:"dataLabels",excludes:{}},subtree:{align:{meta:{types:{string:1},name:"align",excludes:{},default:"left",products:{highcharts:1},description:"Alignment of the data label relative to the data point."},subtree:{}},x:{meta:{types:{number:1},name:"x",excludes:{},default:"5",products:{highcharts:1},description:"The x position of the data label relative to the data point."},subtree:{}}}}}},bb:{meta:{types:{object:1},name:"bb",excludes:{},products:{highstock:1},description:"Bollinger bands (BB). This series requires the `linkedTo` option to be\nset and should be loaded after the `stock/indicators/indicators.js` file.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `bb` series are defined in\n [plotOptions.bb](plotOptions.bb).\n3. Options for one single series are given in\n [the series instance array](series.bb).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        bb: {\n            // shared options for all bb series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'bb'\n    }]\n});\n
    \n ",extends:"plotOptions.sma"},subtree:{bottomLine:{meta:{types:{object:1},name:"bottomLine",excludes:{},products:{highstock:1},description:"Bottom line options."},subtree:{styles:{meta:{types:{object:1},name:"styles",excludes:{},products:{highstock:1},description:"Styles for a bottom line."},subtree:{lineColor:{meta:{types:{string:1},name:"lineColor",excludes:{},products:{highstock:1},description:"Color of the line. If not set, it's inherited from\n[plotOptions.bb.color](#plotOptions.bb.color)."},subtree:{}},lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:1,products:{highstock:1},description:"Pixel width of the line."},subtree:{}}}}}},dataGrouping:{meta:{types:{object:1},name:"dataGrouping",excludes:{}},subtree:{approximation:{meta:{types:{string:1},name:"approximation",excludes:{},default:"averages"},subtree:{}}}},marker:{meta:{types:{object:1},name:"marker",excludes:{}},subtree:{enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:!1},subtree:{}}}},name:{meta:{types:{string:1},name:"name",excludes:{},default:"BB (20, 2)"},subtree:{}},params:{meta:{types:{object:1},name:"params",excludes:{}},subtree:{index:{meta:{types:{number:1},name:"index",excludes:{},default:3},subtree:{}},period:{meta:{types:{number:1},name:"period",excludes:{},default:20},subtree:{}},standardDeviation:{meta:{types:{number:1},name:"standardDeviation",excludes:{},default:2,products:{highstock:1},description:"Standard deviation for top and bottom bands."},subtree:{}}}},tooltip:{meta:{types:{object:1},name:"tooltip",excludes:{}},subtree:{pointFormat:{meta:{types:{string:1},name:"pointFormat",excludes:{},default:' {series.name}
    Top: {point.top}
    Middle: {point.middle}
    Bottom: {point.bottom}
    '},subtree:{}}}},topLine:{meta:{types:{object:1},name:"topLine",excludes:{},products:{highstock:1},description:"Top line options.",extends:"plotOptions.bb.bottomLine"},subtree:{styles:{meta:{types:{object:1},name:"styles",excludes:{}},subtree:{lineColor:{meta:{types:{},name:"lineColor",excludes:{}},subtree:{}},lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:1},subtree:{}}}}}}}},bellcurve:{meta:{types:{object:1},name:"bellcurve",excludes:{},products:{highcharts:1},description:"A bell curve is an areaspline series which represents the probability density\nfunction of the normal distribution. It calculates mean and standard\ndeviation of the base series data and plots the curve according to the\ncalculated parameters.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `bellcurve` series are defined in\n [plotOptions.bellcurve](plotOptions.bellcurve).\n3. Options for one single series are given in\n [the series instance array](series.bellcurve).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        bellcurve: {\n            // shared options for all bellcurve series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'bellcurve'\n    }]\n});\n
    \n ",extends:"plotOptions.areaspline"},subtree:{intervals:{meta:{types:{number:1},name:"intervals",excludes:{},default:3,description:"This option allows to define the length of the bell curve. A unit of the\nlength of the bell curve is standard deviation."},subtree:{}},marker:{meta:{types:{object:1},name:"marker",excludes:{}},subtree:{enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:!1},subtree:{}}}},pointsInInterval:{meta:{types:{number:1},name:"pointsInInterval",excludes:{},default:3,description:"Defines how many points should be plotted within 1 interval. See\n`plotOptions.bellcurve.intervals`."},subtree:{}}}},boxplot:{meta:{types:{object:1},name:"boxplot",excludes:{},products:{highcharts:1},description:"A box plot is a convenient way of depicting groups of data through their\nfive-number summaries: the smallest observation (sample minimum), lower\nquartile (Q1), median (Q2), upper quartile (Q3), and largest observation\n(sample maximum).\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `boxplot` series are defined in\n [plotOptions.boxplot](plotOptions.boxplot).\n3. Options for one single series are given in\n [the series instance array](series.boxplot).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        boxplot: {\n            // shared options for all boxplot series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'boxplot'\n    }]\n});\n
    \n ",extends:"{plotOptions.column}"},subtree:{fillColor:{meta:{types:{color:1},name:"fillColor",excludes:{},default:"#ffffff",products:{highcharts:1},description:"The fill color of the box.\n\nIn styled mode, the fill color can be set with the\n`.highcharts-boxplot-box` class."},subtree:{}},lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:1,products:{highcharts:1},description:"The width of the line surrounding the box. If any of\n[stemWidth](#plotOptions.boxplot.stemWidth),\n[medianWidth](#plotOptions.boxplot.medianWidth)\nor [whiskerWidth](#plotOptions.boxplot.whiskerWidth) are `null`,\nthe lineWidth also applies to these lines."},subtree:{}},medianColor:{meta:{types:{color:1},name:"medianColor",excludes:{},default:"null",products:{highcharts:1},description:"The color of the median line. If `null`, the general series color\napplies.\n\nIn styled mode, the median stroke width can be set with the\n`.highcharts-boxplot-median` class."},subtree:{}},medianWidth:{meta:{types:{number:1},name:"medianWidth",excludes:{},default:2,products:{highcharts:1},description:"The pixel width of the median line. If `null`, the\n[lineWidth](#plotOptions.boxplot.lineWidth) is used.\n\nIn styled mode, the median stroke width can be set with the\n`.highcharts-boxplot-median` class."},subtree:{}},stemColor:{meta:{types:{color:1},name:"stemColor",excludes:{},default:"null",products:{highcharts:1},description:"The color of the stem, the vertical line extending from the box to\nthe whiskers. If `null`, the series color is used.\n\nIn styled mode, the stem stroke can be set with the\n`.highcharts-boxplot-stem` class."},subtree:{}},stemDashStyle:{meta:{types:{string:1},name:"stemDashStyle",excludes:{},default:"Solid",products:{highcharts:1},description:"The dash style of the stem, the vertical line extending from the\nbox to the whiskers."},subtree:{}},stemWidth:{meta:{types:{number:1},name:"stemWidth",excludes:{},default:"null",products:{highcharts:1},description:"The width of the stem, the vertical line extending from the box to\nthe whiskers. If `null`, the width is inherited from the\n[lineWidth](#plotOptions.boxplot.lineWidth) option.\n\nIn styled mode, the stem stroke width can be set with the\n`.highcharts-boxplot-stem` class."},subtree:{}},threshold:{meta:{types:{object:1},name:"threshold",excludes:{},default:null},subtree:{}},tooltip:{meta:{types:{object:1},name:"tooltip",excludes:{}},subtree:{pointFormat:{meta:{types:{string:1},name:"pointFormat",excludes:{},default:' {series.name}
    Maximum: {point.high}
    Upper quartile: {point.q3}
    Median: {point.median}
    Lower quartile: {point.q1}
    Minimum: {point.low}
    '},subtree:{}}}},whiskerColor:{meta:{types:{color:1},name:"whiskerColor",excludes:{},default:"null",products:{highcharts:1},description:"The color of the whiskers, the horizontal lines marking low and high\nvalues. When `null`, the general series color is used.\n\nIn styled mode, the whisker stroke can be set with the\n`.highcharts-boxplot-whisker` class ."},subtree:{}},whiskerLength:{meta:{types:{number:1,string:1},name:"whiskerLength",excludes:{},default:"50%",products:{highcharts:1},description:"The length of the whiskers, the horizontal lines marking low and\nhigh values. It can be a numerical pixel value, or a percentage\nvalue of the box width. Set `0` to disable whiskers."},subtree:{}},whiskerWidth:{meta:{types:{number:1},name:"whiskerWidth",excludes:{},default:2,products:{highcharts:1},description:"The line width of the whiskers, the horizontal lines marking low and\nhigh values. When `null`, the general\n[lineWidth](#plotOptions.boxplot.lineWidth) applies.\n\nIn styled mode, the whisker stroke width can be set with the\n`.highcharts-boxplot-whisker` class."},subtree:{}}}},bubble:{meta:{types:{object:1},name:"bubble",excludes:{},products:{highcharts:1,highstock:1},description:"A bubble series is a three dimensional series type where each point renders\nan X, Y and Z value. Each points is drawn as a bubble where the position\nalong the X and Y axes mark the X and Y values, and the size of the bubble\nrelates to the Z value. Requires `highcharts-more.js`.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `bubble` series are defined in\n [plotOptions.bubble](plotOptions.bubble).\n3. Options for one single series are given in\n [the series instance array](series.bubble).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        bubble: {\n            // shared options for all bubble series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'bubble'\n    }]\n});\n
    \n ",extends:"plotOptions.scatter"},subtree:{animationLimit:{meta:{types:{number:1},name:"animationLimit",excludes:{},default:250,description:"If there are more points in the series than the `animationLimit`, the\nanimation won't run. Animation affects overall performance and doesn't\nwork well with heavy data series."},subtree:{}},dataLabels:{meta:{types:{object:1},name:"dataLabels",excludes:{}},subtree:{formatter:{meta:{types:{},name:"formatter",excludes:{}},subtree:{}},inside:{meta:{types:{boolean:1},name:"inside",excludes:{},default:!0},subtree:{}},verticalAlign:{meta:{types:{string:1},name:"verticalAlign",excludes:{},default:"middle"},subtree:{}}}},displayNegative:{meta:{types:{boolean:1},name:"displayNegative",excludes:{},default:"true",description:"Whether to display negative sized bubbles. The threshold is given\nby the [zThreshold](#plotOptions.bubble.zThreshold) option, and negative\nbubbles can be visualized by setting\n[negativeColor](#plotOptions.bubble.negativeColor)."},subtree:{}},marker:{meta:{types:{object:1},name:"marker",excludes:{},extends:"plotOptions.series.marker"},subtree:{fillOpacity:{meta:{types:{number:1},name:"fillOpacity",excludes:{},default:.5,description:"The fill opacity of the bubble markers."},subtree:{}},lineColor:{meta:{types:{object:1},name:"lineColor",excludes:{},default:null},subtree:{}},lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:1},subtree:{}},states:{meta:{types:{object:1},name:"states",excludes:{}},subtree:{hover:{meta:{types:{object:1},name:"hover",excludes:{}},subtree:{radiusPlus:{meta:{types:{number:1},name:"radiusPlus",excludes:{},default:0},subtree:{}}}}}},symbol:{meta:{types:{string:1},name:"symbol",excludes:{},default:"circle",description:'A predefined shape or symbol for the marker. Possible values are\n"circle", "square", "diamond", "triangle" and "triangle-down".\n\nAdditionally, the URL to a graphic can be given on the form\n`url(graphic.png)`. Note that for the image to be applied to exported\ncharts, its URL needs to be accessible by the export server.\n\nCustom callbacks for symbol path generation can also be added to\n`Highcharts.SVGRenderer.prototype.symbols`. The callback is then\nused by its method name, as shown in the demo.'},subtree:{}}}},maxSize:{meta:{types:{number:1,string:1},name:"maxSize",excludes:{},default:"20%",products:{highcharts:1,highstock:1},description:"Maximum bubble size. Bubbles will automatically size between the\n`minSize` and `maxSize` to reflect the `z` value of each bubble.\nCan be either pixels (when no unit is given), or a percentage of\nthe smallest one of the plot width and height."},subtree:{}},minSize:{meta:{types:{number:1,string:1},name:"minSize",excludes:{},default:8,products:{highcharts:1,highstock:1},description:"Minimum bubble size. Bubbles will automatically size between the\n`minSize` and `maxSize` to reflect the `z` value of each bubble.\nCan be either pixels (when no unit is given), or a percentage of\nthe smallest one of the plot width and height."},subtree:{}},negativeColor:{meta:{types:{color:1},name:"negativeColor",excludes:{},default:"null",products:{highcharts:1},description:"When a point's Z value is below the\n[zThreshold](#plotOptions.bubble.zThreshold) setting, this color is used."},subtree:{}},sizeBy:{meta:{types:{string:1},name:"sizeBy",excludes:{},default:"area",description:"Whether the bubble's value should be represented by the area or the\nwidth of the bubble. The default, `area`, corresponds best to the\nhuman perception of the size of each bubble."},subtree:{}},sizeByAbsoluteValue:{meta:{types:{boolean:1},name:"sizeByAbsoluteValue",excludes:{},default:"false",products:{highcharts:1},description:"When this is true, the absolute value of z determines the size of\nthe bubble. This means that with the default `zThreshold` of 0, a\nbubble of value -1 will have the same size as a bubble of value 1,\nwhile a bubble of value 0 will have a smaller size according to\n`minSize`."},subtree:{}},softThreshold:{meta:{types:{boolean:1},name:"softThreshold",excludes:{},default:!1,products:{highcharts:1},description:"When this is true, the series will not cause the Y axis to cross\nthe zero plane (or [threshold](#plotOptions.series.threshold) option)\nunless the data actually crosses the plane.\n\nFor example, if `softThreshold` is `false`, a series of 0, 1, 2,\n3 will make the Y axis show negative values according to the `minPadding`\noption. If `softThreshold` is `true`, the Y axis starts at 0."},subtree:{}},states:{meta:{types:{object:1},name:"states",excludes:{}},subtree:{hover:{meta:{types:{object:1},name:"hover",excludes:{}},subtree:{halo:{meta:{types:{object:1},name:"halo",excludes:{}},subtree:{size:{meta:{types:{number:1},name:"size",excludes:{},default:5},subtree:{}}}}}}}},tooltip:{meta:{types:{object:1},name:"tooltip",excludes:{}},subtree:{pointFormat:{meta:{types:{string:1},name:"pointFormat",excludes:{},default:"({point.x}, {point.y}), Size: {point.z}"},subtree:{}}}},turboThreshold:{meta:{types:{number:1},name:"turboThreshold",excludes:{},default:0},subtree:{}},zMax:{meta:{types:{number:1},name:"zMax",excludes:{},default:"null",products:{highcharts:1},description:"The minimum for the Z value range. Defaults to the highest Z value\nin the data."},subtree:{}},zMin:{meta:{types:{number:1},name:"zMin",excludes:{},default:"null",products:{highcharts:1},description:"The minimum for the Z value range. Defaults to the lowest Z value\nin the data."},subtree:{}},zThreshold:{meta:{types:{number:1},name:"zThreshold",excludes:{},default:"0",products:{highcharts:1},description:"When [displayNegative](#plotOptions.bubble.displayNegative) is `false`,\nbubbles with lower Z values are skipped. When `displayNegative`\nis `true` and a [negativeColor](#plotOptions.bubble.negativeColor)\nis given, points with lower Z is colored."},subtree:{}},zoneAxis:{meta:{types:{string:1},name:"zoneAxis",excludes:{},default:"z"},subtree:{}}}},bullet:{meta:{types:{object:1},name:"bullet",excludes:{},products:{highcharts:1},description:"A bullet graph is a variation of a bar graph. The bullet graph features\na single measure, compares it to a target, and displays it in the context\nof qualitative ranges of performance that could be set using\n[plotBands](#yAxis.plotBands) on [yAxis](#yAxis).\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `bullet` series are defined in\n [plotOptions.bullet](plotOptions.bullet).\n3. Options for one single series are given in\n [the series instance array](series.bullet).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        bullet: {\n            // shared options for all bullet series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'bullet'\n    }]\n});\n
    \n ", extends:"{plotOptions.column}"},subtree:{targetOptions:{meta:{types:{object:1},name:"targetOptions",excludes:{},products:{highcharts:1},description:"All options related with look and positiong of targets."},subtree:{borderColor:{meta:{types:{color:1},name:"borderColor",excludes:{},products:{highcharts:1},description:"The border color of the rectangle representing the target. When\nnot set, the point's border color is used.\n\nIn styled mode, use class `highcharts-bullet-target` instead."},subtree:{}},borderWidth:{meta:{types:{number:1},name:"borderWidth",excludes:{},default:0,products:{highcharts:1},description:"The border width of the rectangle representing the target.\n\nIn styled mode, use class `highcharts-bullet-target` instead."},subtree:{}},color:{meta:{types:{color:1},name:"color",excludes:{},products:{highcharts:1},description:"The color of the rectangle representing the target. When not set,\npoint's color (if set in point's options -\n[`color`](#series.bullet.data.color)) or zone of the target value\n(if [`zones`](#plotOptions.bullet.zones) or\n[`negativeColor`](#plotOptions.bullet.negativeColor) are set)\nor the same color as the point has is used.\n\nIn styled mode, use class `highcharts-bullet-target` instead."},subtree:{}},height:{meta:{types:{number:1},name:"height",excludes:{},default:3,products:{highcharts:1},description:"The height of the rectangle representing the target."},subtree:{}},width:{meta:{types:{number:1,string:1},name:"width",excludes:{},default:"140%",products:{highcharts:1},description:"The width of the rectangle representing the target. Could be set\nas a pixel value or as a percentage of a column width."},subtree:{}}}},tooltip:{meta:{types:{object:1},name:"tooltip",excludes:{}},subtree:{pointFormat:{meta:{types:{string:1},name:"pointFormat",excludes:{},default:' {series.name}: {point.y}. Target: {point.target}
    '},subtree:{}}}}}},candlestick:{meta:{types:{object:1},name:"candlestick",excludes:{},products:{highstock:1},description:"A candlestick chart is a style of financial chart used to describe price\nmovements over time.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `candlestick` series are defined in\n [plotOptions.candlestick](plotOptions.candlestick).\n3. Options for one single series are given in\n [the series instance array](series.candlestick).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        candlestick: {\n            // shared options for all candlestick series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'candlestick'\n    }]\n});\n
    \n ",extends:"plotOptions.ohlc"},subtree:{dataGrouping:{meta:{types:{object:1},name:"dataGrouping",excludes:{}},subtree:{approximation:{meta:{types:{string:1},name:"approximation",excludes:{},default:"ohlc"},subtree:{}}}},lineColor:{meta:{types:{color:1},name:"lineColor",excludes:{},default:"#000000",products:{highstock:1},description:"The color of the line/border of the candlestick.\n\nIn styled mode, the line stroke can be set with the\n`.highcharts-candlestick-series .highcahrts-point` rule."},subtree:{}},lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:"1",products:{highstock:1},description:"The pixel width of the candlestick line/border. Defaults to `1`.\n\n\nIn styled mode, the line stroke width can be set with the\n`.highcharts-candlestick-series .highcahrts-point` rule."},subtree:{}},states:{meta:{types:{object:1},name:"states",excludes:{}},subtree:{hover:{meta:{types:{object:1},name:"hover",excludes:{},products:{highstock:1},extends:"plotOptions.column.states.hover"},subtree:{lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:"2",products:{highstock:1},description:"The pixel width of the line/border around the candlestick."},subtree:{}}}}}},stickyTracking:{meta:{types:{boolean:1},name:"stickyTracking",excludes:{},default:!0},subtree:{}},threshold:{meta:{types:{object:1},name:"threshold",excludes:{},default:null},subtree:{}},tooltip:{meta:{types:{},name:"tooltip",excludes:{},extends:"plotOptions.ohlc.tooltip"},subtree:{}},upColor:{meta:{types:{color:1},name:"upColor",excludes:{},default:"#ffffff",products:{highstock:1},description:"The fill color of the candlestick when values are rising.\n\nIn styled mode, the up color can be set with the\n`.highcharts-candlestick-series .highcharts-point-up` rule."},subtree:{}},upLineColor:{meta:{types:{color:1},name:"upLineColor",excludes:{},default:"null",products:{highstock:1},description:"The specific line color for up candle sticks. The default is to inherit\nthe general `lineColor` setting."},subtree:{}}}},cci:{meta:{types:{object:1},name:"cci",excludes:{},products:{highstock:1},description:"Commodity Channel Index (CCI). This series requires `linkedTo` option to\nbe set.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `cci` series are defined in\n [plotOptions.cci](plotOptions.cci).\n3. Options for one single series are given in\n [the series instance array](series.cci).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        cci: {\n            // shared options for all cci series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'cci'\n    }]\n});\n
    \n ",extends:"plotOptions.sma"},subtree:{params:{meta:{types:{object:1},name:"params",excludes:{}},subtree:{period:{meta:{types:{number:1},name:"period",excludes:{},default:14},subtree:{}}}}}},cmf:{meta:{types:{object:1},name:"cmf",excludes:{},products:{highstock:1},description:"Chaikin Money Flow indicator (cmf).\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `cmf` series are defined in\n [plotOptions.cmf](plotOptions.cmf).\n3. Options for one single series are given in\n [the series instance array](series.cmf).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        cmf: {\n            // shared options for all cmf series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'cmf'\n    }]\n});\n
    \n ",extends:"plotOptions.sma"},subtree:{params:{meta:{types:{object:1},name:"params",excludes:{}},subtree:{period:{meta:{types:{number:1},name:"period",excludes:{},default:14},subtree:{}},volumeSeriesID:{meta:{types:{string:1},name:"volumeSeriesID",excludes:{},default:"volume",description:"The id of another series to use its data as volume data for the\nindiator calculation."},subtree:{}}}}}},column:{meta:{types:{object:1},name:"column",excludes:{},products:{highcharts:1,highstock:1},description:"Column series display one column per value along an X axis.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `column` series are defined in\n [plotOptions.column](plotOptions.column).\n3. Options for one single series are given in\n [the series instance array](series.column).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        column: {\n            // shared options for all column series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'column'\n    }]\n});\n
    \n ",extends:"{plotOptions.line}"},subtree:{borderColor:{meta:{types:{color:1},name:"borderColor",excludes:{},default:"#ffffff",products:{highcharts:1,highstock:1},description:"The color of the border surrounding each column or bar.\n\nIn styled mode, the border stroke can be set with the `.highcharts-point`\nrule."},subtree:{}},borderRadius:{meta:{types:{number:1},name:"borderRadius",excludes:{},default:"0",products:{highcharts:1,highstock:1},description:"The corner radius of the border surrounding each column or bar."},subtree:{}},borderWidth:{meta:{types:{number:1},name:"borderWidth",excludes:{},default:"1",products:{highcharts:1,highstock:1},description:"The width of the border surrounding each column or bar.\n\nIn styled mode, the stroke width can be set with the `.highcharts-point`\nrule."},subtree:{}},colorByPoint:{meta:{types:{boolean:1},name:"colorByPoint",excludes:{},default:"false",products:{highcharts:1,highstock:1},description:"When using automatic point colors pulled from the `options.colors`\ncollection, this option determines whether the chart should receive\none color per series or one color per point."},subtree:{}},colors:{meta:{types:{array:"Color"},name:"colors",excludes:{},products:{highcharts:1,highstock:1},description:"A series specific or series type specific color set to apply instead\nof the global [colors](#colors) when [colorByPoint](\n#plotOptions.column.colorByPoint) is true."},subtree:{}},crisp:{meta:{types:{boolean:1},name:"crisp",excludes:{},default:!0,products:{highcharts:1,highstock:1},description:"When true, each column edge is rounded to its nearest pixel in order\nto render sharp on screen. In some cases, when there are a lot of\ndensely packed columns, this leads to visible difference in column\nwidths or distance between columns. In these cases, setting `crisp`\nto `false` may look better, even though each column is rendered\nblurry."},subtree:{}},cropThreshold:{meta:{types:{number:1},name:"cropThreshold",excludes:{},default:50,products:{highcharts:1,highstock:1},description:"When the series contains less points than the crop threshold, all\npoints are drawn, event if the points fall outside the visible plot\narea at the current zoom. The advantage of drawing all points (including\nmarkers and columns), is that animation is performed on updates.\nOn the other hand, when the series contains more points than the\ncrop threshold, the series data is cropped to only contain points\nthat fall within the plot area. The advantage of cropping away invisible\npoints is to increase performance on large series. ."},subtree:{}},dataGrouping:{meta:{types:{object:1},name:"dataGrouping",excludes:{}},subtree:{groupPixelWidth:{meta:{types:{number:1},name:"groupPixelWidth",excludes:{},default:"10",products:{highstock:1},description:"The approximate pixel width of each group. If for example a series\nwith 30 points is displayed over a 600 pixel wide plot area, no grouping\nis performed. If however the series contains so many points that\nthe spacing is less than the groupPixelWidth, Highcharts will try\nto group it into appropriate groups so that each is more or less\ntwo pixels wide. Defaults to `10`."},subtree:{}}}},dataLabels:{meta:{types:{object:1},name:"dataLabels",excludes:{}},subtree:{align:{meta:{types:{object:1},name:"align",excludes:{},default:null},subtree:{}},verticalAlign:{meta:{types:{object:1},name:"verticalAlign",excludes:{},default:null},subtree:{}},y:{meta:{types:{object:1},name:"y",excludes:{},default:null},subtree:{}}}},depth:{meta:{types:{number:1},name:"depth",excludes:{},default:"25",products:{highcharts:1},description:"Depth of the columns in a 3D column chart. Requires `highcharts-3d.js`."},subtree:{}},edgeColor:{meta:{types:{color:1},name:"edgeColor",excludes:{},products:{highcharts:1},description:"3D columns only. The color of the edges. Similar to `borderColor`,\n except it defaults to the same color as the column."},subtree:{}},edgeWidth:{meta:{types:{number:1},name:"edgeWidth",excludes:{},default:"1",products:{highcharts:1},description:"3D columns only. The width of the colored edges."},subtree:{}},groupPadding:{meta:{types:{number:1},name:"groupPadding",excludes:{},default:.2,products:{highcharts:1,highstock:1},description:"Padding between each value groups, in x axis units."},subtree:{}},groupZPadding:{meta:{types:{number:1},name:"groupZPadding",excludes:{},default:"1",products:{highcharts:1},description:"The spacing between columns on the Z Axis in a 3D chart. Requires\n`highcharts-3d.js`."},subtree:{}},grouping:{meta:{types:{boolean:1},name:"grouping",excludes:{},default:"true",products:{highcharts:1,highstock:1},description:"Whether to group non-stacked columns or to let them render independent\nof each other. Non-grouped columns will be laid out individually\nand overlap each other."},subtree:{}},maxPointWidth:{meta:{types:{number:1},name:"maxPointWidth",excludes:{},default:"null",products:{highcharts:1,highstock:1},description:"The maximum allowed pixel width for a column, translated to the height\nof a bar in a bar chart. This prevents the columns from becoming\ntoo wide when there is a small number of points in the chart."},subtree:{}},minPointLength:{meta:{types:{number:1},name:"minPointLength",excludes:{},default:0,products:{highcharts:1,highstock:1},description:"The minimal height for a column or width for a bar. By default,\n0 values are not shown. To visualize a 0 (or close to zero) point,\nset the minimal point length to a pixel value like 3\\. In stacked\ncolumn charts, minPointLength might not be respected for tightly\npacked values."},subtree:{}},pointPadding:{meta:{types:{number:1},name:"pointPadding",excludes:{},default:.1,products:{highcharts:1,highstock:1},description:"Padding between each column or bar, in x axis units."},subtree:{}},pointRange:{meta:{types:{number:1},name:"pointRange",excludes:{},default:null,products:{highcharts:1,highstock:1},description:"The X axis range that each point is valid for. This determines the\nwidth of the column. On a categorized axis, the range will be 1\nby default (one category unit). On linear and datetime axes, the\nrange will be computed as the distance between the two closest data\npoints.\n\nThe default `null` means it is computed automatically, but this option\ncan be used to override the automatic value."},subtree:{}},pointWidth:{meta:{types:{number:1},name:"pointWidth",excludes:{},default:"null",products:{highcharts:1,highstock:1},description:"A pixel value specifying a fixed width for each column or bar. When\n`null`, the width is calculated from the `pointPadding` and\n`groupPadding`."},subtree:{}},softThreshold:{meta:{types:{boolean:1},name:"softThreshold",excludes:{},default:!1,products:{highcharts:1,highstock:1},description:"When this is true, the series will not cause the Y axis to cross\nthe zero plane (or [threshold](#plotOptions.series.threshold) option)\nunless the data actually crosses the plane.\n\nFor example, if `softThreshold` is `false`, a series of 0, 1, 2,\n3 will make the Y axis show negative values according to the `minPadding`\noption. If `softThreshold` is `true`, the Y axis starts at 0."},subtree:{}},states:{meta:{types:{object:1},name:"states",excludes:{}},subtree:{hover:{meta:{types:{object:1},name:"hover",excludes:{},products:{highcharts:1,highstock:1},description:"Options for the hovered point. These settings override the normal\nstate options when a point is moused over or touched.",extends:"plotOptions.series.states.hover"},subtree:{borderColor:{meta:{types:{color:1},name:"borderColor",excludes:{},products:{highcharts:1},description:"A specific border color for the hovered point. Defaults to\ninherit the normal state border color."},subtree:{}},brightness:{meta:{types:{number:1},name:"brightness",excludes:{},default:.1,products:{highcharts:1,highstock:1},description:"How much to brighten the point on interaction. Requires the main\ncolor to be defined in hex or rgb(a) format.\n\nIn styled mode, the hover brightening is by default replaced\nwith a fill-opacity set in the `.highcharts-point:hover` rule."},subtree:{}},color:{meta:{types:{color:1},name:"color",excludes:{},default:"undefined",products:{highcharts:1},description:"A specific color for the hovered point."},subtree:{}}}},select:{meta:{types:{object:1},name:"select",excludes:{},products:{highcharts:1,highstock:1},description:"Options for the selected point. These settings override the normal\nstate options when a point is selected."},subtree:{borderColor:{meta:{types:{color:1},name:"borderColor",excludes:{},default:"#000000",products:{highcharts:1,highstock:1},description:"A specific border color for the selected point."},subtree:{}},color:{meta:{types:{color:1},name:"color",excludes:{},default:"#cccccc",products:{highcharts:1,highstock:1},description:"A specific color for the selected point."},subtree:{}}}}}},stickyTracking:{meta:{types:{boolean:1},name:"stickyTracking",excludes:{},default:!1},subtree:{}},threshold:{meta:{types:{number:1},name:"threshold",excludes:{},default:0,products:{highcharts:1},description:"The Y axis value to serve as the base for the columns, for distinguishing\nbetween values above and below a threshold. If `null`, the columns\nextend from the padding Y axis minimum."},subtree:{}},tooltip:{meta:{types:{object:1},name:"tooltip",excludes:{}},subtree:{distance:{meta:{types:{number:1},name:"distance",excludes:{},default:6},subtree:{}}}}}},columnrange:{meta:{types:{object:1},name:"columnrange",excludes:{},products:{highcharts:1,highstock:1},description:"The column range is a cartesian series type with higher and lower\nY values along an X axis. Requires `highcharts-more.js`. To display\nhorizontal bars, set [chart.inverted](#chart.inverted) to `true`.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `columnrange` series are defined in\n [plotOptions.columnrange](plotOptions.columnrange).\n3. Options for one single series are given in\n [the series instance array](series.columnrange).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        columnrange: {\n            // shared options for all columnrange series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'columnrange'\n    }]\n});\n
    \n ",extends:"plotOptions.column"},subtree:{pointRange:{meta:{types:{object:1},name:"pointRange",excludes:{},default:null},subtree:{}},states:{meta:{types:{object:1},name:"states",excludes:{}},subtree:{hover:{meta:{types:{},name:"hover",excludes:{}},subtree:{}}}}}},ema:{meta:{types:{object:1},name:"ema",excludes:{},products:{highstock:1},description:"Exponential moving average indicator (EMA). This series requires the\n`linkedTo` option to be set.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `ema` series are defined in\n [plotOptions.ema](plotOptions.ema).\n3. Options for one single series are given in\n [the series instance array](series.ema).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        ema: {\n            // shared options for all ema series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'ema'\n    }]\n});\n
    \n ",extends:"plotOptions.sma"},subtree:{params:{meta:{types:{object:1},name:"params",excludes:{}},subtree:{index:{meta:{types:{number:1},name:"index",excludes:{},default:0},subtree:{}},period:{meta:{types:{number:1},name:"period",excludes:{},default:14},subtree:{}}}}}},errorbar:{meta:{types:{object:1},name:"errorbar",excludes:{},products:{highcharts:1,highstock:1},description:"Error bars are a graphical representation of the variability of data and are\nused on graphs to indicate the error, or uncertainty in a reported\nmeasurement.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `errorbar` series are defined in\n [plotOptions.errorbar](plotOptions.errorbar).\n3. Options for one single series are given in\n [the series instance array](series.errorbar).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        errorbar: {\n            // shared options for all errorbar series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'errorbar'\n    }]\n});\n
    \n ",extends:"{plotOptions.boxplot}"},subtree:{color:{meta:{types:{color:1},name:"color",excludes:{},default:"#000000",products:{highcharts:1},description:"The main color of the bars. This can be overridden by\n[stemColor](#plotOptions.errorbar.stemColor) and\n[whiskerColor](#plotOptions.errorbar.whiskerColor) individually."},subtree:{}},grouping:{meta:{types:{boolean:1},name:"grouping",excludes:{},default:!1},subtree:{}},linkedTo:{meta:{types:{string:1},name:"linkedTo",excludes:{},default:":previous",products:{highcharts:1},description:"The parent series of the error bar. The default value links it to\nthe previous series. Otherwise, use the id of the parent series."},subtree:{}},tooltip:{meta:{types:{object:1},name:"tooltip",excludes:{}},subtree:{pointFormat:{meta:{types:{string:1},name:"pointFormat",excludes:{},default:' {series.name}: {point.low} - {point.high}
    '},subtree:{}}}},whiskerWidth:{meta:{types:{number:1},name:"whiskerWidth",excludes:{},default:null,products:{highcharts:1},description:"The line width of the whiskers, the horizontal lines marking low\nand high values. When `null`, the general\n[lineWidth](#plotOptions.errorbar.lineWidth) applies."},subtree:{}}}},flags:{meta:{types:{object:1},name:"flags",excludes:{},products:{highstock:1},description:"Flags are used to mark events in stock charts. They can be added on the\ntimeline, or attached to a specific series.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `flags` series are defined in\n [plotOptions.flags](plotOptions.flags).\n3. Options for one single series are given in\n [the series instance array](series.flags).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        flags: {\n            // shared options for all flags series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'flags'\n    }]\n});\n
    \n ",extends:"{plotOptions.column}"},subtree:{allowOverlapX:{meta:{types:{boolean:1},name:"allowOverlapX",excludes:{},default:!1,description:"Whether the flags are allowed to overlap sideways. If `false`, the flags\nare moved sideways using an algorithm that seeks to place every flag as\nclose as possible to its original position."},subtree:{}},fillColor:{meta:{types:{color:1},name:"fillColor",excludes:{},default:"#ffffff",products:{highstock:1},description:"The fill color for the flags."},subtree:{}},height:{meta:{types:{number:1},name:"height",excludes:{},default:"undefined",products:{highstock:1},description:"Fixed height of the flag's shape. By default, height is autocalculated\naccording to the flag's title."},subtree:{}},lineColor:{meta:{types:{color:1},name:"lineColor",excludes:{},default:"#000000",products:{highstock:1},description:"The color of the line/border of the flag.\n\nIn styled mode, the stroke is set in the\n`.highcharts-flag-series.highcharts-point` rule."},subtree:{}},lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:1,products:{highstock:1},description:"The pixel width of the flag's line/border."},subtree:{}},onKey:{meta:{types:{string:1},name:"onKey",excludes:{},default:"y",products:{highstock:1},description:"In case the flag is placed on a series, on what point key to place\nit. Line and columns have one key, `y`. In range or OHLC-type series,\nhowever, the flag can optionally be placed on the `open`, `high`,\n `low` or `close` key."},subtree:{}},onSeries:{meta:{types:{string:1},name:"onSeries",excludes:{},default:"undefined",products:{highstock:1},description:"The id of the series that the flags should be drawn on. If no id\nis given, the flags are drawn on the x axis."},subtree:{}},pointRange:{meta:{types:{number:1},name:"pointRange",excludes:{},default:0},subtree:{}},shape:{meta:{types:{string:1},name:"shape",excludes:{},default:"flag",products:{highstock:1},description:'The shape of the marker. Can be one of "flag", "circlepin", "squarepin",\nor an image of the format `url(/path-to-image.jpg)`. Individual\nshapes can also be set for each point.'},subtree:{}},stackDistance:{meta:{types:{number:1},name:"stackDistance",excludes:{},default:12,products:{highstock:1},description:"When multiple flags in the same series fall on the same value, this\nnumber determines the vertical offset between them."},subtree:{}},states:{meta:{types:{object:1},name:"states",excludes:{}},subtree:{hover:{meta:{types:{object:1},name:"hover",excludes:{},products:{highstock:1},extends:"plotOptions.column.states.hover"},subtree:{fillColor:{meta:{types:{color:1},name:"fillColor",excludes:{},default:"#ccd6eb",products:{highstock:1},description:"The fill or background color of the flag."},subtree:{}},lineColor:{meta:{types:{color:1},name:"lineColor",excludes:{},default:"#000000",products:{highstock:1},description:"The color of the line/border of the flag."},subtree:{}}}}}},style:{meta:{types:{cssobject:1},name:"style",excludes:{},default:'{ "fontSize": "11px", "fontWeight": "bold" }',products:{highstock:1},description:"The text styles of the flag.\n\nIn styled mode, the styles are set in the\n`.highcharts-flag-series .highcharts-point` rule."},subtree:{fontSize:{meta:{types:{string:1},name:"fontSize",excludes:{},default:"11px"},subtree:{}},fontWeight:{meta:{types:{string:1},name:"fontWeight",excludes:{},default:"bold"},subtree:{}}}},textAlign:{meta:{types:{string:1},name:"textAlign",excludes:{},default:"center",products:{highstock:1},description:"Text alignment for the text inside the flag."},subtree:{}},threshold:{meta:{types:{object:1},name:"threshold",excludes:{},default:null},subtree:{}},title:{meta:{types:{string:1},name:"title",excludes:{},default:"A",products:{highstock:1},description:'The text to display on each flag. This can be defined on series level,\n or individually for each point. Defaults to `"A"`.'},subtree:{}},tooltip:{meta:{types:{object:1},name:"tooltip",excludes:{},products:{highstock:1},description:"Specific tooltip options for flag series. Flag series tooltips are\ndifferent from most other types in that a flag doesn't have a data\nvalue, so the tooltip rather displays the `text` option for each\npoint.",extends:"plotOptions.series.tooltip"},subtree:{pointFormat:{meta:{types:{string:1},name:"pointFormat",excludes:{},default:"{point.text}
    "},subtree:{}}}},useHTML:{meta:{types:{boolean:1},name:"useHTML",excludes:{},default:"false",products:{highstock:1},description:"Whether to use HTML to render the flag texts. Using HTML allows for\nadvanced formatting, images and reliable bi-directional text rendering.\nNote that exported images won't respect the HTML, and that HTML\nwon't respect Z-index settings."},subtree:{}},width:{meta:{types:{number:1},name:"width",excludes:{},default:"undefined",products:{highstock:1},description:"Fixed width of the flag's shape. By default, width is autocalculated\naccording to the flag's title."},subtree:{}},y:{meta:{types:{number:1},name:"y",excludes:{},default:-30,products:{highstock:1},description:"The y position of the top left corner of the flag relative to either\nthe series (if onSeries is defined), or the x axis. Defaults to\n`-30`."},subtree:{}}}},funnel:{meta:{types:{object:1},name:"funnel",excludes:{},products:{highcharts:1},description:"Funnel charts are a type of chart often used to visualize stages in a sales\nproject, where the top are the initial stages with the most clients.\nIt requires that the modules/funnel.js file is loaded.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `funnel` series are defined in\n [plotOptions.funnel](plotOptions.funnel).\n3. Options for one single series are given in\n [the series instance array](series.funnel).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        funnel: {\n            // shared options for all funnel series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'funnel'\n    }]\n});\n
    \n ",extends:"{plotOptions.pie}"},subtree:{animation:{meta:{types:{boolean:1},name:"animation",excludes:{},default:!1,description:"Initial animation is by default disabled for the funnel chart."},subtree:{}},center:{meta:{types:{array:"(String|Number)"},name:"center",excludes:{},default:'["50%", "50%"]',products:{highcharts:1},description:"The center of the series. By default, it is centered in the middle\nof the plot area, so it fills the plot area height."},subtree:{}},dataLabels:{meta:{types:{object:1},name:"dataLabels",excludes:{}},subtree:{connectorWidth:{meta:{types:{number:1},name:"connectorWidth",excludes:{},default:1},subtree:{}}}},height:{meta:{types:{number:1,string:1},name:"height",excludes:{},default:"100%",products:{highcharts:1},description:"The height of the funnel or pyramid. If it is a number it defines\nthe pixel height, if it is a percentage string it is the percentage\nof the plot area height."},subtree:{}},neckHeight:{meta:{types:{number:1,string:1},name:"neckHeight",excludes:{},default:"25%",products:{highcharts:1},description:"The height of the neck, the lower part of the funnel. A number defines\npixel width, a percentage string defines a percentage of the plot\narea height."},subtree:{}},neckWidth:{meta:{types:{number:1,string:1},name:"neckWidth",excludes:{},default:"30%",products:{highcharts:1},description:"The width of the neck, the lower part of the funnel. A number defines\npixel width, a percentage string defines a percentage of the plot\narea width."},subtree:{}},reversed:{meta:{types:{boolean:1},name:"reversed",excludes:{},default:!1,products:{highcharts:1},description:"A reversed funnel has the widest area down. A reversed funnel with\nno neck width and neck height is a pyramid."},subtree:{}},states:{meta:{types:{object:1},name:"states",excludes:{},products:{highcharts:1},description:"Options for the series states."},subtree:{hover:{meta:{types:{},name:"hover",excludes:{}},subtree:{}},select:{meta:{types:{object:1},name:"select",excludes:{},products:{highcharts:1},description:"Options for a selected funnel item."},subtree:{borderColor:{meta:{types:{color:1},name:"borderColor",excludes:{},default:"#000000",products:{highcharts:1,highstock:1},description:"A specific border color for the selected point."},subtree:{}},color:{meta:{types:{color:1},name:"color",excludes:{},default:"#cccccc",products:{highcharts:1,highstock:1},description:"A specific color for the selected point." },subtree:{}}}}}},width:{meta:{types:{number:1,string:1},name:"width",excludes:{},default:"90%",products:{highcharts:1},description:"The width of the funnel compared to the width of the plot area,\nor the pixel width if it is a number."},subtree:{}}}},gauge:{meta:{types:{object:1},name:"gauge",excludes:{},products:{highcharts:1},description:"Gauges are circular plots displaying one or more values with a dial pointing\nto values along the perimeter.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `gauge` series are defined in\n [plotOptions.gauge](plotOptions.gauge).\n3. Options for one single series are given in\n [the series instance array](series.gauge).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        gauge: {\n            // shared options for all gauge series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'gauge'\n    }]\n});\n
    \n ",extends:"{plotOptions.line}"},subtree:{dataLabels:{meta:{types:{object:1},name:"dataLabels",excludes:{},products:{highcharts:1},description:"Data labels for the gauge. For gauges, the data labels are enabled\nby default and shown in a bordered box below the point.",extends:"plotOptions.series.dataLabels"},subtree:{borderColor:{meta:{types:{color:1},name:"borderColor",excludes:{},default:"#cccccc",products:{highcharts:1,highmaps:1},description:"The border color for the data label."},subtree:{}},borderRadius:{meta:{types:{number:1},name:"borderRadius",excludes:{},default:3,products:{highcharts:1,highmaps:1},description:"The border radius in pixels for the gauge's data label."},subtree:{}},borderWidth:{meta:{types:{number:1},name:"borderWidth",excludes:{},default:1,products:{highcharts:1,highmaps:1},description:"The border width in pixels for the gauge data label."},subtree:{}},crop:{meta:{types:{boolean:1},name:"crop",excludes:{},default:!1},subtree:{}},defer:{meta:{types:{boolean:1},name:"defer",excludes:{},default:!1},subtree:{}},enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:!0,products:{highcharts:1,highmaps:1},description:"Enable or disable the data labels."},subtree:{}},verticalAlign:{meta:{types:{string:1},name:"verticalAlign",excludes:{},default:"top",products:{highcharts:1,highmaps:1},description:"The vertical alignment of the data label."},subtree:{}},y:{meta:{types:{number:1},name:"y",excludes:{},default:15,products:{highcharts:1,highmaps:1},description:"The y position offset of the label relative to the center of the\ngauge."},subtree:{}},zIndex:{meta:{types:{number:1},name:"zIndex",excludes:{},default:2,products:{highcharts:1,highmaps:1},description:"The Z index of the data labels. A value of 2 display them behind\nthe dial."},subtree:{}}}},dial:{meta:{types:{object:1},name:"dial",excludes:{},products:{highcharts:1},description:"Options for the dial or arrow pointer of the gauge.\n\nIn styled mode, the dial is styled with the\n`.highcharts-gauge-series .highcharts-dial` rule."},subtree:{backgroundColor:{meta:{types:{color:1},name:"backgroundColor",excludes:{},default:"#000000",products:{highcharts:1},description:"The background or fill color of the gauge's dial."},subtree:{}},baseLength:{meta:{types:{string:1},name:"baseLength",excludes:{},default:"70%",products:{highcharts:1},description:"The length of the dial's base part, relative to the total radius\nor length of the dial."},subtree:{}},baseWidth:{meta:{types:{number:1},name:"baseWidth",excludes:{},default:"3",products:{highcharts:1},description:"The pixel width of the base of the gauge dial. The base is the part\nclosest to the pivot, defined by baseLength."},subtree:{}},borderColor:{meta:{types:{color:1},name:"borderColor",excludes:{},default:"#cccccc",products:{highcharts:1},description:"The border color or stroke of the gauge's dial. By default, the\nborderWidth is 0, so this must be set in addition to a custom border\ncolor."},subtree:{}},borderWidth:{meta:{types:{number:1},name:"borderWidth",excludes:{},default:"0",products:{highcharts:1},description:"The width of the gauge dial border in pixels."},subtree:{}},radius:{meta:{types:{string:1},name:"radius",excludes:{},default:"80%",products:{highcharts:1},description:"The radius or length of the dial, in percentages relative to the\nradius of the gauge itself."},subtree:{}},rearLength:{meta:{types:{string:1},name:"rearLength",excludes:{},default:"10%",products:{highcharts:1},description:"The length of the dial's rear end, the part that extends out on the\nother side of the pivot. Relative to the dial's length."},subtree:{}},topWidth:{meta:{types:{number:1},name:"topWidth",excludes:{},default:"1",products:{highcharts:1},description:"The width of the top of the dial, closest to the perimeter. The pivot\nnarrows in from the base to the top."},subtree:{}}}},overshoot:{meta:{types:{number:1},name:"overshoot",excludes:{},default:"0",products:{highcharts:1},description:"Allow the dial to overshoot the end of the perimeter axis by this\nmany degrees. Say if the gauge axis goes from 0 to 60, a value of\n100, or 1000, will show 5 degrees beyond the end of the axis when this\noption is set to 5."},subtree:{}},pivot:{meta:{types:{object:1},name:"pivot",excludes:{},products:{highcharts:1},description:"Options for the pivot or the center point of the gauge.\n\nIn styled mode, the pivot is styled with the\n`.highcharts-gauge-series .highcharts-pivot` rule."},subtree:{backgroundColor:{meta:{types:{color:1},name:"backgroundColor",excludes:{},default:"#000000",products:{highcharts:1},description:"The background color or fill of the pivot."},subtree:{}},borderColor:{meta:{types:{color:1},name:"borderColor",excludes:{},default:"#cccccc",products:{highcharts:1},description:"The border or stroke color of the pivot. In able to change this,\nthe borderWidth must also be set to something other than the default\n0."},subtree:{}},borderWidth:{meta:{types:{number:1},name:"borderWidth",excludes:{},default:"0",products:{highcharts:1},description:"The border or stroke width of the pivot."},subtree:{}},radius:{meta:{types:{number:1},name:"radius",excludes:{},default:"5",products:{highcharts:1},description:"The pixel radius of the pivot."},subtree:{}}}},showInLegend:{meta:{types:{boolean:1},name:"showInLegend",excludes:{},default:!1,products:{highcharts:1},description:"Whether to display this particular series or series type in the\nlegend. Defaults to false for gauge series."},subtree:{}},tooltip:{meta:{types:{object:1},name:"tooltip",excludes:{}},subtree:{headerFormat:{meta:{types:{string:1},name:"headerFormat",excludes:{},default:""},subtree:{}}}},wrap:{meta:{types:{boolean:1},name:"wrap",excludes:{},default:"true",products:{highcharts:1},description:"When this option is `true`, the dial will wrap around the axes. For\ninstance, in a full-range gauge going from 0 to 360, a value of 400\nwill point to 40\\. When `wrap` is `false`, the dial stops at 360."},subtree:{}}}},heatmap:{meta:{types:{object:1},name:"heatmap",excludes:{},products:{highcharts:1,highmaps:1},description:"A heatmap is a graphical representation of data where the individual values\ncontained in a matrix are represented as colors.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `heatmap` series are defined in\n [plotOptions.heatmap](plotOptions.heatmap).\n3. Options for one single series are given in\n [the series instance array](series.heatmap).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        heatmap: {\n            // shared options for all heatmap series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'heatmap'\n    }]\n});\n
    \n ",extends:"{plotOptions.scatter}"},subtree:{animation:{meta:{types:{boolean:1,object:1},name:"animation",excludes:{},default:!1,description:"Animation is disabled by default on the heatmap series."},subtree:{}},borderWidth:{meta:{types:{number:1},name:"borderWidth",excludes:{},default:0,description:"The border width for each heat map item."},subtree:{}},color:{meta:{types:{color:1},name:"color",excludes:{},default:"null",products:{highcharts:1},description:"The main color of the series. In heat maps this color is rarely used,\nas we mostly use the color to denote the value of each point. Unless\noptions are set in the [colorAxis](#colorAxis), the default value\nis pulled from the [options.colors](#colors) array."},subtree:{}},colsize:{meta:{types:{number:1},name:"colsize",excludes:{},default:"1",products:{highcharts:1,highmaps:1},description:"The column size - how many X axis units each column in the heatmap\nshould span."},subtree:{}},dataLabels:{meta:{types:{object:1},name:"dataLabels",excludes:{}},subtree:{crop:{meta:{types:{boolean:1},name:"crop",excludes:{},default:!1},subtree:{}},formatter:{meta:{types:{},name:"formatter",excludes:{}},subtree:{}},inside:{meta:{types:{boolean:1},name:"inside",excludes:{},default:!0},subtree:{}},overflow:{meta:{types:{boolean:1},name:"overflow",excludes:{},default:!1},subtree:{}},padding:{meta:{types:{number:1},name:"padding",excludes:{},default:0},subtree:{}},verticalAlign:{meta:{types:{string:1},name:"verticalAlign",excludes:{},default:"middle"},subtree:{}}}},nullColor:{meta:{types:{color:1},name:"nullColor",excludes:{},default:"#f7f7f7",description:"The color applied to null points. In styled mode, a general CSS class is\napplied instead."},subtree:{}},pointPadding:{meta:{types:{number:1},name:"pointPadding",excludes:{},default:"0",description:"Padding between the points in the heatmap."},subtree:{}},rowsize:{meta:{types:{number:1},name:"rowsize",excludes:{},default:"1",products:{highcharts:1,highmaps:1},description:"The row size - how many Y axis units each heatmap row should span."},subtree:{}},states:{meta:{types:{object:1},name:"states",excludes:{}},subtree:{hover:{meta:{types:{object:1},name:"hover",excludes:{}},subtree:{brightness:{meta:{types:{number:1},name:"brightness",excludes:{},default:.2,products:{highcharts:1,highmaps:1},description:"How much to brighten the point on interaction. Requires the main\ncolor to be defined in hex or rgb(a) format.\n\nIn styled mode, the hover brightening is by default replaced\nwith a fill-opacity set in the `.highcharts-point:hover` rule."},subtree:{}}}}}},tooltip:{meta:{types:{object:1},name:"tooltip",excludes:{}},subtree:{pointFormat:{meta:{types:{string:1},name:"pointFormat",excludes:{},default:"{point.x}, {point.y}: {point.value}
    "},subtree:{}}}}}},histogram:{meta:{types:{object:1},name:"histogram",excludes:{},products:{highcharts:1},description:"A histogram is a column series which represents the distribution of the data\nset in the base series. Histogram splits data into bins and shows their\nfrequencies.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `histogram` series are defined in\n [plotOptions.histogram](plotOptions.histogram).\n3. Options for one single series are given in\n [the series instance array](series.histogram).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        histogram: {\n            // shared options for all histogram series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'histogram'\n    }]\n});\n
    \n ",extends:"plotOptions.column"},subtree:{binWidth:{meta:{types:{number:1},name:"binWidth",excludes:{},description:"Width of each bin. By default the bin's width is calculated as\n`(max - min) / number of bins`. This option takes precedence over\n[binsNumber](#plotOptions.histogram.binsNumber)."},subtree:{}},binsNumber:{meta:{types:{number:1,string:1,function:1},name:"binsNumber",excludes:{},default:"square-root",description:"A preferable number of bins. It is a suggestion, so a histogram may have\na different number of bins. By default it is set to the square root\nof the base series' data length. Available options are: `square-root`,\n`sturges`, `rice`. You can also define a function which takes a\n`baseSeries` as a parameter and should return a positive integer."},subtree:{}},groupPadding:{meta:{types:{number:1},name:"groupPadding",excludes:{},default:0},subtree:{}},grouping:{meta:{types:{boolean:1},name:"grouping",excludes:{},default:!1},subtree:{}},pointPadding:{meta:{types:{number:1},name:"pointPadding",excludes:{},default:0},subtree:{}},pointPlacement:{meta:{types:{string:1},name:"pointPlacement",excludes:{},default:"between"},subtree:{}},tooltip:{meta:{types:{object:1},name:"tooltip",excludes:{}},subtree:{headerFormat:{meta:{types:{string:1},name:"headerFormat",excludes:{},default:""},subtree:{}},pointFormat:{meta:{types:{string:1},name:"pointFormat",excludes:{},default:'{point.x} - {point.x2}
    {series.name} {point.y}
    '},subtree:{}}}}}},ikh:{meta:{types:{object:1},name:"ikh",excludes:{},products:{highstock:1},description:"Ichimoku Kinko Hyo (IKH). This series requires `linkedTo` option to be\nset.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `ikh` series are defined in\n [plotOptions.ikh](plotOptions.ikh).\n3. Options for one single series are given in\n [the series instance array](series.ikh).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        ikh: {\n            // shared options for all ikh series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'ikh'\n    }]\n});\n
    \n ",extends:"plotOptions.sma"},subtree:{chikouLine:{meta:{types:{object:1},name:"chikouLine",excludes:{},products:{highstock:1},description:"The styles for Chikou line"},subtree:{styles:{meta:{types:{object:1},name:"styles",excludes:{}},subtree:{lineColor:{meta:{types:{number:1},name:"lineColor",excludes:{},products:{highstock:1},description:"Color of the line."},subtree:{}},lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:1,products:{highstock:1},description:"Pixel width of the line."},subtree:{}}}}}},dataGrouping:{meta:{types:{object:1},name:"dataGrouping",excludes:{}},subtree:{approximation:{meta:{types:{string:1},name:"approximation",excludes:{},default:"ichimoku-averages"},subtree:{}}}},kijunLine:{meta:{types:{object:1},name:"kijunLine",excludes:{},products:{highstock:1},description:"The styles for Kijun line"},subtree:{styles:{meta:{types:{object:1},name:"styles",excludes:{}},subtree:{lineColor:{meta:{types:{number:1},name:"lineColor",excludes:{},products:{highstock:1},description:"Color of the line."},subtree:{}},lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:1,products:{highstock:1},description:"Pixel width of the line."},subtree:{}}}}}},marker:{meta:{types:{object:1},name:"marker",excludes:{}},subtree:{enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:!1},subtree:{}}}},params:{meta:{types:{object:1},name:"params",excludes:{}},subtree:{period:{meta:{types:{number:1},name:"period",excludes:{},default:26},subtree:{}},periodSenkouSpanB:{meta:{types:{number:1},name:"periodSenkouSpanB",excludes:{},default:52,products:{highstock:1},description:"The base period for Senkou Span B calculations"},subtree:{}},periodTenkan:{meta:{types:{number:1},name:"periodTenkan",excludes:{},default:9,products:{highstock:1},description:"The base period for Tenkan calculations."},subtree:{}}}},senkouSpan:{meta:{types:{object:1},name:"senkouSpan",excludes:{},products:{highstock:1},description:"The styles for fill between Senkou Span A and B"},subtree:{styles:{meta:{types:{object:1},name:"styles",excludes:{}},subtree:{fill:{meta:{types:{number:1},name:"fill",excludes:{},default:"rgba(255, 0, 0, 0.5)",products:{highstock:1},description:"Color of the area between Senkou Span A and B."},subtree:{}}}}}},senkouSpanA:{meta:{types:{object:1},name:"senkouSpanA",excludes:{},products:{highstock:1},description:"The styles for Senkou Span A line"},subtree:{styles:{meta:{types:{object:1},name:"styles",excludes:{}},subtree:{lineColor:{meta:{types:{number:1},name:"lineColor",excludes:{},products:{highstock:1},description:"Color of the line."},subtree:{}},lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:1,products:{highstock:1},description:"Pixel width of the line."},subtree:{}}}}}},senkouSpanB:{meta:{types:{object:1},name:"senkouSpanB",excludes:{},products:{highstock:1},description:"The styles for Senkou Span B line"},subtree:{styles:{meta:{types:{object:1},name:"styles",excludes:{}},subtree:{lineColor:{meta:{types:{number:1},name:"lineColor",excludes:{},products:{highstock:1},description:"Color of the line."},subtree:{}},lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:1,products:{highstock:1},description:"Pixel width of the line."},subtree:{}}}}}},tenkanLine:{meta:{types:{object:1},name:"tenkanLine",excludes:{},products:{highstock:1},description:"The styles for Tenkan line"},subtree:{styles:{meta:{types:{object:1},name:"styles",excludes:{}},subtree:{lineColor:{meta:{types:{number:1},name:"lineColor",excludes:{},products:{highstock:1},description:"Color of the line."},subtree:{}},lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:1,products:{highstock:1},description:"Pixel width of the line."},subtree:{}}}}}},tooltip:{meta:{types:{object:1},name:"tooltip",excludes:{}},subtree:{pointFormat:{meta:{types:{string:1},name:"pointFormat",excludes:{},default:' {series.name}
    TENKAN SEN: {point.tenkanSen:.3f}
    KIJUN SEN: {point.kijunSen:.3f}
    CHIKOU SPAN: {point.chikouSpan:.3f}
    SENKOU SPAN A: {point.senkouSpanA:.3f}
    SENKOU SPAN B: {point.senkouSpanB:.3f}
    '},subtree:{}}}}}},line:{meta:{types:{object:1},name:"line",excludes:{},products:{highcharts:1,highstock:1},description:"A line series displays information as a series of data points connected by\nstraight line segments.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `line` series are defined in\n [plotOptions.line](plotOptions.line).\n3. Options for one single series are given in\n [the series instance array](series.line).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        line: {\n            // shared options for all line series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'line'\n    }]\n});\n
    \n ",extends:"plotOptions.series"},subtree:{linecap:{meta:{types:{string:1},name:"linecap",excludes:{},default:"round",description:"The SVG value used for the `stroke-linecap` and `stroke-linejoin`\nof a line graph. Round means that lines are rounded in the ends and\nbends."},subtree:{}}}},macd:{meta:{types:{object:1},name:"macd",excludes:{},products:{highstock:1},description:"Moving Average Convergence Divergence (MACD). This series requires\n`linkedTo` option to be set.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `macd` series are defined in\n [plotOptions.macd](plotOptions.macd).\n3. Options for one single series are given in\n [the series instance array](series.macd).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        macd: {\n            // shared options for all macd series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'macd'\n    }]\n});\n
    \n ",extends:"plotOptions.sma"},subtree:{dataGrouping:{meta:{types:{object:1},name:"dataGrouping",excludes:{}},subtree:{approximation:{meta:{types:{string:1},name:"approximation",excludes:{},default:"averages"},subtree:{}}}},groupPadding:{meta:{types:{number:1},name:"groupPadding",excludes:{},default:.1},subtree:{}},macdLine:{meta:{types:{object:1},name:"macdLine",excludes:{},products:{highstock:1},description:"The styles for macd line"},subtree:{styles:{meta:{types:{object:1},name:"styles",excludes:{}},subtree:{lineColor:{meta:{types:{number:1},name:"lineColor",excludes:{},products:{highstock:1},description:"Color of the line."},subtree:{}},lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:1,products:{highstock:1},description:"Pixel width of the line."},subtree:{}}}},zones:{meta:{types:{},name:"zones",excludes:{},extends:"plotOptions.macd.zones"},subtree:{}}}},minPointLength:{meta:{types:{number:1},name:"minPointLength",excludes:{},default:0},subtree:{}},params:{meta:{types:{object:1},name:"params",excludes:{}},subtree:{longPeriod:{meta:{types:{number:1},name:"longPeriod",excludes:{},default:26,products:{highstock:1},description:"The long period for indicator calculations."},subtree:{}},period:{meta:{types:{number:1},name:"period",excludes:{},default:26},subtree:{}},shortPeriod:{meta:{types:{number:1},name:"shortPeriod",excludes:{},default:12,products:{highstock:1},description:"The short period for indicator calculations."},subtree:{}},signalPeriod:{meta:{types:{number:1},name:"signalPeriod",excludes:{},default:9,products:{highstock:1},description:"The base period for signal calculations."},subtree:{}}}},pointPadding:{meta:{types:{number:1},name:"pointPadding",excludes:{},default:.1},subtree:{}},signalLine:{meta:{types:{object:1},name:"signalLine",excludes:{},products:{highstock:1},description:"The styles for signal line"},subtree:{styles:{meta:{types:{object:1},name:"styles",excludes:{}},subtree:{lineColor:{meta:{types:{number:1},name:"lineColor",excludes:{},products:{highstock:1},description:"Color of the line."},subtree:{}},lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:1,products:{highstock:1},description:"Pixel width of the line."},subtree:{}}}},zones:{meta:{types:{},name:"zones",excludes:{},extends:"plotOptions.macd.zones"},subtree:{}}}},states:{meta:{types:{object:1},name:"states",excludes:{}},subtree:{hover:{meta:{types:{object:1},name:"hover",excludes:{}},subtree:{halo:{meta:{types:{object:1},name:"halo",excludes:{}},subtree:{size:{meta:{types:{number:1},name:"size",excludes:{},default:0},subtree:{}}}}}}}},threshold:{meta:{types:{number:1},name:"threshold",excludes:{},default:0},subtree:{}},tooltip:{meta:{types:{object:1},name:"tooltip",excludes:{}},subtree:{pointFormat:{meta:{types:{string:1},name:"pointFormat",excludes:{},default:' {series.name}
    Value: {point.MACD}
    Signal: {point.signal}
    Histogram: {point.y}
    '},subtree:{}}}}}},map:{meta:{types:{object:1},name:"map",excludes:{},products:{highmaps:1},description:"The map series is used for basic choropleth maps, where each map area has a\ncolor based on its value.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `map` series are defined in\n [plotOptions.map](plotOptions.map).\n3. Options for one single series are given in\n [the series instance array](series.map).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        map: {\n            // shared options for all map series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'map'\n    }]\n});\n
    \n ",extends:"plotOptions.scatter"},subtree:{allAreas:{meta:{types:{boolean:1},name:"allAreas",excludes:{},default:!0},subtree:{}},animation:{meta:{types:{boolean:1},name:"animation",excludes:{},default:!1},subtree:{}},borderColor:{meta:{types:{string:1},name:"borderColor",excludes:{},default:"#cccccc"},subtree:{}},borderWidth:{meta:{types:{number:1},name:"borderWidth",excludes:{},default:1},subtree:{}},dataLabels:{meta:{types:{object:1},name:"dataLabels",excludes:{}},subtree:{crop:{meta:{types:{boolean:1},name:"crop",excludes:{},default:!1},subtree:{}},formatter:{meta:{types:{},name:"formatter",excludes:{}},subtree:{}},inside:{meta:{types:{boolean:1},name:"inside",excludes:{},default:!0},subtree:{}},overflow:{meta:{types:{boolean:1},name:"overflow",excludes:{},default:!1},subtree:{}},padding:{meta:{types:{number:1},name:"padding",excludes:{},default:0},subtree:{}},verticalAlign:{meta:{types:{string:1},name:"verticalAlign",excludes:{},default:"middle"},subtree:{}}}},joinBy:{meta:{types:{string:1},name:"joinBy",excludes:{},default:"hc-key"},subtree:{}},nullColor:{meta:{types:{color:1},name:"nullColor",excludes:{},default:"#f7f7f7",products:{highmaps:1},description:"The color to apply to null points.\n\nIn styled mode, the null point fill is set in the\n`.highcharts-null-point` class."},subtree:{}},nullInteraction:{meta:{types:{boolean:1},name:"nullInteraction",excludes:{},default:"false",products:{highmaps:1},description:"Whether to allow pointer interaction like tooltips and mouse events\non null points."},subtree:{}},states:{meta:{types:{object:1},name:"states",excludes:{}},subtree:{hover:{meta:{types:{object:1},name:"hover",excludes:{}},subtree:{brightness:{meta:{types:{number:1},name:"brightness",excludes:{},default:.2},subtree:{}},halo:{meta:{types:{object:1},name:"halo",excludes:{},default:null},subtree:{}}}},normal:{meta:{types:{object:1},name:"normal",excludes:{}},subtree:{animation:{meta:{types:{boolean:1},name:"animation",excludes:{},default:!0},subtree:{}}}},select:{meta:{types:{object:1},name:"select",excludes:{}},subtree:{color:{meta:{types:{string:1},name:"color",excludes:{},default:"#cccccc"},subtree:{}}}}}},stickyTracking:{meta:{types:{boolean:1},name:"stickyTracking",excludes:{},default:!1},subtree:{}},tooltip:{meta:{types:{object:1},name:"tooltip",excludes:{}},subtree:{followPointer:{meta:{types:{boolean:1},name:"followPointer",excludes:{},default:!0},subtree:{}},pointFormat:{meta:{types:{string:1},name:"pointFormat",excludes:{},default:"{point.name}: {point.value}
    "},subtree:{}}}}}},mapbubble:{meta:{types:{object:1},name:"mapbubble",excludes:{},products:{highmaps:1},description:"A map bubble series is a bubble series laid out on top of a map series,\nwhere each bubble is tied to a specific map area.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `mapbubble` series are defined in\n [plotOptions.mapbubble](plotOptions.mapbubble).\n3. Options for one single series are given in\n [the series instance array](series.mapbubble).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        mapbubble: {\n            // shared options for all mapbubble series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'mapbubble'\n    }]\n});\n
    \n ",extends:"plotOptions.bubble"},subtree:{animationLimit:{meta:{types:{number:1},name:"animationLimit",excludes:{},default:500},subtree:{}},color:{meta:{types:{color:1},name:"color",excludes:{},products:{highmaps:1},description:"The main color of the series. This color affects both the fill and\nthe stroke of the bubble. For enhanced control, use `marker` options."},subtree:{}},displayNegative:{meta:{types:{boolean:1},name:"displayNegative",excludes:{},default:"true",products:{highmaps:1},description:"Whether to display negative sized bubbles. The threshold is given\nby the [zThreshold](#plotOptions.mapbubble.zThreshold) option, and\nnegative bubbles can be visualized by setting [negativeColor](\n#plotOptions.bubble.negativeColor)."},subtree:{}},maxSize:{meta:{types:{},name:"maxSize",excludes:{},products:{highmaps:1}},subtree:{}},minSize:{meta:{types:{},name:"minSize",excludes:{},products:{highmaps:1}},subtree:{}},negativeColor:{meta:{types:{color:1},name:"negativeColor",excludes:{},default:"null",products:{highmaps:1},description:"When a point's Z value is below the [zThreshold](\n#plotOptions.mapbubble.zThreshold) setting, this color is used."},subtree:{}},sizeBy:{meta:{types:{string:1},name:"sizeBy",excludes:{},default:"area",products:{highmaps:1},description:"Whether the bubble's value should be represented by the area or the\nwidth of the bubble. The default, `area`, corresponds best to the\nhuman perception of the size of each bubble."},subtree:{}},sizeByAbsoluteValue:{meta:{types:{boolean:1},name:"sizeByAbsoluteValue",excludes:{},default:"false",products:{highmaps:1},description:"When this is true, the absolute value of z determines the size of\nthe bubble. This means that with the default `zThreshold` of 0, a\nbubble of value -1 will have the same size as a bubble of value 1,\nwhile a bubble of value 0 will have a smaller size according to\n`minSize`."},subtree:{}},tooltip:{meta:{types:{object:1},name:"tooltip",excludes:{}},subtree:{pointFormat:{meta:{types:{string:1},name:"pointFormat",excludes:{},default:"{point.name}: {point.z}"},subtree:{}}}},zMax:{meta:{types:{number:1},name:"zMax",excludes:{},default:"null",products:{highmaps:1},description:"The minimum for the Z value range. Defaults to the highest Z value\nin the data."},subtree:{}},zMin:{meta:{types:{number:1},name:"zMin",excludes:{},default:"null",products:{highmaps:1},description:"The minimum for the Z value range. Defaults to the lowest Z value\nin the data."},subtree:{}},zThreshold:{meta:{types:{number:1},name:"zThreshold",excludes:{},default:"0",products:{highmaps:1},description:"When [displayNegative](#plotOptions.mapbubble.displayNegative) is\n`false`, bubbles with lower Z values are skipped. When\n`displayNegative` is `true` and a [negativeColor](\n#plotOptions.mapbubble.negativeColor) is given, points with lower Z\nis colored."},subtree:{}}}},mapline:{meta:{types:{object:1},name:"mapline",excludes:{},products:{highmaps:1},description:"A mapline series is a special case of the map series where the value colors\nare applied to the strokes rather than the fills. It can also be used for\nfreeform drawing, like dividers, in the map.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `mapline` series are defined in\n [plotOptions.mapline](plotOptions.mapline).\n3. Options for one single series are given in\n [the series instance array](series.mapline).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        mapline: {\n            // shared options for all mapline series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'mapline'\n    }]\n});\n
    \n ",extends:"plotOptions.map" },subtree:{fillColor:{meta:{types:{color:1},name:"fillColor",excludes:{},default:"none",products:{highmaps:1},description:"Fill color for the map line shapes"},subtree:{}},lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:"1",products:{highmaps:1},description:"The width of the map line."},subtree:{}}}},mappoint:{meta:{types:{object:1},name:"mappoint",excludes:{},products:{highmaps:1},description:"A mappoint series is a special form of scatter series where the points can\nbe laid out in map coordinates on top of a map.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `mappoint` series are defined in\n [plotOptions.mappoint](plotOptions.mappoint).\n3. Options for one single series are given in\n [the series instance array](series.mappoint).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        mappoint: {\n            // shared options for all mappoint series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'mappoint'\n    }]\n});\n
    \n ",extends:"plotOptions.scatter"},subtree:{dataLabels:{meta:{types:{object:1},name:"dataLabels",excludes:{}},subtree:{crop:{meta:{types:{boolean:1},name:"crop",excludes:{},default:!1},subtree:{}},defer:{meta:{types:{boolean:1},name:"defer",excludes:{},default:!1},subtree:{}},enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:!0},subtree:{}},format:{meta:{types:{string:1},name:"format",excludes:{},default:"{point.name}"},subtree:{}},formatter:{meta:{types:{},name:"formatter",excludes:{}},subtree:{}},overflow:{meta:{types:{boolean:1},name:"overflow",excludes:{},default:!1},subtree:{}},style:{meta:{types:{object:1},name:"style",excludes:{}},subtree:{color:{meta:{types:{string:1},name:"color",excludes:{},default:"#000000"},subtree:{}}}}}}}},mfi:{meta:{types:{object:1},name:"mfi",excludes:{},products:{highstock:1},description:"Money Flow Index. This series requires `linkedTo` option to be set and\nshould be loaded after the `stock/indicators/indicators.js` file.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `mfi` series are defined in\n [plotOptions.mfi](plotOptions.mfi).\n3. Options for one single series are given in\n [the series instance array](series.mfi).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        mfi: {\n            // shared options for all mfi series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'mfi'\n    }]\n});\n
    \n ",extends:"plotOptions.sma"},subtree:{params:{meta:{types:{object:1},name:"params",excludes:{}},subtree:{decimals:{meta:{types:{number:1},name:"decimals",excludes:{},default:4,products:{highstock:1},description:"Number of maximum decimals that are used in MFI calculations."},subtree:{}},period:{meta:{types:{number:1},name:"period",excludes:{},default:14},subtree:{}},volumeSeriesID:{meta:{types:{string:1},name:"volumeSeriesID",excludes:{},default:"volume",products:{highstock:1},description:"The id of volume series which is mandatory.\nFor example using OHLC data, volumeSeriesID='volume' means\nthe indicator will be calculated using OHLC and volume values."},subtree:{}}}}}},momentum:{meta:{types:{object:1},name:"momentum",excludes:{},products:{highstock:1},description:"Momentum. This series requires `linkedTo` option to be set.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `momentum` series are defined in\n [plotOptions.momentum](plotOptions.momentum).\n3. Options for one single series are given in\n [the series instance array](series.momentum).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        momentum: {\n            // shared options for all momentum series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'momentum'\n    }]\n});\n
    \n ",extends:"plotOptions.sma"},subtree:{params:{meta:{types:{object:1},name:"params",excludes:{}},subtree:{period:{meta:{types:{number:1},name:"period",excludes:{},default:14},subtree:{}}}}}},ohlc:{meta:{types:{object:1},name:"ohlc",excludes:{},products:{highstock:1},description:"An OHLC chart is a style of financial chart used to describe price\nmovements over time. It displays open, high, low and close values per data\npoint.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `ohlc` series are defined in\n [plotOptions.ohlc](plotOptions.ohlc).\n3. Options for one single series are given in\n [the series instance array](series.ohlc).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        ohlc: {\n            // shared options for all ohlc series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'ohlc'\n    }]\n});\n
    \n ",extends:"plotOptions.column"},subtree:{dataGrouping:{meta:{types:{object:1},name:"dataGrouping",excludes:{}},subtree:{groupPixelWidth:{meta:{types:{number:1},name:"groupPixelWidth",excludes:{},default:"5",products:{highstock:1},description:"The approximate pixel width of each group. If for example a series\nwith 30 points is displayed over a 600 pixel wide plot area, no grouping\nis performed. If however the series contains so many points that\nthe spacing is less than the groupPixelWidth, Highcharts will try\nto group it into appropriate groups so that each is more or less\ntwo pixels wide. Defaults to `5`."},subtree:{}}}},lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:"1",products:{highstock:1},description:"The pixel width of the line/border. Defaults to `1`."},subtree:{}},pointValKey:{meta:{types:{string:1},name:"pointValKey",excludes:{},default:"close",products:{highstock:1},description:"Determines which one of `open`, `high`, `low`, `close` values should be\nrepresented as `point.y`, which is later used to set dataLabel position."},subtree:{}},states:{meta:{types:{object:1},name:"states",excludes:{}},subtree:{hover:{meta:{types:{object:1},name:"hover",excludes:{},products:{highstock:1},extends:"plotOptions.column.states.hover"},subtree:{lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:"3",products:{highstock:1},description:"The pixel width of the line representing the OHLC point."},subtree:{}}}}}},stickyTracking:{meta:{types:{boolean:1},name:"stickyTracking",excludes:{},default:!0},subtree:{}},threshold:{meta:{types:{object:1},name:"threshold",excludes:{},default:null},subtree:{}},tooltip:{meta:{types:{object:1},name:"tooltip",excludes:{}},subtree:{pointFormat:{meta:{types:{string:1},name:"pointFormat",excludes:{},default:' {series.name}
    Open: {point.open}
    High: {point.high}
    Low: {point.low}
    Close: {point.close}
    '},subtree:{}}}},upColor:{meta:{types:{color:1},name:"upColor",excludes:{},products:{highstock:1},description:"Line color for up points."},subtree:{}}}},pareto:{meta:{types:{object:1},name:"pareto",excludes:{},products:{highcharts:1},description:"A pareto diagram is a type of chart that contains both bars and a line graph,\nwhere individual values are represented in descending order by bars,\nand the cumulative total is represented by the line.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `pareto` series are defined in\n [plotOptions.pareto](plotOptions.pareto).\n3. Options for one single series are given in\n [the series instance array](series.pareto).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        pareto: {\n            // shared options for all pareto series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'pareto'\n    }]\n});\n
    \n ",extends:"plotOptions.line"},subtree:{zIndex:{meta:{types:{number:1},name:"zIndex",excludes:{},default:3,description:"Higher zIndex than column series to draw line above shapes."},subtree:{}}}},pie:{meta:{types:{object:1},name:"pie",excludes:{},products:{highcharts:1},description:"A pie chart is a circular graphic which is divided into slices to illustrate\nnumerical proportion.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `pie` series are defined in\n [plotOptions.pie](plotOptions.pie).\n3. Options for one single series are given in\n [the series instance array](series.pie).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        pie: {\n            // shared options for all pie series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'pie'\n    }]\n});\n
    \n ",extends:"plotOptions.line"},subtree:{borderColor:{meta:{types:{color:1},name:"borderColor",excludes:{},default:"#ffffff",products:{highcharts:1},description:"The color of the border surrounding each slice. When `null`, the\nborder takes the same color as the slice fill. This can be used\ntogether with a `borderWidth` to fill drawing gaps created by\nantialiazing artefacts in borderless pies.\n\nIn styled mode, the border stroke is given in the `.highcharts-point`\nclass."},subtree:{}},borderWidth:{meta:{types:{number:1},name:"borderWidth",excludes:{},default:"1",products:{highcharts:1},description:"The width of the border surrounding each slice.\n\nWhen setting the border width to 0, there may be small gaps between\nthe slices due to SVG antialiasing artefacts. To work around this,\nkeep the border width at 0.5 or 1, but set the `borderColor` to\n`null` instead.\n\nIn styled mode, the border stroke width is given in the\n`.highcharts-point` class."},subtree:{}},center:{meta:{types:{array:"(String|Number)"},name:"center",excludes:{},default:"[null, null]",products:{highcharts:1},description:'The center of the pie chart relative to the plot area. Can be percentages\nor pixel values. The default behaviour (as of 3.0) is to center\nthe pie so that all slices and data labels are within the plot area.\nAs a consequence, the pie may actually jump around in a chart with\ndynamic values, as the data labels move. In that case, the center\nshould be explicitly set, for example to `["50%", "50%"]`.'},subtree:{}},clip:{meta:{types:{boolean:1},name:"clip",excludes:{},default:!1},subtree:{}},colors:{meta:{types:{array:"Color"},name:"colors",excludes:{},products:{highcharts:1},description:"A series specific or series type specific color set to use instead\nof the global [colors](#colors)."},subtree:{}},dataLabels:{meta:{types:{object:1},name:"dataLabels",excludes:{},products:{highcharts:1},extends:"plotOptions.series.dataLabels"},subtree:{allowOverlap:{meta:{types:{boolean:1},name:"allowOverlap",excludes:{},default:!0},subtree:{}},connectorColor:{meta:{types:{string:1},name:"connectorColor",excludes:{},default:"{point.color}",products:{highcharts:1},description:"The color of the line connecting the data label to the pie slice.\nThe default color is the same as the point's color.\n\nIn styled mode, the connector stroke is given in the\n`.highcharts-data-label-connector` class."},subtree:{}},connectorPadding:{meta:{types:{number:1},name:"connectorPadding",excludes:{},default:"5",products:{highcharts:1},description:"The distance from the data label to the connector."},subtree:{}},connectorWidth:{meta:{types:{number:1},name:"connectorWidth",excludes:{},default:"1",products:{highcharts:1},description:"The width of the line connecting the data label to the pie slice.\n\n\nIn styled mode, the connector stroke width is given in the\n`.highcharts-data-label-connector` class."},subtree:{}},distance:{meta:{types:{number:1},name:"distance",excludes:{},default:"30",products:{highcharts:1},description:"The distance of the data label from the pie's edge. Negative numbers\nput the data label on top of the pie slices. Connectors are only\nshown for data labels outside the pie."},subtree:{}},enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:!0,products:{highcharts:1},description:"Enable or disable the data labels."},subtree:{}},formatter:{meta:{types:{},name:"formatter",excludes:{}},subtree:{}},softConnector:{meta:{types:{number:1},name:"softConnector",excludes:{},products:{highcharts:1},description:"Whether to render the connector as a soft arc or a line with sharp\nbreak."},subtree:{}},style:{meta:{types:{},name:"style",excludes:{}},subtree:{}},x:{meta:{types:{number:1},name:"x",excludes:{},default:0},subtree:{}}}},depth:{meta:{types:{number:1},name:"depth",excludes:{},default:"0",products:{highcharts:1},description:"The thickness of a 3D pie. Requires `highcharts-3d.js`"},subtree:{}},endAngle:{meta:{types:{number:1},name:"endAngle",excludes:{},default:"null",products:{highcharts:1},description:"The end angle of the pie in degrees where 0 is top and 90 is right.\nDefaults to `startAngle` plus 360."},subtree:{}},events:{meta:{types:{object:1},name:"events",excludes:{}},subtree:{checkboxClick:{meta:{types:{function:1},name:"checkboxClick",excludes:{},products:{highcharts:1},description:"Fires when the checkbox next to the point name in the legend is clicked.\nOne parameter, event, is passed to the function. The state of the\ncheckbox is found by event.checked. The checked item is found by\nevent.item. Return false to prevent the default action which is to\ntoggle the select state of the series."},subtree:{}},legendItemClick:{meta:{types:{function:1},name:"legendItemClick",excludes:{},products:{highcharts:1},description:"Not applicable to pies, as the legend item is per point. See point.\nevents."},subtree:{}}}},ignoreHiddenPoint:{meta:{types:{boolean:1},name:"ignoreHiddenPoint",excludes:{},default:"true",products:{highcharts:1},description:"Equivalent to [chart.ignoreHiddenSeries](#chart.ignoreHiddenSeries),\nthis option tells whether the series shall be redrawn as if the\nhidden point were `null`.\n\nThe default value changed from `false` to `true` with Highcharts\n3.0."},subtree:{}},innerSize:{meta:{types:{number:1,string:1},name:"innerSize",excludes:{},default:"0",products:{highcharts:1},description:"The size of the inner diameter for the pie. A size greater than 0\nrenders a donut chart. Can be a percentage or pixel value. Percentages\nare relative to the pie size. Pixel values are given as integers.\n\n\nNote: in Highcharts < 4.1.2, the percentage was relative to the plot\narea, not the pie size."},subtree:{}},minSize:{meta:{types:{number:1},name:"minSize",excludes:{},default:"80",products:{highcharts:1},description:"The minimum size for a pie in response to auto margins. The pie will\ntry to shrink to make room for data labels in side the plot area,\n but only to this size."},subtree:{}},point:{meta:{types:{object:1},name:"point",excludes:{}},subtree:{events:{meta:{types:{object:1},name:"events",excludes:{}},subtree:{legendItemClick:{meta:{types:{function:1},name:"legendItemClick",excludes:{},products:{highcharts:1},description:"Fires when the legend item belonging to the pie point (slice) is\nclicked. The `this` keyword refers to the point itself. One parameter,\n`event`, is passed to the function, containing common event information. The\ndefault action is to toggle the visibility of the point. This can be\nprevented by calling `event.preventDefault()`."},subtree:{}}}}}},showInLegend:{meta:{types:{boolean:1},name:"showInLegend",excludes:{},default:!1,products:{highcharts:1},description:"Whether to display this particular series or series type in the\nlegend. Since 2.1, pies are not shown in the legend by default."},subtree:{}},size:{meta:{types:{number:1,string:1},name:"size",excludes:{},default:null,products:{highcharts:1},description:'The diameter of the pie relative to the plot area. Can be a percentage\nor pixel value. Pixel values are given as integers. The default\nbehaviour (as of 3.0) is to scale to the plot area and give room\nfor data labels within the plot area.\n[slicedOffset](#plotOptions.pie.slicedOffset) is also included\nin the default size calculation. As a consequence, the size\nof the pie may vary when points are updated and data labels more\naround. In that case it is best to set a fixed value, for example\n`"75%"`.'},subtree:{}},slicedOffset:{meta:{types:{number:1},name:"slicedOffset",excludes:{},default:"10",products:{highcharts:1},description:"If a point is sliced, moved out from the center, how many pixels\nshould it be moved?."},subtree:{}},startAngle:{meta:{types:{number:1},name:"startAngle",excludes:{},default:"0",products:{highcharts:1},description:"The start angle of the pie slices in degrees where 0 is top and 90\nright."},subtree:{}},states:{meta:{types:{object:1},name:"states",excludes:{}},subtree:{hover:{meta:{types:{object:1},name:"hover",excludes:{},products:{highcharts:1},extends:"plotOptions.series.states.hover"},subtree:{brightness:{meta:{types:{number:1},name:"brightness",excludes:{},default:.1,products:{highcharts:1},description:"How much to brighten the point on interaction. Requires the main\ncolor to be defined in hex or rgb(a) format.\n\nIn styled mode, the hover brightness is by default replaced\nby a fill-opacity given in the `.highcharts-point-hover` class."},subtree:{}}}}}},stickyTracking:{meta:{types:{boolean:1},name:"stickyTracking",excludes:{},default:!1,products:{highcharts:1},description:"Sticky tracking of mouse events. When true, the `mouseOut` event\non a series isn't triggered until the mouse moves over another series,\nor out of the plot area. When false, the `mouseOut` event on a\nseries is triggered when the mouse leaves the area around the series'\ngraph or markers. This also implies the tooltip. When `stickyTracking`\nis false and `tooltip.shared` is false, the tooltip will be hidden\nwhen moving the mouse between series."},subtree:{}},tooltip:{meta:{types:{object:1},name:"tooltip",excludes:{}},subtree:{followPointer:{meta:{types:{boolean:1},name:"followPointer",excludes:{},default:!0},subtree:{}}}}}},pivotpoints:{meta:{types:{object:1},name:"pivotpoints",excludes:{},products:{highstock:1},description:"Pivot points indicator. This series requires the `linkedTo` option to be\rset and should be loaded after `stock/indicators/indicators.js` file.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `pivotpoints` series are defined in\n [plotOptions.pivotpoints](plotOptions.pivotpoints).\n3. Options for one single series are given in\n [the series instance array](series.pivotpoints).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        pivotpoints: {\n            // shared options for all pivotpoints series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'pivotpoints'\n    }]\n});\n
    \n ",extends:"plotOptions.sma"},subtree:{dataGrouping:{meta:{types:{object:1},name:"dataGrouping",excludes:{}},subtree:{approximation:{meta:{types:{string:1},name:"approximation",excludes:{},default:"averages"},subtree:{}}}},dataLabels:{meta:{types:{object:1},name:"dataLabels",excludes:{}},subtree:{enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:!0},subtree:{}},format:{meta:{types:{string:1},name:"format",excludes:{},default:"{point.pivotLine}"},subtree:{}}}},enableMouseTracking:{meta:{types:{boolean:1},name:"enableMouseTracking",excludes:{},default:!1},subtree:{}},marker:{meta:{types:{object:1},name:"marker",excludes:{}},subtree:{enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:!1},subtree:{}}}},params:{meta:{types:{object:1},name:"params",excludes:{}},subtree:{algorithm:{meta:{types:{string:1},name:"algorithm",excludes:{},default:"standard",products:{highstock:1},description:"Algorithm used to calculate ressistance and support lines based\ron pivot points. Implemented algorithms: `'standard'`,\r`'fibonacci'` and `'camarilla'`"},subtree:{}},period:{meta:{types:{number:1},name:"period",excludes:{},default:28},subtree:{}}}}}},polygon:{meta:{types:{object:1},name:"polygon",excludes:{},products:{highcharts:1,highstock:1},description:"A polygon series can be used to draw any freeform shape in the cartesian\ncoordinate system. A fill is applied with the `color` option, and\nstroke is applied through `lineWidth` and `lineColor` options. Requires\nthe `highcharts-more.js` file.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `polygon` series are defined in\n [plotOptions.polygon](plotOptions.polygon).\n3. Options for one single series are given in\n [the series instance array](series.polygon).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        polygon: {\n            // shared options for all polygon series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'polygon'\n    }]\n});\n
    \n ",extends:"plotOptions.scatter"},subtree:{marker:{meta:{types:{object:1},name:"marker",excludes:{}},subtree:{enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:!1},subtree:{}},states:{meta:{types:{object:1},name:"states",excludes:{}},subtree:{hover:{meta:{types:{object:1},name:"hover",excludes:{}},subtree:{enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:!1},subtree:{}}}}}}}},stickyTracking:{meta:{types:{boolean:1},name:"stickyTracking",excludes:{},default:!1},subtree:{}},tooltip:{meta:{types:{object:1},name:"tooltip",excludes:{}},subtree:{followPointer:{meta:{types:{boolean:1},name:"followPointer",excludes:{},default:!0},subtree:{}},pointFormat:{meta:{types:{string:1},name:"pointFormat",excludes:{},default:""},subtree:{}}}},trackByArea:{meta:{types:{boolean:1},name:"trackByArea",excludes:{},default:!0},subtree:{}}}},priceenvelopes:{meta:{types:{object:1},name:"priceenvelopes",excludes:{},products:{highstock:1},description:"Price envelopes indicator based on [SMA](#plotOptions.sma) calculations.\rThis series requires the `linkedTo` option to be set and should be loaded\rafter the `stock/indicators/indicators.js` file.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `priceenvelopes` series are defined in\n [plotOptions.priceenvelopes](plotOptions.priceenvelopes).\n3. Options for one single series are given in\n [the series instance array](series.priceenvelopes).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        priceenvelopes: {\n            // shared options for all priceenvelopes series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'priceenvelopes'\n    }]\n});\n
    \n ",extends:"plotOptions.sma"},subtree:{bottomLine:{meta:{types:{object:1},name:"bottomLine",excludes:{},products:{highstock:1},description:"Bottom line options."},subtree:{styles:{meta:{types:{object:1},name:"styles",excludes:{}},subtree:{lineColor:{meta:{types:{string:1},name:"lineColor",excludes:{},products:{highstock:1},description:"Color of the line. If not set, it's inherited from\r[plotOptions.priceenvelopes.color](\r#plotOptions.priceenvelopes.color)."},subtree:{}},lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:1,products:{highstock:1},description:"Pixel width of the line."},subtree:{}}}}}},dataGrouping:{meta:{types:{object:1},name:"dataGrouping",excludes:{}},subtree:{approximation:{meta:{types:{string:1},name:"approximation",excludes:{},default:"averages"},subtree:{}}}},marker:{meta:{types:{object:1},name:"marker",excludes:{}},subtree:{enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:!1},subtree:{}}}},params:{meta:{types:{object:1},name:"params",excludes:{}},subtree:{bottomBand:{meta:{types:{number:1},name:"bottomBand",excludes:{},default:.1,products:{highstock:1},description:"Percentage below the moving average that should be displayed.\r0.1 means 90%. Relative to the calculated value."},subtree:{}},period:{meta:{types:{number:1},name:"period",excludes:{},default:20},subtree:{}},topBand:{meta:{types:{number:1},name:"topBand",excludes:{},default:.1,products:{highstock:1},description:"Percentage above the moving average that should be displayed.\r0.1 means 110%. Relative to the calculated value."},subtree:{}}}},tooltip:{meta:{types:{object:1},name:"tooltip",excludes:{}},subtree:{pointFormat:{meta:{types:{string:1},name:"pointFormat",excludes:{},default:' {series.name}
    Top: {point.top}
    Middle: {point.middle}
    Bottom: {point.bottom}
    '},subtree:{}}}},topLine:{meta:{types:{object:1},name:"topLine",excludes:{},products:{highstock:1},description:"Top line options.",extends:"plotOptions.priceenvelopes.bottomLine"},subtree:{styles:{meta:{types:{object:1},name:"styles",excludes:{}},subtree:{lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:1},subtree:{}}}}}}}},psar:{meta:{types:{object:1},name:"psar",excludes:{},products:{highstock:1},description:"Parabolic SAR. This series requires `linkedTo`\roption to be set and should be loaded\rafter `stock/indicators/indicators.js` file.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `psar` series are defined in\n [plotOptions.psar](plotOptions.psar).\n3. Options for one single series are given in\n [the series instance array](series.psar).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        psar: {\n            // shared options for all psar series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'psar'\n    }]\n});\n
    \n ",extends:"plotOptions.sma"},subtree:{lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:0},subtree:{}},marker:{meta:{types:{object:1},name:"marker",excludes:{}},subtree:{enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:!0},subtree:{}}}},params:{meta:{types:{object:1},name:"params",excludes:{}},subtree:{decimals:{meta:{types:{number:1},name:"decimals",excludes:{},default:4,products:{highstock:1},description:"Number of maximum decimals that are used in PSAR calculations."},subtree:{}},increment:{meta:{types:{number:1},name:"increment",excludes:{},default:.02,products:{highstock:1},description:"Acceleration factor increases by increment each time\rthe extreme point makes a new high."},subtree:{}},index:{meta:{types:{number:1},name:"index",excludes:{},default:2,products:{highstock:1},description:"Index from which PSAR is starting calculation"},subtree:{}},initialAccelerationFactor:{meta:{types:{number:1},name:"initialAccelerationFactor",excludes:{},default:.02,products:{highstock:1},description:"The initial value for acceleration factor.\rAcceleration factor is starting with this value\rand increases by specified increment each time\rthe extreme point makes a new high.\rAF can reach a maximum of maxAccelerationFactor,\rno matter how long the uptrend extends."},subtree:{}},maxAccelerationFactor:{meta:{types:{number:1},name:"maxAccelerationFactor",excludes:{},default:.2,products:{highstock:1},description:"The Maximum value for acceleration factor.\rAF can reach a maximum of maxAccelerationFactor,\rno matter how long the uptrend extends."},subtree:{}}}},states:{meta:{types:{object:1},name:"states",excludes:{}},subtree:{hover:{meta:{types:{object:1},name:"hover",excludes:{}},subtree:{lineWidthPlus:{meta:{types:{number:1},name:"lineWidthPlus",excludes:{},default:0},subtree:{}}}}}}}},pyramid:{meta:{types:{object:1},name:"pyramid",excludes:{},products:{highcharts:1},description:"A pyramid series is a special type of funnel, without neck and reversed by\ndefault.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `pyramid` series are defined in\n [plotOptions.pyramid](plotOptions.pyramid).\n3. Options for one single series are given in\n [the series instance array](series.pyramid).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        pyramid: {\n            // shared options for all pyramid series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'pyramid'\n    }]\n});\n
    \n ",extends:"plotOptions.funnel"},subtree:{neckHeight:{meta:{types:{string:1},name:"neckHeight",excludes:{},default:"0%",products:{highcharts:1},description:"The pyramid neck width is zero by default, as opposed to the funnel,\nwhich shares the same layout logic."},subtree:{}},neckWidth:{meta:{types:{string:1},name:"neckWidth",excludes:{},default:"0%",products:{highcharts:1},description:"The pyramid neck width is zero by default, as opposed to the funnel,\nwhich shares the same layout logic."},subtree:{}},reversed:{meta:{types:{boolean:1},name:"reversed",excludes:{},default:!0,products:{highcharts:1},description:"The pyramid is reversed by default, as opposed to the funnel, which\nshares the layout engine, and is not reversed."},subtree:{}}}},roc:{meta:{types:{object:1},name:"roc",excludes:{},products:{highstock:1},description:"Rate of change indicator (ROC). The indicator value for each point\nis defined as:\n\n`(C - Cn) / Cn * 100`\n\nwhere: `C` is the close value of the point of the same x in the\nlinked series and `Cn` is the close value of the point `n` periods\nago. `n` is set through [period](#plotOptions.roc.params.period).\n\nThis series requires `linkedTo` option to be set.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `roc` series are defined in\n [plotOptions.roc](plotOptions.roc).\n3. Options for one single series are given in\n [the series instance array](series.roc).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        roc: {\n            // shared options for all roc series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'roc'\n    }]\n});\n
    \n ", extends:"plotOptions.sma"},subtree:{params:{meta:{types:{object:1},name:"params",excludes:{}},subtree:{index:{meta:{types:{number:1},name:"index",excludes:{},default:3},subtree:{}},period:{meta:{types:{number:1},name:"period",excludes:{},default:9},subtree:{}}}}}},rsi:{meta:{types:{object:1},name:"rsi",excludes:{},products:{highstock:1},description:"Relative strength index (RSI) technical indicator. This series\nrequires the `linkedTo` option to be set and should be loaded after\nthe `stock/indicators/indicators.js` file.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `rsi` series are defined in\n [plotOptions.rsi](plotOptions.rsi).\n3. Options for one single series are given in\n [the series instance array](series.rsi).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        rsi: {\n            // shared options for all rsi series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'rsi'\n    }]\n});\n
    \n ",extends:"plotOptions.sma"},subtree:{params:{meta:{types:{object:1},name:"params",excludes:{}},subtree:{decimals:{meta:{types:{number:1},name:"decimals",excludes:{},default:4,products:{highstock:1},description:"Number of maximum decimals that are used in RSI calculations."},subtree:{}},period:{meta:{types:{number:1},name:"period",excludes:{},default:14},subtree:{}}}}}},sankey:{meta:{types:{object:1},name:"sankey",excludes:{},products:{highcharts:1},description:"A sankey diagram is a type of flow diagram, in which the width of the\nlink between two nodes is shown proportionally to the flow quantity.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `sankey` series are defined in\n [plotOptions.sankey](plotOptions.sankey).\n3. Options for one single series are given in\n [the series instance array](series.sankey).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        sankey: {\n            // shared options for all sankey series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'sankey'\n    }]\n});\n
    \n ",extends:"{plotOptions.column}"},subtree:{colorByPoint:{meta:{types:{boolean:1},name:"colorByPoint",excludes:{},default:!0},subtree:{}},curveFactor:{meta:{types:{number:1},name:"curveFactor",excludes:{},default:.33,description:"Higher numbers makes the links in a sankey diagram render more curved.\nA `curveFactor` of 0 makes the lines straight."},subtree:{}},dataLabels:{meta:{types:{object:1},name:"dataLabels",excludes:{},description:"Options for the data labels appearing on top of the nodes and links. For\nsankey charts, data labels are visible for the nodes by default, but\nhidden for links. This is controlled by modifying the `nodeFormat`, and\nthe `format` that applies to links and is an empty string by default."},subtree:{backgroundColor:{meta:{types:{string:1},name:"backgroundColor",excludes:{},default:"none"},subtree:{}},crop:{meta:{types:{boolean:1},name:"crop",excludes:{},default:!1},subtree:{}},enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:!0},subtree:{}},format:{meta:{types:{},name:"format",excludes:{},description:"The [format string](https://www.highcharts.com/docs/chart-\nconcepts/labels-and-string-formatting) specifying what to show for\n_links_ in the sankey diagram. Defaults to an empty string returned\nfrom the `formatter`, in effect disabling the labels."},subtree:{}},formatter:{meta:{types:{},name:"formatter",excludes:{},description:"Callback to format data labels for _links_ in the sankey diagram.\nThe `format` option takes precedence over the `formatter`."},subtree:{}},inside:{meta:{types:{boolean:1},name:"inside",excludes:{},default:!0},subtree:{}},nodeFormat:{meta:{types:{string:1},name:"nodeFormat",excludes:{},description:"The [format string](https://www.highcharts.com/docs/chart-\nconcepts/labels-and-string-formatting) specifying what to show\nfor _nodes_ in the sankey diagram. By default the\n`nodeFormatter` returns `{point.name}`."},subtree:{}},nodeFormatter:{meta:{types:{function:1},name:"nodeFormatter",excludes:{},description:"Callback to format data labels for _nodes_ in the sankey diagram.\nThe `nodeFormat` option takes precedence over the `nodeFormatter`."},subtree:{}}}},linkOpacity:{meta:{types:{number:1},name:"linkOpacity",excludes:{},default:.5,description:"Opacity for the links between nodes in the sankey diagram."},subtree:{}},nodePadding:{meta:{types:{number:1},name:"nodePadding",excludes:{},default:10,description:"The padding between nodes in a sankey diagram, in pixels."},subtree:{}},nodeWidth:{meta:{types:{number:1},name:"nodeWidth",excludes:{},default:20,description:"The pixel width of each node in a sankey diagram, or the height in case\nthe chart is inverted."},subtree:{}},showInLegend:{meta:{types:{boolean:1},name:"showInLegend",excludes:{},default:!1},subtree:{}},states:{meta:{types:{object:1},name:"states",excludes:{}},subtree:{hover:{meta:{types:{object:1},name:"hover",excludes:{}},subtree:{linkOpacity:{meta:{types:{number:1},name:"linkOpacity",excludes:{},default:1,description:"Opacity for the links between nodes in the sankey diagram in\nhover mode."},subtree:{}}}}}},tooltip:{meta:{types:{object:1},name:"tooltip",excludes:{}},subtree:{followPointer:{meta:{types:{boolean:1},name:"followPointer",excludes:{},default:!0,description:"Whether the tooltip should follow the pointer or stay fixed on the\nitem."},subtree:{}},headerFormat:{meta:{types:{string:1},name:"headerFormat",excludes:{},default:'{series.name}
    '},subtree:{}},nodeFormat:{meta:{types:{string:1},name:"nodeFormat",excludes:{},default:"{point.name}: {point.sum}
    ",description:"The [format string](https://www.highcharts.com/docs/chart-\nconcepts/labels-and-string-formatting) specifying what to\nshow for _nodes_ in tooltip\nof a sankey diagram series, as opposed to links."},subtree:{}},nodeFormatter:{meta:{types:{function:1},name:"nodeFormatter",excludes:{},description:"A callback for defining the format for _nodes_ in the sankey chart's\ntooltip, as opposed to links."},subtree:{}},pointFormat:{meta:{types:{string:1},name:"pointFormat",excludes:{},default:"{point.fromNode.name} → {point.toNode.name}: {point.weight}
    "},subtree:{}}}}}},scatter:{meta:{types:{object:1},name:"scatter",excludes:{},products:{highcharts:1,highstock:1},description:"A scatter plot uses cartesian coordinates to display values for two variables\nfor a set of data.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `scatter` series are defined in\n [plotOptions.scatter](plotOptions.scatter).\n3. Options for one single series are given in\n [the series instance array](series.scatter).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        scatter: {\n            // shared options for all scatter series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'scatter'\n    }]\n});\n
    \n ",extends:"{plotOptions.line}"},subtree:{findNearestPointBy:{meta:{types:{string:1},name:"findNearestPointBy",excludes:{},default:"xy"},subtree:{}},lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:0,products:{highcharts:1,highstock:1},description:"The width of the line connecting the data points."},subtree:{}},marker:{meta:{types:{object:1},name:"marker",excludes:{}},subtree:{enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:!0},subtree:{}}}},stickyTracking:{meta:{types:{boolean:1},name:"stickyTracking",excludes:{},default:"false",products:{highcharts:1,highstock:1},description:"Sticky tracking of mouse events. When true, the `mouseOut` event\non a series isn't triggered until the mouse moves over another series,\nor out of the plot area. When false, the `mouseOut` event on a series\nis triggered when the mouse leaves the area around the series' graph\nor markers. This also implies the tooltip. When `stickyTracking`\nis false and `tooltip.shared` is false, the tooltip will be hidden\nwhen moving the mouse between series."},subtree:{}},tooltip:{meta:{types:{object:1},name:"tooltip",excludes:{},products:{highcharts:1,highstock:1},description:"A configuration object for the tooltip rendering of each single\nseries. Properties are inherited from [tooltip](#tooltip).\nOverridable properties are `headerFormat`, `pointFormat`, `yDecimals`,\n`xDateFormat`, `yPrefix` and `ySuffix`. Unlike other series, in\na scatter plot the series.name by default shows in the headerFormat\nand point.x and point.y in the pointFormat."},subtree:{headerFormat:{meta:{types:{string:1},name:"headerFormat",excludes:{},default:' {series.name}
    '},subtree:{}},pointFormat:{meta:{types:{string:1},name:"pointFormat",excludes:{},default:"x: {point.x}
    y: {point.y}
    "},subtree:{}}}}}},scatter3d:{meta:{types:{object:1},name:"scatter3d",excludes:{},products:{highcharts:1},description:"A 3D scatter plot uses x, y and z coordinates to display values for three\nvariables for a set of data.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `scatter3d` series are defined in\n [plotOptions.scatter3d](plotOptions.scatter3d).\n3. Options for one single series are given in\n [the series instance array](series.scatter3d).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        scatter3d: {\n            // shared options for all scatter3d series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'scatter3d'\n    }]\n});\n
    \n ",extends:"plotOptions.scatter"},subtree:{tooltip:{meta:{types:{object:1},name:"tooltip",excludes:{}},subtree:{pointFormat:{meta:{types:{string:1},name:"pointFormat",excludes:{},default:"x: {point.x}
    y: {point.y}
    z: {point.z}
    "},subtree:{}}}}}},series:{meta:{types:{object:1},name:"series",excludes:{},description:"General options for all series types.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `line` series are defined in\n [plotOptions.line](plotOptions.line).\n3. Options for one single series are given in\n [the series instance array](series.line).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        line: {\n            // shared options for all line series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'line'\n    }]\n});\n
    \n "},subtree:{allAreas:{meta:{types:{boolean:1},name:"allAreas",excludes:{},default:"true",products:{highmaps:1},description:"Whether all areas of the map defined in `mapData` should be rendered.\nIf `true`, areas which don't correspond to a data point, are rendered\nas `null` points. If `false`, those areas are skipped."},subtree:{}},allowPointSelect:{meta:{types:{boolean:1},name:"allowPointSelect",excludes:{},default:"false",description:"If true, a checkbox is displayed next to the legend item to allow\nselecting the series. The state of the checkbox is determined by\nthe `selected` option."},subtree:{}},animation:{meta:{types:{"highcharts.animationoptionsobject":1,boolean:1},name:"animation",excludes:{},description:"Enable or disable the initial animation when a series is displayed.\nThe animation can also be set as a configuration object. Please\nnote that this option only applies to the initial animation of the\nseries itself. For other animations, see [chart.animation](\n#chart.animation) and the animation parameter under the API methods. The\nfollowing properties are supported:\n\n
    \n\n
    duration
    \n\n
    The duration of the animation in milliseconds.
    \n\n
    easing
    \n\n
    Can be a string reference to an easing function set on the `Math`\nobject or a function. See the _Custom easing function_ demo below.
    \n\n
    \n\nDue to poor performance, animation is disabled in old IE browsers\nfor several chart types."},subtree:{duration:{meta:{types:{number:1},name:"duration",excludes:{},default:1e3},subtree:{}}}},animationLimit:{meta:{types:{number:1},name:"animationLimit",excludes:{},description:"For some series, there is a limit that shuts down initial animation\nby default when the total number of points in the chart is too high.\nFor example, for a column chart and its derivatives, animation doesn't\nrun if there is more than 250 points totally. To disable this cap, set\n`animationLimit` to `Infinity`."},subtree:{}},boostThreshold:{meta:{types:{number:1},name:"boostThreshold",excludes:{},default:"5000",description:"Set the point threshold for when a series should enter boost mode.\n\nSetting it to e.g. 2000 will cause the series to enter boost mode when there\nare 2000 or more points in the series.\n\nTo disable boosting on the series, set the `boostThreshold` to 0. Setting it\nto 1 will force boosting.\n\nRequires `modules/boost.js`."},subtree:{}},borderColor:{meta:{types:{color:1},name:"borderColor",excludes:{},default:"#cccccc",products:{highcharts:1,highmaps:1},description:"The border color of the map areas.\n\nIn styled mode, the border stroke is given in the `.highcharts-point`\nclass."},subtree:{}},borderWidth:{meta:{types:{},name:"borderWidth",excludes:{},products:{highcharts:1,highmaps:1},description:"The border width of each map area.\n\nIn styled mode, the border stroke width is given in the\n`.highcharts-point` class."},subtree:{}},className:{meta:{types:{string:1},name:"className",excludes:{},description:"An additional class name to apply to the series' graphical elements. This\noption does not replace default class names of the graphical element."},subtree:{}},clip:{meta:{types:{boolean:1},name:"clip",excludes:{},default:"true",description:"Disable this option to allow series rendering in the whole plotting\narea.\n\n**Note:** Clipping should be always enabled when\n[chart.zoomType](#chart.zoomType) is set"},subtree:{}},color:{meta:{types:{"highcharts.colorstring":1},name:"color",excludes:{},description:"The main color of the series. In line type series it applies to the\nline and the point markers unless otherwise specified. In bar type\nseries it applies to the bars unless a color is specified per point.\nThe default value is pulled from the `options.colors` array.\n\nIn styled mode, the color can be defined by the\n[colorIndex](#plotOptions.series.colorIndex) option. Also, the series\ncolor can be set with the `.highcharts-series`, `.highcharts-color-{n}`,\n`.highcharts-{type}-series` or `.highcharts-series-{n}` class, or\nindividual classes given by the `className` option."},subtree:{}},colorAxis:{meta:{types:{boolean:1},name:"colorAxis",excludes:{},default:"undefined",products:{highmaps:1},description:"Set this option to `false` to prevent a series from connecting to\nthe global color axis. This will cause the series to have its own\nlegend item."},subtree:{}},colorIndex:{meta:{types:{number:1},name:"colorIndex",excludes:{},description:"Styled mode only. A specific color index to use for the series, so its\ngraphic representations are given the class name `highcharts-color-{n}`."},subtree:{}},compare:{meta:{types:{string:1},name:"compare",excludes:{},default:"undefined",products:{highstock:1},description:'Compare the values of the series against the first non-null, non-\nzero value in the visible range. The y axis will show percentage\nor absolute change depending on whether `compare` is set to `"percent"`\nor `"value"`. When this is applied to multiple series, it allows\ncomparing the development of the series against each other. Adds\na `change` field to every point object.'},subtree:{}},compareBase:{meta:{types:{number:1},name:"compareBase",excludes:{},default:"0",products:{highstock:1},description:"When [compare](#plotOptions.series.compare) is `percent`, this option\ndictates whether to use 0 or 100 as the base of comparison."},subtree:{}},compareStart:{meta:{types:{boolean:1},name:"compareStart",excludes:{},default:"false",products:{highstock:1},description:"Defines if comparison should start from the first point within the visible\nrange or should start from the first point before the range.\nIn other words, this flag determines if first point within the visible range\nwill have 0% (`compareStart=true`) or should have been already calculated\naccording to the previous point (`compareStart=false`)."},subtree:{}},connectEnds:{meta:{types:{boolean:1},name:"connectEnds",excludes:{},products:{highcharts:1},description:"Polar charts only. Whether to connect the ends of a line series\nplot across the extremes."},subtree:{}},connectNulls:{meta:{types:{boolean:1},name:"connectNulls",excludes:{},default:"false",products:{highcharts:1,highstock:1},description:"Whether to connect a graph line across null points, or render a gap\nbetween the two points on either side of the null."},subtree:{}},cropThreshold:{meta:{types:{number:1},name:"cropThreshold",excludes:{},default:"300",products:{highcharts:1,highstock:1},description:"When the series contains less points than the crop threshold, all\npoints are drawn, even if the points fall outside the visible plot\narea at the current zoom. The advantage of drawing all points (including\nmarkers and columns), is that animation is performed on updates.\nOn the other hand, when the series contains more points than the\ncrop threshold, the series data is cropped to only contain points\nthat fall within the plot area. The advantage of cropping away invisible\npoints is to increase performance on large series."},subtree:{}},cursor:{meta:{types:{string:1},name:"cursor",excludes:{},description:'You can set the cursor to "pointer" if you have click events attached\nto the series, to signal to the user that the points and lines can\nbe clicked.\n\nPossible values are: `"default"`, `"help"`, `"none"`, `"pointer"`, and\n`"crosshair"`.\n\nIn styled mode, the series cursor can be set with the same classes\nas listed under [series.color](#plotOptions.series.color).'},subtree:{}},dashStyle:{meta:{types:{string:1},name:"dashStyle",excludes:{},default:"Solid",description:'A name for the dash style to use for the graph, or for some series types\nthe outline of each shape. The value for the `dashStyle` include:\n`"Dash"`, `"DashDot"`, `"Dot"`, `"LongDash"`, `"LongDashDot"`,\n`"LongDashDotDot"`, `"ShortDash"`, `"ShortDashDot"`, `"ShortDashDotDot"`,\n`"ShortDot"`, and `"Solid"`.\n\nIn styled mode, the [stroke dash-array](https://jsfiddle.net/gh/get/\nlibrary/pure/highcharts/highcharts/tree/master/samples/highcharts/css/\nseries-dashstyle/) can be set with the same classes as listed under\n[series.color](#plotOptions.series.color).'},subtree:{}},dataGrouping:{meta:{types:{object:1},name:"dataGrouping",excludes:{},products:{highstock:1},description:"Data grouping is the concept of sampling the data values into larger\nblocks in order to ease readability and increase performance of the\nJavaScript charts. Highstock by default applies data grouping when\nthe points become closer than a certain pixel value, determined by\nthe `groupPixelWidth` option.\n\nIf data grouping is applied, the grouping information of grouped\npoints can be read from the [Point.dataGroup](\n/class-reference/Highcharts.Point#.dataGroup)."},subtree:{approximation:{meta:{types:{string:1,function:1},name:"approximation",excludes:{},products:{highstock:1},description:'The method of approximation inside a group. When for example 30 days\nare grouped into one month, this determines what value should represent\nthe group. Possible values are "average", "averages", "open", "high",\n"low", "close" and "sum". For OHLC and candlestick series the approximation\nis "ohlc" by default, which finds the open, high, low and close values\nwithin all the grouped data. For ranges, the approximation is "range",\nwhich finds the low and high values. For multi-dimensional data,\nlike ranges and OHLC, "averages" will compute the average for each\ndimension.\n\nCustom aggregate methods can be added by assigning a callback function\nas the approximation. This function takes a numeric array as the\nargument and should return a single numeric value or `null`. Note\nthat the numeric array will never contain null values, only true\nnumbers. Instead, if null values are present in the raw data, the\nnumeric array will have an `.hasNulls` property set to `true`. For\nsingle-value data sets the data is available in the first argument\nof the callback function. For OHLC data sets, all the open values\nare in the first argument, all high values in the second etc.\n\nSince v4.2.7, grouping meta data is available in the approximation\ncallback from `this.dataGroupInfo`. It can be used to extract information\nfrom the raw data.\n\nDefaults to `average` for line-type series, `sum` for columns, `range`\nfor range series and `ohlc` for OHLC and candlestick.'},subtree:{}},dateTimeLabelFormats:{meta:{types:{object:1},name:"dateTimeLabelFormats",excludes:{},products:{highstock:1},description:"Datetime formats for the header of the tooltip in a stock chart.\nThe format can vary within a chart depending on the currently selected\ntime range and the current data grouping.\n\nThe default formats are:\n\n
    {\n    millisecond: [\n        '%A, %b %e, %H:%M:%S.%L', '%A, %b %e, %H:%M:%S.%L', '-%H:%M:%S.%L'\n    ],\n    second: ['%A, %b %e, %H:%M:%S', '%A, %b %e, %H:%M:%S', '-%H:%M:%S'],\n    minute: ['%A, %b %e, %H:%M', '%A, %b %e, %H:%M', '-%H:%M'],\n    hour: ['%A, %b %e, %H:%M', '%A, %b %e, %H:%M', '-%H:%M'],\n    day: ['%A, %b %e, %Y', '%A, %b %e', '-%A, %b %e, %Y'],\n    week: ['Week from %A, %b %e, %Y', '%A, %b %e', '-%A, %b %e, %Y'],\n    month: ['%B %Y', '%B', '-%B %Y'],\n    year: ['%Y', '%Y', '-%Y']\n}
    \n\nFor each of these array definitions, the first item is the format\nused when the active time span is one unit. For instance, if the\ncurrent data applies to one week, the first item of the week array\nis used. The second and third items are used when the active time\nspan is more than two units. For instance, if the current data applies\nto two weeks, the second and third item of the week array are used,\n and applied to the start and end date of the time span."},subtree:{}},enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:"true",products:{highstock:1},description:"Enable or disable data grouping."},subtree:{}},forced:{meta:{types:{boolean:1},name:"forced",excludes:{},default:"false",products:{highstock:1},description:"When data grouping is forced, it runs no matter how small the intervals\nare. This can be handy for example when the sum should be calculated\nfor values appearing at random times within each hour."},subtree:{}},groupAll:{meta:{types:{boolean:1},name:"groupAll",excludes:{},default:"false",products:{highstock:1},description:"By default only points within the visible range are grouped. Enabling this\noption will force data grouping to calculate all grouped points for a given\ndataset. That option prevents for example a column series from calculating\na grouped point partially. The effect is similar to\n[Series.getExtremesFromAll](#plotOptions.series.getExtremesFromAll) but does\nnot affect yAxis extremes."},subtree:{}},groupPixelWidth:{meta:{types:{number:1},name:"groupPixelWidth",excludes:{},default:"2",products:{highstock:1},description:"The approximate pixel width of each group. If for example a series\nwith 30 points is displayed over a 600 pixel wide plot area, no grouping\nis performed. If however the series contains so many points that\nthe spacing is less than the groupPixelWidth, Highcharts will try\nto group it into appropriate groups so that each is more or less\ntwo pixels wide. If multiple series with different group pixel widths\nare drawn on the same x axis, all series will take the greatest width.\nFor example, line series have 2px default group width, while column\nseries have 10px. If combined, both the line and the column will\nhave 10px by default."},subtree:{}},smoothed:{meta:{types:{boolean:1},name:"smoothed",excludes:{},default:"false",products:{highstock:1},description:"Normally, a group is indexed by the start of that group, so for example\nwhen 30 daily values are grouped into one month, that month's x value\nwill be the 1st of the month. This apparently shifts the data to\nthe left. When the smoothed option is true, this is compensated for.\nThe data is shifted to the middle of the group, and min and max\nvalues are preserved. Internally, this is used in the Navigator series."},subtree:{}},units:{meta:{types:{array:"object"},name:"units",excludes:{},products:{highstock:1},description:"An array determining what time intervals the data is allowed to be\ngrouped to. Each array item is an array where the first value is\nthe time unit and the second value another array of allowed multiples.\nDefaults to:\n\n
    units: [[\n    'millisecond', // unit name\n    [1, 2, 5, 10, 20, 25, 50, 100, 200, 500] // allowed multiples\n], [\n    'second',\n    [1, 2, 5, 10, 15, 30]\n], [\n    'minute',\n    [1, 2, 5, 10, 15, 30]\n], [\n    'hour',\n    [1, 2, 3, 4, 6, 8, 12]\n], [\n    'day',\n    [1]\n], [\n    'week',\n    [1]\n], [\n    'month',\n    [1, 3, 6]\n], [\n    'year',\n    null\n]]
    "},subtree:{}}}},dataLabels:{meta:{types:{object:1},name:"dataLabels",excludes:{},description:"Options for the series data labels, appearing next to each data point.\n\nIn styled mode, the data labels can be styled with the\n`.highcharts-data-label-box` and `.highcharts-data-label` class names\n([see example](https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/css/series-datalabels))."},subtree:{align:{meta:{types:{string:1},name:"align",excludes:{},default:"center",description:"The alignment of the data label compared to the point. If `right`,\nthe right side of the label should be touching the point. For\npoints with an extent, like columns, the alignments also dictates\nhow to align it inside the box, as given with the\n[inside](#plotOptions.column.dataLabels.inside) option. Can be one of\n`left`, `center` or `right`."},subtree:{}},allowOverlap:{meta:{types:{boolean:1},name:"allowOverlap",excludes:{},default:"false",description:"Whether to allow data labels to overlap. To make the labels less\nsensitive for overlapping, the [dataLabels.padding](\n#plotOptions.series.dataLabels.padding) can be set to 0."},subtree:{}},backgroundColor:{meta:{types:{"highcharts.colorstring":1},name:"backgroundColor",excludes:{},description:"The background color or gradient for the data label."},subtree:{}},borderColor:{meta:{types:{"highcharts.colorstring":1},name:"borderColor",excludes:{},description:"The border color for the data label. Defaults to `undefined`."},subtree:{}},borderRadius:{meta:{types:{number:1},name:"borderRadius",excludes:{},default:"0",description:"The border radius in pixels for the data label."},subtree:{}},borderWidth:{meta:{types:{number:1},name:"borderWidth",excludes:{},default:"0",description:"The border width in pixels for the data label."},subtree:{}},className:{meta:{types:{string:1},name:"className",excludes:{},description:"A class name for the data label. Particularly in styled mode, this\ncan be used to give each series' or point's data label unique\nstyling. In addition to this option, a default color class name is\nadded so that we can give the labels a\n[contrast text shadow](https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/css/data-label-contrast/)."},subtree:{}},color:{meta:{types:{"highcharts.colorstring":1},name:"color",excludes:{},description:"The text color for the data labels. Defaults to `undefined`. For\ncertain series types, like column or map, the data labels can be\ndrawn inside the points. In this case the data label will be drawn\nwith maximum contrast by default. Additionally, it will be given a\n`text-outline` style with the opposite color, to further increase the\ncontrast. This can be overridden by setting the `text-outline` style\nto `none` in the `dataLabels.style` option."},subtree:{}},crop:{meta:{types:{boolean:1},name:"crop",excludes:{},default:"true",description:"Whether to hide data labels that are outside the plot area. By\ndefault, the data label is moved inside the plot area according to\nthe [overflow](#plotOptions.series.dataLabels.overflow) option."},subtree:{}},defer:{meta:{types:{boolean:1},name:"defer",excludes:{},default:"true",products:{highcharts:1,highstock:1},description:"Whether to defer displaying the data labels until the initial series\nanimation has finished."},subtree:{}},enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:"false",description:"Enable or disable the data labels."},subtree:{}},filter:{meta:{types:{"*":1},name:"filter",excludes:{},description:"A declarative filter for which data labels to display. The\ndeclarative filter is designed for use when callback functions are\nnot available, like when the chart options require a pure JSON\nstructure or for use with graphical editors. For programmatic\ncontrol, use the `formatter` instead, and return `undefined` to\ndisable a single data label."},subtree:{operator:{meta:{types:{string:1},name:"operator",excludes:{},description:"The operator to compare by. Can be one of `>`, `<`, `>=`, `<=`, `==`,\nand `===`."},subtree:{}},property:{meta:{types:{string:1},name:"property",excludes:{},description:"The point property to filter by. Point options are passed directly to\nproperties, additionally there are `y` value, `percentage` and others\nlisted under [Point](https://api.highcharts.com/class-reference/Highcharts.Point)\nmembers."},subtree:{}},value:{meta:{types:{"*":1},name:"value",excludes:{},description:"The value to compare against."},subtree:{}}}},format:{meta:{types:{string:1},name:"format",excludes:{},description:"A [format string](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting)\nfor the data label. Available variables are the same as for\n`formatter`."},subtree:{}},formatter:{meta:{types:{function:1},name:"formatter",excludes:{},description:"Callback JavaScript function to format the data label. Note that if a\n`format` is defined, the format takes precedence and the formatter is\nignored. Available data are:\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
    `this.percentage`Stacked series and pies only. The point's percentage of the\ntotal.
    `this.point`The point object. The point name, if defined, is available\nthrough `this.point.name`.
    `this.series`:The series object. The series name is available through\n`this.series.name`.
    `this.total`Stacked series only. The total value at this point's x value.\n
    `this.x`:The x value.
    `this.y`:The y value.
    " },subtree:{}},inside:{meta:{types:{boolean:1},name:"inside",excludes:{},description:"For points with an extent, like columns or map areas, whether to\nalign the data label inside the box or to the actual value point.\nDefaults to `false` in most cases, `true` in stacked columns."},subtree:{}},overflow:{meta:{types:{string:1},name:"overflow",excludes:{},default:"justify",description:'How to handle data labels that flow outside the plot area. The\ndefault is `justify`, which aligns them inside the plot area. For\ncolumns and bars, this means it will be moved inside the bar. To\ndisplay data labels outside the plot area, set `crop` to `false` and\n`overflow` to `"none"`.'},subtree:{}},padding:{meta:{types:{number:1},name:"padding",excludes:{},default:5,description:"When either the `borderWidth` or the `backgroundColor` is set,\nthis is the padding within the box."},subtree:{}},rotation:{meta:{types:{number:1},name:"rotation",excludes:{},default:"0",description:"Text rotation in degrees. Note that due to a more complex structure,\nbackgrounds, borders and padding will be lost on a rotated data\nlabel."},subtree:{}},shadow:{meta:{types:{"*":1,boolean:1},name:"shadow",excludes:{},default:"false",description:"The shadow of the box. Works best with `borderWidth` or\n`backgroundColor`. Since 2.3 the shadow can be an object\nconfiguration containing `color`, `offsetX`, `offsetY`, `opacity` and\n`width`."},subtree:{}},shape:{meta:{types:{string:1},name:"shape",excludes:{},default:"square",description:"The name of a symbol to use for the border around the label. Symbols\nare predefined functions on the Renderer object."},subtree:{}},style:{meta:{types:{"highcharts.cssobject":1},name:"style",excludes:{},default:'{"color": "contrast", "fontSize": "11px", "fontWeight": "bold", "textOutline": "1px contrast" }',description:'Styles for the label. The default `color` setting is `"contrast"`,\nwhich is a pseudo color that Highcharts picks up and applies the\nmaximum contrast to the underlying point item, for example the\nbar in a bar chart.\n\nThe `textOutline` is a pseudo property that\napplies an outline of the given width with the given color, which\nby default is the maximum contrast to the text. So a bright text\ncolor will result in a black text outline for maximum readability\non a mixed background. In some cases, especially with grayscale\ntext, the text outline doesn\'t work well, in which cases it can\nbe disabled by setting it to `"none"`. When `useHTML` is true, the\n`textOutline` will not be picked up. In this, case, the same effect\ncan be acheived through the `text-shadow` CSS property.'},subtree:{color:{meta:{types:{string:1},name:"color",excludes:{},default:"contrast"},subtree:{}},fontSize:{meta:{types:{string:1},name:"fontSize",excludes:{},default:"11px"},subtree:{}},fontWeight:{meta:{types:{string:1},name:"fontWeight",excludes:{},default:"bold"},subtree:{}},textOutline:{meta:{types:{string:1},name:"textOutline",excludes:{},default:"1px contrast"},subtree:{}}}},useHTML:{meta:{types:{boolean:1},name:"useHTML",excludes:{},default:"false",description:"Whether to\n[use HTML](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting#html)\nto render the labels."},subtree:{}},verticalAlign:{meta:{types:{string:1},name:"verticalAlign",excludes:{},default:"bottom",description:"The vertical alignment of a data label. Can be one of `top`, `middle`\nor `bottom`. The default value depends on the data, for instance\nin a column chart, the label is above positive values and below\nnegative values."},subtree:{}},x:{meta:{types:{number:1},name:"x",excludes:{},default:"0",description:"The x position offset of the label relative to the point in pixels."},subtree:{}},y:{meta:{types:{number:1},name:"y",excludes:{},default:"-6",description:"The y position offset of the label relative to the point in pixels."},subtree:{}},zIndex:{meta:{types:{number:1},name:"zIndex",excludes:{},default:"6",description:"The Z index of the data labels. The default Z index puts it above\nthe series. Use a Z index of 2 to display it behind the series."},subtree:{}}}},description:{meta:{types:{string:1},name:"description",excludes:{},description:"Requires the Accessibility module.\n\nA description of the series to add to the screen reader information\nabout the series."},subtree:{}},enableMouseTracking:{meta:{types:{boolean:1},name:"enableMouseTracking",excludes:{},default:"true",description:"Enable or disable the mouse tracking for a specific series. This\nincludes point tooltips and click events on graphs and points. For\nlarge datasets it improves performance."},subtree:{}},events:{meta:{types:{object:1},name:"events",excludes:{},description:"General event handlers for the series items. These event hooks can also\nbe attached to the series at run time using the `Highcharts.addEvent`\nfunction."},subtree:{afterAnimate:{meta:{types:{function:1},name:"afterAnimate",excludes:{},products:{highcharts:1,highstock:1},description:"Fires after the series has finished its initial animation, or in\ncase animation is disabled, immediately as the series is displayed."},subtree:{}},checkboxClick:{meta:{types:{function:1},name:"checkboxClick",excludes:{},description:"Fires when the checkbox next to the series' name in the legend is\nclicked. One parameter, `event`, is passed to the function. The state\nof the checkbox is found by `event.checked`. The checked item is\nfound by `event.item`. Return `false` to prevent the default action\nwhich is to toggle the select state of the series."},subtree:{}},click:{meta:{types:{function:1},name:"click",excludes:{},description:"Fires when the series is clicked. One parameter, `event`, is passed to\nthe function, containing common event information. Additionally,\n`event.point` holds a pointer to the nearest point on the graph."},subtree:{}},hide:{meta:{types:{function:1},name:"hide",excludes:{},description:"Fires when the series is hidden after chart generation time, either\nby clicking the legend item or by calling `.hide()`."},subtree:{}},legendItemClick:{meta:{types:{function:1},name:"legendItemClick",excludes:{},description:"Fires when the legend item belonging to the series is clicked. One\nparameter, `event`, is passed to the function. The default action\nis to toggle the visibility of the series. This can be prevented\nby returning `false` or calling `event.preventDefault()`."},subtree:{}},mouseOut:{meta:{types:{function:1},name:"mouseOut",excludes:{},description:"Fires when the mouse leaves the graph. One parameter, `event`, is\npassed to the function, containing common event information. If the\n[stickyTracking](#plotOptions.series) option is true, `mouseOut`\ndoesn't happen before the mouse enters another graph or leaves the\nplot area."},subtree:{}},mouseOver:{meta:{types:{function:1},name:"mouseOver",excludes:{},description:"Fires when the mouse enters the graph. One parameter, `event`, is\npassed to the function, containing common event information."},subtree:{}},show:{meta:{types:{function:1},name:"show",excludes:{},description:"Fires when the series is shown after chart generation time, either\nby clicking the legend item or by calling `.show()`."},subtree:{}}}},exposeElementToA11y:{meta:{types:{boolean:1},name:"exposeElementToA11y",excludes:{},description:"By default, series are exposed to screen readers as regions. By enabling\nthis option, the series element itself will be exposed in the same\nway as the data points. This is useful if the series is not used\nas a grouping entity in the chart, but you still want to attach a\ndescription to the series.\n\nRequires the Accessibility module."},subtree:{}},findNearestPointBy:{meta:{types:{string:1},name:"findNearestPointBy",excludes:{},default:"x",description:"Determines whether the series should look for the nearest point\nin both dimensions or just the x-dimension when hovering the series.\nDefaults to `'xy'` for scatter series and `'x'` for most other\nseries. If the data has duplicate x-values, it is recommended to\nset this to `'xy'` to allow hovering over all points.\n\nApplies only to series types using nearest neighbor search (not\ndirect hover) for tooltip."},subtree:{}},gapSize:{meta:{types:{number:1},name:"gapSize",excludes:{},default:"0",products:{highstock:1},description:"Defines when to display a gap in the graph, together with the\n[gapUnit](plotOptions.series.gapUnit) option.\n\nIn case when `dataGrouping` is enabled, points can be grouped into a\nlarger time span. This can make the grouped points to have a greater\ndistance than the absolute value of `gapSize` property, which will result\nin disappearing graph completely. To prevent this situation the mentioned\ndistance between grouped points is used instead of previously defined\n`gapSize`.\n\nIn practice, this option is most often used to visualize gaps in\ntime series. In a stock chart, intraday data is available for daytime\nhours, while gaps will appear in nights and weekends."},subtree:{}},gapUnit:{meta:{types:{string:1},name:"gapUnit",excludes:{},default:"relative",products:{highstock:1},description:"Together with [gapSize](plotOptions.series.gapSize), this option defines\nwhere to draw gaps in the graph.\n\nWhen the `gapUnit` is `relative` (default), a gap size of 5 means\nthat if the distance between two points is greater than five times\nthat of the two closest points, the graph will be broken.\n\nWhen the `gapUnit` is `value`, the gap is based on absolute axis values,\nwhich on a datetime axis is milliseconds. This also applies to the\nnavigator series that inherits gap options from the base series."},subtree:{}},getExtremesFromAll:{meta:{types:{boolean:1},name:"getExtremesFromAll",excludes:{},default:"false",products:{highcharts:1,highstock:1},description:"Whether to use the Y extremes of the total chart width or only the\nzoomed area when zooming in on parts of the X axis. By default, the\nY axis adjusts to the min and max of the visible data. Cartesian\nseries only."},subtree:{}},joinBy:{meta:{types:{array:"String",string:1},name:"joinBy",excludes:{},products:{highmaps:1},description:'What property to join the `mapData` to the value data. For example,\nif joinBy is "code", the mapData items with a specific code is merged\ninto the data with the same code. For maps loaded from GeoJSON, the\nkeys may be held in each point\'s `properties` object.\n\nThe joinBy option can also be an array of two values, where the first\npoints to a key in the `mapData`, and the second points to another\nkey in the `data`.\n\nWhen joinBy is `null`, the map items are joined by their position\nin the array, which performs much better in maps with many data points.\nThis is the recommended option if you are printing more than a thousand\ndata points and have a backend that can preprocess the data into\na parallel array of the mapData.'},subtree:{}},keys:{meta:{types:{array:"string"},name:"keys",excludes:{},description:"An array specifying which option maps to which key in the data point\narray. This makes it convenient to work with unstructured data arrays\nfrom different sources."},subtree:{}},label:{meta:{types:{object:1},name:"label",excludes:{},products:{highcharts:1,highstock:1},description:"Series labels are placed as close to the series as possible in a\nnatural way, seeking to avoid other series. The goal of this\nfeature is to make the chart more easily readable, like if a\nhuman designer placed the labels in the optimal position.\n\nThe series labels currently work with series types having a\n`graph` or an `area`.\n\nRequires the `series-label.js` module."},subtree:{boxesToAvoid:{meta:{types:{array:"Object"},name:"boxesToAvoid",excludes:{},description:"An array of boxes to avoid when laying out the labels. Each\nitem has a `left`, `right`, `top` and `bottom` property."},subtree:{}},connectorAllowed:{meta:{types:{boolean:1},name:"connectorAllowed",excludes:{},default:!1,description:"Allow labels to be placed distant to the graph if necessary,\nand draw a connector line to the graph. Setting this option\nto true may decrease the performance significantly, since the\nalgorithm with systematically search for open spaces in the\nwhile plot area. Visually, it may also result in a more\ncluttered chart, though more of the series will be labeled."},subtree:{}},connectorNeighbourDistance:{meta:{types:{number:1},name:"connectorNeighbourDistance",excludes:{},default:24,description:"If the label is closer than this to a neighbour graph, draw a\nconnector."},subtree:{}},enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:!0,description:"Enable the series label per series."},subtree:{}},maxFontSize:{meta:{types:{number:1},name:"maxFontSize",excludes:{},default:null,description:"For area-like series, allow the font size to vary so that\nsmall areas get a smaller font size. The default applies this\neffect to area-like series but not line-like series."},subtree:{}},minFontSize:{meta:{types:{number:1},name:"minFontSize",excludes:{},default:null,description:"For area-like series, allow the font size to vary so that\nsmall areas get a smaller font size. The default applies this\neffect to area-like series but not line-like series."},subtree:{}},onArea:{meta:{types:{boolean:1},name:"onArea",excludes:{},default:null,description:"Draw the label on the area of an area series. By default it\nis drawn on the area. Set it to `false` to draw it next to\nthe graph instead."},subtree:{}},style:{meta:{types:{object:1},name:"style",excludes:{},description:"Styles for the series label. The color defaults to the series\ncolor, or a contrast color if `onArea`."},subtree:{fontWeight:{meta:{types:{string:1},name:"fontWeight",excludes:{},default:"bold"},subtree:{}}}}}},lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:"2",products:{highcharts:1,highstock:1},description:"Pixel width of the graph line."},subtree:{}},linecap:{meta:{types:{string:1},name:"linecap",excludes:{},products:{highcharts:1,highstock:1},description:"The line cap used for line ends and line joins on the graph."},subtree:{}},linkedTo:{meta:{types:{string:1},name:"linkedTo",excludes:{},products:{highcharts:1,highstock:1},description:'The [id](#series.id) of another series to link to. Additionally,\nthe value can be ":previous" to link to the previous series. When\ntwo series are linked, only the first one appears in the legend.\nToggling the visibility of this also toggles the linked series.'},subtree:{}},marker:{meta:{types:{object:1},name:"marker",excludes:{},description:"Options for the point markers of line-like series. Properties like\n`fillColor`, `lineColor` and `lineWidth` define the visual appearance\nof the markers. Other series types, like column series, don't have\nmarkers, but have visual options on the series level instead.\n\nIn styled mode, the markers can be styled with the `.highcharts-point`,\n`.highcharts-point-hover` and `.highcharts-point-select`\nclass names."},subtree:{enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},description:"Enable or disable the point marker. If `undefined`, the markers are\nhidden when the data is dense, and shown for more widespread data\npoints."},subtree:{}},enabledThreshold:{meta:{types:{number:1},name:"enabledThreshold",excludes:{},default:"2",description:"The threshold for how dense the point markers should be before they\nare hidden, given that `enabled` is not defined. The number indicates\nthe horizontal distance between the two closest points in the series,\nas multiples of the `marker.radius`. In other words, the default\nvalue of 2 means points are hidden if overlapping horizontally."},subtree:{}},fillColor:{meta:{types:{"highcharts.colorstring":1},name:"fillColor",excludes:{},description:"The fill color of the point marker. When `undefined`, the series' or\npoint's color is used."},subtree:{}},height:{meta:{types:{number:1},name:"height",excludes:{},description:"Image markers only. Set the image width explicitly. When using this\noption, a `width` must also be set."},subtree:{}},lineColor:{meta:{types:{"highcharts.colorstring":1},name:"lineColor",excludes:{},default:"#ffffff",description:"The color of the point marker's outline. When `undefined`, the\nseries' or point's color is used."},subtree:{}},lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:"0",description:"The width of the point marker's outline."},subtree:{}},radius:{meta:{types:{number:1},name:"radius",excludes:{},default:"4",description:"The radius of the point marker."},subtree:{}},states:{meta:{types:{object:1},name:"states",excludes:{},description:"States for a single point marker."},subtree:{hover:{meta:{types:{object:1},name:"hover",excludes:{},description:"The hover state for a single point marker."},subtree:{animation:{meta:{types:{"highcharts.animationoptionsobject":1,boolean:1},name:"animation",excludes:{},description:"Animation when hovering over the marker."},subtree:{duration:{meta:{types:{number:1},name:"duration",excludes:{},default:50},subtree:{}}}},enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:!0,description:"Enable or disable the point marker."},subtree:{}},fillColor:{meta:{types:{"highcharts.colorstring":1},name:"fillColor",excludes:{},description:"The fill color of the marker in hover state. When\n`undefined`, the series' or point's fillColor for normal\nstate is used."},subtree:{}},lineColor:{meta:{types:{"highcharts.colorstring":1},name:"lineColor",excludes:{},description:"The color of the point marker's outline. When `undefined`,\nthe series' or point's lineColor for normal state is used."},subtree:{}},lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},description:"The width of the point marker's outline. When `undefined`,\nthe series' or point's lineWidth for normal state is used."},subtree:{}},lineWidthPlus:{meta:{types:{number:1},name:"lineWidthPlus",excludes:{},default:1,description:"The additional line width for a hovered point."},subtree:{}},radius:{meta:{types:{number:1},name:"radius",excludes:{},description:"The radius of the point marker. In hover state, it defaults\nto the normal state's radius + 2 as per the [radiusPlus](\n#plotOptions.series.marker.states.hover.radiusPlus)\noption."},subtree:{}},radiusPlus:{meta:{types:{number:1},name:"radiusPlus",excludes:{},default:2,description:"The number of pixels to increase the radius of the hovered\npoint."},subtree:{}}}},normal:{meta:{types:{object:1},name:"normal",excludes:{},description:"The normal state of a single point marker. Currently only used\nfor setting animation when returning to normal state from hover."},subtree:{animation:{meta:{types:{boolean:1},name:"animation",excludes:{},default:!0},subtree:{}}}},select:{meta:{types:{object:1},name:"select",excludes:{},description:"The appearance of the point marker when selected. In order to\nallow a point to be selected, set the `series.allowPointSelect`\noption to true."},subtree:{enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:"true",description:"Enable or disable visible feedback for selection."},subtree:{}},fillColor:{meta:{types:{"highcharts.colorstring":1},name:"fillColor",excludes:{},default:"#cccccc",description:"The fill color of the point marker."},subtree:{}},lineColor:{meta:{types:{"highcharts.colorstring":1},name:"lineColor",excludes:{},default:"#000000",description:"The color of the point marker's outline. When `undefined`,\nthe series' or point's color is used."},subtree:{}},lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:2,description:"The width of the point marker's outline."},subtree:{}},radius:{meta:{types:{number:1},name:"radius",excludes:{},description:"The radius of the point marker. In hover state, it defaults\nto the normal state's radius + 2."},subtree:{}}}}}},symbol:{meta:{types:{string:1},name:"symbol",excludes:{},description:'A predefined shape or symbol for the marker. When undefined, the\nsymbol is pulled from options.symbols. Other possible values are\n"circle", "square", "diamond", "triangle" and "triangle-down".\n\nAdditionally, the URL to a graphic can be given on this form:\n"url(graphic.png)". Note that for the image to be applied to exported\ncharts, its URL needs to be accessible by the export server.\n\nCustom callbacks for symbol path generation can also be added to\n`Highcharts.SVGRenderer.prototype.symbols`. The callback is then\nused by its method name, as shown in the demo.'},subtree:{}},width:{meta:{types:{number:1},name:"width",excludes:{},description:"Image markers only. Set the image width explicitly. When using this\noption, a `height` must also be set."},subtree:{}}}},navigatorOptions:{meta:{types:{"*":1},name:"navigatorOptions",excludes:{},products:{highstock:1},description:"Options for the corresponding navigator series if `showInNavigator`\nis `true` for this series. Available options are the same as any\nseries, documented at [plotOptions](#plotOptions.series) and\n[series](#series).\n\nThese options are merged with options in [navigator.series](\n#navigator.series), and will take precedence if the same option is\ndefined both places."},subtree:{}},negativeColor:{meta:{types:{"highcharts.colorstring":1},name:"negativeColor",excludes:{},description:"The color for the parts of the graph or points that are below the\n[threshold](#plotOptions.series.threshold)."},subtree:{}},point:{meta:{types:{object:1},name:"point",excludes:{},description:"Properties for each single point."},subtree:{events:{meta:{types:{object:1},name:"events",excludes:{},description:"Events for each single point."},subtree:{click:{meta:{types:{function:1},name:"click",excludes:{},description:"Fires when a point is clicked. One parameter, `event`, is passed\nto the function, containing common event information.\n\nIf the `series.allowPointSelect` option is true, the default\naction for the point's click event is to toggle the point's\nselect state. Returning `false` cancels this action."},subtree:{}},mouseOut:{meta:{types:{function:1},name:"mouseOut",excludes:{},description:"Fires when the mouse leaves the area close to the point. One\nparameter, `event`, is passed to the function, containing common\nevent information."},subtree:{}},mouseOver:{meta:{types:{function:1},name:"mouseOver",excludes:{},description:"Fires when the mouse enters the area close to the point. One\nparameter, `event`, is passed to the function, containing common\nevent information."},subtree:{}},remove:{meta:{types:{function:1},name:"remove",excludes:{},description:"Fires when the point is removed using the `.remove()` method. One\nparameter, `event`, is passed to the function. Returning `false`\ncancels the operation."},subtree:{}},select:{meta:{types:{function:1},name:"select",excludes:{},description:"Fires when the point is selected either programmatically or\nfollowing a click on the point. One parameter, `event`, is passed\nto the function. Returning `false` cancels the operation."},subtree:{}},unselect:{meta:{types:{function:1},name:"unselect",excludes:{},description:"Fires when the point is unselected either programmatically or\nfollowing a click on the point. One parameter, `event`, is passed\nto the function.\n Returning `false` cancels the operation."},subtree:{}},update:{meta:{types:{function:1},name:"update",excludes:{},description:"Fires when the point is updated programmatically through the\n`.update()` method. One parameter, `event`, is passed to the\nfunction. The new point options can be accessed through\n`event.options`. Returning `false` cancels the operation."},subtree:{}}}}}},pointDescriptionFormatter:{meta:{types:{function:1},name:"pointDescriptionFormatter",excludes:{},description:"Same as [accessibility.pointDescriptionFormatter](\n#accessibility.pointDescriptionFormatter), but for an individual series.\nOverrides the chart wide configuration."},subtree:{}},pointInterval:{meta:{types:{number:1},name:"pointInterval",excludes:{},default:"1",products:{highcharts:1,highstock:1},description:"If no x values are given for the points in a series, `pointInterval`\ndefines the interval of the x values. For example, if a series contains\none value every decade starting from year 0, set `pointInterval` to\n`10`. In true `datetime` axes, the `pointInterval` is set in\nmilliseconds.\n\nIt can be also be combined with `pointIntervalUnit` to draw irregular\ntime intervals.\n\nPlease note that this options applies to the _series data_, not the\ninterval of the axis ticks, which is independent."},subtree:{}},pointIntervalUnit:{meta:{types:{string:1},name:"pointIntervalUnit",excludes:{},products:{highcharts:1,highstock:1},description:"On datetime series, this allows for setting the\n[pointInterval](#plotOptions.series.pointInterval) to irregular time\nunits, `day`, `month` and `year`. A day is usually the same as 24 hours,\nbut `pointIntervalUnit` also takes the DST crossover into consideration\nwhen dealing with local time. Combine this option with `pointInterval`\nto draw weeks, quarters, 6 months, 10 years etc.\n\nPlease note that this options applies to the _series data_, not the\ninterval of the axis ticks, which is independent."},subtree:{}},pointPlacement:{meta:{types:{number:1,string:1},name:"pointPlacement",excludes:{},products:{highcharts:1,highstock:1},description:'Possible values: `"on"`, `"between"`, `number`.\n\nIn a column chart, when pointPlacement is `"on"`, the point will\nnot create any padding of the X axis. In a polar column chart this\nmeans that the first column points directly north. If the pointPlacement\nis `"between"`, the columns will be laid out between ticks. This\nis useful for example for visualising an amount between two points\nin time or in a certain sector of a polar chart.\n\nSince Highcharts 3.0.2, the point placement can also be numeric,\nwhere 0 is on the axis value, -0.5 is between this value and the\nprevious, and 0.5 is between this value and the next. Unlike the\ntextual options, numeric point placement options won\'t affect axis\npadding.\n\nNote that pointPlacement needs a [pointRange](\n#plotOptions.series.pointRange) to work. For column series this is\ncomputed, but for line-type series it needs to be set.\n\nDefaults to `undefined` in cartesian charts, `"between"` in polar charts.'},subtree:{}},pointRange:{meta:{types:{number:1},name:"pointRange",excludes:{},default:"0",products:{highstock:1},description:"The width of each point on the x axis. For example in a column chart\nwith one value each day, the pointRange would be 1 day (= 24 * 3600\n* 1000 milliseconds). This is normally computed automatically, but\nthis option can be used to override the automatic value."},subtree:{}},pointStart:{meta:{types:{number:1},name:"pointStart",excludes:{},default:"0",products:{highcharts:1,highstock:1},description:"If no x values are given for the points in a series, pointStart defines\non what value to start. For example, if a series contains one yearly\nvalue starting from 1945, set pointStart to 1945."},subtree:{}},selected:{meta:{types:{boolean:1},name:"selected",excludes:{},default:"false",description:"Whether to select the series initially. If `showCheckbox` is true,\nthe checkbox next to the series name in the legend will be checked for a\nselected series."},subtree:{}},shadow:{meta:{types:{"highcharts.seriesshadowoptions":1,boolean:1},name:"shadow",excludes:{},default:"false",description:"Whether to apply a drop shadow to the graph line. Since 2.3 the shadow\ncan be an object configuration containing `color`, `offsetX`, `offsetY`,\n`opacity` and `width`."},subtree:{}},showCheckbox:{meta:{types:{boolean:1},name:"showCheckbox",excludes:{},default:!1},subtree:{}},showInLegend:{meta:{types:{boolean:1},name:"showInLegend",excludes:{},default:"true",description:"Whether to display this particular series or series type in the legend.\nThe default value is `true` for standalone series, `false` for linked\nseries."},subtree:{}},showInNavigator:{meta:{types:{boolean:1},name:"showInNavigator",excludes:{},products:{highstock:1},description:"Whether or not to show the series in the navigator. Takes precedence\nover [navigator.baseSeries](#navigator.baseSeries) if defined."},subtree:{}},skipKeyboardNavigation:{meta:{types:{boolean:1},name:"skipKeyboardNavigation",excludes:{},description:"If set to `True`, the accessibility module will skip past the points\nin this series for keyboard navigation."},subtree:{}},softThreshold:{meta:{types:{boolean:1},name:"softThreshold",excludes:{},default:"true",products:{highcharts:1,highstock:1},description:"When this is true, the series will not cause the Y axis to cross\nthe zero plane (or [threshold](#plotOptions.series.threshold) option)\nunless the data actually crosses the plane.\n\nFor example, if `softThreshold` is `false`, a series of 0, 1, 2,\n3 will make the Y axis show negative values according to the `minPadding`\noption. If `softThreshold` is `true`, the Y axis starts at 0."},subtree:{}},stacking:{meta:{types:{string:1},name:"stacking",excludes:{},products:{highcharts:1,highstock:1},description:'Whether to stack the values of each series on top of each other. Possible\nvalues are `undefined` to disable, `"normal"` to stack by value or\n`"percent"`. When stacking is enabled, data must be sorted in ascending\nX order. A special stacking option is with the streamgraph series type,\nwhere the stacking option is set to `"stream"`.'},subtree:{}},states:{meta:{types:{"highcharts.plotseriesstatesoptions":1},name:"states",excludes:{},description:"A wrapper object for all the series options in specific states."},subtree:{hover:{meta:{types:{"highcharts.plotseriesstateshoveroptions":1},name:"hover",excludes:{},description:"Options for the hovered series. These settings override the normal\nstate options when a series is moused over or touched."},subtree:{animation:{meta:{types:{"highcharts.animationoptionsobject":1,boolean:1},name:"animation",excludes:{},default:'{ "duration": 50 }',products:{highcharts:1},description:"Animation setting for hovering the graph in line-type series."},subtree:{duration:{meta:{types:{number:1},name:"duration",excludes:{},default:50,description:"The duration of the hover animation in milliseconds. By\ndefault the hover state animates quickly in, and slowly back\nto normal."},subtree:{}}}},borderColor:{meta:{types:{color:1},name:"borderColor",excludes:{},products:{highmaps:1},description:"The border color of the point in this state."},subtree:{}},borderWidth:{meta:{types:{number:1},name:"borderWidth",excludes:{},products:{highmaps:1},description:"The border width of the point in this state"},subtree:{}},brightness:{meta:{types:{number:1},name:"brightness",excludes:{},default:"0.2",products:{highmaps:1},description:"The relative brightness of the point when hovered, relative to\nthe normal point color."},subtree:{}},color:{meta:{types:{color:1},name:"color",excludes:{},products:{highmaps:1},description:"The color of the shape in this state"},subtree:{}},enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:"true",description:"Enable separate styles for the hovered series to visualize that\nthe user hovers either the series itself or the legend. ."},subtree:{}},halo:{meta:{types:{"highcharts.plotseriesstateshoverhalooptions":1},name:"halo",excludes:{},products:{highcharts:1,highstock:1},description:"Options for the halo appearing around the hovered point in line-\ntype series as well as outside the hovered slice in pie charts.\nBy default the halo is filled by the current point or series\ncolor with an opacity of 0.25\\. The halo can be disabled by\nsetting the `halo` option to `false`.\n\nIn styled mode, the halo is styled with the `.highcharts-halo`\nclass, with colors inherited from `.highcharts-color-{n}`."},subtree:{attributes:{meta:{types:{"highcharts.svgattributes":1},name:"attributes",excludes:{},products:{highcharts:1,highstock:1},description:"A collection of SVG attributes to override the appearance of\nthe halo, for example `fill`, `stroke` and `stroke-width`." },subtree:{}},opacity:{meta:{types:{number:1},name:"opacity",excludes:{},default:"0.25",products:{highcharts:1,highstock:1},description:"Opacity for the halo unless a specific fill is overridden\nusing the `attributes` setting. Note that Highcharts is only\nable to apply opacity to colors of hex or rgb(a) formats."},subtree:{}},size:{meta:{types:{number:1},name:"size",excludes:{},default:"10",products:{highcharts:1,highstock:1},description:"The pixel size of the halo. For point markers this is the\nradius of the halo. For pie slices it is the width of the\nhalo outside the slice. For bubbles it defaults to 5 and is\nthe width of the halo outside the bubble."},subtree:{}}}},lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},products:{highcharts:1,highstock:1},description:"Pixel width of the graph line. By default this property is\nundefined, and the `lineWidthPlus` property dictates how much\nto increase the linewidth from normal state."},subtree:{}},lineWidthPlus:{meta:{types:{number:1},name:"lineWidthPlus",excludes:{},default:"1",products:{highcharts:1,highstock:1},description:"The additional line width for the graph of a hovered series."},subtree:{}},marker:{meta:{types:{},name:"marker",excludes:{},products:{highcharts:1,highstock:1},description:"In Highcharts 1.0, the appearance of all markers belonging to the\nhovered series. For settings on the hover state of the individual\npoint, see\n[marker.states.hover](#plotOptions.series.marker.states.hover).",extends:"plotOptions.series.marker"},subtree:{}}}},normal:{meta:{types:{object:1},name:"normal",excludes:{},default:"true",products:{highmaps:1},description:"Overrides for the normal state."},subtree:{animation:{meta:{types:{boolean:1,object:1},name:"animation",excludes:{},default:"true",products:{highmaps:1},description:"Animation options for the fill color when returning from hover\nstate to normal state. The animation adds some latency in order\nto reduce the effect of flickering when hovering in and out of\nfor example an uneven coastline."},subtree:{}}}},select:{meta:{types:{"highcharts.plotseriesstatesselectoptions":1},name:"select",excludes:{},products:{highmaps:1},description:"Specific options for point in selected states, after being selected\nby [allowPointSelect](#plotOptions.series.allowPointSelect) or\nprogrammatically.",extends:"plotOptions.series.states.hover"},subtree:{}}}},step:{meta:{types:{string:1},name:"step",excludes:{},products:{highcharts:1,highstock:1},description:"Whether to apply steps to the line. Possible values are `left`, `center`\nand `right`."},subtree:{}},stickyTracking:{meta:{types:{boolean:1},name:"stickyTracking",excludes:{},default:!0,description:"Sticky tracking of mouse events. When true, the `mouseOut` event\non a series isn't triggered until the mouse moves over another series,\nor out of the plot area. When false, the `mouseOut` event on a\nseries is triggered when the mouse leaves the area around the series'\ngraph or markers. This also implies the tooltip when not shared. When\n`stickyTracking` is false and `tooltip.shared` is false, the tooltip will\nbe hidden when moving the mouse between series. Defaults to true for line\nand area type series, but to false for columns, pies etc."},subtree:{}},threshold:{meta:{types:{number:1},name:"threshold",excludes:{},default:"0",products:{highcharts:1,highstock:1},description:"The threshold, also called zero level or base level. For line type\nseries this is only used in conjunction with\n[negativeColor](#plotOptions.series.negativeColor)."},subtree:{}},tooltip:{meta:{types:{object:1},name:"tooltip",excludes:{},description:"A configuration object for the tooltip rendering of each single series.\nProperties are inherited from [tooltip](#tooltip), but only the\nfollowing properties can be defined on a series level.",extends:"tooltip"},subtree:{}},turboThreshold:{meta:{types:{number:1},name:"turboThreshold",excludes:{},default:"1000",products:{highcharts:1,highstock:1},description:"When a series contains a data array that is longer than this, only\none dimensional arrays of numbers, or two dimensional arrays with\nx and y values are allowed. Also, only the first point is tested,\nand the rest are assumed to be the same format. This saves expensive\ndata checking and indexing in long series. Set it to `0` disable."},subtree:{}},visible:{meta:{types:{boolean:1},name:"visible",excludes:{},default:"true",description:"Set the initial visibility of the series."},subtree:{}},zIndex:{meta:{types:{number:1},name:"zIndex",excludes:{},products:{highmaps:1},description:"Define the z index of the series."},subtree:{}},zoneAxis:{meta:{types:{string:1},name:"zoneAxis",excludes:{},default:"y",products:{highcharts:1,highstock:1},description:"Defines the Axis on which the zones are applied."},subtree:{}},zones:{meta:{types:{array:"object"},name:"zones",excludes:{},products:{highcharts:1,highstock:1},description:"An array defining zones within a series. Zones can be applied to\nthe X axis, Y axis or Z axis for bubbles, according to the `zoneAxis`\noption. The zone definitions have to be in ascending order regarding to\nthe value.\n\nIn styled mode, the color zones are styled with the\n`.highcharts-zone-{n}` class, or custom classed from the `className`\noption\n([view live demo](https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/css/color-zones/))."},subtree:{className:{meta:{types:{string:1},name:"className",excludes:{},description:"Styled mode only. A custom class name for the zone."},subtree:{}},color:{meta:{types:{"highcharts.colorstring":1},name:"color",excludes:{},products:{highcharts:1,highstock:1},description:"Defines the color of the series."},subtree:{}},dashStyle:{meta:{types:{string:1},name:"dashStyle",excludes:{},products:{highcharts:1,highstock:1},description:"A name for the dash style to use for the graph."},subtree:{}},fillColor:{meta:{types:{"highcharts.colorstring":1},name:"fillColor",excludes:{},products:{highcharts:1,highstock:1},description:"Defines the fill color for the series (in area type series)"},subtree:{}},value:{meta:{types:{number:1},name:"value",excludes:{},products:{highcharts:1,highstock:1},description:"The value up to where the zone extends, if undefined the zones stretches\nto the last value in the series."},subtree:{}}}}}},sma:{meta:{types:{object:1},name:"sma",excludes:{},products:{highstock:1},description:"Simple moving average indicator (SMA). This series requires `linkedTo`\noption to be set.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `sma` series are defined in\n [plotOptions.sma](plotOptions.sma).\n3. Options for one single series are given in\n [the series instance array](series.sma).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        sma: {\n            // shared options for all sma series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'sma'\n    }]\n});\n
    \n ",extends:"plotOptions.line"},subtree:{linkedTo:{meta:{types:{string:1},name:"linkedTo",excludes:{},products:{highstock:1},description:"The main series ID that indicator will be based on. Required for this\nindicator."},subtree:{}},name:{meta:{types:{string:1},name:"name",excludes:{},products:{highstock:1},description:"The name of the series as shown in the legend, tooltip etc. If not\nset, it will be based on a technical indicator type and default\nparams."},subtree:{}},params:{meta:{types:{object:1},name:"params",excludes:{}},subtree:{index:{meta:{types:{number:1},name:"index",excludes:{},default:0,products:{highstock:1},description:"The point index which indicator calculations will base. For\nexample using OHLC data, index=2 means the indicator will be\ncalculated using Low values."},subtree:{}},period:{meta:{types:{number:1},name:"period",excludes:{},default:14,products:{highstock:1},description:"The base period for indicator calculations. This is the number of\ndata points which are taken into account for the indicator\ncalculations."},subtree:{}}}},tooltip:{meta:{types:{object:1},name:"tooltip",excludes:{}},subtree:{valueDecimals:{meta:{types:{number:1},name:"valueDecimals",excludes:{},default:4,products:{highstock:1},description:"Number of decimals in indicator series."},subtree:{}}}}}},solidgauge:{meta:{types:{object:1},name:"solidgauge",excludes:{},products:{highcharts:1},description:"A solid gauge is a circular gauge where the value is indicated by a filled\narc, and the color of the arc may variate with the value.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `solidgauge` series are defined in\n [plotOptions.solidgauge](plotOptions.solidgauge).\n3. Options for one single series are given in\n [the series instance array](series.solidgauge).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        solidgauge: {\n            // shared options for all solidgauge series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'solidgauge'\n    }]\n});\n
    \n ",extends:"plotOptions.gauge"},subtree:{colorByPoint:{meta:{types:{boolean:1},name:"colorByPoint",excludes:{},default:!0,description:"Whether to give each point an individual color."},subtree:{}},linecap:{meta:{types:{string:1},name:"linecap",excludes:{},default:"round",products:{highcharts:1},description:"Whether the strokes of the solid gauge should be `round` or `square`."},subtree:{}},overshoot:{meta:{types:{number:1},name:"overshoot",excludes:{},default:"0",products:{highcharts:1},description:"Allow the gauge to overshoot the end of the perimeter axis by this\nmany degrees. Say if the gauge axis goes from 0 to 60, a value of\n100, or 1000, will show 5 degrees beyond the end of the axis when this\noption is set to 5."},subtree:{}},rounded:{meta:{types:{boolean:1},name:"rounded",excludes:{},default:"false",products:{highcharts:1},description:"Wether to draw rounded edges on the gauge."},subtree:{}},threshold:{meta:{types:{number:1},name:"threshold",excludes:{},default:"null",products:{highcharts:1},description:"The threshold or base level for the gauge."},subtree:{}}}},spline:{meta:{types:{},name:"spline",excludes:{},products:{highcharts:1,highstock:1},description:"A spline series is a special type of line series, where the segments between\nthe data points are smoothed.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `spline` series are defined in\n [plotOptions.spline](plotOptions.spline).\n3. Options for one single series are given in\n [the series instance array](series.spline).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        spline: {\n            // shared options for all spline series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'spline'\n    }]\n});\n
    \n ",extends:"plotOptions.series"},subtree:{}},stochastic:{meta:{types:{object:1},name:"stochastic",excludes:{},products:{highstock:1},description:"Stochastic oscillator. This series requires the `linkedTo` option to be\nset and should be loaded after the `stock/indicators/indicators.js` file.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `stochastic` series are defined in\n [plotOptions.stochastic](plotOptions.stochastic).\n3. Options for one single series are given in\n [the series instance array](series.stochastic).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        stochastic: {\n            // shared options for all stochastic series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'stochastic'\n    }]\n});\n
    \n ",extends:"plotOptions.sma"},subtree:{dataGrouping:{meta:{types:{object:1},name:"dataGrouping",excludes:{}},subtree:{approximation:{meta:{types:{string:1},name:"approximation",excludes:{},default:"averages"},subtree:{}}}},marker:{meta:{types:{object:1},name:"marker",excludes:{}},subtree:{enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:!1},subtree:{}}}},name:{meta:{types:{string:1},name:"name",excludes:{},default:"Stochastic (14, 3)"},subtree:{}},params:{meta:{types:{object:1},name:"params",excludes:{}},subtree:{periods:{meta:{types:{array:"object"},name:"periods",excludes:{},default:"[14, 3]",products:{highstock:1},description:"Periods for Stochastic oscillator: [%K, %D]."},subtree:{}}}},smoothedLine:{meta:{types:{object:1},name:"smoothedLine",excludes:{},products:{highstock:1},description:"Smoothed line options."},subtree:{styles:{meta:{types:{object:1},name:"styles",excludes:{},products:{highstock:1},description:"Styles for a smoothed line."},subtree:{lineColor:{meta:{types:{string:1},name:"lineColor",excludes:{},products:{highstock:1},description:"Color of the line. If not set, it's inherited from\n[plotOptions.stochastic.color](\n#plotOptions.stochastic.color)."},subtree:{}},lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:1,products:{highstock:1},description:"Pixel width of the line."},subtree:{}}}}}},tooltip:{meta:{types:{object:1},name:"tooltip",excludes:{}},subtree:{pointFormat:{meta:{types:{string:1},name:"pointFormat",excludes:{},default:' {series.name}
    %K: {point.y}
    %D: {point.smoothed}
    '},subtree:{}}}}}},streamgraph:{meta:{types:{object:1},name:"streamgraph",excludes:{},products:{highcharts:1,highstock:1},description:"A streamgraph is a type of stacked area graph which is displaced around a\ncentral axis, resulting in a flowing, organic shape.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `streamgraph` series are defined in\n [plotOptions.streamgraph](plotOptions.streamgraph).\n3. Options for one single series are given in\n [the series instance array](series.streamgraph).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        streamgraph: {\n            // shared options for all streamgraph series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'streamgraph'\n    }]\n});\n
    \n ",extends:"plotOptions.areaspline"},subtree:{fillOpacity:{meta:{types:{number:1},name:"fillOpacity",excludes:{},default:1},subtree:{}},lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:0},subtree:{}},marker:{meta:{types:{object:1},name:"marker",excludes:{}},subtree:{enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:!1},subtree:{}}}},stacking:{meta:{types:{string:1},name:"stacking",excludes:{},default:"stream"},subtree:{}}}},sunburst:{meta:{types:{object:1},name:"sunburst",excludes:{},products:{highcharts:1},description:"A Sunburst displays hierarchical data, where a level in the hierarchy is\nrepresented by a circle. The center represents the root node of the tree.\nThe visualization bears a resemblance to both treemap and pie charts.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `sunburst` series are defined in\n [plotOptions.sunburst](plotOptions.sunburst).\n3. Options for one single series are given in\n [the series instance array](series.sunburst).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        sunburst: {\n            // shared options for all sunburst series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'sunburst'\n    }]\n});\n
    \n ",extends:"plotOptions.pie"},subtree:{allowDrillToNode:{meta:{types:{boolean:1},name:"allowDrillToNode",excludes:{},default:"false",description:"When enabled the user can click on a point which is a parent and\nzoom in on its children."},subtree:{}},center:{meta:{types:{array:"(String|Number)"},name:"center",excludes:{},products:{highcharts:1},description:"The center of the sunburst chart relative to the plot area. Can be\npercentages or pixel values."},subtree:{}},colorByPoint:{meta:{types:{boolean:1},name:"colorByPoint",excludes:{},default:!1},subtree:{}},dataLabels:{meta:{types:{object:1},name:"dataLabels",excludes:{},extends:"plotOptions.series.dataLabels"},subtree:{allowOverlap:{meta:{types:{boolean:1},name:"allowOverlap",excludes:{},default:!0},subtree:{}},defer:{meta:{types:{boolean:1},name:"defer",excludes:{},default:!0},subtree:{}},rotationMode:{meta:{types:{string:1},name:"rotationMode",excludes:{},default:"auto",description:"Decides how the data label will be rotated relative to the perimeter\nof the sunburst. Valid values are `auto`, `parallel` and\n`perpendicular`. When `auto`, the best fit will be computed for the\npoint.\n\nThe `series.rotation` option takes precedence over `rotationMode`."},subtree:{}},style:{meta:{types:{object:1},name:"style",excludes:{}},subtree:{textOverflow:{meta:{types:{string:1},name:"textOverflow",excludes:{},default:"ellipsis"},subtree:{}}}}}},levelIsConstant:{meta:{types:{boolean:1},name:"levelIsConstant",excludes:{},default:!0,description:"Used together with the levels and `allowDrillToNode` options. When\nset to false the first level visible when drilling is considered\nto be level one. Otherwise the level will be the same as the tree\nstructure."},subtree:{}},levelSize:{meta:{types:{object:1},name:"levelSize",excludes:{},description:"Determines the width of the ring per level."},subtree:{unit:{meta:{types:{string:1},name:"unit",excludes:{},default:"weight",description:'How to interpret `levelSize.value`.\n`percentage` gives a width relative to result of outer radius minus\ninner radius.\n`pixels` gives the ring a fixed width in pixels.\n`weight` takes the remaining width after percentage and pixels, and\ndistributes it accross all "weighted" levels. The value relative to\nthe sum of all weights determines the width.'},subtree:{}},value:{meta:{types:{number:1},name:"value",excludes:{},default:1,description:"The value used for calculating the width of the ring. Its' affect is\ndetermined by `levelSize.unit`."},subtree:{}}}},levels:{meta:{types:{array:"Object"},name:"levels",excludes:{},description:"Set options on specific levels. Takes precedence over series options,\nbut not point options."},subtree:{borderColor:{meta:{types:{color:1},name:"borderColor",excludes:{},description:"Can set a `borderColor` on all points which lies on the same level."},subtree:{}},borderDashStyle:{meta:{types:{string:1},name:"borderDashStyle",excludes:{},description:"Can set a `borderDashStyle` on all points which lies on the same level."},subtree:{}},borderWidth:{meta:{types:{number:1},name:"borderWidth",excludes:{},description:"Can set a `borderWidth` on all points which lies on the same level."},subtree:{}},color:{meta:{types:{color:1},name:"color",excludes:{},description:"Can set a `color` on all points which lies on the same level."},subtree:{}},colorVariation:{meta:{types:{object:1},name:"colorVariation",excludes:{},description:"Can set a `colorVariation` on all points which lies on the same level."},subtree:{key:{meta:{types:{string:1},name:"key",excludes:{},description:"The key of a color variation. Currently supports `brightness` only."},subtree:{}},to:{meta:{types:{number:1},name:"to",excludes:{},description:"The ending value of a color variation. The last sibling will receive this\nvalue."},subtree:{}}}},levelSize:{meta:{types:{object:1},name:"levelSize",excludes:{},description:"Can set a `levelSize` on all points which lies on the same level."},subtree:{}},rotation:{meta:{types:{number:1},name:"rotation",excludes:{},description:"Can set a `rotation` on all points which lies on the same level."},subtree:{}},rotationMode:{meta:{types:{string:1},name:"rotationMode",excludes:{},description:"Can set a `rotationMode` on all points which lies on the same level."},subtree:{}}}},rootId:{meta:{types:{string:1,undefined:1},name:"rootId",excludes:{},default:"undefined",description:"Which point to use as a root in the visualization."},subtree:{}},slicedOffset:{meta:{types:{number:1},name:"slicedOffset",excludes:{},default:10,description:"If a point is sliced, moved out from the center, how many pixels\nshould it be moved?."},subtree:{}}}},tilemap:{meta:{types:{object:1},name:"tilemap",excludes:{},products:{highcharts:1,highmaps:1},description:"A tilemap series is a type of heatmap where the tile shapes are configurable.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `tilemap` series are defined in\n [plotOptions.tilemap](plotOptions.tilemap).\n3. Options for one single series are given in\n [the series instance array](series.tilemap).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        tilemap: {\n            // shared options for all tilemap series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'tilemap'\n    }]\n});\n
    \n ",extends:"plotOptions.heatmap"},subtree:{colsize:{meta:{types:{number:1},name:"colsize",excludes:{},default:"1",products:{highcharts:1,highmaps:1},description:"The column size - how many X axis units each column in the tilemap\nshould span. Works as in [Heatmaps](#plotOptions.heatmap.colsize)."},subtree:{}},pointPadding:{meta:{types:{number:1},name:"pointPadding",excludes:{},default:2,description:"The padding between points in the tilemap."},subtree:{}},rowsize:{meta:{types:{number:1},name:"rowsize",excludes:{},default:"1",products:{highcharts:1,highmaps:1},description:"The row size - how many Y axis units each tilemap row should span.\nAnalogous to [colsize](#plotOptions.tilemap.colsize)."},subtree:{}},states:{meta:{types:{object:1},name:"states",excludes:{}},subtree:{hover:{meta:{types:{object:1},name:"hover",excludes:{}},subtree:{halo:{meta:{types:{object:1},name:"halo",excludes:{}},subtree:{attributes:{meta:{types:{object:1},name:"attributes",excludes:{}},subtree:{zIndex:{meta:{types:{number:1},name:"zIndex",excludes:{},default:3},subtree:{}}}},enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:!0},subtree:{}},opacity:{meta:{types:{number:1},name:"opacity",excludes:{},default:.5},subtree:{}},size:{meta:{types:{number:1},name:"size",excludes:{},default:2},subtree:{}}}}}}}},tileShape:{meta:{types:{string:1},name:"tileShape",excludes:{},default:"hexagon",description:"The shape of the tiles in the tilemap. Possible values are `hexagon`,\n`circle`, `diamond`, and `square`."},subtree:{}}}},treemap:{meta:{types:{object:1},name:"treemap",excludes:{},products:{highcharts:1},description:"A treemap displays hierarchical data using nested rectangles. The data can be\nlaid out in varying ways depending on options.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `treemap` series are defined in\n [plotOptions.treemap](plotOptions.treemap).\n3. Options for one single series are given in\n [the series instance array](series.treemap).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        treemap: {\n            // shared options for all treemap series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'treemap'\n    }]\n});\n
    \n ",extends:"plotOptions.scatter"},subtree:{allowDrillToNode:{meta:{types:{boolean:1},name:"allowDrillToNode",excludes:{},default:"false",products:{highcharts:1},description:"When enabled the user can click on a point which is a parent and\nzoom in on its children."},subtree:{}},alternateStartingDirection:{meta:{types:{boolean:1},name:"alternateStartingDirection",excludes:{},default:"false",products:{highcharts:1},description:"Enabling this option will make the treemap alternate the drawing\ndirection between vertical and horizontal. The next levels starting\ndirection will always be the opposite of the previous."},subtree:{}},borderColor:{meta:{types:{color:1},name:"borderColor",excludes:{},default:"#e6e6e6",products:{highcharts:1},description:"The color of the border surrounding each tree map item."},subtree:{}},borderWidth:{meta:{types:{number:1},name:"borderWidth",excludes:{},default:1,description:"The width of the border surrounding each tree map item."},subtree:{}},colorByPoint:{meta:{types:{boolean:1},name:"colorByPoint",excludes:{},default:"false",description:"When using automatic point colors pulled from the `options.colors`\ncollection, this option determines whether the chart should receive\none color per series or one color per point."},subtree:{}},colors:{meta:{types:{array:"Color"},name:"colors",excludes:{},description:"A series specific or series type specific color set to apply instead\nof the global [colors](#colors) when [colorByPoint](\n#plotOptions.treemap.colorByPoint) is true."},subtree:{}},cropThreshold:{meta:{types:{number:1},name:"cropThreshold",excludes:{},default:"300",products:{highcharts:1},description:"When the series contains less points than the crop threshold, all\npoints are drawn, event if the points fall outside the visible plot\narea at the current zoom. The advantage of drawing all points (including\nmarkers and columns), is that animation is performed on updates.\nOn the other hand, when the series contains more points than the\ncrop threshold, the series data is cropped to only contain points\nthat fall within the plot area. The advantage of cropping away invisible\npoints is to increase performance on large series."},subtree:{}},dataLabels:{meta:{types:{object:1},name:"dataLabels",excludes:{},products:{highcharts:1},extends:"plotOptions.heatmap.dataLabels"},subtree:{defer:{meta:{types:{boolean:1},name:"defer",excludes:{},default:!1},subtree:{}},enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:!0},subtree:{}},formatter:{meta:{types:{},name:"formatter",excludes:{}},subtree:{}},inside:{meta:{types:{boolean:1},name:"inside",excludes:{},default:!0},subtree:{}},verticalAlign:{meta:{types:{string:1},name:"verticalAlign",excludes:{},default:"middle"},subtree:{}}}},drillUpButton:{meta:{types:{object:1},name:"drillUpButton",excludes:{},description:"Options for the button appearing when drilling down in a treemap."},subtree:{position:{meta:{types:{object:1},name:"position",excludes:{},description:"The position of the button."},subtree:{align:{meta:{types:{string:1},name:"align",excludes:{},default:"right",description:"Horizontal alignment of the button."},subtree:{}},verticalAlign:{meta:{types:{string:1},name:"verticalAlign",excludes:{},default:"top",description:"Vertical alignment of the button."},subtree:{}},x:{meta:{types:{number:1},name:"x",excludes:{},default:"-10",description:"Horizontal offset of the button."},subtree:{}},y:{meta:{types:{number:1},name:"y",excludes:{},default:10,description:"Vertical offset of the button."},subtree:{}}}}}},ignoreHiddenPoint:{meta:{types:{boolean:1},name:"ignoreHiddenPoint",excludes:{},default:"true",products:{highcharts:1},description:"Whether to ignore hidden points when the layout algorithm runs.\nIf `false`, hidden points will leave open spaces."},subtree:{}},interactByLeaf:{meta:{types:{boolean:1},name:"interactByLeaf",excludes:{},products:{highcharts:1},description:"This option decides if the user can interact with the parent nodes\nor just the leaf nodes. When this option is undefined, it will be\ntrue by default. However when allowDrillToNode is true, then it will\nbe false by default."},subtree:{}},layoutAlgorithm:{meta:{types:{string:1},name:"layoutAlgorithm",excludes:{},default:"sliceAndDice",products:{highcharts:1},description:"This option decides which algorithm is used for setting position\nand dimensions of the points. Can be one of `sliceAndDice`, `stripes`,\n `squarified` or `strip`."},subtree:{}},layoutStartingDirection:{meta:{types:{string:1},name:"layoutStartingDirection",excludes:{},default:"vertical",products:{highcharts:1},description:'Defines which direction the layout algorithm will start drawing.\n Possible values are "vertical" and "horizontal".'},subtree:{}},levelIsConstant:{meta:{types:{boolean:1},name:"levelIsConstant",excludes:{},default:"true",products:{highcharts:1},description:"Used together with the levels and allowDrillToNode options. When\nset to false the first level visible when drilling is considered\nto be level one. Otherwise the level will be the same as the tree\nstructure."},subtree:{}},levels:{meta:{types:{array:"Object"},name:"levels",excludes:{},products:{highcharts:1},description:"Set options on specific levels. Takes precedence over series options,\nbut not point options."},subtree:{borderColor:{meta:{types:{color:1},name:"borderColor",excludes:{},products:{highcharts:1},description:"Can set a `borderColor` on all points which lies on the same level."},subtree:{}},borderDashStyle:{meta:{types:{string:1},name:"borderDashStyle",excludes:{},products:{highcharts:1},description:'Set the dash style of the border of all the point which lies on the\nlevel. See \nplotOptions.scatter.dashStyle for possible options.'},subtree:{}},borderWidth:{meta:{types:{number:1},name:"borderWidth",excludes:{},products:{highcharts:1},description:"Can set the borderWidth on all points which lies on the same level."},subtree:{}},color:{meta:{types:{color:1},name:"color",excludes:{},products:{highcharts:1},description:"Can set a color on all points which lies on the same level."},subtree:{}},colorVariation:{meta:{types:{object:1},name:"colorVariation",excludes:{},products:{highcharts:1},description:"A configuration object to define how the color of a child varies from the\nparent's color. The variation is distributed among the children of node.\nFor example when setting brightness, the brightness change will range\nfrom the parent's original brightness on the first child, to the amount\nset in the `to` setting on the last node. This allows a gradient-like\ncolor scheme that sets children out from each other while highlighting\nthe grouping on treemaps and sectors on sunburst charts."},subtree:{key:{meta:{types:{string:1},name:"key",excludes:{},products:{highcharts:1},description:"The key of a color variation. Currently supports `brightness` only."},subtree:{}},to:{meta:{types:{number:1},name:"to",excludes:{},products:{highcharts:1},description:"The ending value of a color variation. The last sibling will receive this\nvalue."},subtree:{}}}},layoutAlgorithm:{meta:{types:{string:1 },name:"layoutAlgorithm",excludes:{},products:{highcharts:1},description:"Can set the layoutAlgorithm option on a specific level."},subtree:{}},layoutStartingDirection:{meta:{types:{string:1},name:"layoutStartingDirection",excludes:{},products:{highcharts:1},description:"Can set the layoutStartingDirection option on a specific level."},subtree:{}},level:{meta:{types:{number:1},name:"level",excludes:{},products:{highcharts:1},description:"Decides which level takes effect from the options set in the levels\nobject."},subtree:{}}}},opacity:{meta:{types:{number:1},name:"opacity",excludes:{},default:"0.15",products:{highcharts:1},description:"The opacity of a point in treemap. When a point has children, the\nvisibility of the children is determined by the opacity."},subtree:{}},showInLegend:{meta:{types:{boolean:1},name:"showInLegend",excludes:{},default:"false",products:{highcharts:1},description:"Whether to display this series type or specific series item in the\nlegend."},subtree:{}},sortIndex:{meta:{types:{number:1},name:"sortIndex",excludes:{},products:{highcharts:1},description:"The sort index of the point inside the treemap level."},subtree:{}},states:{meta:{types:{object:1},name:"states",excludes:{},products:{highcharts:1},description:"A wrapper object for all the series options in specific states.",extends:"plotOptions.heatmap.states"},subtree:{hover:{meta:{types:{object:1},name:"hover",excludes:{},products:{highcharts:1},description:"Options for the hovered series",extends:"plotOptions.heatmap.states.hover"},subtree:{borderColor:{meta:{types:{string:1},name:"borderColor",excludes:{},default:"#999999",description:"The border color for the hovered state."},subtree:{}},brightness:{meta:{types:{number:1},name:"brightness",excludes:{},default:"null",description:"Brightness for the hovered point. Defaults to 0 if the heatmap\nseries is loaded first, otherwise 0.1."},subtree:{}},halo:{meta:{types:{boolean:1},name:"halo",excludes:{},default:!1,extends:"plotOptions.heatmap.states.hover.halo"},subtree:{}},opacity:{meta:{types:{number:1},name:"opacity",excludes:{},default:"0.75",products:{highcharts:1},description:"The opacity of a point in treemap. When a point has children,\nthe visibility of the children is determined by the opacity."},subtree:{}},shadow:{meta:{types:{boolean:1},name:"shadow",excludes:{},default:!1,description:"The shadow option for hovered state."},subtree:{}}}}}},tooltip:{meta:{types:{object:1},name:"tooltip",excludes:{}},subtree:{headerFormat:{meta:{types:{string:1},name:"headerFormat",excludes:{},default:""},subtree:{}},pointFormat:{meta:{types:{string:1},name:"pointFormat",excludes:{},default:"{point.name}: {point.value}
    "},subtree:{}}}}}},variablepie:{meta:{types:{object:1},name:"variablepie",excludes:{},products:{highcharts:1},description:"A variable pie series is a two dimensional series type, where each point\nrenders an Y and Z value. Each point is drawn as a pie slice where the\nsize (arc) of the slice relates to the Y value and the radius of pie\nslice relates to the Z value. Requires `highcharts-more.js`.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `variablepie` series are defined in\n [plotOptions.variablepie](plotOptions.variablepie).\n3. Options for one single series are given in\n [the series instance array](series.variablepie).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        variablepie: {\n            // shared options for all variablepie series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'variablepie'\n    }]\n});\n
    \n ",extends:"plotOptions.pie"},subtree:{maxPointSize:{meta:{types:{number:1,string:1},name:"maxPointSize",excludes:{},default:"100%",products:{highcharts:1},description:"The maximum size of the points' radius related to chart's `plotArea`.\nIf a number is set, it applies in pixels."},subtree:{}},minPointSize:{meta:{types:{number:1,string:1},name:"minPointSize",excludes:{},default:"10%",products:{highcharts:1},description:"The minimum size of the points' radius related to chart's `plotArea`.\nIf a number is set, it applies in pixels."},subtree:{}},sizeBy:{meta:{types:{string:1},name:"sizeBy",excludes:{},default:"area",products:{highcharts:1},description:"Whether the pie slice's value should be represented by the area\nor the radius of the slice. Can be either `area` or `radius`. The\ndefault, `area`, corresponds best to the human perception of the size\nof each pie slice."},subtree:{}},tooltip:{meta:{types:{object:1},name:"tooltip",excludes:{}},subtree:{pointFormat:{meta:{types:{string:1},name:"pointFormat",excludes:{},default:' {series.name}
    Value: {point.y}
    Size: {point.z}
    '},subtree:{}}}},zMax:{meta:{types:{number:1},name:"zMax",excludes:{},products:{highcharts:1},description:"The maximum possible z value for the point's radius calculation. If\nthe point's Z value is bigger than zMax, the slice will be drawn\naccording to the zMax value"},subtree:{}},zMin:{meta:{types:{number:1},name:"zMin",excludes:{},products:{highcharts:1},description:"The minimum possible z value for the point's radius calculation.\nIf the point's Z value is smaller than zMin, the slice will be drawn\naccording to the zMin value."},subtree:{}}}},variwide:{meta:{types:{object:1},name:"variwide",excludes:{},products:{highcharts:1},description:"A variwide chart (related to marimekko chart) is a column chart with a\nvariable width expressing a third dimension.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `variwide` series are defined in\n [plotOptions.variwide](plotOptions.variwide).\n3. Options for one single series are given in\n [the series instance array](series.variwide).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        variwide: {\n            // shared options for all variwide series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'variwide'\n    }]\n});\n
    \n ",extends:"plotOptions.column"},subtree:{groupPadding:{meta:{types:{number:1},name:"groupPadding",excludes:{},default:0,description:"In a variwide chart, the group padding is 0 in order to express the\nhorizontal stacking of items."},subtree:{}},pointPadding:{meta:{types:{number:1},name:"pointPadding",excludes:{},default:0,description:"In a variwide chart, the point padding is 0 in order to express the\nhorizontal stacking of items."},subtree:{}}}},vbp:{meta:{types:{object:1},name:"vbp",excludes:{},products:{highstock:1},description:"Volume By Price indicator.\n\nThis series requires `linkedTo` option to be set.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `vbp` series are defined in\n [plotOptions.vbp](plotOptions.vbp).\n3. Options for one single series are given in\n [the series instance array](series.vbp).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        vbp: {\n            // shared options for all vbp series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'vbp'\n    }]\n});\n
    \n ",extends:"plotOptions.sma"},subtree:{animationLimit:{meta:{types:{number:1},name:"animationLimit",excludes:{},default:1e3},subtree:{}},crisp:{meta:{types:{boolean:1},name:"crisp",excludes:{},default:!0},subtree:{}},dataGrouping:{meta:{types:{object:1},name:"dataGrouping",excludes:{}},subtree:{enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:!1},subtree:{}}}},dataLabels:{meta:{types:{object:1},name:"dataLabels",excludes:{}},subtree:{allowOverlap:{meta:{types:{boolean:1},name:"allowOverlap",excludes:{},default:!0},subtree:{}},enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:!0},subtree:{}},format:{meta:{types:{string:1},name:"format",excludes:{},default:"P: {point.volumePos:.2f} | N: {point.volumeNeg:.2f}"},subtree:{}},padding:{meta:{types:{number:1},name:"padding",excludes:{},default:0},subtree:{}},style:{meta:{types:{object:1},name:"style",excludes:{}},subtree:{fontSize:{meta:{types:{string:1},name:"fontSize",excludes:{},default:"7px"},subtree:{}}}},verticalAlign:{meta:{types:{string:1},name:"verticalAlign",excludes:{},default:"top"},subtree:{}}}},enableMouseTracking:{meta:{types:{boolean:1},name:"enableMouseTracking",excludes:{},default:!1},subtree:{}},params:{meta:{types:{object:1},name:"params",excludes:{}},subtree:{ranges:{meta:{types:{number:1},name:"ranges",excludes:{},default:12,products:{highstock:1},description:"The number of price zones."},subtree:{}},volumeSeriesID:{meta:{types:{string:1},name:"volumeSeriesID",excludes:{},default:"volume",products:{highstock:1},description:"The id of volume series which is mandatory. For example using\nOHLC data, volumeSeriesID='volume' means the indicator will be\ncalculated using OHLC and volume values."},subtree:{}}}},pointPadding:{meta:{types:{number:1},name:"pointPadding",excludes:{},default:0},subtree:{}},volumeDivision:{meta:{types:{object:1},name:"volumeDivision",excludes:{},products:{highstock:1},description:"The styles for bars when volume is divided into positive/negative."},subtree:{enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:!0,products:{highstock:1},description:"Option to control if volume is divided."},subtree:{}},styles:{meta:{types:{object:1},name:"styles",excludes:{}},subtree:{negativeColor:{meta:{types:{color:1},name:"negativeColor",excludes:{},default:"rgba(244, 91, 91, 0.8)",products:{highstock:1},description:"Color of negative volume bars."},subtree:{}},positiveColor:{meta:{types:{color:1},name:"positiveColor",excludes:{},default:"rgba(144, 237, 125, 0.8)",products:{highstock:1},description:"Color of positive volume bars."},subtree:{}}}}}},zIndex:{meta:{types:{number:1},name:"zIndex",excludes:{},default:-1},subtree:{}},zoneLines:{meta:{types:{object:1},name:"zoneLines",excludes:{},products:{highstock:1},description:"The styles for lines which determine price zones."},subtree:{enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:"true",products:{highstock:1},description:"Enable/disable zone lines."},subtree:{}},styles:{meta:{types:{object:1},name:"styles",excludes:{}},subtree:{color:{meta:{types:{color:1},name:"color",excludes:{},default:"#0A9AC9",products:{highstock:1},description:"Color of zone lines."},subtree:{}},dashStyle:{meta:{types:{string:1},name:"dashStyle",excludes:{},default:"LongDash",products:{highstock:1},description:"The dash style of zone lines."},subtree:{}},lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:1,products:{highstock:1},description:"Pixel width of zone lines."},subtree:{}}}}}}}},vector:{meta:{types:{object:1},name:"vector",excludes:{},products:{highcharts:1,highstock:1},description:"A vector plot is a type of cartesian chart where each point has an X and Y\nposition, a length and a direction. Vectors are drawn as arrows.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `vector` series are defined in\n [plotOptions.vector](plotOptions.vector).\n3. Options for one single series are given in\n [the series instance array](series.vector).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        vector: {\n            // shared options for all vector series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'vector'\n    }]\n});\n
    \n ",extends:"plotOptions.scatter"},subtree:{lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:2,description:"The line width for each vector arrow."},subtree:{}},rotationOrigin:{meta:{types:{string:1},name:"rotationOrigin",excludes:{},default:"center",description:"What part of the vector it should be rotated around. Can be one of\n`start`, `center` and `end`. When `start`, the vectors will start from\nthe given [x, y] position, and when `end` the vectors will end in the\n[x, y] position."},subtree:{}},states:{meta:{types:{object:1},name:"states",excludes:{}},subtree:{hover:{meta:{types:{object:1},name:"hover",excludes:{}},subtree:{lineWidthPlus:{meta:{types:{number:1},name:"lineWidthPlus",excludes:{},default:1,description:"Additonal line width for the vector errors when they are hovered."},subtree:{}}}}}},tooltip:{meta:{types:{object:1},name:"tooltip",excludes:{}},subtree:{pointFormat:{meta:{types:{string:1},name:"pointFormat",excludes:{},default:"[{point.x}, {point.y}]
    Length: {point.length}
    Direction: {point.direction}°
    "},subtree:{}}}},vectorLength:{meta:{types:{number:1},name:"vectorLength",excludes:{},default:20,description:"Maximum length of the arrows in the vector plot. The individual arrow\nlength is computed between 0 and this value."},subtree:{}}}},vwap:{meta:{types:{object:1},name:"vwap",excludes:{},products:{highstock:1},description:"Volume Weighted Average Price indicator.\n\nThis series requires `linkedTo` option to be set.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `vwap` series are defined in\n [plotOptions.vwap](plotOptions.vwap).\n3. Options for one single series are given in\n [the series instance array](series.vwap).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        vwap: {\n            // shared options for all vwap series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'vwap'\n    }]\n});\n
    \n ",extends:"plotOptions.sma"},subtree:{params:{meta:{types:{object:1},name:"params",excludes:{}},subtree:{period:{meta:{types:{number:1},name:"period",excludes:{},default:30},subtree:{}},volumeSeriesID:{meta:{types:{string:1},name:"volumeSeriesID",excludes:{},default:"volume",products:{highstock:1},description:"The id of volume series which is mandatory. For example using\nOHLC data, volumeSeriesID='volume' means the indicator will be\ncalculated using OHLC and volume values."},subtree:{}}}}}},waterfall:{meta:{types:{object:1},name:"waterfall",excludes:{},products:{highcharts:1},description:"A waterfall chart displays sequentially introduced positive or negative\nvalues in cumulative columns.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `waterfall` series are defined in\n [plotOptions.waterfall](plotOptions.waterfall).\n3. Options for one single series are given in\n [the series instance array](series.waterfall).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        waterfall: {\n            // shared options for all waterfall series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'waterfall'\n    }]\n});\n
    \n ",extends:"{plotOptions.column}"},subtree:{borderColor:{meta:{types:{color:1},name:"borderColor",excludes:{},default:"#333333",products:{highcharts:1},description:"The color of the border of each waterfall column.\n\nIn styled mode, the border stroke can be set with the\n`.highcharts-point` class."},subtree:{}},dashStyle:{meta:{types:{string:1},name:"dashStyle",excludes:{},default:"Dot",products:{highcharts:1},description:"A name for the dash style to use for the line connecting the columns\nof the waterfall series. Possible values:\n\n* Solid\n* ShortDash\n* ShortDot\n* ShortDashDot\n* ShortDashDotDot\n* Dot\n* Dash\n* LongDash\n* DashDot\n* LongDashDot\n* LongDashDotDot\n\nIn styled mode, the stroke dash-array can be set with the\n`.highcharts-graph` class."},subtree:{}},dataLabels:{meta:{types:{object:1},name:"dataLabels",excludes:{}},subtree:{inside:{meta:{types:{boolean:1},name:"inside",excludes:{},default:!0},subtree:{}}}},lineColor:{meta:{types:{color:1},name:"lineColor",excludes:{},default:"#333333",products:{highcharts:1},description:"The color of the line that connects columns in a waterfall series.\n\nIn styled mode, the stroke can be set with the `.highcharts-graph` class."},subtree:{}},lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:1,products:{highcharts:1},description:"The width of the line connecting waterfall columns."},subtree:{}},states:{meta:{types:{object:1},name:"states",excludes:{}},subtree:{hover:{meta:{types:{object:1},name:"hover",excludes:{}},subtree:{lineWidthPlus:{meta:{types:{number:1},name:"lineWidthPlus",excludes:{},default:0},subtree:{}}}}}},upColor:{meta:{types:{color:1},name:"upColor",excludes:{},products:{highcharts:1},description:"The color used specifically for positive point columns. When not\nspecified, the general series color is used.\n\nIn styled mode, the waterfall colors can be set with the\n`.highcharts-point-negative`, `.highcharts-sum` and\n`.highcharts-intermediate-sum` classes."},subtree:{}}}},windbarb:{meta:{types:{object:1},name:"windbarb",excludes:{},products:{highcharts:1,highstock:1},description:"Wind barbs are a convenient way to represent wind speed and direction in one\ngraphical form. Wind direction is given by the stem direction, and wind speed\nby the number and shape of barbs.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `windbarb` series are defined in\n [plotOptions.windbarb](plotOptions.windbarb).\n3. Options for one single series are given in\n [the series instance array](series.windbarb).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        windbarb: {\n            // shared options for all windbarb series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'windbarb'\n    }]\n});\n
    \n ",extends:"plotOptions.column"},subtree:{lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:2,description:"The line width of the wind barb symbols."},subtree:{}},onSeries:{meta:{types:{string:1,null:1},name:"onSeries",excludes:{},default:null,description:"The id of another series in the chart that the wind barbs are projected\non. When `null`, the wind symbols are drawn on the X axis, but offset\nup or down by the `yOffset` setting."},subtree:{}},states:{meta:{types:{object:1},name:"states",excludes:{}},subtree:{hover:{meta:{types:{object:1},name:"hover",excludes:{}},subtree:{lineWidthPlus:{meta:{types:{number:1},name:"lineWidthPlus",excludes:{},default:0},subtree:{}}}}}},tooltip:{meta:{types:{object:1},name:"tooltip",excludes:{}},subtree:{pointFormat:{meta:{types:{string:1},name:"pointFormat",excludes:{},default:' {series.name}: {point.value} ({point.beaufort})
    ',description:"The default point format for the wind barb tooltip. Note the\n`point.beaufort` property that refers to the Beaufort wind scale. The\nnames can be internationalized by modifying\n`Highcharts.seriesTypes.windbarb.prototype.beaufortNames`."},subtree:{}}}},vectorLength:{meta:{types:{number:1},name:"vectorLength",excludes:{},default:20,description:"Pixel length of the stems."},subtree:{}},xOffset:{meta:{types:{number:1},name:"xOffset",excludes:{},default:0,description:"Horizontal offset from the cartesian position, in pixels. When the chart\nis inverted, this option allows translation like\n[yOffset](#plotOptions.windbarb.yOffset) in non inverted charts."},subtree:{}},yOffset:{meta:{types:{number:1},name:"yOffset",excludes:{},default:-20,description:"Vertical offset from the cartesian position, in pixels. The default value\nmakes sure the symbols don't overlap the X axis when `onSeries` is\n`null`, and that they don't overlap the linked series when `onSeries` is\ngiven."},subtree:{}}}},wma:{meta:{types:{object:1},name:"wma",excludes:{},products:{highstock:1},description:"Weighted moving average indicator (WMA). This series requires `linkedTo`\noption to be set.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `wma` series are defined in\n [plotOptions.wma](plotOptions.wma).\n3. Options for one single series are given in\n [the series instance array](series.wma).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        wma: {\n            // shared options for all wma series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'wma'\n    }]\n});\n
    \n ",extends:"plotOptions.sma"},subtree:{params:{meta:{types:{object:1},name:"params",excludes:{}},subtree:{index:{meta:{types:{number:1},name:"index",excludes:{},default:3},subtree:{}},period:{meta:{types:{number:1},name:"period",excludes:{},default:9},subtree:{}}}}}},wordcloud:{meta:{types:{object:1},name:"wordcloud",excludes:{},products:{highcharts:1},description:"A word cloud is a visualization of a set of words, where the size and\nplacement of a word is determined by how it is weighted.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `wordcloud` series are defined in\n [plotOptions.wordcloud](plotOptions.wordcloud).\n3. Options for one single series are given in\n [the series instance array](series.wordcloud).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        wordcloud: {\n            // shared options for all wordcloud series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'wordcloud'\n    }]\n});\n
    \n ",extends:"plotOptions.column"},subtree:{allowExtendPlayingField:{meta:{types:{boolean:1},name:"allowExtendPlayingField",excludes:{},default:!0,description:"If there is no space for a word on the playing field, then this option\nwill allow the playing field to be extended to fit the word.\nIf false then the word will be dropped from the visualization.\nNB! This option is currently not decided to be published in the API, and\nis therefore marked as private."},subtree:{}},animation:{meta:{types:{object:1},name:"animation",excludes:{}},subtree:{duration:{meta:{types:{number:1},name:"duration",excludes:{},default:500},subtree:{}}}},borderWidth:{meta:{types:{number:1},name:"borderWidth",excludes:{},default:0},subtree:{}},clip:{meta:{types:{boolean:1},name:"clip",excludes:{},default:!1},subtree:{}},colorByPoint:{meta:{types:{boolean:1},name:"colorByPoint",excludes:{},default:!0,description:"When using automatic point colors pulled from the `options.colors`\ncollection, this option determines whether the chart should receive\none color per series or one color per point."},subtree:{}},maxFontSize:{meta:{types:{number:1},name:"maxFontSize",excludes:{},default:25,description:"The word with the largest weight will have a font size equal to this\nvalue. The font size of a word is the ratio between its weight and the\nlargest occuring weight, multiplied with the value of maxFontSize."},subtree:{}},minFontSize:{meta:{types:{number:1},name:"minFontSize",excludes:{},default:1,description:"A threshold determining the minimum font size that can be applied to a\nword."},subtree:{}},placementStrategy:{meta:{types:{string:1},name:"placementStrategy",excludes:{},default:"center",description:"This option decides which algorithm is used for placement, and rotation\nof a word. The choice of algorith is therefore a crucial part of the\nresulting layout of the wordcloud.\nIt is possible for users to add their own custom placement strategies\nfor use in word cloud. Read more about it in our\n[documentation](https://www.highcharts.com/docs/chart-and-series-types/word-cloud-series#custom-placement-strategies)"},subtree:{}},rotation:{meta:{types:{object:1},name:"rotation",excludes:{},description:"Rotation options for the words in the wordcloud."},subtree:{from:{meta:{types:{number:1},name:"from",excludes:{},default:0,description:"The smallest degree of rotation for a word."},subtree:{}},orientations:{meta:{types:{number:1},name:"orientations",excludes:{},default:2,description:"The number of possible orientations for a word, within the range of\n`rotation.from` and `rotation.to`."},subtree:{}},to:{meta:{types:{number:1},name:"to",excludes:{},default:90,description:"The largest degree of rotation for a word."},subtree:{}}}},showInLegend:{meta:{types:{boolean:1},name:"showInLegend",excludes:{},default:!1},subtree:{}},spiral:{meta:{types:{string:1},name:"spiral",excludes:{},default:"rectangular",description:"Spiral used for placing a word after the initial position experienced a\ncollision with either another word or the borders.\nIt is possible for users to add their own custom spiralling algorithms\nfor use in word cloud. Read more about it in our\n[documentation](https://www.highcharts.com/docs/chart-and-series-types/word-cloud-series#custom-spiralling-algorithm)"},subtree:{}},style:{meta:{types:{cssobject:1},name:"style",excludes:{},default:'{"fontFamily":"sans-serif", "fontWeight": "900"}',description:"CSS styles for the words."},subtree:{fontFamily:{meta:{types:{string:1},name:"fontFamily",excludes:{},default:"sans-serif"},subtree:{}},fontWeight:{meta:{types:{number:1,string:1},name:"fontWeight",excludes:{},default:"900"},subtree:{}}}},tooltip:{meta:{types:{object:1},name:"tooltip",excludes:{}},subtree:{followPointer:{meta:{types:{boolean:1},name:"followPointer",excludes:{},default:!0},subtree:{}},pointFormat:{meta:{types:{string:1},name:"pointFormat",excludes:{},default:' {series.name}: {point.weight}
    '},subtree:{}}}}}},xrange:{meta:{types:{object:1},name:"xrange",excludes:{},products:{highcharts:1,highstock:1},description:"The X-range series displays ranges on the X axis, typically time intervals\nwith a start and end date.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `xrange` series are defined in\n [plotOptions.xrange](plotOptions.xrange).\n3. Options for one single series are given in\n [the series instance array](series.xrange).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        xrange: {\n            // shared options for all xrange series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'xrange'\n    }]\n});\n
    \n ",extends:"{plotOptions.column}"},subtree:{borderRadius:{meta:{types:{number:1},name:"borderRadius",excludes:{},default:3},subtree:{}},colorByPoint:{meta:{types:{boolean:1},name:"colorByPoint",excludes:{},default:!0,description:"In an X-range series, this option makes all points of the same Y-axis\ncategory the same color."},subtree:{}},dataLabels:{meta:{types:{object:1},name:"dataLabels",excludes:{}},subtree:{formatter:{meta:{types:{},name:"formatter",excludes:{},description:"The default formatter for X-range data labels displays the percentage\nof the partial fill amount."},subtree:{}},inside:{meta:{types:{boolean:1},name:"inside",excludes:{},default:!0},subtree:{}},verticalAlign:{meta:{types:{string:1},name:"verticalAlign",excludes:{},default:"middle"},subtree:{}}}},partialFill:{meta:{types:{object:1},name:"partialFill",excludes:{},products:{highcharts:1,highstock:1},description:"A partial fill for each point, typically used to visualize how much of\na task is performed. The partial fill object can be set either on series\nor point level."},subtree:{fill:{meta:{types:{color:1},name:"fill",excludes:{},products:{highcharts:1,highstock:1},description:"The fill color to be used for partial fills. Defaults to a darker shade\nof the point color."},subtree:{}}}},pointRange:{meta:{types:{number:1},name:"pointRange",excludes:{},default:0},subtree:{}},tooltip:{meta:{types:{object:1},name:"tooltip",excludes:{}},subtree:{headerFormat:{meta:{types:{string:1},name:"headerFormat",excludes:{},default:'{point.x} - {point.x2}
    '},subtree:{}},pointFormat:{meta:{types:{string:1},name:"pointFormat",excludes:{},default:' {series.name}: {point.yCategory}
    '},subtree:{}}}}}},zigzag:{meta:{types:{object:1},name:"zigzag",excludes:{},products:{highstock:1},description:"Zig Zag indicator.\n\nThis series requires `linkedTo` option to be set.\n\nConfiguration options for the series are given in three levels:\n1. Options for all series in a chart are defined in the\n [plotOptions.series](plotOptions.series) object.\n2. Options for all `zigzag` series are defined in\n [plotOptions.zigzag](plotOptions.zigzag).\n3. Options for one single series are given in\n [the series instance array](series.zigzag).\n\n
    \nHighcharts.chart('container', {\n    plotOptions: {\n        series: {\n            // general options for all series\n        },\n        zigzag: {\n            // shared options for all zigzag series\n        }\n    },\n    series: [{\n        // specific options for this series instance\n        type: 'zigzag'\n    }]\n});\n
    \n ",extends:"plotOptions.sma"},subtree:{params:{meta:{types:{object:1},name:"params",excludes:{}},subtree:{deviation:{meta:{types:{number:1},name:"deviation",excludes:{},default:1,products:{highstock:1},description:"The threshold for the value change.\n\nFor example deviation=1 means the indicator will ignore all price\nmovements less than 1%."},subtree:{}},highIndex:{meta:{types:{number:1},name:"highIndex",excludes:{},default:1,products:{highstock:1},description:"The point index which indicator calculations will base - high\nvalue.\n\nFor example using OHLC data, index=1 means the indicator will be\ncalculated using High values."},subtree:{}},lowIndex:{meta:{types:{number:1},name:"lowIndex",excludes:{},default:2,products:{highstock:1},description:"The point index which indicator calculations will base - low\nvalue.\n\nFor example using OHLC data, index=2 means the indicator will be\ncalculated using Low values."},subtree:{}}}}}}}},rangeSelector:{meta:{types:{object:1},name:"rangeSelector",excludes:{},products:{highstock:1},description:"The range selector is a tool for selecting ranges to display within\nthe chart. It provides buttons to select preconfigured ranges in\nthe chart, like 1 day, 1 week, 1 month etc. It also provides input\nboxes where min and max dates can be manually input." },subtree:{allButtonsEnabled:{meta:{types:{boolean:1},name:"allButtonsEnabled",excludes:{},default:"false",products:{highstock:1},description:"Whether to enable all buttons from the start. By default buttons are\nonly enabled if the corresponding time range exists on the X axis,\nbut enabling all buttons allows for dynamically loading different\ntime ranges."},subtree:{}},buttonPosition:{meta:{types:{"*":1},name:"buttonPosition",excludes:{},products:{highstock:1},description:"Positioning for the button row."},subtree:{align:{meta:{types:{string:1},name:"align",excludes:{},default:"left",description:"The alignment of the input box. Allowed properties are `left`,\n`center`, `right`."},subtree:{}},x:{meta:{types:{number:1},name:"x",excludes:{},default:"0",description:"X offset of the button row."},subtree:{}},y:{meta:{types:{number:1},name:"y",excludes:{},default:"0",description:"Y offset of the button row."},subtree:{}}}},buttonSpacing:{meta:{types:{number:1},name:"buttonSpacing",excludes:{},default:"0",products:{highstock:1},description:"The space in pixels between the buttons in the range selector."},subtree:{}},buttonTheme:{meta:{types:{"highcharts.cssobject":1},name:"buttonTheme",excludes:{},products:{highstock:1},description:"A collection of attributes for the buttons. The object takes SVG\nattributes like `fill`, `stroke`, `stroke-width`, as well as `style`,\na collection of CSS properties for the text.\n\nThe object can also be extended with states, so you can set\npresentational options for `hover`, `select` or `disabled` button\nstates.\n\nCSS styles for the text label.\n\nIn styled mode, the buttons are styled by the\n`.highcharts-range-selector-buttons .highcharts-button` rule with its\ndifferent states."},subtree:{height:{meta:{types:{number:1},name:"height",excludes:{},default:18},subtree:{}},padding:{meta:{types:{number:1},name:"padding",excludes:{},default:2},subtree:{}},width:{meta:{types:{number:1},name:"width",excludes:{},default:28},subtree:{}},zIndex:{meta:{types:{number:1},name:"zIndex",excludes:{},default:7},subtree:{}}}},buttons:{meta:{types:{array:"*"},name:"buttons",excludes:{},products:{highstock:1},description:"An array of configuration objects for the buttons.\n\nDefaults to\n\n
    buttons: [{\n    type: 'month',\n    count: 1,\n    text: '1m'\n}, {\n    type: 'month',\n    count: 3,\n    text: '3m'\n}, {\n    type: 'month',\n    count: 6,\n    text: '6m'\n}, {\n    type: 'ytd',\n    text: 'YTD'\n}, {\n    type: 'year',\n    count: 1,\n    text: '1y'\n}, {\n    type: 'all',\n    text: 'All'\n}]
    "},subtree:{count:{meta:{types:{number:1},name:"count",excludes:{},default:"1",products:{highstock:1},description:'How many units of the defined type the button should span. If `type`\nis "month" and `count` is 3, the button spans three months.'},subtree:{}},dataGrouping:{meta:{types:{"*":1},name:"dataGrouping",excludes:{},products:{highstock:1},description:"A custom data grouping object for each button.",extends:"plotOptions.series.dataGrouping"},subtree:{}},events:{meta:{types:{object:1},name:"events",excludes:{}},subtree:{click:{meta:{types:{function:1},name:"click",excludes:{},products:{highstock:1},description:"Fires when clicking on the rangeSelector button. One parameter,\nevent, is passed to the function, containing common event\ninformation.\n\n
    \nclick: function(e) {\n  console.log(this);\n}\n
    \n\nReturn false to stop default button's click action."},subtree:{}}}},offsetMax:{meta:{types:{number:1},name:"offsetMax",excludes:{},default:"0",products:{highstock:1},description:"Additional range (in milliseconds) added to the end of the calculated\ntime span."},subtree:{}},offsetMin:{meta:{types:{number:1},name:"offsetMin",excludes:{},default:"0",products:{highstock:1},description:"Additional range (in milliseconds) added to the start of the\ncalculated time span."},subtree:{}},preserveDataGrouping:{meta:{types:{boolean:1},name:"preserveDataGrouping",excludes:{},default:"false",products:{highstock:1},description:"When buttons apply dataGrouping on a series, by deafault zooming\nin/out will deselect buttons and unset dataGrouping. Enable this\noption to keep buttons selected when extremes change."},subtree:{}},text:{meta:{types:{string:1},name:"text",excludes:{},products:{highstock:1},description:"The text for the button itself."},subtree:{}},type:{meta:{types:{string:1},name:"type",excludes:{},products:{highstock:1},description:"Defined the time span for the button. Can be one of `millisecond`,\n`second`, `minute`, `hour`, `day`, `week`, `month`, `ytd`, `all`."},subtree:{}}}},enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:"true",products:{highstock:1},description:"Enable or disable the range selector."},subtree:{}},floating:{meta:{types:{boolean:1},name:"floating",excludes:{},default:"false",products:{highstock:1},description:"When the rangeselector is floating, the plot area does not reserve\nspace for it. This opens for positioning anywhere on the chart."},subtree:{}},height:{meta:{types:{number:1},name:"height",excludes:{},default:"undefined",products:{highstock:1},description:"Deprecated. The height of the range selector. Currently it is\ncalculated dynamically."},subtree:{}},inputBoxBorderColor:{meta:{types:{"highcharts.colorstring":1},name:"inputBoxBorderColor",excludes:{},default:"#cccccc",products:{highstock:1},description:"The border color of the date input boxes."},subtree:{}},inputBoxHeight:{meta:{types:{number:1},name:"inputBoxHeight",excludes:{},default:"17",products:{highstock:1},description:"The pixel height of the date input boxes."},subtree:{}},inputBoxStyle:{meta:{types:{"highcharts.cssobject":1},name:"inputBoxStyle",excludes:{},products:{highstock:1},description:"CSS for the container DIV holding the input boxes. Deprecated as\nof 1.2.5\\. Use [inputPosition](#rangeSelector.inputPosition) instead."},subtree:{}},inputBoxWidth:{meta:{types:{number:1},name:"inputBoxWidth",excludes:{},default:"90",products:{highstock:1},description:"The pixel width of the date input boxes."},subtree:{}},inputDateFormat:{meta:{types:{string:1},name:"inputDateFormat",excludes:{},default:"%b %e %Y,",products:{highstock:1},description:"The date format in the input boxes when not selected for editing.\nDefaults to `%b %e, %Y`."},subtree:{}},inputDateParser:{meta:{types:{function:1},name:"inputDateParser",excludes:{},products:{highstock:1},description:"A custom callback function to parse values entered in the input boxes\nand return a valid JavaScript time as milliseconds since 1970."},subtree:{}},inputEditDateFormat:{meta:{types:{string:1},name:"inputEditDateFormat",excludes:{},default:"%Y-%m-%d",products:{highstock:1},description:"The date format in the input boxes when they are selected for\nediting. This must be a format that is recognized by JavaScript\nDate.parse."},subtree:{}},inputEnabled:{meta:{types:{boolean:1},name:"inputEnabled",excludes:{},default:"true",products:{highstock:1},description:"Enable or disable the date input boxes. Defaults to enabled when\nthere is enough space, disabled if not (typically mobile)."},subtree:{}},inputPosition:{meta:{types:{"*":1},name:"inputPosition",excludes:{},products:{highstock:1},description:"Positioning for the input boxes. Allowed properties are `align`,\n `x` and `y`."},subtree:{align:{meta:{types:{string:1},name:"align",excludes:{},default:"right",description:"The alignment of the input box. Allowed properties are `left`,\n`center`, `right`."},subtree:{}},x:{meta:{types:{number:1},name:"x",excludes:{},default:"0",description:"X offset of the input row."},subtree:{}},y:{meta:{types:{number:1},name:"y",excludes:{},default:"0",description:"Y offset of the input row."},subtree:{}}}},inputStyle:{meta:{types:{"highcharts.cssobject":1},name:"inputStyle",excludes:{},products:{highstock:1},description:"CSS for the HTML inputs in the range selector.\n\nIn styled mode, the inputs are styled by the\n`.highcharts-range-input text` rule in SVG mode, and\n`input.highcharts-range-selector` when active."},subtree:{}},labelStyle:{meta:{types:{"highcharts.cssobject":1},name:"labelStyle",excludes:{},products:{highstock:1},description:"CSS styles for the labels - the Zoom, From and To texts.\n\nIn styled mode, the labels are styled by the\n`.highcharts-range-label` class."},subtree:{color:{meta:{types:{string:1},name:"color",excludes:{},default:"#666666"},subtree:{}}}},selected:{meta:{types:{number:1},name:"selected",excludes:{},products:{highstock:1},description:"The index of the button to appear pre-selected."},subtree:{}},verticalAlign:{meta:{types:{string:1},name:"verticalAlign",excludes:{},default:"top",description:"The vertical alignment of the rangeselector box. Allowed properties\nare `top`, `middle`, `bottom`."},subtree:{}},x:{meta:{types:{number:1},name:"x",excludes:{},default:"0",products:{highstock:1},description:"The x offset of the range selector relative to its horizontal\nalignment within `chart.spacingLeft` and `chart.spacingRight`."},subtree:{}},y:{meta:{types:{number:1},name:"y",excludes:{},default:"0",products:{highstock:1},description:"The y offset of the range selector relative to its horizontal\nalignment within `chart.spacingLeft` and `chart.spacingRight`."},subtree:{}}}},responsive:{meta:{types:{object:1},name:"responsive",excludes:{},description:"Allows setting a set of rules to apply for different screen or chart\nsizes. Each rule specifies additional chart options."},subtree:{rules:{meta:{types:{array:"Object"},name:"rules",excludes:{},description:"A set of rules for responsive settings. The rules are executed from\nthe top down."},subtree:{chartOptions:{meta:{types:{object:1},name:"chartOptions",excludes:{},description:"A full set of chart options to apply as overrides to the general\nchart options. The chart options are applied when the given rule\nis active.\n\nA special case is configuration objects that take arrays, for example\n[xAxis](#xAxis), [yAxis](#yAxis) or [series](#series). For these\ncollections, an `id` option is used to map the new option set to\nan existing object. If an existing object of the same id is not found,\nthe item of the same indexupdated. So for example, setting `chartOptions`\nwith two series items without an `id`, will cause the existing chart's\ntwo series to be updated with respective options."},subtree:{}},condition:{meta:{types:{object:1},name:"condition",excludes:{},description:"Under which conditions the rule applies."},subtree:{callback:{meta:{types:{function:1},name:"callback",excludes:{},description:"A callback function to gain complete control on when the responsive\nrule applies. Return `true` if it applies. This opens for checking\nagainst other metrics than the chart size, or example the document\nsize or other elements."},subtree:{}},maxHeight:{meta:{types:{number:1},name:"maxHeight",excludes:{},description:"The responsive rule applies if the chart height is less than this."},subtree:{}},maxWidth:{meta:{types:{number:1},name:"maxWidth",excludes:{},description:"The responsive rule applies if the chart width is less than this."},subtree:{}},minHeight:{meta:{types:{number:1},name:"minHeight",excludes:{},default:"0",description:"The responsive rule applies if the chart height is greater than this."},subtree:{}},minWidth:{meta:{types:{number:1},name:"minWidth",excludes:{},default:"0",description:"The responsive rule applies if the chart width is greater than this."},subtree:{}}}}}}}},scrollbar:{meta:{types:{object:1},name:"scrollbar",excludes:{},products:{highstock:1},description:"The scrollbar is a means of panning over the X axis of a stock chart.\nScrollbars can also be applied to other types of axes.\n\nAnother approach to scrollable charts is the [chart.scrollablePlotArea](\nhttps://api.highcharts.com/highcharts/chart.scrollablePlotArea) option that\nis especially suitable for simpler cartesian charts on mobile.\n\nIn styled mode, all the presentational options for the\nscrollbar are replaced by the classes `.highcharts-scrollbar-thumb`,\n`.highcharts-scrollbar-arrow`, `.highcharts-scrollbar-button`,\n`.highcharts-scrollbar-rifles` and `.highcharts-scrollbar-track`."},subtree:{barBackgroundColor:{meta:{types:{"highcharts.colorstring":1},name:"barBackgroundColor",excludes:{},default:"#cccccc",products:{highstock:1},description:"The background color of the scrollbar itself."},subtree:{}},barBorderColor:{meta:{types:{"highcharts.colorstring":1},name:"barBorderColor",excludes:{},default:"#cccccc",products:{highstock:1},description:"The color of the scrollbar's border."},subtree:{}},barBorderRadius:{meta:{types:{number:1},name:"barBorderRadius",excludes:{},default:"0",products:{highstock:1},description:"The border rounding radius of the bar."},subtree:{}},barBorderWidth:{meta:{types:{number:1},name:"barBorderWidth",excludes:{},default:"1",products:{highstock:1},description:"The width of the bar's border."},subtree:{}},buttonArrowColor:{meta:{types:{"highcharts.colorstring":1},name:"buttonArrowColor",excludes:{},default:"#333333",products:{highstock:1},description:"The color of the small arrow inside the scrollbar buttons."},subtree:{}},buttonBackgroundColor:{meta:{types:{"highcharts.colorstring":1},name:"buttonBackgroundColor",excludes:{},default:"#e6e6e6",products:{highstock:1},description:"The color of scrollbar buttons."},subtree:{}},buttonBorderColor:{meta:{types:{"highcharts.colorstring":1},name:"buttonBorderColor",excludes:{},default:"#cccccc",products:{highstock:1},description:"The color of the border of the scrollbar buttons."},subtree:{}},buttonBorderRadius:{meta:{types:{number:1},name:"buttonBorderRadius",excludes:{},default:"0",products:{highstock:1},description:"The corner radius of the scrollbar buttons."},subtree:{}},buttonBorderWidth:{meta:{types:{number:1},name:"buttonBorderWidth",excludes:{},default:"1",products:{highstock:1},description:"The border width of the scrollbar buttons."},subtree:{}},enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:"true",products:{highstock:1},description:"Enable or disable the scrollbar."},subtree:{}},height:{meta:{types:{number:1},name:"height",excludes:{},default:"20/14",products:{highstock:1},description:"The height of the scrollbar. The height also applies to the width\nof the scroll arrows so that they are always squares. Defaults to\n20 for touch devices and 14 for mouse devices."},subtree:{}},liveRedraw:{meta:{types:{boolean:1},name:"liveRedraw",excludes:{},products:{highstock:1},description:"Whether to redraw the main chart as the scrollbar or the navigator\nzoomed window is moved. Defaults to `true` for modern browsers and\n`false` for legacy IE browsers as well as mobile devices."},subtree:{}},margin:{meta:{types:{number:1},name:"margin",excludes:{},default:"10",description:"The margin between the scrollbar and its axis when the scrollbar is\napplied directly to an axis."},subtree:{}},minWidth:{meta:{types:{number:1},name:"minWidth",excludes:{},default:"6",products:{highstock:1},description:"The minimum width of the scrollbar."},subtree:{}},rifleColor:{meta:{types:{"highcharts.colorstring":1},name:"rifleColor",excludes:{},default:"#333333",products:{highstock:1},description:"The color of the small rifles in the middle of the scrollbar."},subtree:{}},showFull:{meta:{types:{boolean:1},name:"showFull",excludes:{},default:"true",products:{highstock:1},description:"Whether to show or hide the scrollbar when the scrolled content is\nzoomed out to it full extent."},subtree:{}},step:{meta:{types:{number:1},name:"step",excludes:{},default:"0.2"},subtree:{}},trackBackgroundColor:{meta:{types:{"highcharts.colorstring":1},name:"trackBackgroundColor",excludes:{},default:"#f2f2f2",products:{highstock:1},description:"The color of the track background."},subtree:{}},trackBorderColor:{meta:{types:{"highcharts.colorstring":1},name:"trackBorderColor",excludes:{},default:"#f2f2f2",products:{highstock:1},description:"The color of the border of the scrollbar track."},subtree:{}},trackBorderRadius:{meta:{types:{number:1},name:"trackBorderRadius",excludes:{},default:"0",products:{highstock:1},description:"The corner radius of the border of the scrollbar track."},subtree:{}},trackBorderWidth:{meta:{types:{number:1},name:"trackBorderWidth",excludes:{},default:"1",products:{highstock:1},description:"The width of the border of the scrollbar track."},subtree:{}},zIndex:{meta:{types:{number:1},name:"zIndex",excludes:{},default:"3",description:"The z index of the scrollbar group."},subtree:{}}}},series:{meta:{types:{array:"series",object:1},name:"series",excludes:{},extends:",plotOptions.series,plotOptions.ad,plotOptions.area,plotOptions.arearange,plotOptions.areaspline,plotOptions.areasplinerange,plotOptions.atr,plotOptions.bar,plotOptions.bb,plotOptions.bellcurve,plotOptions.boxplot,plotOptions.bubble,plotOptions.bullet,plotOptions.candlestick,plotOptions.cci,plotOptions.cmf,plotOptions.column,plotOptions.columnrange,plotOptions.ema,plotOptions.errorbar,plotOptions.flags,plotOptions.funnel,plotOptions.gauge,plotOptions.heatmap,plotOptions.histogram,plotOptions.ikh,plotOptions.line,plotOptions.macd,plotOptions.map,plotOptions.mapbubble,plotOptions.mapline,plotOptions.mappoint,plotOptions.mfi,plotOptions.momentum,plotOptions.ohlc,plotOptions.pareto,plotOptions.pie,plotOptions.pivotpoints,plotOptions.polygon,plotOptions.priceenvelopes,plotOptions.psar,plotOptions.pyramid,plotOptions.roc,plotOptions.rsi,plotOptions.sankey,plotOptions.scatter,plotOptions.scatter3d,plotOptions.sma,plotOptions.solidgauge,plotOptions.spline,plotOptions.stochastic,plotOptions.streamgraph,plotOptions.sunburst,plotOptions.tilemap,plotOptions.treemap,plotOptions.variablepie,plotOptions.variwide,plotOptions.vbp,plotOptions.vector,plotOptions.vwap,plotOptions.waterfall,plotOptions.windbarb,plotOptions.wma,plotOptions.wordcloud,plotOptions.xrange,plotOptions.zigzag"},subtree:{id:{meta:{types:{string:1},name:"id",excludes:{},description:"An id for the series. This can be used after render time to get a\npointer to the series object through `chart.get()`."},subtree:{}},index:{meta:{types:{number:1},name:"index",excludes:{},description:"The index of the series in the chart, affecting the internal index\nin the `chart.series` array, the visible Z index as well as the order\nin the legend."},subtree:{}},legendIndex:{meta:{types:{number:1},name:"legendIndex",excludes:{},description:"The sequential index of the series in the legend."},subtree:{}},mapData:{meta:{types:{array:"Object"},name:"mapData",excludes:{},products:{highmaps:1},description:"An array of objects containing a `path` definition and optionally\na code or property to join in the data as per the `joinBy` option."},subtree:{}},name:{meta:{types:{string:1},name:"name",excludes:{},description:"The name of the series as shown in the legend, tooltip etc."},subtree:{}},stack:{meta:{types:{"*":1,string:1},name:"stack",excludes:{},products:{highcharts:1,highstock:1},description:"This option allows grouping series in a stacked chart. The stack option\ncan be a string or anything else, as long as the grouped series' stack\noptions match each other after conversion into a string."},subtree:{}},type:{meta:{types:{string:1},name:"type",excludes:{},description:"The type of series, for example `line` or `column`. By default, the\nseries type is inherited from [chart.type](#chart.type), so unless the\nchart is a combination of series types, there is no need to set it on the\nseries level."},subtree:{}},xAxis:{meta:{types:{number:1,string:1},name:"xAxis",excludes:{},default:"0",products:{highcharts:1,highstock:1},description:"When using dual or multiple x axes, this number defines which xAxis\nthe particular series is connected to. It refers to either the [axis\nid](#xAxis.id) or the index of the axis in the xAxis array, with\n0 being the first."},subtree:{}},yAxis:{meta:{types:{number:1,string:1},name:"yAxis",excludes:{},default:"0",products:{highcharts:1,highstock:1},description:"When using dual or multiple y axes, this number defines which yAxis\nthe particular series is connected to. It refers to either the [axis\nid](#yAxis.id) or the index of the axis in the yAxis array, with\n0 being the first."},subtree:{}},zIndex:{meta:{types:{number:1},name:"zIndex",excludes:{},products:{highcharts:1,highstock:1},description:"Define the visual z index of the series."},subtree:{}},states:{meta:{types:{object:1},name:"states",excludes:{},validFor:{bar:!0,bullet:!0,column:!0,columnrange:!0}},subtree:{hover:{meta:{types:{},name:"hover",excludes:{},products:{highcharts:1,highstock:1}},subtree:{}},select:{meta:{types:{},name:"select",excludes:{},products:{highcharts:1,highstock:1}},subtree:{}}}},baseSeries:{meta:{types:{number:1,string:1},name:"baseSeries",excludes:{},default:"undefined",validFor:{bellcurve:!0,histogram:!0,pareto:!0},description:"An integer identifying the index to use for the base series, or a string\nrepresenting the id of the series."},subtree:{}},marker:{meta:{types:{},name:"marker",excludes:{},validFor:{bubble:!0,mapbubble:!0}},subtree:{}},nodes:{meta:{types:{array:"Object"},name:"nodes",excludes:{},validFor:{sankey:!0},products:{highcharts:1},description:"A collection of options for the individual nodes. The nodes in a sankey\ndiagram are auto-generated instances of `Highcharts.Point`, but options can\nbe applied here and linked by the `id`."},subtree:{color:{meta:{types:{color:1},name:"color",excludes:{},products:{highcharts:1},description:"The color of the auto generated node."},subtree:{}},colorIndex:{meta:{types:{number:1},name:"colorIndex",excludes:{},products:{highcharts:1},description:"The color index of the auto generated node, especially for use in styled\nmode."},subtree:{}},column:{meta:{types:{number:1,undefined:1},name:"column",excludes:{},default:"undefined",products:{highcharts:1},description:"An optional column index of where to place the node. The default behaviour is\nto place it next to the preceding node."},subtree:{}},id:{meta:{types:{string:1},name:"id",excludes:{},products:{highcharts:1},description:"The id of the auto-generated node, refering to the `from` or `to` setting of\nthe link."},subtree:{}},name:{meta:{types:{string:1},name:"name",excludes:{},products:{highcharts:1},description:"The name to display for the node in data labels and tooltips. Use this when\nthe name is different from the `id`. Where the id must be unique for each\nnode, this is not necessary for the name."},subtree:{}},offset:{meta:{types:{number:1},name:"offset",excludes:{},default:"0",products:{highcharts:1},description:"The vertical offset of a node in terms of weight. Positive values shift the\nnode downwards, negative shift it upwards."},subtree:{}}}}}},subtitle:{meta:{types:{"*":1},name:"subtitle",excludes:{},description:"The chart's subtitle. This can be used both to display a subtitle below\nthe main title, and to display random text anywhere in the chart. The\nsubtitle can be updated after chart initialization through the\n`Chart.setTitle` method."},subtree:{align:{meta:{types:{string:1},name:"align",excludes:{},default:"center",description:'The horizontal alignment of the subtitle. Can be one of "left",\n "center" and "right".'},subtree:{}},floating:{meta:{types:{boolean:1},name:"floating",excludes:{},default:"false",description:"When the subtitle is floating, the plot area will not move to make\nspace for it."},subtree:{}},style:{meta:{types:{"highcharts.cssobject":1},name:"style",excludes:{},default:'{"color": "#666666"}',description:"CSS styles for the title.\n\nIn styled mode, the subtitle style is given in the\n`.highcharts-subtitle` class."},subtree:{}},text:{meta:{types:{string:1},name:"text",excludes:{},default:"",description:"The subtitle of the chart."},subtree:{}},useHTML:{meta:{types:{boolean:1},name:"useHTML",excludes:{},default:"false",description:"Whether to\n[use HTML](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting#html)\nto render the text."},subtree:{}},verticalAlign:{meta:{types:{string:1},name:"verticalAlign",excludes:{},description:'The vertical alignment of the title. Can be one of "top", "middle"\nand "bottom". When a value is given, the title behaves as floating.'},subtree:{}},widthAdjust:{meta:{types:{number:1},name:"widthAdjust",excludes:{},default:"-44",description:"Adjustment made to the subtitle width, normally to reserve space\nfor the exporting burger menu."},subtree:{}},x:{meta:{types:{number:1},name:"x",excludes:{},default:"0",description:"The x position of the subtitle relative to the alignment within\n`chart.spacingLeft` and `chart.spacingRight`."},subtree:{}},y:{meta:{types:{number:1},name:"y",excludes:{},description:"The y position of the subtitle relative to the alignment within\n`chart.spacingTop` and `chart.spacingBottom`. By default the subtitle\nis laid out below the title unless the title is floating."},subtree:{}}}},time:{meta:{types:{"*":1},name:"time",excludes:{},description:"Time options that can apply globally or to individual charts. These\nsettings affect how `datetime` axes are laid out, how tooltips are\nformatted, how series\n[pointIntervalUnit](#plotOptions.series.pointIntervalUnit) works and how\nthe Highstock range selector handles time.\n\nThe common use case is that all charts in the same Highcharts object\nshare the same time settings, in which case the global settings are set\nusing `setOptions`.\n\n```js\n// Apply time settings globally\nHighcharts.setOptions({\n time: {\n timezone: 'Europe/London'\n }\n});\n// Apply time settings by instance\nvar chart = Highcharts.chart('container', {\n time: {\n timezone: 'America/New_York'\n },\n series: [{\n data: [1, 4, 3, 5]\n }]\n});\n\n// Use the Time object\nconsole.log(\n 'Current time in New York',\n chart.time.dateFormat('%Y-%m-%d %H:%M:%S', Date.now())\n);\n```\n\nSince v6.0.5, the time options were moved from the `global` obect to the\n`time` object, and time options can be set on each individual chart."},subtree:{Date:{meta:{types:{object:1},name:"Date",excludes:{},products:{highcharts:1,highstock:1},description:"A custom `Date` class for advanced date handling. For example,\n[JDate](https://github.com/tahajahangir/jdate) can be hooked in to\nhandle Jalali dates."},subtree:{}},getTimezoneOffset:{meta:{types:{function:1},name:"getTimezoneOffset",excludes:{},products:{highcharts:1,highstock:1},description:"A callback to return the time zone offset for a given datetime. It\ntakes the timestamp in terms of milliseconds since January 1 1970,\nand returns the timezone offset in minutes. This provides a hook\nfor drawing time based charts in specific time zones using their\nlocal DST crossover dates, with the help of external libraries."},subtree:{}},timezone:{meta:{types:{string:1},name:"timezone",excludes:{},products:{highcharts:1,highstock:1},description:"Requires [moment.js](http://momentjs.com/). If the timezone option\nis specified, it creates a default\n[getTimezoneOffset](#time.getTimezoneOffset) function that looks\nup the specified timezone in moment.js. If moment.js is not included,\nthis throws a Highcharts error in the console, but does not crash the\nchart."},subtree:{}},timezoneOffset:{meta:{types:{number:1},name:"timezoneOffset",excludes:{},default:"0",products:{highcharts:1,highstock:1},description:"The timezone offset in minutes. Positive values are west, negative\nvalues are east of UTC, as in the ECMAScript\n[getTimezoneOffset](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset)\nmethod. Use this to display UTC based data in a predefined time zone."},subtree:{}},useUTC:{meta:{types:{boolean:1},name:"useUTC",excludes:{},default:"true",description:"Whether to use UTC time for axis scaling, tickmark placement and\ntime display in `Highcharts.dateFormat`. Advantages of using UTC\nis that the time displays equally regardless of the user agent's\ntime zone settings. Local time can be used when the data is loaded\nin real time or when correct Daylight Saving Time transitions are\nrequired."},subtree:{}}}},title:{meta:{types:{"*":1},name:"title",excludes:{},description:"The chart's main title."},subtree:{align:{meta:{types:{string:1},name:"align",excludes:{},default:"center",description:'The horizontal alignment of the title. Can be one of "left", "center"\nand "right".'},subtree:{}},floating:{meta:{types:{boolean:1},name:"floating",excludes:{},default:"false",description:"When the title is floating, the plot area will not move to make space\nfor it."},subtree:{}},margin:{meta:{types:{number:1},name:"margin",excludes:{},default:"-44",description:"Adjustment made to the title width, normally to reserve space for\nthe exporting burger menu."},subtree:{}},style:{meta:{types:{"highcharts.cssobject":1},name:"style",excludes:{},description:"CSS styles for the title. Use this for font styling, but use `align`,\n`x` and `y` for text alignment.\n\nIn styled mode, the title style is given in the `.highcharts-title`\nclass."},subtree:{}},text:{meta:{types:{string:1},name:"text",excludes:{},default:"Chart title",description:"The title of the chart. To disable the title, set the `text` to\n`undefined`."},subtree:{}},useHTML:{meta:{types:{boolean:1},name:"useHTML",excludes:{},default:"false",description:"Whether to\n[use HTML](https://www.highcharts.com/docs/chart-concepts/labels-and-string-formatting#html)\nto render the text."},subtree:{}},verticalAlign:{meta:{types:{string:1},name:"verticalAlign",excludes:{},description:'The vertical alignment of the title. Can be one of `"top"`,\n`"middle"` and `"bottom"`. When a value is given, the title behaves\nas if [floating](#title.floating) were `true`.'},subtree:{}},widthAdjust:{meta:{types:{number:1},name:"widthAdjust",excludes:{},default:-44},subtree:{}},x:{meta:{types:{number:1},name:"x",excludes:{},default:"0",description:"The x position of the title relative to the alignment within\n`chart.spacingLeft` and `chart.spacingRight`."},subtree:{}},y:{meta:{types:{number:1},name:"y",excludes:{},description:"The y position of the title relative to the alignment within\n[chart.spacingTop](#chart.spacingTop) and [chart.spacingBottom](\n#chart.spacingBottom). By default it depends on the font size."},subtree:{}}}},tooltip:{meta:{types:{object:1},name:"tooltip",excludes:{}},subtree:{animation:{meta:{types:{boolean:1},name:"animation",excludes:{},default:"true",description:"Enable or disable animation of the tooltip."},subtree:{}},backgroundColor:{meta:{types:{"highcharts.colorstring":1},name:"backgroundColor",excludes:{},default:"rgba(247,247,247,0.85)",description:"The background color or gradient for the tooltip.\n\nIn styled mode, the stroke width is set in the\n`.highcharts-tooltip-box` class."},subtree:{}},borderColor:{meta:{types:{"highcharts.colorstring":1},name:"borderColor",excludes:{},description:"The color of the tooltip border. When `undefined`, the border takes\nthe color of the corresponding series or point."},subtree:{}},borderRadius:{meta:{types:{number:1},name:"borderRadius",excludes:{},default:"3",description:"The radius of the rounded border corners."},subtree:{}},borderWidth:{meta:{types:{number:1},name:"borderWidth",excludes:{},default:"1",description:"The pixel width of the tooltip border.\n\nIn styled mode, the stroke width is set in the\n`.highcharts-tooltip-box` class."},subtree:{}},changeDecimals:{meta:{types:{number:1},name:"changeDecimals",excludes:{},products:{highstock:1},description:"How many decimals to show for the `point.change` value when the\n`series.compare` option is set. This is overridable in each series'\ntooltip options object. The default is to preserve all decimals."},subtree:{}},crosshairs:{meta:{types:{"*":1},name:"crosshairs",excludes:{},default:"true",description:"Since 4.1, the crosshair definitions are moved to the Axis object\nin order for a better separation from the tooltip. See\n[xAxis.crosshair](#xAxis.crosshair)."},subtree:{}},dateTimeLabelFormats:{ meta:{types:{"highcharts.dictionary.":1},name:"dateTimeLabelFormats",excludes:{},products:{highcharts:1,highstock:1},description:'For series on a datetime axes, the date format in the tooltip\'s\nheader will by default be guessed based on the closest data points.\nThis member gives the default string representations used for\neach unit. For an overview of the replacement codes, see\n[dateFormat](/class-reference/Highcharts#dateFormat).\n\nDefaults to:\n\n
    {\n    millisecond:"%A, %b %e, %H:%M:%S.%L",\n    second:"%A, %b %e, %H:%M:%S",\n    minute:"%A, %b %e, %H:%M",\n    hour:"%A, %b %e, %H:%M",\n    day:"%A, %b %e, %Y",\n    week:"Week from %A, %b %e, %Y",\n    month:"%B %Y",\n    year:"%Y"\n}
    '},subtree:{day:{meta:{types:{string:1},name:"day",excludes:{},default:"%A, %b %e, %Y"},subtree:{}},hour:{meta:{types:{string:1},name:"hour",excludes:{},default:"%A, %b %e, %H:%M"},subtree:{}},millisecond:{meta:{types:{string:1},name:"millisecond",excludes:{},default:"%A, %b %e, %H:%M:%S.%L"},subtree:{}},minute:{meta:{types:{string:1},name:"minute",excludes:{},default:"%A, %b %e, %H:%M"},subtree:{}},month:{meta:{types:{string:1},name:"month",excludes:{},default:"%B %Y"},subtree:{}},second:{meta:{types:{string:1},name:"second",excludes:{},default:"%A, %b %e, %H:%M:%S"},subtree:{}},week:{meta:{types:{string:1},name:"week",excludes:{},default:"Week from %A, %b %e, %Y"},subtree:{}},year:{meta:{types:{string:1},name:"year",excludes:{},default:"%Y"},subtree:{}}}},enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:"true",description:"Enable or disable the tooltip."},subtree:{}},followPointer:{meta:{types:{boolean:1},name:"followPointer",excludes:{},description:"Whether the tooltip should follow the mouse as it moves across\ncolumns, pie slices and other point types with an extent. By default\nit behaves this way for scatter, bubble and pie series by override\nin the `plotOptions` for those series types.\n\nFor touch moves to behave the same way, [followTouchMove](\n#tooltip.followTouchMove) must be `true` also."},subtree:{}},followTouchMove:{meta:{types:{boolean:1},name:"followTouchMove",excludes:{},description:"Whether the tooltip should follow the finger as it moves on a touch\ndevice. If this is `true` and [chart.panning](#chart.panning) is\nset,`followTouchMove` will take over one-finger touches, so the user\nneeds to use two fingers for zooming and panning."},subtree:{}},footerFormat:{meta:{types:{string:1},name:"footerFormat",excludes:{},default:"",description:"A string to append to the tooltip format."},subtree:{}},formatter:{meta:{types:{function:1},name:"formatter",excludes:{},description:"Callback function to format the text of the tooltip from scratch.\nReturn `false` to disable tooltip for a specific point on series.\n\nA subset of HTML is supported. Unless `useHTML` is true, the HTML of\nthe tooltip is parsed and converted to SVG, therefore this isn't a\ncomplete HTML renderer. The following tags are supported: ``,\n``, ``, ``, `
    `, ``. Spans can be styled\nwith a `style` attribute, but only text-related CSS that is shared\nwith SVG is handled.\n\nSince version 2.1 the tooltip can be shared between multiple series\nthrough the `shared` option. The available data in the formatter\ndiffer a bit depending on whether the tooltip is shared or not. In\na shared tooltip, all properties except `x`, which is common for\nall points, are kept in an array, `this.points`.\n\nAvailable data are:\n\n
    \n\n
    this.percentage (not shared) / this.points[i].percentage (shared)\n
    \n\n
    Stacked series and pies only. The point's percentage of the\ntotal.\n
    \n\n
    this.point (not shared) / this.points[i].point (shared)
    \n\n
    The point object. The point name, if defined, is available\nthrough `this.point.name`.
    \n\n
    this.points
    \n\n
    In a shared tooltip, this is an array containing all other\nproperties for each point.
    \n\n
    this.series (not shared) / this.points[i].series (shared)
    \n\n
    The series object. The series name is available through\n`this.series.name`.
    \n\n
    this.total (not shared) / this.points[i].total (shared)
    \n\n
    Stacked series only. The total value at this point's x value.\n
    \n\n
    this.x
    \n\n
    The x value. This property is the same regardless of the tooltip\nbeing shared or not.
    \n\n
    this.y (not shared) / this.points[i].y (shared)
    \n\n
    The y value.
    \n\n
    "},subtree:{}},headerFormat:{meta:{types:{string:1},name:"headerFormat",excludes:{},default:'{point.key}
    ',description:"The HTML of the tooltip header line. Variables are enclosed by\ncurly brackets. Available variables are `point.key`, `series.name`,\n`series.color` and other members from the `point` and `series`\nobjects. The `point.key` variable contains the category name, x\nvalue or datetime string depending on the type of axis. For datetime\naxes, the `point.key` date format can be set using\n`tooltip.xDateFormat`."},subtree:{}},hideDelay:{meta:{types:{number:1},name:"hideDelay",excludes:{},default:"500",description:"The number of milliseconds to wait until the tooltip is hidden when\nmouse out from a point or chart."},subtree:{}},outside:{meta:{types:{boolean:1},name:"outside",excludes:{},default:"false",description:"Whether to allow the tooltip to render outside the chart's SVG\nelement box. By default (`false`), the tooltip is rendered within the\nchart's SVG element, which results in the tooltip being aligned\ninside the chart area. For small charts, this may result in clipping\nor overlapping. When `true`, a separate SVG element is created and\noverlaid on the page, allowing the tooltip to be aligned inside the\npage itself."},subtree:{}},padding:{meta:{types:{number:1},name:"padding",excludes:{},default:"8",description:"Padding inside the tooltip, in pixels."},subtree:{}},pointFormat:{meta:{types:{string:1},name:"pointFormat",excludes:{},default:'\\u25CF {series.name}: {point.y}
    ',description:"The HTML of the point's line in the tooltip. Variables are enclosed\nby curly brackets. Available variables are point.x, point.y, series.\nname and series.color and other properties on the same form.\nFurthermore, `point.y` can be extended by the `tooltip.valuePrefix`\nand `tooltip.valueSuffix` variables. This can also be overridden for\neach series, which makes it a good hook for displaying units.\n\nIn styled mode, the dot is colored by a class name rather\nthan the point color."},subtree:{}},pointFormatter:{meta:{types:{function:1},name:"pointFormatter",excludes:{},description:"A callback function for formatting the HTML output for a single point\nin the tooltip. Like the `pointFormat` string, but with more\nflexibility."},subtree:{}},positioner:{meta:{types:{function:1},name:"positioner",excludes:{},description:"A callback function to place the tooltip in a default position. The\ncallback receives three parameters: `labelWidth`, `labelHeight` and\n`point`, where point contains values for `plotX` and `plotY` telling\nwhere the reference point is in the plot area. Add `chart.plotLeft`\nand `chart.plotTop` to get the full coordinates.\n\nThe return should be an object containing x and y values, for example\n`{ x: 100, y: 100 }`."},subtree:{}},shadow:{meta:{types:{boolean:1},name:"shadow",excludes:{},default:"true",description:"Whether to apply a drop shadow to the tooltip."},subtree:{}},shape:{meta:{types:{string:1},name:"shape",excludes:{},default:"callout",description:'The name of a symbol to use for the border around the tooltip. Can\nbe one of: `"callout"`, `"circle"` or `"square"`.\n\nCustom callbacks for symbol path generation can also be added to\n`Highcharts.SVGRenderer.prototype.symbols` the same way as for\n[series.marker.symbol](plotOptions.line.marker.symbol).'},subtree:{}},shared:{meta:{types:{boolean:1},name:"shared",excludes:{},default:"false",products:{highcharts:1,highstock:1},description:"When the tooltip is shared, the entire plot area will capture mouse\nmovement or touch events. Tooltip texts for series types with ordered\ndata (not pie, scatter, flags etc) will be shown in a single bubble.\nThis is recommended for single series charts and for tablet/mobile\noptimized charts.\n\nSee also [tooltip.split](#tooltip.split), that is better suited for\ncharts with many series, especially line-type series. The\n`tooltip.split` option takes precedence over `tooltip.shared`."},subtree:{}},snap:{meta:{types:{number:1},name:"snap",excludes:{},default:"10/25",products:{highcharts:1,highstock:1},description:"Proximity snap for graphs or single points. It defaults to 10 for\nmouse-powered devices and 25 for touch devices.\n\nNote that in most cases the whole plot area captures the mouse\nmovement, and in these cases `tooltip.snap` doesn't make sense. This\napplies when [stickyTracking](#plotOptions.series.stickyTracking)\nis `true` (default) and when the tooltip is [shared](#tooltip.shared)\nor [split](#tooltip.split)."},subtree:{}},split:{meta:{types:{boolean:1},name:"split",excludes:{},products:{highcharts:1,highstock:1},description:"Split the tooltip into one label per series, with the header close\nto the axis. This is recommended over [shared](#tooltip.shared)\ntooltips for charts with multiple line series, generally making them\neasier to read. This option takes precedence over `tooltip.shared`."},subtree:{}},style:{meta:{types:{"highcharts.cssobject":1},name:"style",excludes:{},default:'{"color": "#333333", "cursor": "default", "fontSize": "12px", "pointerEvents": "none", "whiteSpace": "nowrap"}',description:"CSS styles for the tooltip. The tooltip can also be styled through\nthe CSS class `.highcharts-tooltip`."},subtree:{color:{meta:{types:{string:1},name:"color",excludes:{},default:"#333333"},subtree:{}},cursor:{meta:{types:{string:1},name:"cursor",excludes:{},default:"default"},subtree:{}},fontSize:{meta:{types:{string:1},name:"fontSize",excludes:{},default:"12px"},subtree:{}},pointerEvents:{meta:{types:{string:1},name:"pointerEvents",excludes:{},default:"none"},subtree:{}},whiteSpace:{meta:{types:{string:1},name:"whiteSpace",excludes:{},default:"nowrap"},subtree:{}}}},useHTML:{meta:{types:{boolean:1},name:"useHTML",excludes:{},default:"false",description:"Use HTML to render the contents of the tooltip instead of SVG. Using\nHTML allows advanced formatting like tables and images in the\ntooltip. It is also recommended for rtl languages as it works around\nrtl bugs in early Firefox."},subtree:{}},valueDecimals:{meta:{types:{number:1},name:"valueDecimals",excludes:{},description:"How many decimals to show in each series' y value. This is\noverridable in each series' tooltip options object. The default is to\npreserve all decimals."},subtree:{}},valuePrefix:{meta:{types:{string:1},name:"valuePrefix",excludes:{},description:"A string to prepend to each series' y value. Overridable in each\nseries' tooltip options object."},subtree:{}},valueSuffix:{meta:{types:{string:1},name:"valueSuffix",excludes:{},description:"A string to append to each series' y value. Overridable in each\nseries' tooltip options object."},subtree:{}},xDateFormat:{meta:{types:{string:1},name:"xDateFormat",excludes:{},products:{highcharts:1,highstock:1},description:"The format for the date in the tooltip header if the X axis is a\ndatetime axis. The default is a best guess based on the smallest\ndistance between points in the chart."},subtree:{}}}},xAxis:{meta:{types:{array:"xAxis"},name:"xAxis",excludes:{},description:"The X axis or category axis. Normally this is the horizontal axis,\nthough if the chart is inverted this is the vertical axis. In case of\nmultiple axes, the xAxis node is an array of configuration objects.\n\nSee [the Axis object](/class-reference/Highcharts.Axis) for\nprogrammatic access to the axis."},subtree:{alignTicks:{meta:{types:{boolean:1},name:"alignTicks",excludes:{},default:"true",products:{highcharts:1,highstock:1},description:"When using multiple axis, the ticks of two or more opposite axes\nwill automatically be aligned by adding ticks to the axis or axes\nwith the least ticks, as if `tickAmount` were specified.\n\nThis can be prevented by setting `alignTicks` to false. If the grid\nlines look messy, it's a good idea to hide them for the secondary\naxis by setting `gridLineWidth` to 0.\n\nIf `startOnTick` or `endOnTick` in an Axis options are set to false,\nthen the `alignTicks ` will be disabled for the Axis.\n\nDisabled for logarithmic axes."},subtree:{}},allowDecimals:{meta:{types:{boolean:1},name:"allowDecimals",excludes:{},default:"true",description:"Whether to allow decimals in this axis' ticks. When counting\nintegers, like persons or hits on a web page, decimals should\nbe avoided in the labels."},subtree:{}},alternateGridColor:{meta:{types:{"highcharts.colorstring":1},name:"alternateGridColor",excludes:{},description:"When using an alternate grid color, a band is painted across the\nplot area between every other grid line."},subtree:{}},breaks:{meta:{types:{array:"*"},name:"breaks",excludes:{},products:{highcharts:1,highstock:1},description:"An array defining breaks in the axis, the sections defined will be\nleft out and all the points shifted closer to each other."},subtree:{breakSize:{meta:{types:{number:1},name:"breakSize",excludes:{},default:"0",products:{highcharts:1,highstock:1},description:"A number indicating how much space should be left between the start\nand the end of the break. The break size is given in axis units,\nso for instance on a `datetime` axis, a break size of 3600000 would\nindicate the equivalent of an hour."},subtree:{}},from:{meta:{types:{number:1},name:"from",excludes:{},products:{highcharts:1,highstock:1},description:"The point where the break starts."},subtree:{}},repeat:{meta:{types:{number:1},name:"repeat",excludes:{},default:"0",products:{highcharts:1,highstock:1},description:"Defines an interval after which the break appears again. By default\nthe breaks do not repeat."},subtree:{}},to:{meta:{types:{number:1},name:"to",excludes:{},products:{highcharts:1,highstock:1},description:"The point where the break ends."},subtree:{}}}},categories:{meta:{types:{array:"string"},name:"categories",excludes:{},products:{highcharts:1},description:"If categories are present for the xAxis, names are used instead of\nnumbers for that axis. Since Highcharts 3.0, categories can also\nbe extracted by giving each point a [name](#series.data) and setting\naxis [type](#xAxis.type) to `category`. However, if you have multiple\nseries, best practice remains defining the `categories` array.\n\nExample:\n\n
    categories: ['Apples', 'Bananas', 'Oranges']
    "},subtree:{}},ceiling:{meta:{types:{number:1},name:"ceiling",excludes:{},products:{highcharts:1,highstock:1},description:"The highest allowed value for automatically computed axis extremes."},subtree:{}},className:{meta:{types:{string:1},name:"className",excludes:{},description:"A class name that opens for styling the axis by CSS, especially in\nHighcharts styled mode. The class name is applied to group elements\nfor the grid, axis elements and labels."},subtree:{}},crosshair:{meta:{types:{"*":1,boolean:1},name:"crosshair",excludes:{},default:"false",description:"Configure a crosshair that follows either the mouse pointer or the\nhovered point.\n\nIn styled mode, the crosshairs are styled in the\n`.highcharts-crosshair`, `.highcharts-crosshair-thin` or\n`.highcharts-xaxis-category` classes."},subtree:{className:{meta:{types:{string:1},name:"className",excludes:{},description:"A class name for the crosshair, especially as a hook for styling."},subtree:{}},color:{meta:{types:{"highcharts.colorstring":1},name:"color",excludes:{},default:"#cccccc",description:"The color of the crosshair. Defaults to `#cccccc` for numeric and\ndatetime axes, and `rgba(204,214,235,0.25)` for category axes, where\nthe crosshair by default highlights the whole category."},subtree:{}},dashStyle:{meta:{types:{string:1},name:"dashStyle",excludes:{},default:"Solid",description:"The dash style for the crosshair. See\n[series.dashStyle](#plotOptions.series.dashStyle)\nfor possible values."},subtree:{}},label:{meta:{types:{"*":1},name:"label",excludes:{},products:{highstock:1},description:"A label on the axis next to the crosshair.\n\nIn styled mode, the label is styled with the\n`.highcharts-crosshair-label` class."},subtree:{align:{meta:{types:{string:1},name:"align",excludes:{},products:{highstock:1},description:"Alignment of the label compared to the axis. Defaults to `left` for\nright-side axes, `right` for left-side axes and `center` for\nhorizontal axes."},subtree:{}},backgroundColor:{meta:{types:{"highcharts.colorstring":1},name:"backgroundColor",excludes:{},products:{highstock:1},description:"The background color for the label. Defaults to the related series\ncolor, or `#666666` if that is not available."},subtree:{}},borderColor:{meta:{types:{"highcharts.colorstring":1},name:"borderColor",excludes:{},products:{highstock:1},description:"The border color for the crosshair label"},subtree:{}},borderRadius:{meta:{types:{number:1},name:"borderRadius",excludes:{},default:"3",products:{highstock:1},description:"The border corner radius of the crosshair label."},subtree:{}},borderWidth:{meta:{types:{number:1},name:"borderWidth",excludes:{},default:"0",products:{highstock:1},description:"The border width for the crosshair label."},subtree:{}},format:{meta:{types:{string:1},name:"format",excludes:{},products:{highstock:1},description:"A format string for the crosshair label. Defaults to `{value}` for\nnumeric axes and `{value:%b %d, %Y}` for datetime axes."},subtree:{}},formatter:{meta:{types:{function:1},name:"formatter",excludes:{},products:{highstock:1},description:"Formatter function for the label text."},subtree:{}},padding:{meta:{types:{number:1},name:"padding",excludes:{},default:"8",products:{highstock:1},description:"Padding inside the crosshair label."},subtree:{}},shape:{meta:{types:{string:1},name:"shape",excludes:{},default:"callout",products:{highstock:1},description:"The shape to use for the label box."},subtree:{}},style:{meta:{types:{"highcharts.cssobject":1},name:"style",excludes:{},default:'{"color": "white", "fontWeight": "normal", "fontSize": "11px", "textAlign": "center"}',products:{highstock:1},description:"Text styles for the crosshair label."},subtree:{}}}},snap:{meta:{types:{boolean:1},name:"snap",excludes:{},default:"true",description:"Whether the crosshair should snap to the point or follow the pointer\nindependent of points."},subtree:{}},width:{meta:{types:{number:1},name:"width",excludes:{},default:"1",description:"The pixel width of the crosshair. Defaults to 1 for numeric or\ndatetime axes, and for one category width for category axes."},subtree:{}},zIndex:{meta:{types:{number:1},name:"zIndex",excludes:{},default:"2",description:"The Z index of the crosshair. Higher Z indices allow drawing the\ncrosshair on top of the series or behind the grid lines."},subtree:{}}}},dateTimeLabelFormats:{meta:{types:{"*":1},name:"dateTimeLabelFormats",excludes:{},products:{highcharts:1,highstock:1},description:"For a datetime axis, the scale will automatically adjust to the\nappropriate unit. This member gives the default string\nrepresentations used for each unit. For intermediate values,\ndifferent units may be used, for example the `day` unit can be used\non midnight and `hour` unit be used for intermediate values on the\nsame axis. For an overview of the replacement codes, see\n[dateFormat](/class-reference/Highcharts#dateFormat). Defaults to:\n\n
    {\n    millisecond: '%H:%M:%S.%L',\n    second: '%H:%M:%S',\n    minute: '%H:%M',\n    hour: '%H:%M',\n    day: '%e. %b',\n    week: '%e. %b',\n    month: '%b \\'%y',\n    year: '%Y'\n}
    "},subtree:{day:{meta:{types:{string:1},name:"day",excludes:{},default:"%e. %b"},subtree:{}},hour:{meta:{types:{string:1},name:"hour",excludes:{},default:"%H:%M"},subtree:{}},millisecond:{meta:{types:{string:1},name:"millisecond",excludes:{},default:"%H:%M:%S.%L"},subtree:{}},minute:{meta:{types:{string:1},name:"minute",excludes:{},default:"%H:%M"},subtree:{}},month:{meta:{types:{string:1},name:"month",excludes:{},default:"%b '%y"},subtree:{}},second:{meta:{types:{string:1},name:"second",excludes:{},default:"%H:%M:%S"},subtree:{}},week:{meta:{types:{string:1},name:"week",excludes:{},default:"%e. %b"},subtree:{}},year:{meta:{types:{string:1},name:"year",excludes:{},default:"%Y"},subtree:{}}}},description:{meta:{types:{string:1},name:"description",excludes:{},description:"_Requires Accessibility module_\n\nDescription of the axis to screen reader users."},subtree:{}},endOnTick:{meta:{types:{boolean:1},name:"endOnTick",excludes:{},default:!1,description:"Whether to force the axis to end on a tick. Use this option with\nthe `maxPadding` option to control the axis end."},subtree:{}},events:{meta:{types:{"*":1},name:"events",excludes:{},description:"Event handlers for the axis."},subtree:{afterBreaks:{meta:{types:{function:1},name:"afterBreaks",excludes:{},products:{highcharts:1},description:"An event fired after the breaks have rendered."},subtree:{}},afterSetExtremes:{meta:{types:{function:1},name:"afterSetExtremes",excludes:{},description:"As opposed to the `setExtremes` event, this event fires after the\nfinal min and max values are computed and corrected for `minRange`.\n\n\nFires when the minimum and maximum is set for the axis, either by\ncalling the `.setExtremes()` method or by selecting an area in the\nchart. One parameter, `event`, is passed to the function, containing\ncommon event information.\n\nThe new user set minimum and maximum values can be found by\n`event.min` and `event.max`. These reflect the axis minimum and\nmaximum in axis values. The actual data extremes are found in\n`event.dataMin` and `event.dataMax`."},subtree:{}},pointBreak:{meta:{types:{function:1},name:"pointBreak",excludes:{},products:{highcharts:1},description:"An event fired when a break from this axis occurs on a point."},subtree:{}},pointInBreak:{meta:{types:{function:1},name:"pointInBreak",excludes:{},products:{highcharts:1,highstock:1},description:"An event fired when a point falls inside a break from this axis."},subtree:{}},setExtremes:{meta:{types:{function:1},name:"setExtremes",excludes:{},description:'Fires when the minimum and maximum is set for the axis, either by\ncalling the `.setExtremes()` method or by selecting an area in the\nchart. One parameter, `event`, is passed to the function,\ncontaining common event information.\n\nThe new user set minimum and maximum values can be found by\n`event.min` and `event.max`. These reflect the axis minimum and\nmaximum in data values. When an axis is zoomed all the way out from\nthe "Reset zoom" button, `event.min` and `event.max` are null, and\nthe new extremes are set based on `this.dataMin` and `this.dataMax`.'},subtree:{}}}},floor:{meta:{types:{number:1},name:"floor",excludes:{},products:{highcharts:1,highstock:1},description:"The lowest allowed value for automatically computed axis extremes."},subtree:{}},gridLineColor:{meta:{types:{"highcharts.colorstring":1},name:"gridLineColor",excludes:{},default:"#e6e6e6",description:"Color of the grid lines extending the ticks across the plot area.\n\nIn styled mode, the stroke is given in the `.highcharts-grid-line`\nclass."},subtree:{}},gridLineDashStyle:{meta:{types:{string:1},name:"gridLineDashStyle",excludes:{},default:"Solid",description:"The dash or dot style of the grid lines. For possible values, see\n[this demonstration](https://jsfiddle.net/gh/get/library/pure/\nhighcharts/highcharts/tree/master/samples/highcharts/plotoptions/\nseries-dashstyle-all/)."},subtree:{}},gridLineWidth:{meta:{types:{number:1},name:"gridLineWidth",excludes:{},default:"0",description:"The width of the grid lines extending the ticks across the plot area.\n\nIn styled mode, the stroke width is given in the\n`.highcharts-grid-line` class."},subtree:{}},gridZIndex:{meta:{types:{number:1},name:"gridZIndex",excludes:{},default:"1",products:{highcharts:1,highstock:1},description:"The Z index of the grid lines."},subtree:{}},id:{meta:{types:{string:1},name:"id",excludes:{},description:"An id for the axis. This can be used after render time to get\na pointer to the axis object through `chart.get()`."},subtree:{}},labels:{meta:{types:{"*":1},name:"labels",excludes:{},description:"The axis labels show the number or category for each tick."},subtree:{align:{meta:{types:{string:1},name:"align",excludes:{},description:'What part of the string the given position is anchored to.\nIf `left`, the left side of the string is at the axis position.\nCan be one of `"left"`, `"center"` or `"right"`. Defaults to\nan intelligent guess based on which side of the chart the axis\nis on and the rotation of the label.'},subtree:{}},autoRotation:{meta:{types:{array:"number"},name:"autoRotation",excludes:{},default:"[-45]",products:{highcharts:1,highstock:1},description:"For horizontal axes, the allowed degrees of label rotation\nto prevent overlapping labels. If there is enough space,\nlabels are not rotated. As the chart gets narrower, it\nwill start rotating the labels -45 degrees, then remove\nevery second label and try again with rotations 0 and -45 etc.\nSet it to `false` to disable rotation, which will\ncause the labels to word-wrap if possible."},subtree:{}},autoRotationLimit:{meta:{types:{number:1},name:"autoRotationLimit",excludes:{},default:"80",products:{highcharts:1},description:"When each category width is more than this many pixels, we don't\napply auto rotation. Instead, we lay out the axis label with word\nwrap. A lower limit makes sense when the label contains multiple\nshort words that don't extend the available horizontal space for\neach label."},subtree:{}},distance:{meta:{types:{number:1},name:"distance",excludes:{},default:"15",products:{highcharts:1},description:"Polar charts only. The label's pixel distance from the perimeter\nof the plot area."},subtree:{}},enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:!0,description:"Enable or disable the axis labels."},subtree:{}},format:{meta:{types:{string:1},name:"format",excludes:{},default:"{value}",description:"A [format string](https://www.highcharts.com/docs/chart-\nconcepts/labels-and-string-formatting) for the axis label."},subtree:{}},formatter:{meta:{types:{function:1},name:"formatter",excludes:{},description:"Callback JavaScript function to format the label. The value\nis given by `this.value`. Additional properties for `this` are\n`axis`, `chart`, `isFirst` and `isLast`. The value of the default\nlabel formatter can be retrieved by calling\n`this.axis.defaultLabelFormatter.call(this)` within the function.\n\nDefaults to:\n\n
    function() {\n    return this.value;\n}
    "},subtree:{}},maxStaggerLines:{meta:{types:{number:1},name:"maxStaggerLines",excludes:{},default:"5",products:{highmaps:1,highstock:1},description:"Horizontal axis only. When `staggerLines` is not set,\n`maxStaggerLines` defines how many lines the axis is allowed to\nadd to automatically avoid overlapping X labels. Set to `1` to\ndisable overlap detection."},subtree:{}},overflow:{meta:{types:{boolean:1,string:1},name:"overflow",excludes:{},description:'How to handle overflowing labels on horizontal axis. Can be\nundefined, `false` or `"justify"`. By default it aligns inside\nthe chart area. If "justify", labels will not render outside\nthe plot area. If `false`, it will not be aligned at all.\nIf there is room to move it, it will be aligned to the edge,\nelse it will be removed.'},subtree:{}},padding:{meta:{types:{number:1},name:"padding",excludes:{},default:"5",products:{highcharts:1},description:"The pixel padding for axis labels, to ensure white space between\nthem."},subtree:{}},position3d:{meta:{types:{string:1},name:"position3d",excludes:{},default:"offset",products:{highcharts:1},description:"Defines how the labels are be repositioned according to the 3D chart\norientation.\n- `'offset'`: Maintain a fixed horizontal/vertical distance from the\n tick marks, despite the chart orientation. This is the backwards\n compatible behavior, and causes skewing of X and Z axes.\n- `'chart'`: Preserve 3D position relative to the chart.\n This looks nice, but hard to read if the text isn't\n forward-facing.\n- `'flap'`: Rotated text along the axis to compensate for the chart\n orientation. This tries to maintain text as legible as possible\n on all orientations.\n- `'ortho'`: Rotated text along the axis direction so that the labels\n are orthogonal to the axis. This is very similar to `'flap'`,\n but prevents skewing the labels (X and Y scaling are still\n present)."},subtree:{}},reserveSpace:{meta:{types:{boolean:1},name:"reserveSpace",excludes:{},products:{highcharts:1},description:"Whether to reserve space for the labels. By default, space is\nreserved for the labels in these cases:\n\n* On all horizontal axes.\n* On vertical axes if `label.align` is `right` on a left-side\naxis or `left` on a right-side axis.\n* On vertical axes if `label.align` is `center`.\n\nThis can be turned off when for example the labels are rendered\ninside the plot area instead of outside."},subtree:{}},rotation:{meta:{types:{number:1},name:"rotation",excludes:{},default:"0",description:"Rotation of the labels in degrees."},subtree:{}},skew3d:{meta:{types:{boolean:1},name:"skew3d",excludes:{},default:!1,products:{highcharts:1},description:"If enabled, the axis labels will skewed to follow the perspective.\n\nThis will fix overlapping labels and titles, but texts become less\nlegible due to the distortion.\n\nThe final appearance depends heavily on `labels.position3d`."},subtree:{}},staggerLines:{meta:{types:{number:1},name:"staggerLines",excludes:{},description:"Horizontal axes only. The number of lines to spread the labels\nover to make room or tighter labels."},subtree:{}},step:{meta:{types:{number:1},name:"step",excludes:{},description:"To show only every _n_'th label on the axis, set the step to _n_.\nSetting the step to 2 shows every other label.\n\nBy default, the step is calculated automatically to avoid\noverlap. To prevent this, set it to 1\\. This usually only\nhappens on a category axis, and is often a sign that you have\nchosen the wrong axis type.\n\nRead more at\n[Axis docs](https://www.highcharts.com/docs/chart-concepts/axes)\n=> What axis should I use?"},subtree:{}},style:{meta:{types:{"highcharts.cssobject":1},name:"style",excludes:{},description:"CSS styles for the label. Use `whiteSpace: 'nowrap'` to prevent\nwrapping of category labels. Use `textOverflow: 'none'` to\nprevent ellipsis (dots).\n\nIn styled mode, the labels are styled with the\n`.highcharts-axis-labels` class."},subtree:{color:{meta:{types:{string:1},name:"color",excludes:{},default:"#666666"},subtree:{}},cursor:{meta:{types:{string:1},name:"cursor",excludes:{},default:"default"},subtree:{}},fontSize:{meta:{types:{string:1},name:"fontSize",excludes:{},default:"11px"},subtree:{}}}},useHTML:{meta:{types:{boolean:1},name:"useHTML",excludes:{},default:"false",description:"Whether to [use HTML](https://www.highcharts.com/docs/chart-\nconcepts/labels-and-string-formatting#html) to render the labels."},subtree:{}},x:{meta:{types:{number:1},name:"x",excludes:{},default:"0",description:"The x position offset of the label relative to the tick position\non the axis."},subtree:{}},y:{meta:{types:{number:1},name:"y",excludes:{},description:"The y position offset of the label relative to the tick position\non the axis. The default makes it adapt to the font size on\nbottom axis."},subtree:{}},zIndex:{meta:{types:{number:1},name:"zIndex",excludes:{},default:"7",description:"The Z index for the axis labels."},subtree:{}}}},lineColor:{meta:{types:{"highcharts.colorstring":1},name:"lineColor",excludes:{},default:"#ccd6eb",description:"The color of the line marking the axis itself.\n\nIn styled mode, the line stroke is given in the\n`.highcharts-axis-line` or `.highcharts-xaxis-line` class." },subtree:{}},lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:1,description:"The width of the line marking the axis itself.\n\nIn styled mode, the stroke width is given in the\n`.highcharts-axis-line` or `.highcharts-xaxis-line` class."},subtree:{}},linkedTo:{meta:{types:{number:1},name:"linkedTo",excludes:{},products:{highcharts:1,highstock:1},description:"Index of another axis that this axis is linked to. When an axis is\nlinked to a master axis, it will take the same extremes as\nthe master, but as assigned by min or max or by setExtremes.\nIt can be used to show additional info, or to ease reading the\nchart by duplicating the scales."},subtree:{}},max:{meta:{types:{number:1},name:"max",excludes:{},description:"The maximum value of the axis. If `null`, the max value is\nautomatically calculated.\n\nIf the [endOnTick](#yAxis.endOnTick) option is true, the `max` value\nmight be rounded up.\n\nIf a [tickAmount](#yAxis.tickAmount) is set, the axis may be extended\nbeyond the set max in order to reach the given number of ticks. The\nsame may happen in a chart with multiple axes, determined by [chart.\nalignTicks](#chart), where a `tickAmount` is applied internally."},subtree:{}},maxPadding:{meta:{types:{number:1},name:"maxPadding",excludes:{},default:.01,description:"Padding of the max value relative to the length of the axis. A\npadding of 0.05 will make a 100px axis 5px longer. This is useful\nwhen you don't want the highest data value to appear on the edge\nof the plot area. When the axis' `max` option is set or a max extreme\nis set using `axis.setExtremes()`, the maxPadding will be ignored."},subtree:{}},maxRange:{meta:{types:{number:1},name:"maxRange",excludes:{},default:"undefined",products:{highstock:1},description:"Maximum range which can be set using the navigator's handles.\nOpposite of [xAxis.minRange](#xAxis.minRange)."},subtree:{}},maxZoom:{meta:{types:{number:1},name:"maxZoom",excludes:{},products:{highcharts:1,highstock:1},description:"Deprecated. Use `minRange` instead."},subtree:{}},min:{meta:{types:{number:1},name:"min",excludes:{},description:"The minimum value of the axis. If `null` the min value is\nautomatically calculated.\n\nIf the [startOnTick](#yAxis.startOnTick) option is true (default),\nthe `min` value might be rounded down.\n\nThe automatically calculated minimum value is also affected by\n[floor](#yAxis.floor), [softMin](#yAxis.softMin),\n[minPadding](#yAxis.minPadding), [minRange](#yAxis.minRange)\nas well as [series.threshold](#plotOptions.series.threshold)\nand [series.softThreshold](#plotOptions.series.softThreshold)."},subtree:{}},minPadding:{meta:{types:{number:1},name:"minPadding",excludes:{},default:.01,products:{highcharts:1,highstock:1},description:"Padding of the min value relative to the length of the axis. A\npadding of 0.05 will make a 100px axis 5px longer. This is useful\nwhen you don't want the lowest data value to appear on the edge\nof the plot area. When the axis' `min` option is set or a min extreme\nis set using `axis.setExtremes()`, the minPadding will be ignored."},subtree:{}},minRange:{meta:{types:{number:1},name:"minRange",excludes:{},description:"The minimum range to display on this axis. The entire axis will not\nbe allowed to span over a smaller interval than this. For example,\nfor a datetime axis the main unit is milliseconds. If minRange is\nset to 3600000, you can't zoom in more than to one hour.\n\nThe default minRange for the x axis is five times the smallest\ninterval between any of the data points.\n\nOn a logarithmic axis, the unit for the minimum range is the power.\nSo a minRange of 1 means that the axis can be zoomed to 10-100,\n100-1000, 1000-10000 etc.\n\nNote that the `minPadding`, `maxPadding`, `startOnTick` and\n`endOnTick` settings also affect how the extremes of the axis\nare computed."},subtree:{}},minTickInterval:{meta:{types:{number:1},name:"minTickInterval",excludes:{},description:"The minimum tick interval allowed in axis values. For example on\nzooming in on an axis with daily data, this can be used to prevent\nthe axis from showing hours. Defaults to the closest distance between\ntwo points on the axis."},subtree:{}},minorGridLineColor:{meta:{types:{"highcharts.colorstring":1},name:"minorGridLineColor",excludes:{},default:"#f2f2f2",description:"Color of the minor, secondary grid lines.\n\nIn styled mode, the stroke width is given in the\n`.highcharts-minor-grid-line` class."},subtree:{}},minorGridLineDashStyle:{meta:{types:{string:1},name:"minorGridLineDashStyle",excludes:{},default:"Solid",description:"The dash or dot style of the minor grid lines. For possible values,\nsee [this demonstration](https://jsfiddle.net/gh/get/library/pure/\nhighcharts/highcharts/tree/master/samples/highcharts/plotoptions/\nseries-dashstyle-all/)."},subtree:{}},minorGridLineWidth:{meta:{types:{number:1},name:"minorGridLineWidth",excludes:{},default:1,description:"Width of the minor, secondary grid lines.\n\nIn styled mode, the stroke width is given in the\n`.highcharts-grid-line` class."},subtree:{}},minorTickColor:{meta:{types:{"highcharts.colorstring":1},name:"minorTickColor",excludes:{},default:"#999999",description:"Color for the minor tick marks."},subtree:{}},minorTickInterval:{meta:{types:{null:1,number:1,string:1},name:"minorTickInterval",excludes:{},description:'Specific tick interval in axis units for the minor ticks. On a linear\naxis, if `"auto"`, the minor tick interval is calculated as a fifth\nof the tickInterval. If `null` or `undefined`, minor ticks are not\nshown.\n\nOn logarithmic axes, the unit is the power of the value. For example,\nsetting the minorTickInterval to 1 puts one tick on each of 0.1, 1,\n10, 100 etc. Setting the minorTickInterval to 0.1 produces 9 ticks\nbetween 1 and 10, 10 and 100 etc.\n\nIf user settings dictate minor ticks to become too dense, they don\'t\nmake sense, and will be ignored to prevent performance problems.'},subtree:{}},minorTickLength:{meta:{types:{number:1},name:"minorTickLength",excludes:{},default:2},subtree:{}},minorTickPosition:{meta:{types:{string:1},name:"minorTickPosition",excludes:{},default:"outside",description:"The position of the minor tick marks relative to the axis line.\n Can be one of `inside` and `outside`."},subtree:{}},minorTickWidth:{meta:{types:{number:1},name:"minorTickWidth",excludes:{},default:"0",description:"The pixel width of the minor tick mark."},subtree:{}},minorTicks:{meta:{types:{boolean:1},name:"minorTicks",excludes:{},default:"false",description:'Enable or disable minor ticks. Unless\n[minorTickInterval](#xAxis.minorTickInterval) is set, the tick\ninterval is calculated as a fifth of the `tickInterval`.\n\nOn a logarithmic axis, minor ticks are laid out based on a best\nguess, attempting to enter approximately 5 minor ticks between\neach major tick.\n\nPrior to v6.0.0, ticks were unabled in auto layout by setting\n`minorTickInterval` to `"auto"`.'},subtree:{}},offset:{meta:{types:{number:1},name:"offset",excludes:{},default:"0",description:"The distance in pixels from the plot area to the axis line.\nA positive offset moves the axis with it's line, labels and ticks\naway from the plot area. This is typically used when two or more\naxes are displayed on the same side of the plot. With multiple\naxes the offset is dynamically adjusted to avoid collision, this\ncan be overridden by setting offset explicitly."},subtree:{}},opposite:{meta:{types:{boolean:1},name:"opposite",excludes:{},default:"false",description:"Whether to display the axis on the opposite side of the normal. The\nnormal is on the left side for vertical axes and bottom for\nhorizontal, so the opposite sides will be right and top respectively.\nThis is typically used with dual or multiple axes."},subtree:{}},ordinal:{meta:{types:{boolean:1},name:"ordinal",excludes:{},default:"true",products:{highstock:1},description:"In an ordinal axis, the points are equally spaced in the chart\nregardless of the actual time or x distance between them. This means\nthat missing data periods (e.g. nights or weekends for a stock chart)\nwill not take up space in the chart.\nHaving `ordinal: false` will show any gaps created by the `gapSize`\nsetting proportionate to their duration.\n\nIn stock charts the X axis is ordinal by default, unless\nthe boost module is used and at least one of the series' data length\nexceeds the [boostThreshold](#series.line.boostThreshold)."},subtree:{}},overscroll:{meta:{types:{number:1},name:"overscroll",excludes:{},default:"0",products:{highstock:1},description:"Additional range on the right side of the xAxis. Works similar to\n`xAxis.maxPadding`, but value is set in milliseconds. Can be set for\nboth main `xAxis` and the navigator's `xAxis`."},subtree:{}},pane:{meta:{types:{number:1},name:"pane",excludes:{},products:{highcharts:1},description:"Refers to the index in the [panes](#panes) array. Used for circular\ngauges and polar charts. When the option is not set then first pane\nwill be used."},subtree:{}},plotBands:{meta:{types:{array:"*"},name:"plotBands",excludes:{},products:{highcharts:1,highstock:1},description:"An array of colored bands stretching across the plot area marking\nan interval on the axis.\n\nIn styled mode, the plot bands are styled by the\n`.highcharts-plot-band` class in addition to the `className` option."},subtree:{borderColor:{meta:{types:{"highcharts.colorstring":1},name:"borderColor",excludes:{},products:{highcharts:1,highstock:1},description:"Border color for the plot band. Also requires `borderWidth` to be\nset."},subtree:{}},borderWidth:{meta:{types:{number:1},name:"borderWidth",excludes:{},default:"0",products:{highcharts:1,highstock:1},description:"Border width for the plot band. Also requires `borderColor` to be\nset."},subtree:{}},className:{meta:{types:{string:1},name:"className",excludes:{},description:"A custom class name, in addition to the default\n`highcharts-plot-band`, to apply to each individual band."},subtree:{}},color:{meta:{types:{"highcharts.colorstring":1},name:"color",excludes:{},products:{highcharts:1,highstock:1},description:"The color of the plot band."},subtree:{}},events:{meta:{types:{"*":1},name:"events",excludes:{},products:{highcharts:1,highstock:1},description:"An object defining mouse events for the plot band. Supported\nproperties are `click`, `mouseover`, `mouseout`, `mousemove`."},subtree:{}},from:{meta:{types:{number:1},name:"from",excludes:{},products:{highcharts:1,highstock:1},description:"The start position of the plot band in axis units."},subtree:{}},id:{meta:{types:{string:1},name:"id",excludes:{},products:{highcharts:1,highstock:1},description:"An id used for identifying the plot band in Axis.removePlotBand."},subtree:{}},label:{meta:{types:{"*":1},name:"label",excludes:{},products:{highcharts:1,highstock:1},description:"Text labels for the plot bands"},subtree:{align:{meta:{types:{string:1},name:"align",excludes:{},default:"center",products:{highcharts:1,highstock:1},description:'Horizontal alignment of the label. Can be one of "left", "center"\nor "right".'},subtree:{}},rotation:{meta:{types:{number:1},name:"rotation",excludes:{},default:"0",products:{highcharts:1,highstock:1},description:"Rotation of the text label in degrees ."},subtree:{}},style:{meta:{types:{"highcharts.cssobject":1},name:"style",excludes:{},products:{highcharts:1,highstock:1},description:"CSS styles for the text label.\n\nIn styled mode, the labels are styled by the\n`.highcharts-plot-band-label` class."},subtree:{}},text:{meta:{types:{string:1},name:"text",excludes:{},products:{highcharts:1},description:"The string text itself. A subset of HTML is supported."},subtree:{}},textAlign:{meta:{types:{string:1},name:"textAlign",excludes:{},products:{highcharts:1,highstock:1},description:'The text alignment for the label. While `align` determines where\nthe texts anchor point is placed within the plot band, `textAlign`\ndetermines how the text is aligned against its anchor point. Possible\nvalues are "left", "center" and "right". Defaults to the same as\nthe `align` option.'},subtree:{}},useHTML:{meta:{types:{boolean:1},name:"useHTML",excludes:{},default:"false",products:{highcharts:1,highstock:1},description:"Whether to [use HTML](https://www.highcharts.com/docs/chart-concepts/labels-\nand-string-formatting#html) to render the labels."},subtree:{}},verticalAlign:{meta:{types:{string:1},name:"verticalAlign",excludes:{},default:"top",products:{highcharts:1,highstock:1},description:'Vertical alignment of the label relative to the plot band. Can be\none of "top", "middle" or "bottom".'},subtree:{}},x:{meta:{types:{number:1},name:"x",excludes:{},products:{highcharts:1,highstock:1},description:"Horizontal position relative the alignment. Default varies by\norientation."},subtree:{}},y:{meta:{types:{number:1},name:"y",excludes:{},products:{highcharts:1,highstock:1},description:"Vertical position of the text baseline relative to the alignment.\n Default varies by orientation."},subtree:{}}}},to:{meta:{types:{number:1},name:"to",excludes:{},products:{highcharts:1,highstock:1},description:"The end position of the plot band in axis units."},subtree:{}},zIndex:{meta:{types:{number:1},name:"zIndex",excludes:{},products:{highcharts:1,highstock:1},description:"The z index of the plot band within the chart, relative to other\nelements. Using the same z index as another element may give\nunpredictable results, as the last rendered element will be on top.\nValues from 0 to 20 make sense."},subtree:{}}}},plotLines:{meta:{types:{array:"*"},name:"plotLines",excludes:{},products:{highcharts:1,highstock:1},description:"An array of lines stretching across the plot area, marking a specific\nvalue on one of the axes.\n\nIn styled mode, the plot lines are styled by the\n`.highcharts-plot-line` class in addition to the `className` option."},subtree:{className:{meta:{types:{string:1},name:"className",excludes:{},description:"A custom class name, in addition to the default\n`highcharts-plot-line`, to apply to each individual line."},subtree:{}},color:{meta:{types:{"highcharts.colorstring":1},name:"color",excludes:{},products:{highcharts:1,highstock:1},description:"The color of the line."},subtree:{}},dashStyle:{meta:{types:{string:1},name:"dashStyle",excludes:{},default:"Solid",products:{highcharts:1,highstock:1},description:"The dashing or dot style for the plot line. For possible values see\n[this overview](https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/plotoptions/series-\ndashstyle-all/)."},subtree:{}},events:{meta:{types:{"*":1},name:"events",excludes:{},products:{highcharts:1,highstock:1},description:"An object defining mouse events for the plot line. Supported\nproperties are `click`, `mouseover`, `mouseout`, `mousemove`."},subtree:{}},id:{meta:{types:{string:1},name:"id",excludes:{},products:{highcharts:1,highstock:1},description:"An id used for identifying the plot line in Axis.removePlotLine."},subtree:{}},label:{meta:{types:{"*":1},name:"label",excludes:{},products:{highcharts:1,highstock:1},description:"Text labels for the plot bands"},subtree:{align:{meta:{types:{string:1},name:"align",excludes:{},default:"left",products:{highcharts:1,highstock:1},description:'Horizontal alignment of the label. Can be one of "left", "center"\nor "right".'},subtree:{}},rotation:{meta:{types:{number:1},name:"rotation",excludes:{},products:{highcharts:1,highstock:1},description:"Rotation of the text label in degrees. Defaults to 0 for horizontal\nplot lines and 90 for vertical lines."},subtree:{}},style:{meta:{types:{"highcharts.cssobject":1},name:"style",excludes:{},products:{highcharts:1,highstock:1},description:"CSS styles for the text label.\n\nIn styled mode, the labels are styled by the\n`.highcharts-plot-line-label` class."},subtree:{}},text:{meta:{types:{string:1},name:"text",excludes:{},products:{highcharts:1},description:"The text itself. A subset of HTML is supported."},subtree:{}},textAlign:{meta:{types:{string:1},name:"textAlign",excludes:{},products:{highcharts:1,highstock:1},description:'The text alignment for the label. While `align` determines where\nthe texts anchor point is placed within the plot band, `textAlign`\ndetermines how the text is aligned against its anchor point. Possible\nvalues are "left", "center" and "right". Defaults to the same as\nthe `align` option.'},subtree:{}},useHTML:{meta:{types:{boolean:1},name:"useHTML",excludes:{},default:"false",products:{highcharts:1,highstock:1},description:"Whether to [use HTML](https://www.highcharts.com/docs/chart-concepts/labels-\nand-string-formatting#html) to render the labels."},subtree:{}},verticalAlign:{meta:{types:{string:1},name:"verticalAlign",excludes:{},products:{highcharts:1,highstock:1},description:'Vertical alignment of the label relative to the plot line. Can be\none of "top", "middle" or "bottom".'},subtree:{}},x:{meta:{types:{number:1},name:"x",excludes:{},products:{highcharts:1,highstock:1},description:"Horizontal position relative the alignment. Default varies by\norientation."},subtree:{}},y:{meta:{types:{number:1},name:"y",excludes:{},products:{highcharts:1,highstock:1},description:"Vertical position of the text baseline relative to the alignment.\n Default varies by orientation."},subtree:{}}}},value:{meta:{types:{number:1},name:"value",excludes:{},products:{highcharts:1,highstock:1},description:"The position of the line in axis units."},subtree:{}},width:{meta:{types:{number:1},name:"width",excludes:{},products:{highcharts:1,highstock:1},description:"The width or thickness of the plot line."},subtree:{}},zIndex:{meta:{types:{number:1},name:"zIndex",excludes:{},products:{highcharts:1,highstock:1},description:"The z index of the plot line within the chart."},subtree:{}}}},range:{meta:{types:{number:1},name:"range",excludes:{},products:{highstock:1},description:"The zoomed range to display when only defining one or none of `min`\nor `max`. For example, to show the latest month, a range of one month\ncan be set."},subtree:{}},reversed:{meta:{types:{boolean:1},name:"reversed",excludes:{},default:"false",description:"Whether to reverse the axis so that the highest number is closest\nto the origin. If the chart is inverted, the x axis is reversed by\ndefault."},subtree:{}},reversedStacks:{meta:{types:{boolean:1},name:"reversedStacks",excludes:{},default:"false",products:{highcharts:1,highstock:1},description:"This option determines how stacks should be ordered within a group.\nFor example reversed xAxis also reverses stacks, so first series\ncomes last in a group. To keep order like for non-reversed xAxis\nenable this option."},subtree:{}},scrollbar:{meta:{types:{"*":1},name:"scrollbar",excludes:{},products:{highstock:1},description:"An optional scrollbar to display on the X axis in response to\nlimiting the minimum and maximum of the axis values.\n\nIn styled mode, all the presentational options for the scrollbar\nare replaced by the classes `.highcharts-scrollbar-thumb`,\n`.highcharts-scrollbar-arrow`, `.highcharts-scrollbar-button`,\n`.highcharts-scrollbar-rifles` and `.highcharts-scrollbar-track`.",extends:"scrollbar"},subtree:{}},showEmpty:{meta:{types:{boolean:1},name:"showEmpty",excludes:{},default:"true",description:"Whether to show the axis line and title when the axis has no data."},subtree:{}},showFirstLabel:{meta:{types:{boolean:1},name:"showFirstLabel",excludes:{},default:"true",description:"Whether to show the first tick label."},subtree:{}},showLastLabel:{meta:{types:{boolean:1},name:"showLastLabel",excludes:{},default:"true",products:{highcharts:1,highstock:1},description:"Whether to show the last tick label. Defaults to `true` on cartesian\ncharts, and `false` on polar charts."},subtree:{}},softMax:{meta:{types:{number:1},name:"softMax",excludes:{},products:{highcharts:1,highstock:1},description:"A soft maximum for the axis. If the series data maximum is less than\nthis, the axis will stay at this maximum, but if the series data\nmaximum is higher, the axis will flex to show all data."},subtree:{}},softMin:{meta:{types:{number:1},name:"softMin",excludes:{},products:{highcharts:1,highstock:1},description:"A soft minimum for the axis. If the series data minimum is greater\nthan this, the axis will stay at this minimum, but if the series\ndata minimum is lower, the axis will flex to show all data."},subtree:{}},startOfWeek:{meta:{types:{number:1},name:"startOfWeek",excludes:{},default:"1",products:{highcharts:1,highstock:1},description:"For datetime axes, this decides where to put the tick between weeks.\n 0 = Sunday, 1 = Monday."},subtree:{}},startOnTick:{meta:{types:{boolean:1},name:"startOnTick",excludes:{},default:!1,description:"Whether to force the axis to start on a tick. Use this option with\nthe `minPadding` option to control the axis start."},subtree:{}},tickAmount:{meta:{types:{number:1},name:"tickAmount",excludes:{},products:{highcharts:1,highstock:1},description:"The amount of ticks to draw on the axis. This opens up for aligning\nthe ticks of multiple charts or panes within a chart. This option\noverrides the `tickPixelInterval` option.\n\nThis option only has an effect on linear axes. Datetime, logarithmic\nor category axes are not affected."},subtree:{}},tickColor:{meta:{types:{"highcharts.colorstring":1},name:"tickColor",excludes:{},default:"#ccd6eb",description:"Color for the main tick marks.\n\nIn styled mode, the stroke is given in the `.highcharts-tick`\nclass."},subtree:{}},tickInterval:{meta:{types:{number:1},name:"tickInterval",excludes:{},description:"The interval of the tick marks in axis units. When `undefined`, the\ntick interval is computed to approximately follow the\n[tickPixelInterval](#xAxis.tickPixelInterval) on linear and datetime\naxes. On categorized axes, a `undefined` tickInterval will default to\n1, one category. Note that datetime axes are based on milliseconds,\nso for example an interval of one day is expressed as\n`24 * 3600 * 1000`.\n\nOn logarithmic axes, the tickInterval is based on powers, so a\ntickInterval of 1 means one tick on each of 0.1, 1, 10, 100 etc. A\ntickInterval of 2 means a tick of 0.1, 10, 1000 etc. A tickInterval\nof 0.2 puts a tick on 0.1, 0.2, 0.4, 0.6, 0.8, 1, 2, 4, 6, 8, 10, 20,\n40 etc.\n\n\nIf the tickInterval is too dense for labels to be drawn, Highcharts\nmay remove ticks.\n\nIf the chart has multiple axes, the [alignTicks](#chart.alignTicks)\noption may interfere with the `tickInterval` setting."},subtree:{}},tickLength:{meta:{types:{number:1},name:"tickLength",excludes:{},default:10,description:"The pixel length of the main tick marks."},subtree:{}},tickPixelInterval:{meta:{types:{number:1},name:"tickPixelInterval",excludes:{},default:100,description:"If tickInterval is `null` this option sets the approximate pixel\ninterval of the tick marks. Not applicable to categorized axis.\n\nThe tick interval is also influenced by the [minTickInterval](\n#xAxis.minTickInterval) option, that, by default prevents ticks from\nbeing denser than the data points."},subtree:{}},tickPosition:{meta:{types:{string:1},name:"tickPosition",excludes:{},default:"outside",description:"The position of the major tick marks relative to the axis line.\nCan be one of `inside` and `outside`."},subtree:{}},tickPositioner:{meta:{types:{function:1},name:"tickPositioner",excludes:{},description:"A callback function returning array defining where the ticks are\nlaid out on the axis. This overrides the default behaviour of\n[tickPixelInterval](#xAxis.tickPixelInterval) and [tickInterval](\n#xAxis.tickInterval). The automatic tick positions are accessible\nthrough `this.tickPositions` and can be modified by the callback."},subtree:{}},tickPositions:{meta:{types:{array:"number"},name:"tickPositions",excludes:{},description:"An array defining where the ticks are laid out on the axis. This\noverrides the default behaviour of [tickPixelInterval](\n#xAxis.tickPixelInterval) and [tickInterval](#xAxis.tickInterval)."},subtree:{}},tickWidth:{meta:{types:{number:1},name:"tickWidth",excludes:{},description:"The pixel width of the major tick marks.\n\nIn styled mode, the stroke width is given in the `.highcharts-tick`\nclass."},subtree:{}},tickmarkPlacement:{meta:{types:{string:1},name:"tickmarkPlacement",excludes:{},default:"between",products:{highcharts:1},description:"For categorized axes only. If `on` the tick mark is placed in the\ncenter of the category, if `between` the tick mark is placed between\ncategories. The default is `between` if the `tickInterval` is 1,\n else `on`."},subtree:{}},title:{meta:{types:{object:1},name:"title",excludes:{},description:"The axis title, showing next to the axis line."},subtree:{align:{meta:{types:{string:1},name:"align",excludes:{},default:"middle",description:'Alignment of the title relative to the axis values. Possible\nvalues are "low", "middle" or "high".'},subtree:{}},enabled:{meta:{types:{string:1},name:"enabled",excludes:{},default:"middle",products:{highcharts:1},description:"Deprecated. Set the `text` to `null` to disable the title."},subtree:{}},margin:{meta:{types:{number:1},name:"margin",excludes:{},description:"The pixel distance between the axis labels or line and the title.\nDefaults to 0 for horizontal axes, 10 for vertical"},subtree:{}},offset:{meta:{types:{number:1},name:"offset",excludes:{},description:"The distance of the axis title from the axis line. By default,\nthis distance is computed from the offset width of the labels,\nthe labels' distance from the axis and the title's margin.\nHowever when the offset option is set, it overrides all this."},subtree:{}},position3d:{meta:{types:{string:1},name:"position3d",excludes:{},default:null,products:{highcharts:1},description:"Defines how the title is repositioned according to the 3D chart\norientation.\n- `'offset'`: Maintain a fixed horizontal/vertical distance from the\n tick marks, despite the chart orientation. This is the backwards\n compatible behavior, and causes skewing of X and Z axes.\n- `'chart'`: Preserve 3D position relative to the chart.\n This looks nice, but hard to read if the text isn't\n forward-facing.\n- `'flap'`: Rotated text along the axis to compensate for the chart\n orientation. This tries to maintain text as legible as possible on\n all orientations.\n- `'ortho'`: Rotated text along the axis direction so that the labels\n are orthogonal to the axis. This is very similar to `'flap'`, but\n prevents skewing the labels (X and Y scaling are still present).\n- `null`: Will use the config from `labels.position3d`"},subtree:{}},reserveSpace:{meta:{types:{boolean:1},name:"reserveSpace",excludes:{},default:"true",products:{highcharts:1,highstock:1},description:"Whether to reserve space for the title when laying out the axis."},subtree:{}},rotation:{meta:{types:{number:1},name:"rotation",excludes:{},default:"0",description:"The rotation of the text in degrees. 0 is horizontal, 270 is\nvertical reading from bottom to top."},subtree:{}},skew3d:{meta:{types:{boolean:1},name:"skew3d",excludes:{},default:null,products:{highcharts:1},description:"If enabled, the axis title will skewed to follow the perspective.\n\nThis will fix overlapping labels and titles, but texts become less\nlegible due to the distortion.\n\nThe final appearance depends heavily on `title.position3d`.\n\nA `null` value will use the config from `labels.skew3d`."},subtree:{}},style:{meta:{types:{"highcharts.cssobject":1},name:"style",excludes:{},default:'{"color": "#666666"}',description:"CSS styles for the title. If the title text is longer than the\naxis length, it will wrap to multiple lines by default. This can\nbe customized by setting `textOverflow: 'ellipsis'`, by\nsetting a specific `width` or by setting `whiteSpace: 'nowrap'`.\n\nIn styled mode, the stroke width is given in the\n`.highcharts-axis-title` class."},subtree:{color:{meta:{types:{string:1},name:"color",excludes:{},default:"#666666"},subtree:{}}}},text:{meta:{types:{string:1},name:"text",excludes:{},description:"The actual text of the axis title. It can contain basic HTML text\nmarkup like , and spans with style."},subtree:{}},textAlign:{meta:{types:{string:1},name:"textAlign",excludes:{},description:'Alignment of the text, can be `"left"`, `"right"` or `"center"`.\nDefault alignment depends on the\n[title.align](xAxis.title.align):\n\nHorizontal axes:\n- for `align` = `"low"`, `textAlign` is set to `left`\n- for `align` = `"middle"`, `textAlign` is set to `center`\n- for `align` = `"high"`, `textAlign` is set to `right`\n\nVertical axes:\n- for `align` = `"low"` and `opposite` = `true`, `textAlign` is\n set to `right`\n- for `align` = `"low"` and `opposite` = `false`, `textAlign` is\n set to `left`\n- for `align` = `"middle"`, `textAlign` is set to `center`\n- for `align` = `"high"` and `opposite` = `true` `textAlign` is\n set to `left`\n- for `align` = `"high"` and `opposite` = `false` `textAlign` is\n set to `right`'},subtree:{}},useHTML:{meta:{types:{boolean:1},name:"useHTML",excludes:{},default:"false",products:{highcharts:1,highstock:1},description:"Whether to [use HTML](https://www.highcharts.com/docs/\nchart-concepts/labels-and-string-formatting#html) to render the\naxis title."},subtree:{}},x:{meta:{types:{number:1},name:"x",excludes:{},default:"0",products:{highcharts:1,highstock:1},description:"Horizontal pixel offset of the title position."},subtree:{}},y:{meta:{types:{number:1},name:"y",excludes:{},products:{highcharts:1,highstock:1},description:"Vertical pixel offset of the title position."},subtree:{}}}},type:{meta:{types:{string:1},name:"type",excludes:{},default:"linear",products:{highcharts:1},description:"The type of axis. Can be one of `linear`, `logarithmic`, `datetime`\nor `category`. In a datetime axis, the numbers are given in\nmilliseconds, and tick marks are placed on appropriate values like\nfull hours or days. In a category axis, the\n[point names](#series.line.data.name) of the chart's series are used\nfor categories, if not a [categories](#xAxis.categories) array is\ndefined."},subtree:{}},uniqueNames:{meta:{types:{boolean:1},name:"uniqueNames",excludes:{},default:"true",products:{highcharts:1},description:"Applies only when the axis `type` is `category`. When `uniqueNames`\nis true, points are placed on the X axis according to their names.\nIf the same point name is repeated in the same or another series,\nthe point is placed on the same X position as other points of the\nsame name. When `uniqueNames` is false, the points are laid out in\nincreasing X positions regardless of their names, and the X axis\ncategory will take the name of the last point in each position."},subtree:{}},units:{meta:{types:{array:"Array.<(string|Array.units: [[\n 'millisecond', // unit name\n [1, 2, 5, 10, 20, 25, 50, 100, 200, 500] // allowed multiples\n], [\n 'second',\n [1, 2, 5, 10, 15, 30]\n], [\n 'minute',\n [1, 2, 5, 10, 15, 30]\n], [\n 'hour',\n [1, 2, 3, 4, 6, 8, 12]\n], [\n 'day',\n [1]\n], [\n 'week',\n [1]\n], [\n 'month',\n [1, 3, 6]\n], [\n 'year',\n null\n]]"},subtree:{}},visible:{meta:{types:{boolean:1},name:"visible",excludes:{},default:"true",products:{highcharts:1,highstock:1},description:"Whether axis, including axis title, line, ticks and labels, should\nbe visible."},subtree:{}}}},yAxis:{meta:{types:{array:"yAxis"},name:"yAxis",excludes:{},description:"The Y axis or value axis. Normally this is the vertical axis,\nthough if the chart is inverted this is the horizontal axis.\nIn case of multiple axes, the yAxis node is an array of\nconfiguration objects.\n\nSee [the Axis object](/class-reference/Highcharts.Axis) for programmatic\naccess to the axis.", extends:"xAxis"},subtree:{angle:{meta:{types:{number:1},name:"angle",excludes:{},default:"0",products:{highcharts:1},description:"In a polar chart, this is the angle of the Y axis in degrees, where\n0 is up and 90 is right. The angle determines the position of the\naxis line and the labels, though the coordinate system is unaffected."},subtree:{}},endOnTick:{meta:{types:{boolean:1},name:"endOnTick",excludes:{},default:"true"},subtree:{}},gridLineInterpolation:{meta:{types:{string:1},name:"gridLineInterpolation",excludes:{},products:{highcharts:1},description:"Polar charts only. Whether the grid lines should draw as a polygon\nwith straight lines between categories, or as circles. Can be either\n`circle` or `polygon`."},subtree:{}},gridLineWidth:{meta:{types:{number:1},name:"gridLineWidth",excludes:{},default:1},subtree:{}},height:{meta:{types:{number:1,string:1},name:"height",excludes:{},products:{highstock:1},description:"The height of the Y axis. If it's a number, it is interpreted as\npixels.\n\nSince Highstock 2: If it's a percentage string, it is interpreted\nas percentages of the total plot height."},subtree:{}},labels:{meta:{types:{"*":1},name:"labels",excludes:{},extends:"xAxis.labels"},subtree:{align:{meta:{types:{string:1},name:"align",excludes:{},description:'What part of the string the given position is anchored to. Can\nbe one of `"left"`, `"center"` or `"right"`. The exact position\nalso depends on the `labels.x` setting.\n\nAngular gauges and solid gauges defaults to `center`.'},subtree:{}},distance:{meta:{types:{number:1},name:"distance",excludes:{},default:"-25",products:{highcharts:1},description:"Angular gauges and solid gauges only. The label's pixel distance\nfrom the perimeter of the plot area."},subtree:{}},x:{meta:{types:{number:1},name:"x",excludes:{},default:"-8",description:"The x position offset of the label relative to the tick position\non the axis. Defaults to -15 for left axis, 15 for right axis."},subtree:{}},y:{meta:{types:{number:1},name:"y",excludes:{},description:"The y position offset of the label relative to the tick position\non the axis."},subtree:{}}}},lineColor:{meta:{types:{"highcharts.colorstring":1},name:"lineColor",excludes:{}},subtree:{}},lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:0},subtree:{}},max:{meta:{types:{number:1},name:"max",excludes:{}},subtree:{}},maxColor:{meta:{types:{"highcharts.colorstring":1},name:"maxColor",excludes:{},default:"#003399",products:{highcharts:1},description:"Solid gauge only. Unless [stops](#yAxis.stops) are set, the color\nto represent the maximum value of the Y axis."},subtree:{}},maxLength:{meta:{types:{number:1,string:1},name:"maxLength",excludes:{},products:{highstock:1},description:"Maximal size of a resizable axis. Could be set as a percent\nof plot area or pixel size.\n\nThis feature requires the `drag-panes.js` module."},subtree:{}},maxPadding:{meta:{types:{number:1},name:"maxPadding",excludes:{},default:"0.05",products:{highcharts:1,highstock:1},description:"Padding of the max value relative to the length of the axis. A\npadding of 0.05 will make a 100px axis 5px longer. This is useful\nwhen you don't want the highest data value to appear on the edge\nof the plot area. When the axis' `max` option is set or a max extreme\nis set using `axis.setExtremes()`, the maxPadding will be ignored."},subtree:{}},min:{meta:{types:{number:1},name:"min",excludes:{}},subtree:{}},minColor:{meta:{types:{"highcharts.colorstring":1},name:"minColor",excludes:{},default:"#e6ebf5",products:{highcharts:1},description:"Solid gauge only. Unless [stops](#yAxis.stops) are set, the color\nto represent the minimum value of the Y axis."},subtree:{}},minLength:{meta:{types:{number:1,string:1},name:"minLength",excludes:{},products:{highstock:1},description:"Minimal size of a resizable axis. Could be set as a percent\nof plot area or pixel size.\n\nThis feature requires the `drag-panes.js` module."},subtree:{}},minPadding:{meta:{types:{number:1},name:"minPadding",excludes:{},default:.05},subtree:{}},opposite:{meta:{types:{boolean:1},name:"opposite",excludes:{},products:{highcharts:1,highstock:1}},subtree:{}},plotBands:{meta:{types:{array:"*"},name:"plotBands",excludes:{},products:{highcharts:1,highstock:1},description:"An array of objects defining plot bands on the Y axis.",extends:"xAxis.plotBands"},subtree:{innerRadius:{meta:{types:{number:1,string:1},name:"innerRadius",excludes:{},products:{highcharts:1},description:'In a gauge chart, this option determines the inner radius of the\nplot band that stretches along the perimeter. It can be given as\na percentage string, like `"100%"`, or as a pixel number, like `100`.\nBy default, the inner radius is controlled by the [thickness](\n#yAxis.plotBands.thickness) option.'},subtree:{}},outerRadius:{meta:{types:{number:1,string:1},name:"outerRadius",excludes:{},default:"100%",products:{highcharts:1},description:'In a gauge chart, this option determines the outer radius of the\nplot band that stretches along the perimeter. It can be given as\na percentage string, like `"100%"`, or as a pixel number, like `100`.'},subtree:{}},thickness:{meta:{types:{number:1,string:1},name:"thickness",excludes:{},default:"10",products:{highcharts:1},description:'In a gauge chart, this option sets the width of the plot band\nstretching along the perimeter. It can be given as a percentage\nstring, like `"10%"`, or as a pixel number, like `10`. The default\nvalue 10 is the same as the default [tickLength](#yAxis.tickLength),\nthus making the plot band act as a background for the tick markers.'},subtree:{}}}},plotLines:{meta:{types:{array:"*"},name:"plotLines",excludes:{},products:{highcharts:1,highstock:1},description:"An array of objects representing plot lines on the X axis",extends:"xAxis.plotLines"},subtree:{}},resize:{meta:{types:{object:1},name:"resize",excludes:{},products:{highstock:1},description:"Options for axis resizing. This feature requires the\n`drag-panes.js` -\n[classic](http://code.highcharts.com/stock/modules/drag-panes.js) or\n[styled](http://code.highcharts.com/stock/js/modules/drag-panes.js)\nmode - module."},subtree:{controlledAxis:{meta:{types:{object:1},name:"controlledAxis",excludes:{},description:"Contains two arrays of axes that are controlled by control line\nof the axis.\n\nThis feature requires the `drag-panes.js` module."},subtree:{next:{meta:{types:{array:"(String|Number)"},name:"next",excludes:{},default:"[]",description:"Array of axes that should move out of the way of resizing\nbeing done for the current axis. If not set, the next axis\nwill be used.\n\nThis feature requires the `drag-panes.js` module."},subtree:{}},prev:{meta:{types:{array:"(String|Number)"},name:"prev",excludes:{},description:"Array of axes that should move with the current axis\nwhile resizing.\n\nThis feature requires the `drag-panes.js` module."},subtree:{}}}},cursor:{meta:{types:{string:1},name:"cursor",excludes:{},default:"ns-resize",description:"Cursor style for the control line.\n\nIn styled mode use class `highcharts-axis-resizer` instead.\n\nThis feature requires the `drag-panes.js` module."},subtree:{}},enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:!1,description:"Enable or disable resize by drag for the axis.\n\nThis feature requires the `drag-panes.js` module."},subtree:{}},lineColor:{meta:{types:{color:1},name:"lineColor",excludes:{},default:"#cccccc",description:"Color of the control line.\n\nIn styled mode use class `highcharts-axis-resizer` instead.\n\nThis feature requires the `drag-panes.js` module."},subtree:{}},lineDashStyle:{meta:{types:{string:1},name:"lineDashStyle",excludes:{},default:"Solid",description:"Dash style of the control line.\n\nIn styled mode use class `highcharts-axis-resizer` instead.\n\nThis feature requires the `drag-panes.js` module."},subtree:{}},lineWidth:{meta:{types:{number:1},name:"lineWidth",excludes:{},default:4,description:"Width of the control line.\n\nIn styled mode use class `highcharts-axis-resizer` instead.\n\nThis feature requires the `drag-panes.js` module."},subtree:{}},x:{meta:{types:{number:1},name:"x",excludes:{},default:0,description:"Horizontal offset of the control line.\n\nThis feature requires the `drag-panes.js` module."},subtree:{}},y:{meta:{types:{number:1},name:"y",excludes:{},default:0,description:"Vertical offset of the control line.\n\nThis feature requires the `drag-panes.js` module."},subtree:{}}}},reversed:{meta:{types:{boolean:1},name:"reversed",excludes:{},description:"Whether to reverse the axis so that the highest number is closest\nto the origin."},subtree:{}},reversedStacks:{meta:{types:{boolean:1},name:"reversedStacks",excludes:{},default:"true",products:{highcharts:1,highstock:1},description:"If `true`, the first series in a stack will be drawn on top in a\npositive, non-reversed Y axis. If `false`, the first series is in\nthe base of the stack."},subtree:{}},scrollbar:{meta:{types:{"*":1},name:"scrollbar",excludes:{},products:{highstock:1},description:"An optional scrollbar to display on the Y axis in response to\nlimiting the minimum an maximum of the axis values.\n\nIn styled mode, all the presentational options for the scrollbar\nare replaced by the classes `.highcharts-scrollbar-thumb`,\n`.highcharts-scrollbar-arrow`, `.highcharts-scrollbar-button`,\n`.highcharts-scrollbar-rifles` and `.highcharts-scrollbar-track`.",extends:"scrollbar"},subtree:{enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:"false",products:{highstock:1},description:"Enable the scrollbar on the Y axis."},subtree:{}},margin:{meta:{types:{number:1},name:"margin",excludes:{},default:"10",products:{highstock:1},description:"Pixel margin between the scrollbar and the axis elements."},subtree:{}},showFull:{meta:{types:{boolean:1},name:"showFull",excludes:{},default:"true",products:{highstock:1},description:"Whether to show the scrollbar when it is fully zoomed out at max\nrange. Setting it to `false` on the Y axis makes the scrollbar stay\nhidden until the user zooms in, like common in browsers."},subtree:{}},size:{meta:{types:{number:1},name:"size",excludes:{},default:"14",products:{highstock:1},description:"The width of a vertical scrollbar or height of a horizontal\nscrollbar. Defaults to 20 on touch devices."},subtree:{}},zIndex:{meta:{types:{number:1},name:"zIndex",excludes:{},default:"3",products:{highstock:1},description:"Z index of the scrollbar elements."},subtree:{}}}},showLastLabel:{meta:{types:{boolean:1},name:"showLastLabel",excludes:{},default:"true"},subtree:{}},softMax:{meta:{types:{number:1},name:"softMax",excludes:{},products:{highcharts:1,highstock:1},description:"A soft maximum for the axis. If the series data maximum is less\nthan this, the axis will stay at this maximum, but if the series\ndata maximum is higher, the axis will flex to show all data.\n\n**Note**: The [series.softThreshold](\n#plotOptions.series.softThreshold) option takes precedence over this\noption."},subtree:{}},softMin:{meta:{types:{number:1},name:"softMin",excludes:{},products:{highcharts:1,highstock:1},description:"A soft minimum for the axis. If the series data minimum is greater\nthan this, the axis will stay at this minimum, but if the series\ndata minimum is lower, the axis will flex to show all data.\n\n**Note**: The [series.softThreshold](\n#plotOptions.series.softThreshold) option takes precedence over this\noption."},subtree:{}},stackLabels:{meta:{types:{"*":1},name:"stackLabels",excludes:{},products:{highcharts:1},description:"The stack labels show the total value for each bar in a stacked\ncolumn or bar chart. The label will be placed on top of positive\ncolumns and below negative columns. In case of an inverted column\nchart or a bar chart the label is placed to the right of positive\nbars and to the left of negative bars."},subtree:{align:{meta:{types:{string:1},name:"align",excludes:{},products:{highcharts:1},description:'Defines the horizontal alignment of the stack total label. Can be one\nof `"left"`, `"center"` or `"right"`. The default value is calculated\nat runtime and depends on orientation and whether the stack is\npositive or negative.'},subtree:{}},allowOverlap:{meta:{types:{boolean:1},name:"allowOverlap",excludes:{},default:!1,products:{highcharts:1},description:"Allow the stack labels to overlap."},subtree:{}},enabled:{meta:{types:{boolean:1},name:"enabled",excludes:{},default:!1,products:{highcharts:1},description:"Enable or disable the stack total labels."},subtree:{}},format:{meta:{types:{string:1},name:"format",excludes:{},default:"{total}",products:{highcharts:1,highstock:1},description:"A [format string](http://docs.highcharts.com/#formatting) for the\ndata label. Available variables are the same as for `formatter`."},subtree:{}},formatter:{meta:{types:{function:1},name:"formatter",excludes:{},default:"function() { return H.numberFormat(this.total, -1); }",products:{highcharts:1},description:"Callback JavaScript function to format the label. The value is\ngiven by `this.total`."},subtree:{}},rotation:{meta:{types:{number:1},name:"rotation",excludes:{},default:"0",products:{highcharts:1},description:"Rotation of the labels in degrees."},subtree:{}},style:{meta:{types:{"highcharts.cssobject":1},name:"style",excludes:{},products:{highcharts:1},description:"CSS styles for the label.\n\nIn styled mode, the styles are set in the\n`.highcharts-stack-label` class."},subtree:{color:{meta:{types:{string:1},name:"color",excludes:{},default:"#000000"},subtree:{}},fontSize:{meta:{types:{string:1},name:"fontSize",excludes:{},default:"11px"},subtree:{}},fontWeight:{meta:{types:{string:1},name:"fontWeight",excludes:{},default:"bold"},subtree:{}},textOutline:{meta:{types:{string:1},name:"textOutline",excludes:{},default:"1px contrast"},subtree:{}}}},textAlign:{meta:{types:{string:1},name:"textAlign",excludes:{},products:{highcharts:1},description:'The text alignment for the label. While `align` determines where the\ntexts anchor point is placed with regards to the stack, `textAlign`\ndetermines how the text is aligned against its anchor point. Possible\nvalues are `"left"`, `"center"` and `"right"`. The default value is\ncalculated at runtime and depends on orientation and whether the\nstack is positive or negative.'},subtree:{}},useHTML:{meta:{types:{boolean:1},name:"useHTML",excludes:{},default:"false",products:{highcharts:1,highstock:1},description:"Whether to [use HTML](https://www.highcharts.com/docs/chart-concepts/\nlabels-and-string-formatting#html) to render the labels."},subtree:{}},verticalAlign:{meta:{types:{string:1},name:"verticalAlign",excludes:{},products:{highcharts:1},description:'Defines the vertical alignment of the stack total label. Can be one\nof `"top"`, `"middle"` or `"bottom"`. The default value is calculated\nat runtime and depends on orientation and whether the stack is\npositive or negative.'},subtree:{}},x:{meta:{types:{number:1},name:"x",excludes:{},products:{highcharts:1},description:"The x position offset of the label relative to the left of the\nstacked bar. The default value is calculated at runtime and depends\non orientation and whether the stack is positive or negative."},subtree:{}},y:{meta:{types:{number:1},name:"y",excludes:{},products:{highcharts:1},description:"The y position offset of the label relative to the tick position\non the axis. The default value is calculated at runtime and depends\non orientation and whether the stack is positive or negative."},subtree:{}}}},startOnTick:{meta:{types:{boolean:1},name:"startOnTick",excludes:{},default:"true",products:{highcharts:1,highstock:1},description:"Whether to force the axis to start on a tick. Use this option with\nthe `maxPadding` option to control the axis start."},subtree:{}},stops:{meta:{types:{array:"Array.<(number|Highcharts.ColorString)"},name:"stops",excludes:{},products:{highcharts:1},description:"Solid gauge series only. Color stops for the solid gauge. Use this\nin cases where a linear gradient between a `minColor` and `maxColor`\nis not sufficient. The stops is an array of tuples, where the first\nitem is a float between 0 and 1 assigning the relative position in\nthe gradient, and the second item is the color.\n\nFor solid gauges, the Y axis also inherits the concept of [data classes](http://api.\nhighcharts.com/highmaps#colorAxis.dataClasses) from the Highmaps\ncolor axis."},subtree:{}},tickPixelInterval:{meta:{types:{number:1},name:"tickPixelInterval",excludes:{},default:"72"},subtree:{}},tickWidth:{meta:{types:{number:1},name:"tickWidth",excludes:{},default:"0",products:{highcharts:1,highstock:1},description:"The pixel width of the major tick marks."},subtree:{}},title:{meta:{types:{"*":1},name:"title",excludes:{},extends:"xAxis.title"},subtree:{margin:{meta:{types:{number:1},name:"margin",excludes:{},default:"40",description:"The pixel distance between the axis labels and the title.\nPositive values are outside the axis line, negative are inside."},subtree:{}},rotation:{meta:{types:{number:1},name:"rotation",excludes:{},default:"270",description:"The rotation of the text in degrees. 0 is horizontal, 270 is\nvertical reading from bottom to top."},subtree:{}},text:{meta:{types:{string:1},name:"text",excludes:{},default:"Values",products:{highcharts:1,highstock:1},description:"The actual text of the axis title. Horizontal texts can contain\nHTML, but rotated texts are painted using vector techniques and\nmust be clean text. The Y axis title is disabled by setting the\n`text` option to `undefined`."},subtree:{}}}},tooltipValueFormat:{meta:{types:{string:1},name:"tooltipValueFormat",excludes:{},default:"undefined",description:"Parallel coordinates only. Format that will be used for point.y\nand available in [tooltip.pointFormat](#tooltip.pointFormat) as\n`{point.formattedValue}`. If not set, `{point.formattedValue}`\nwill use other options, in this order:\n\n1. [yAxis.labels.format](#yAxis.labels.format) will be used if\n set\n2. if yAxis is a category, then category name will be displayed\n3. if yAxis is a datetime, then value will use the same format as\n yAxis labels\n4. if yAxis is linear/logarithmic type, then simple value will be\n used"},subtree:{}},top:{meta:{types:{number:1,string:1},name:"top",excludes:{},products:{highstock:1},description:"The top position of the Y axis. If it's a number, it is interpreted\nas pixel position relative to the chart.\n\nSince Highstock 2: If it's a percentage string, it is interpreted\nas percentages of the plot height, offset from plot area top."},subtree:{}}}},zAxis:{meta:{types:{array:"zAxis"},name:"zAxis",excludes:{},products:{highcharts:1},description:"The Z axis or depth axis for 3D plots.\n\nSee [the Axis object](/class-reference/Highcharts.Axis) for programmatic\naccess to the axis.",extends:"xAxis"},subtree:{}}}};