billboard.js
Version:
Re-usable easy interface JavaScript chart library, based on D3 v4+
10 lines • 210 kB
JavaScript
/*!
* Copyright (c) 2017 ~ present NAVER Corp.
* billboard.js project is licensed under the MIT license
*
* billboard.js, JavaScript chart library
* https://naver.github.io/billboard.js/
*
* @version 2.0.0-next.5
*/
!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e(require("d3-time-format"),require("d3-selection"),require("d3-brush"),require("d3-dsv"),require("d3-drag"),require("d3-scale"),require("d3-transition"),require("d3-shape"),require("d3-zoom"),require("d3-axis"),require("d3-ease"),require("d3-color"),require("d3-interpolate"));else if("function"==typeof define&&define.amd)define(["d3-time-format","d3-selection","d3-brush","d3-dsv","d3-drag","d3-scale","d3-transition","d3-shape","d3-zoom","d3-axis","d3-ease","d3-color","d3-interpolate"],e);else{var i="object"==typeof exports?e(require("d3-time-format"),require("d3-selection"),require("d3-brush"),require("d3-dsv"),require("d3-drag"),require("d3-scale"),require("d3-transition"),require("d3-shape"),require("d3-zoom"),require("d3-axis"),require("d3-ease"),require("d3-color"),require("d3-interpolate")):e(t.d3,t.d3,t.d3,t.d3,t.d3,t.d3,t.d3,t.d3,t.d3,t.d3,t.d3,t.d3,t.d3);for(var n in i)("object"==typeof exports?exports:t)[n]=i[n]}}(this,(function(t,e,i,n,a,r,s,o,c,l,u,d,h){return function(t){var e={};function i(n){if(e[n])return e[n].exports;var a=e[n]={i:n,l:!1,exports:{}};return t[n].call(a.exports,a,a.exports,i),a.l=!0,a.exports}return i.m=t,i.c=e,i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var a in t)i.d(n,a,function(e){return t[e]}.bind(null,a));return n},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=0)}([function(t,e,i){i(1),t.exports=i(15)},function(t,e,i){},function(e,i){e.exports=t},function(t,i){t.exports=e},function(t,e){t.exports=i},function(t,e){t.exports=n},function(t,e){t.exports=a},function(t,e){t.exports=r},function(t,e){t.exports=s},function(t,e){t.exports=o},function(t,e){t.exports=c},function(t,e){t.exports=l},function(t,e){t.exports=u},function(t,e){t.exports=d},function(t,e){t.exports=h},function(t,e,i){"use strict";i.r(e),i.d(e,"default",(function(){return Ti})),i.d(e,"bb",(function(){return Ti}));var n={};function a(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}i.r(n),i.d(n,"axisAPI",(function(){return qe})),i.d(n,"axisInternal",(function(){return Ke})),i.d(n,"axisOptions",(function(){return Je})),i.d(n,"shapeArc",(function(){return ti})),i.d(n,"shapeArea",(function(){return ei})),i.d(n,"shapeBar",(function(){return ii})),i.d(n,"shapeGauge",(function(){return ni})),i.d(n,"shapeBubble",(function(){return ai})),i.d(n,"shapeLine",(function(){return ri})),i.d(n,"shapePoint",(function(){return oi})),i.d(n,"shapeRadar",(function(){return li})),i.d(n,"optPoint",(function(){return ui})),i.d(n,"optArea",(function(){return di})),i.d(n,"optBar",(function(){return hi})),i.d(n,"optBubble",(function(){return gi})),i.d(n,"optLine",(function(){return fi})),i.d(n,"optScatter",(function(){return pi})),i.d(n,"optSpline",(function(){return xi})),i.d(n,"optDonut",(function(){return vi})),i.d(n,"optGauge",(function(){return mi})),i.d(n,"optPie",(function(){return _i})),i.d(n,"optRadar",(function(){return yi}));var r,s=i(2),o=i(3),c={arc:"bb-arc",arcLabelLine:"bb-arc-label-line",arcs:"bb-arcs",area:"bb-area",areas:"bb-areas",axis:"bb-axis",axisX:"bb-axis-x",axisXLabel:"bb-axis-x-label",axisY:"bb-axis-y",axisY2:"bb-axis-y2",axisY2Label:"bb-axis-y2-label",axisYLabel:"bb-axis-y-label",bar:"bb-bar",bars:"bb-bars",brush:"bb-brush",button:"bb-button",buttonZoomReset:"bb-zoom-reset",chart:"bb-chart",chartArc:"bb-chart-arc",chartArcs:"bb-chart-arcs",chartArcsBackground:"bb-chart-arcs-background",chartArcsGaugeMax:"bb-chart-arcs-gauge-max",chartArcsGaugeMin:"bb-chart-arcs-gauge-min",chartArcsGaugeUnit:"bb-chart-arcs-gauge-unit",chartArcsTitle:"bb-chart-arcs-title",chartArcsGaugeTitle:"bb-chart-arcs-gauge-title",chartBar:"bb-chart-bar",chartBars:"bb-chart-bars",chartCircles:"bb-chart-circles",chartLine:"bb-chart-line",chartLines:"bb-chart-lines",chartRadar:"bb-chart-radar",chartRadars:"bb-chart-radars",chartText:"bb-chart-text",chartTexts:"bb-chart-texts",circle:"bb-circle",circles:"bb-circles",colorPattern:"bb-color-pattern",colorScale:"bb-colorscale",defocused:"bb-defocused",dragarea:"bb-dragarea",empty:"bb-empty",eventRect:"bb-event-rect",eventRects:"bb-event-rects",eventRectsMultiple:"bb-event-rects-multiple",eventRectsSingle:"bb-event-rects-single",focused:"bb-focused",gaugeValue:"bb-gauge-value",grid:"bb-grid",gridLines:"bb-grid-lines",legend:"bb-legend",legendBackground:"bb-legend-background",legendItem:"bb-legend-item",legendItemEvent:"bb-legend-item-event",legendItemFocused:"bb-legend-item-focused",legendItemHidden:"bb-legend-item-hidden",legendItemPoint:"bb-legend-item-point",legendItemTile:"bb-legend-item-tile",level:"bb-level",levels:"bb-levels",line:"bb-line",lines:"bb-lines",main:"bb-main",region:"bb-region",regions:"bb-regions",selectedCircle:"bb-selected-circle",selectedCircles:"bb-selected-circles",shape:"bb-shape",shapes:"bb-shapes",stanfordElements:"bb-stanford-elements",stanfordLine:"bb-stanford-line",stanfordLines:"bb-stanford-lines",stanfordRegion:"bb-stanford-region",stanfordRegions:"bb-stanford-regions",target:"bb-target",text:"bb-text",texts:"bb-texts",title:"bb-title",tooltip:"bb-tooltip",tooltipContainer:"bb-tooltip-container",tooltipName:"bb-tooltip-name",xgrid:"bb-xgrid",xgridFocus:"bb-xgrid-focus",xgridLine:"bb-xgrid-line",xgridLines:"bb-xgrid-lines",xgrids:"bb-xgrids",ygrid:"bb-ygrid",ygridFocus:"bb-ygrid-focus",ygridLine:"bb-ygrid-line",ygridLines:"bb-ygrid-lines",ygrids:"bb-ygrids",zoomBrush:"bb-zoom-brush",EXPANDED:"_expanded_",SELECTED:"_selected_",INCLUDED:"_included_",TextOverlapping:"text-overlapping"},l={element:function(){return{chart:null,main:null,svg:null,axis:{x:null,y:null,y2:null,subX:null},defs:null,tooltip:null,legend:null,title:null,subchart:{main:null,bar:null,line:null,area:null},arcs:null,bar:null,line:null,area:null,circle:null,radar:null,text:null,grid:{main:null,x:null,y:null},gridLines:{main:null,x:null,y:null},region:{main:null,list:null},eventRect:null}},state:function(){return{width:0,width2:0,height:0,height2:0,margin:{top:0,bottom:0,left:0,right:0},margin2:{top:0,bottom:0,left:0,right:0},margin3:{top:0,bottom:0,left:0,right:0},arcWidth:0,arcHeight:0,xAxisHeight:0,hasAxis:!1,hasRadar:!1,current:{width:0,height:0,dataMax:0,maxTickWidths:{x:{size:0,ticks:[],clipPath:0,domain:""},y:{size:0,domain:""},y2:{size:0,domain:""}},types:[]},isLegendRight:!1,isLegendInset:!1,isLegendTop:!1,isLegendLeft:!1,legendStep:0,legendItemWidth:0,legendItemHeight:0,legendHasRendered:!1,axis:{x:{padding:{left:0,right:0},tickCount:0}},rotatedPadding:{left:30,right:0,top:5},withoutFadeIn:{},inputType:"",datetimeId:"",clip:{id:"",idXAxis:"",idYAxis:"",idXAxisTickTexts:"",idGrid:"",idSubchart:"",path:"",pathXAxis:"",pathYAxis:"",pathXAxisTickTexts:"",pathGrid:""},dragStart:null,dragging:!1,flowing:!1,cancelClick:!1,mouseover:!1,rendered:!1,transiting:!1,resizing:!1,toggling:!1,hasNegativeValue:!1,hasPositiveValue:!0,orgAreaOpacity:"0.2",hiddenTargetIds:[],hiddenLegendIds:[],focusedTargetIds:[],defocusedTargetIds:[],radius:0,innerRadius:0,innerRadiusRatio:0,gaugeArcWidth:0,radiusExpanded:0,xgridAttr:{x1:null,x2:null,y1:null,y2:null}}}},u=function(){function t(){var t=this;Object.keys(l).forEach((function(e){t[e]=new l[e]}))}return t.prototype.getStore=function(t){return this[t]},t}(),d={bindto:"#chart",background:{},clipPath:!0,svg_classname:void 0,size_width:void 0,size_height:void 0,padding_left:void 0,padding_right:void 0,padding_top:void 0,padding_bottom:void 0,resize_auto:!0,onover:void 0,onout:void 0,onresize:void 0,onresized:void 0,onbeforeinit:void 0,oninit:void 0,onafterinit:void 0,onrendered:void 0,transition_duration:350,plugins:[],render:{},regions:[]},h={data_idConverter:function(t){return t},data_names:{},data_classes:{},data_type:void 0,data_types:{},data_order:"desc",data_groups:[],data_color:void 0,data_colors:{},data_labels:{},data_labels_colors:void 0,data_labels_position:{},data_hide:!1,data_filter:void 0,data_onclick:function(){},data_onover:function(){},data_onout:function(){},data_onmin:void 0,data_onmax:void 0,data_url:void 0,data_headers:void 0,data_json:void 0,data_rows:void 0,data_columns:void 0,data_mimeType:"csv",data_keys:void 0,data_empty_label_text:""},g={data_selection_enabled:!1,data_selection_grouped:!1,data_selection_isselectable:function(){return!0},data_selection_multiple:!0,data_selection_draggable:!1,data_onselected:function(){},data_onunselected:function(){}},f={color_pattern:[],color_tiles:void 0,color_threshold:{},color_onover:void 0},p={interaction_enabled:!0,interaction_brighten:!0,interaction_inputType_mouse:!0,interaction_inputType_touch:{}},x={legend_show:!0,legend_hide:!1,legend_contents_bindto:void 0,legend_contents_template:void 0,legend_position:"bottom",legend_inset_anchor:"top-left",legend_inset_x:10,legend_inset_y:0,legend_inset_step:void 0,legend_item_onclick:void 0,legend_item_onover:void 0,legend_item_onout:void 0,legend_equally:!1,legend_padding:0,legend_item_tile_width:10,legend_item_tile_height:10,legend_usePoint:!1},v={title_text:void 0,title_padding:{top:0,right:0,bottom:0,left:0},title_position:"center"},m={tooltip_show:!0,tooltip_doNotHide:!1,tooltip_grouped:!0,tooltip_format_title:void 0,tooltip_format_name:void 0,tooltip_format_value:void 0,tooltip_position:void 0,tooltip_contents:{},tooltip_init_show:!1,tooltip_init_x:0,tooltip_init_position:{top:"0px",left:"50px"},tooltip_linked:!1,tooltip_linked_name:"",tooltip_onshow:function(){},tooltip_onhide:function(){},tooltip_onshown:function(){},tooltip_onhidden:function(){},tooltip_order:null},_=i(4),y=(r=function(t){return void 0!==t&&t})(self)||r(window)||r(global)||r(globalThis)||Function("return this")(),b=y&&y.document;function T(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,n)}return i}function w(t){for(var e,i=1;i<arguments.length;i++)e=null==arguments[i]?{}:arguments[i],i%2?T(Object(e),!0).forEach((function(i){a(t,i,e[i])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):T(Object(e)).forEach((function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(e,i))}));return t}var A=function(t){return t||0===t},S=function(t){return"function"==typeof t},O=function(t){return"string"==typeof t},L=function(t){return"number"==typeof t},k=function(t){return void 0===t},C=function(t){return void 0!==t},E=function(t){return"boolean"==typeof t},R=function(t){return 10*Math.ceil(t/10)},D=function(t){return Math.ceil(t)+.5},I=function(t){return t[1]-t[0]},X=function(t){return"object"==typeof t},P=function(t){return k(t)||null===t||O(t)&&0===t.length||X(t)&&!(t instanceof Date)&&0===Object.keys(t).length||L(t)&&isNaN(t)},z=function(t){return!P(t)},M=function(t){return Array.isArray(t)},F=function(t){return t&&!t.nodeType&&X(t)&&!M(t)};function B(t,e,i){return C(t[e])?t[e]:i}function $(t){for(var e=S(t),i=arguments.length,n=Array(i>1?i-1:0),a=1;a<i;a++)n[a-1]=arguments[a];return e&&t.call.apply(t,n),e}function j(t,e){var i=0;t.each((function(){return++i})).on("end",(function(){for(var t=arguments.length,n=Array(t),a=0;a<t;a++)n[a]=arguments[a];--i||e.apply.apply(e,[this].concat(n))}))}function Y(t){return O(t)?t.replace(/</g,"<").replace(/>/g,">"):t}function N(t,e,i,n){if(void 0===i&&(i=[-1,1]),void 0===n&&(n=!1),t&&O(e))if(-1===e.indexOf("\n"))t.text(e);else{var a=[t.text(),e].map((function(t){return t.replace(/[\s\n]/g,"")}));if(a[0]!==a[1]){var r=e.split("\n"),s=n?r.length-1:1;t.html(""),r.forEach((function(e,n){t.append("tspan").attr("x",0).attr("dy",(0===n?i[0]*s:i[1])+"em").text(e)}))}}}function G(t){var e=t.getBBox(),i=e.x,n=e.y,a=e.width,r=e.height;return[{x:i,y:n+r},{x:i,y:n},{x:i+a,y:n},{x:i+a,y:n+r}]}function V(t){var e,i=t.$el,n=o.event,a=i.subchart.main||i.main;return n&&"brush"===n.type?e=n.selection:a&&(e=a.select("."+c.brush).node())&&(e=Object(_.brushSelection)(e)),e}var H=function(t){return t.rect||(t.rect=t.getBoundingClientRect())};function W(t){void 0===t&&(t=!0);var e=Math.random();return t?e+"":e}function U(t){var e=V(t);return!e||e[0]===e[1]}function Z(t,e){for(var i in void 0===t&&(t={}),M(e)&&e.forEach((function(e){return Z(t,e)})),e)/^\d+$/.test(i)||i in t||(t[i]=e[i]);return t}var q=function(t){return t.charAt(0).toUpperCase()+t.slice(1)},K=function(t){return[].slice.call(t)};var J=function(t){var e=t?t.transform:null,i=e&&e.baseVal;return i&&i.numberOfItems?i.getItem(0).matrix:{a:0,b:0,c:0,d:0,e:0,f:0}};function Q(t){var e=t[0]instanceof Date,i=(e?t.map(Number):t).filter((function(t,e,i){return i.indexOf(t)===e}));return e?i.map((function(t){return new Date(t)})):i}function tt(t){return t&&t.length?t.reduce((function(t,e){return t.concat(e)})):[]}function et(t){for(var e=arguments.length,i=Array(e>1?e-1:0),n=1;n<e;n++)i[n-1]=arguments[n];if(!i.length||1===i.length&&!i[0])return t;var a=i.shift();return F(t)&&F(a)&&Object.keys(a).forEach((function(e){var i=a[e];F(i)?(!t[e]&&(t[e]={}),t[e]=et(t[e],i)):t[e]=M(i)?i.concat():i})),et.apply(void 0,[t].concat(i))}function it(t,e){var i;return void 0===e&&(e=!0),t[0]instanceof Date?i=e?function(t,e){return t-e}:function(t,e){return e-t}:e&&!t.every(isNaN)?i=function(t,e){return t-e}:!e&&(i=function(t,e){return(t>e?-1:t<e&&1)||t===e&&0}),t.concat().sort(i)}function nt(t,e){var i=e.filter((function(t){return z(t)}));return i.length?L(i[0])?i=Math[t].apply(Math,i):i[0]instanceof Date&&(i=it(i,"min"===t)[0]):i=void 0,i}var at=function(t,e,i){void 0===i&&(i=1);for(var n=[],a=0|Math.max(0,Math.ceil((e-t)/i)),r=t;r<a;r++)n.push(t+r*i);return n},rt={mouse:function(){try{return new MouseEvent("t"),function(t,e,i){void 0===i&&(i={bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0}),t.dispatchEvent(new MouseEvent(e,i))}}catch(t){return function(t,e,i){void 0===i&&(i={bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0});var n=b.createEvent("MouseEvent");n.initMouseEvent(e,i.bubbles,i.cancelable,y,0,i.screenX,i.screenY,i.clientX,i.clientY,!1,!1,!1,!1,0,null),t.dispatchEvent(n)}}}(),touch:function(t,e,i){var n=new Touch(et({identifier:Date.now(),target:t,radiusX:2.5,radiusY:2.5,rotationAngle:10,force:.5},i));t.dispatchEvent(new TouchEvent(e,{cancelable:!0,bubbles:!0,shiftKey:!0,touches:[n],targetTouches:[],changedTouches:[n]}))}};function st(t,e){var i=t;for(var n in e)i=i.replace(new RegExp("{="+n+"}","g"),e[n]);return i}function ot(t){var e;if(t instanceof Date)e=t;else if(O(t)){var i=this.config;e=this.format.dataTime(i.data_xFormat)(t)}else L(t)&&!isNaN(t)&&(e=new Date(+t));return(!e||isNaN(+e))&&console&&console.error&&console.error("Failed to parse x '"+t+"' to Date object"),e}function ct(){return!b.hidden}function lt(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,n)}return i}function ut(t){for(var e,i=1;i<arguments.length;i++)e=null==arguments[i]?{}:arguments[i],i%2?lt(Object(e),!0).forEach((function(i){a(t,i,e[i])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):lt(Object(e)).forEach((function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(e,i))}));return t}var dt=function(){function t(){return function(){for(var t=function(t){function e(){return t.apply(this,arguments)}return e.toString=function(){return t.toString()},e}((function(e){if(F(e)&&e.constructor){var i=new e.constructor;for(var n in e)i[n]=t(e[n]);return i}return e})),e=arguments.length,i=Array(e),n=0;n<e;n++)i[n]=arguments[n];return i.map((function(e){return t(e)})).reduce((function(t,e){return w(w({},t),e)}))}(d,h,g,f,p,x,v,m,t.data)}return t.setOptions=function(t){this.data=t.reduce((function(t,e){return ut(ut({},t),e)}),this.data)},t}();a(dt,"data",{});var ht="$baseLength",gt="__colorPattern__",ft="$dataMinMax",pt="$dataTotalSum",xt="$totalPerIndex",vt="legendItemTextBox",mt="$radarPoints",_t="setOverOut",yt="callOverOutForTouch",bt="textRect",Tt=function(){function t(){a(this,"cache",{})}var e=t.prototype;return e.add=function(t,e,i){return void 0===i&&(i=!1),this.cache[t]=i?this.cloneTarget(e):e,this.cache[t]},e.remove=function(t){var e=this;K(t).forEach((function(t){return delete e.cache[t]}))},e.get=function(t,e){if(void 0===e&&(e=!1),e){for(var i,n=[],a=0;i=t[a];a++)i in this.cache&&n.push(this.cloneTarget(this.cache[i]));return n}var r=this.cache[t];return A(r)?r:null},e.reset=function(t){for(var e in this.cache)(t||/^\$/.test(e))&&(this.cache[e]=null)},e.cloneTarget=function(t){return{id:t.id,id_org:t.id_org,values:t.values.map((function(t){return{x:t.x,value:t.value,id:t.id}}))}},t}(),wt=y.setTimeout,At=y.clearTimeout;function St(){var t=[],e=function(e,i){var n;!function e(){for(var a,r=0,s=0;a=t[s];s++)if(!0===a||a.empty&&a.empty())r++;else try{a.transition()}catch(t){r++}n&&At(n),r===t.length?i&&i():n=wt(e,50)}()};return e.add=function(e){M(e)?t=t.concat(e):t.push(e)},e}var Ot=i(5),Lt={convertData:function(t,e){var i;if(t.bindto?(i={},["url","mimeType","headers","keys","json","keys","rows","columns"].forEach((function(e){var n="data_"+e;n in t&&(i[e]=t[n])}))):i=t,i.url&&e)this.convertUrlToData(i.url,i.mimeType,i.headers,i.keys,e);else if(i.json)i=this.convertJsonToData(i.json,i.keys);else if(i.rows)i=this.convertRowsToData(i.rows);else if(i.columns)i=this.convertColumnsToData(i.columns);else if(t.bindto)throw Error("url or json or rows or columns is required.");return M(i)&&i},convertUrlToData:function(t,e,i,n,a){var r=this;void 0===e&&(e="csv");var s=new XMLHttpRequest;s.open("GET",t),i&&Object.keys(i).forEach((function(t){s.setRequestHeader(t,i[t])})),s.onreadystatechange=function(){if(4===s.readyState){if(200!==s.status)throw new Error(t+": Something went wrong loading!");var i=s.responseText;i&&a.call(r,r["convert"+q(e)+"ToData"]("json"===e?JSON.parse(i):i,n))}},s.send()},convertCsvTsvToData:function(t,e){var i,n=t.rows(e);return 1===n.length?(i=[{}],n[0].forEach((function(t){i[0][t]=null}))):i=t.parse(e),i},convertCsvToData:function(t){return this.convertCsvTsvToData({rows:Ot.csvParseRows,parse:Ot.csvParse},t)},convertTsvToData:function(t){return this.convertCsvTsvToData({rows:Ot.tsvParseRows,parse:Ot.tsvParse},t)},convertJsonToData:function(t,e){var i,n,a=this,r=this.config,s=[];if(M(t)){var o=e||r.data_keys;o.x?(i=o.value.concat(o.x),r.data_x=o.x):i=o.value,s.push(i),t.forEach((function(t){var e=i.map((function(e){var i=a.findValueInJson(t,e);return k(i)&&(i=null),i}));s.push(e)})),n=this.convertRowsToData(s)}else Object.keys(t).forEach((function(e){var i=t[e].concat();i.unshift(e),s.push(i)})),n=this.convertColumnsToData(s);return n},findValueInJson:function(t,e){if(void 0!==t[e])return t[e];var i=e.replace(/\[(\w+)\]/g,".$1").replace(/^\./,"").split("."),n=t;return i.some((function(t){return!(n=n&&t in n?n[t]:void 0)})),n},convertRowsToData:function(t){var e=t[0],i=[];return t.forEach((function(t,n){if(n>0){var a={};t.forEach((function(t,i){if(k(t))throw new Error("Source data is missing a component at ("+n+", "+i+")!");a[e[i]]=t})),i.push(a)}})),i},convertColumnsToData:function(t){var e=[];return t.forEach((function(t,i){var n=t[0];t.forEach((function(t,a){if(a>0){if(k(e[a-1])&&(e[a-1]={}),k(t))throw new Error("Source data is missing a component at ("+i+", "+a+")!");e[a-1][n]=t}}))})),e},convertDataToTargets:function(t,e){var i=this,n=this,a=n.axis,r=n.config,s=n.state,o=!1,c=!1,l=!1;a&&(o=a.isCategorized(),c=a.isTimeSeries(),l=a.isCustomX());var u,d=Object.keys(t[0]||{}),h=d.length?d.filter(n.isNotX,n):[],g=d.length?d.filter(n.isX,n):[];h.forEach((function(a){var s=i.getXKey(a);l||c?g.indexOf(s)>=0?u=(e&&n.data.xs[a]||[]).concat(t.map((function(t){return t[s]})).filter(A).map((function(t,e){return n.generateTargetX(t,a,e)}))):r.data_x?u=i.getOtherTargetXs():z(r.data_xs)&&(u=n.getXValuesOfXKey(s,n.data.targets)):u=t.map((function(t,e){return e})),u&&(i.data.xs[a]=u)})),h.forEach((function(t){if(!i.data.xs[t])throw new Error('x is not defined for id = "'+t+'".')}));var f=h.map((function(e,i){var a=r.data_idConverter.bind(n.api)(e),c=n.getXKey(e),u=l&&o,d=u&&t.map((function(t){return t.x})).every((function(t){return r.axis_x_categories.indexOf(t)>-1}));return{id:a,id_org:e,values:t.map((function(t,o){var l,h=t[c],g=t[e];return g=null===g||isNaN(g)||F(g)?M(g)||F(g)?g:null:+g,!u&&!s.hasRadar||0!==i||k(h)?l=n.generateTargetX(h,e,o):(!d&&0===i&&0===o&&(r.axis_x_categories=[]),-1===(l=r.axis_x_categories.indexOf(h))&&(l=r.axis_x_categories.length,r.axis_x_categories.push(h))),(k(g)||n.data.xs[e].length<=o)&&(l=void 0),{x:l,value:g,id:a}})).filter((function(t){return C(t.x)}))}}));return f.forEach((function(t){r.data_xSort&&(t.values=t.values.sort((function(t,e){return(t.x||0===t.x?t.x:1/0)-(e.x||0===e.x?e.x:1/0)}))),t.values.forEach((function(t,e){return t.index=e})),n.data.xs[t.id].sort((function(t,e){return t-e}))})),s.hasNegativeValue=n.hasNegativeValueInTargets(f),s.hasPositiveValue=n.hasPositiveValueInTargets(f),r.data_type&&n.setTargetType(n.mapToIds(f).filter((function(t){return!(t in r.data_types)})),r.data_type),f.forEach((function(t){return n.cache.add(t.id_org,t,!0)})),f}},kt={isX:function(t){var e,i,n,a=this.config,r=a.data_x&&t===a.data_x,s=z(a.data_xs)&&(e=a.data_xs,i=t,n=!1,Object.keys(e).forEach((function(t){return e[t]===i&&(n=!0)})),n);return r||s},isNotX:function(t){return!this.isX(t)},isStackNormalized:function(){var t=this.config;return!(!t.data_stack_normalize||!t.data_groups.length)},isGrouped:function(t){return this.config.data_groups.map((function(e){return e.indexOf(t)>=0}))[0]},getXKey:function(t){var e=this.config;return e.data_x?e.data_x:z(e.data_xs)?e.data_xs[t]:null},getXValuesOfXKey:function(t,e){var i,n=this;return(e&&z(e)?n.mapToIds(e):[]).forEach((function(e){n.getXKey(e)===t&&(i=n.data.xs[e])})),i},getIndexByX:function(t,e){return e?e.indexOf(O(t)?t:+t):(this.filterByX(this.data.targets,t)[0]||{index:null}).index},getXValue:function(t,e){return t in this.data.xs&&this.data.xs[t]&&A(this.data.xs[t][e])?this.data.xs[t][e]:e},getOtherTargetXs:function(){var t=Object.keys(this.data.xs);return t.length?this.data.xs[t[0]]:null},getOtherTargetX:function(t){var e=this.getOtherTargetXs();return e&&t<e.length?e[t]:null},addXs:function(t){var e=this.config;Object.keys(t).forEach((function(i){e.data_xs[i]=t[i]}))},isMultipleX:function(){return z(this.config.data_xs)||!this.config.data_xSort||this.hasType("bubble")||this.hasType("scatter")},addName:function(t){var e,i=this.config;return t&&(e=i.data_names[t.id],t.name=void 0===e?t.id:e),t},getAllValuesOnIndex:function(t,e){void 0===e&&(e=!1);var i=this,n=i.filterTargetsToShow(i.data.targets).map((function(e){return i.addName(i.getValueOnIndex(e.values,t))}));return e&&(n=n.filter((function(t){return A(t.value)}))),n},getValueOnIndex:function(t,e){var i=t.filter((function(t){return t.index===e}));return i.length?i[0]:null},updateTargetX:function(t,e){var i=this;t.forEach((function(t){t.values.forEach((function(n,a){n.x=i.generateTargetX(e[a],t.id,a)})),i.data.xs[t.id]=e}))},updateTargetXs:function(t,e){var i=this;t.forEach((function(t){e[t.id]&&i.updateTargetX([t],e[t.id])}))},generateTargetX:function(t,e,i){var n=this.axis,a=n&&n.isCategorized()?i:t||i;if(n&&n.isTimeSeries()){var r=ot.bind(this);a=r(t||this.getXValue(e,i))}else n&&n.isCustomX()&&!n.isCategorized()&&(a=A(t)?+t:this.getXValue(e,i));return a},updateXs:function(t){t.length&&(this.axis.xs=t.map((function(t){return t.x})))},getPrevX:function(t){var e=this.axis.xs[t-1];return C(e)?e:null},getNextX:function(t){var e=this.axis.xs[t+1];return C(e)?e:null},getBaseValue:function(t){var e=this,i=e.state.hasAxis,n=t.value;return n&&i&&(e.isAreaRangeType(t)?n=e.getAreaRangeData(t,"mid"):e.isBubbleZType(t)&&(n=e.getBubbleZData(n,"y"))),n},getMinMaxValue:function(t){var e,i,n=this.getBaseValue.bind(this);return(t||this.data.targets.map((function(t){return t.values}))).forEach((function(t,a){var r=t.map(n).filter(L);e=Math.min.apply(Math,[a?e:1/0].concat(r)),i=Math.max.apply(Math,[a?i:-1/0].concat(r))})),{min:e,max:i}},getMinMaxData:function(){var t=this,e=ft,i=t.cache.get(e);if(!i){var n=t.data.targets.map((function(t){return t.values})),a=t.getMinMaxValue(n),r=[],s=[];n.forEach((function(e){var i=t.getFilteredDataByValue(e,a.min),n=t.getFilteredDataByValue(e,a.max);i.length&&(r=r.concat(i)),n.length&&(s=s.concat(n))})),t.cache.add(e,i={min:r,max:s})}return i},getTotalPerIndex:function(){var t=xt,e=this.cache.get(t);return this.isStackNormalized()&&!e&&(e=[],this.data.targets.forEach((function(t){t.values.forEach((function(t,i){e[i]||(e[i]=0),e[i]+=L(t.value)?t.value:0}))}))),e},getTotalDataSum:function(t){var e=pt,i=this.cache.get(e);if(!L(i)){var n=tt(this.data.targets.map((function(t){return t.values}))).map((function(t){return t.value})).reduce((function(t,e){return t+e}));this.cache.add(e,i=n)}return t&&(i-=this.getHiddenTotalDataSum()),i},getHiddenTotalDataSum:function(){var t=this.api,e=this.state.hiddenTargetIds,i=0;return e.length&&(i=t.data.values.bind(t)(e).reduce((function(t,e){return t+e}))),i},getFilteredDataByValue:function(t,e){var i=this;return t.filter((function(t){return i.getBaseValue(t)===e}))},getMaxDataCount:function(){return Math.max.apply(Math,this.data.targets.map((function(t){return t.values.length})))},getMaxDataCountTarget:function(){var t=this.filterTargetsToShow()||[],e=t.length;return e>1?t=it(Q(t=t.map((function(t){return t.values})).reduce((function(t,e){return t.concat(e)})).map((function(t){return t.x})))).map((function(t,e){return{x:t,index:e}})):e&&(t=t[0].values),t},mapToIds:function(t){return t.map((function(t){return t.id}))},mapToTargetIds:function(t){return t?M(t)?t.concat():[t]:this.mapToIds(this.data.targets)},hasTarget:function(t,e){for(var i,n=this.mapToIds(t),a=0;i=n[a];a++)if(i===e)return!0;return!1},isTargetToShow:function(t){return this.state.hiddenTargetIds.indexOf(t)<0},isLegendToShow:function(t){return this.state.hiddenLegendIds.indexOf(t)<0},filterTargetsToShow:function(t){var e=this;return(t||e.data.targets).filter((function(t){return e.isTargetToShow(t.id)}))},mapTargetsToUniqueXs:function(t){var e=this.axis,i=[];return t&&t.length&&(i=Q(tt(t.map((function(t){return t.values.map((function(t){return+t.x}))})))),i=e&&e.isTimeSeries()?i.map((function(t){return new Date(+t)})):i.map((function(t){return+t}))),it(i)},addHiddenTargetIds:function(t){this.state.hiddenTargetIds=this.state.hiddenTargetIds.concat(t)},removeHiddenTargetIds:function(t){this.state.hiddenTargetIds=this.state.hiddenTargetIds.filter((function(e){return t.indexOf(e)<0}))},addHiddenLegendIds:function(t){this.state.hiddenLegendIds=this.state.hiddenLegendIds.concat(t)},removeHiddenLegendIds:function(t){this.state.hiddenLegendIds=this.state.hiddenLegendIds.filter((function(e){return t.indexOf(e)<0}))},getValuesAsIdKeyed:function(t){var e=this,i=e.state.hasAxis,n={},a=e.isMultipleX(),r=a?e.mapTargetsToUniqueXs(t).map((function(t){return O(t)?t:+t})):null;return t.forEach((function(t){var s=[];t.values.forEach((function(t){var n=t.value;M(n)?s.push.apply(s,n):F(n)&&"high"in n?s.push.apply(s,Object.values(n)):e.isBubbleZType(t)?s.push(i&&e.getBubbleZData(n,"y")):a?s[e.getIndexByX(t.x,r)]=n:s.push(n)})),n[t.id]=s})),n},checkValueInTargets:function(t,e){for(var i,n=Object.keys(t),a=0;a<n.length;a++){i=t[n[a]].values;for(var r=0;r<i.length;r++)if(e(i[r].value))return!0}return!1},hasMultiTargets:function(){return this.filterTargetsToShow().length>1},hasNegativeValueInTargets:function(t){return this.checkValueInTargets(t,(function(t){return t<0}))},hasPositiveValueInTargets:function(t){return this.checkValueInTargets(t,(function(t){return t>0}))},_checkOrder:function(t){var e=this.config.data_order;return O(e)&&e.toLowerCase()===t},isOrderDesc:function(){return this._checkOrder("desc")},isOrderAsc:function(){return this._checkOrder("asc")},orderTargets:function(t){var e=this.config,i=[].concat(t),n=this.isOrderAsc(),a=this.isOrderDesc();return n||a?i.sort((function(t,e){var i=function(t,e){return t+Math.abs(e.value)},a=t.values.reduce(i,0),r=e.values.reduce(i,0);return n?r-a:a-r})):S(e.data_order)&&i.sort(e.data_order.bind(this.api)),i},filterByX:function(t,e){return tt(t.map((function(t){return t.values}))).filter((function(t){return t.x-e==0}))},filterRemoveNull:function(t){var e=this;return t.filter((function(t){return A(e.getBaseValue(t))}))},filterByXDomain:function(t,e){return t.map((function(t){return{id:t.id,id_org:t.id_org,values:t.values.filter((function(t){return e[0]<=t.x&&t.x<=e[1]}))}}))},hasDataLabel:function(){var t=this.config.data_labels;return E(t)&&t||X(t)&&z(t)},getDataLabelLength:function(t,e,i){var n=this,a=[0,0];return n.$el.chart.select("svg").selectAll(".dummy").data([t,e]).enter().append("text").text((function(t){return n.dataLabelFormat(t.id)(t)})).each((function(t,e){a[e]=1.3*this.getBoundingClientRect()[i]})).remove(),a},isNoneArc:function(t){return this.hasTarget(this.data.targets,t.id)},isArc:function(t){return"data"in t&&this.hasTarget(this.data.targets,t.data.id)},findSameXOfValues:function(t,e){var i,n=t[e].x,a=[];for(i=e-1;i>=0&&n===t[i].x;i--)a.push(t[i]);for(i=e;i<t.length&&n===t[i].x;i++)a.push(t[i]);return a},findClosestFromTargets:function(t,e){var i=this,n=t.map((function(t){return i.findClosest(t.values,e)}));return i.findClosest(n,e)},findClosest:function(t,e){var i,n=this,a=n.config,r=n.$el.main,s=t.filter((function(t){return t&&A(t.value)})),o=a.point_sensitivity;return s.filter((function(t){return n.isBarType(t.id)})).forEach((function(t){var e=r.select("."+c.bars+n.getTargetSelectorSuffix(t.id)+" ."+c.bar+"-"+t.index).node();!i&&n.isWithinBar(e)&&(i=t)})),s.filter((function(t){return!n.isBarType(t.id)})).forEach((function(t){var a=n.dist(t,e);a<o&&(o=a,i=t)})),i},dist:function(t,e){var i=this.config.axis_rotated,n=this.scale,a=i?1:0,r=i?0:1,s=this.circleY(t,t.index),o=(n.zoom||n.x)(t.x);return Math.sqrt(Math.pow(o-e[a],2)+Math.pow(s-e[r],2))},convertValuesToStep:function(t){var e=this.axis,i=this.config,n=i.axis_rotated,a=i.line_step_type,r=!!e&&e.isCategorized(),s=M(t)?t.concat():[t];if(!n&&!r)return t;var o=s[0].id,c=s[0].x-1,l=s[0].value;return r&&s.unshift({x:c,value:l,id:o}),"step-after"===a&&s.unshift({x:c-1,value:l,id:o}),l=s[c=s.length-1].value,r&&s.push({x:c,value:l,id:o}),"step-before"===a&&s.push({x:c+1,value:l,id:o}),s},convertValuesToRange:function(t){var e=M(t)?t.concat():[t],i=[];return e.forEach((function(t){var e=t.x,n=t.id;i.push({x:e,id:n,value:t.value[0]}),i.push({x:e,id:n,value:t.value[2]})})),i},updateDataAttributes:function(t,e){var i=this.config["data_"+t];return k(e)||(Object.keys(e).forEach((function(t){i[t]=e[t]})),this.redraw({withLegend:!0})),i},getAreaRangeData:function(t,e){var i=t.value;if(M(i)){var n=["high","mid","low"].indexOf(e);return-1===n?null:i[n]}return i[e]},getRatio:function(t,e,i){var n=this,a=n.config,r=n.state,s=n.api,o=0;if(e&&s.data.shown().length)if(o=e.ratio||e.value,"arc"===t)o=n.pie.padAngle()()?e.value/n.getTotalDataSum(!0):(e.endAngle-e.startAngle)/(Math.PI*(n.hasType("gauge")&&!a.gauge_fullCircle?1:2));else if("index"===t){var c=s.data.values.bind(s),l=this.getTotalPerIndex();if(r.hiddenTargetIds.length){var u=c(r.hiddenTargetIds,!1);u.length&&(u=u.reduce((function(t,e){return t.map((function(t,i){return(L(t)?t:0)+e[i]}))})),l=l.map((function(t,e){return t-u[e]})))}e.ratio=L(e.value)&&l&&l[e.index]>0?e.value/l[e.index]:0,o=e.ratio}else if("radar"===t)o=parseFloat(Math.max(e.value,0)+"")/r.current.dataMax*a.radar_size_ratio;else if("bar"===t){var d=n.getYScaleById.bind(n)(e.id).domain().reduce((function(t,e){return e-t}));o=Math.abs(e.value)/d}return i&&o?100*o:o},updateDataIndexByX:function(t){var e=t.reduce((function(t,e,i){return t[+e.x]=i,t}),{});this.data.targets.forEach((function(t){t.values.forEach((function(t,i){var n=e[+t.x];void 0===n&&(n=i),t.index=n}))}))},isBubbleZType:function(t){return this.isBubbleType(t)&&(F(t.value)&&("z"in t.value||"y"in t.value)||M(t.value)&&2===t.value.length)}},Ct={load:function(t,e){var i=this,n=t;n&&(e.filter&&(n=n.filter(e.filter)),(e.type||e.types)&&n.forEach((function(t){var n=e.types&&e.types[t.id]||e.type;i.setTargetType(t.id,n)})),i.data.targets.forEach((function(t){for(var e=0;e<n.length;e++)if(t.id===n[e].id){t.values=n[e].values,n.splice(e,1);break}})),i.data.targets=i.data.targets.concat(n)),i.updateTargets(i.data.targets),i.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0,withLegend:!0}),i.updateTypesElements(),e.done&&e.done.call(i.api)},loadFromArgs:function(t){var e=this;if(e.config){e.cache.reset();var i=t.data||e.convertData(t,(function(i){return e.load(e.convertDataToTargets(i),t)}));i&&e.load(e.convertDataToTargets(i),t)}},unload:function(t,e){var i=this,n=i.state,a=i.$el,r=e,s=t;return i.cache.reset(),r||(r=function(){}),(s=s.filter((function(t){return i.hasTarget(i.data.targets,t)})))&&0!==s.length?(a.svg.selectAll(s.map((function(t){return i.selectorTarget(t)}))).transition().style("opacity","0").remove().call(j,r),s.forEach((function(t){n.withoutFadeIn[t]=!1,a.legend&&a.legend.selectAll("."+c.legendItem+i.getTargetSelectorSuffix(t)).remove(),i.data.targets=i.data.targets.filter((function(e){return e.id!==t}))})),void i.updateTypesElements()):void r()}},Et=i(6),Rt={selectRectForSingle:function(t,e,i){var n=this,a=n.config,r=n.$el.main,s=a.data_selection_enabled,l=a.data_selection_grouped,u=a.tooltip_grouped,d=n.getAllValuesOnIndex(i);u&&(n.showTooltip(d,t),n.showGridFocus&&n.showGridFocus(d),!s||l)||r.selectAll("."+c.shape+"-"+i).each((function(){Object(o.select)(this).classed(c.EXPANDED,!0),s&&e.style("cursor",l?"pointer":null),u||(n.hideGridFocus&&n.hideGridFocus(),n.hideTooltip(),!l&&n.expandCirclesBars(i))})).filter((function(t){return n.isWithinShape(this,t)})).call((function(r){var o=r.data();s&&(l||a.data_selection_isselectable.bind(n.api)(o))&&e.style("cursor","pointer"),u||(n.showTooltip(o,t),n.showGridFocus&&n.showGridFocus(o),n.unexpandCircles(),r.each((function(t){return n.expandCirclesBars(i,t.id)})))}))},expandCirclesBars:function(t,e,i){var n=this.config,a=this.$el,r=a.bar;a.circle&&n.point_focus_expand_enabled&&this.expandCircles(t,e,i),r&&this.expandBars(t,e,i)},setOverOut:function(t,e){var i=this,n=i.config,a=i.state.hasRadar,r=i.$el.main,s=F(e);if(s||-1!==e){var l=n[t?"data_onover":"data_onout"].bind(i.api);if(n.color_onover&&i.setOverColor(t,e,s),s)l(e,r.select("."+c.arc+i.getTargetSelectorSuffix(e.id)).node());else if(n.tooltip_grouped)t&&(n.point_focus_only&&a?i.showCircleFocus(i.getAllValuesOnIndex(e,!0)):i.expandCirclesBars(e,null,!0)),i.isMultipleX()||r.selectAll("."+c.shape+"-"+e).each((function(t){l(t,this)}));else{var u=i.cache.get(_t)||[],d=r.selectAll("."+c.shape+"-"+e).filter((function(t){return i.isWithinShape(this,t)}));d.each((function(t){var e=this;(0===u.length||u.every((function(t){return t!==e})))&&(l(t,this),u.push(this))})),u.length>0&&d.empty()&&(l=n.data_onout.bind(i.api),u.forEach((function(t){return l(Object(o.select)(t).datum(),t)})),u=[]),i.cache.add(_t,u)}}},callOverOutForTouch:function(t){var e=this.cache.get(yt);(F(t)&&e?t.id!==e.id:t!==e)&&((e||L(e))&&this.setOverOut(!1,e),(t||L(t))&&this.setOverOut(!0,t),this.cache.add(yt,t))},getDraggableSelection:function(){var t=this,e=t.config;return e.interaction_enabled&&e.data_selection_draggable&&t.drag?Object(Et.drag)().on("drag",(function(){t.drag(Object(o.mouse)(this))})).on("start",(function(){t.dragstart(Object(o.mouse)(this))})).on("end",(function(){t.dragend()})):function(){}},dispatchEvent:function(t,e,i){var n=this.state.hasRadar,a=this.$el,r=a.main,s=a.radar,o=this.isMultipleX(),l=n?"."+c.axis+"-"+e+" text":"."+(o?c.eventRect:c.eventRect+"-"+e),u=(n?s.axes:r).select(l).node(),d=u.getBoundingClientRect(),h=d.width,g=d.left,f=d.top,p=g+(i?i[0]:0)+(o||this.config.axis_rotated?0:h/2),x=f+(i?i[1]:0);rt[/^(mouse|click)/.test(t)?"mouse":"touch"](u,t,{screenX:p,screenY:x,clientX:p,clientY:x})}},Dt={generateClass:function(t,e){return" "+t+" "+(t+this.getTargetSelectorSuffix(e))},classText:function(t){return this.generateClass(c.text,t.index)},classTexts:function(t){return this.generateClass(c.texts,t.id)},classShape:function(t){return this.generateClass(c.shape,t.index)},classShapes:function(t){return this.generateClass(c.shapes,t.id)},generateExtraLineClass:function(){var t=this.config.line_classes||[],e=[];return function(i){var n=i.id||i.data&&i.data.id||i;return e.indexOf(n)<0&&e.push(n),t[e.indexOf(n)%t.length]}},classLine:function(t){return this.classShape(t)+this.generateClass(c.line,t.id)},classLines:function(t){return this.classShapes(t)+this.generateClass(c.lines,t.id)},classCircle:function(t){return this.classShape(t)+this.generateClass(c.circle,t.index)},classCircles:function(t){return this.classShapes(t)+this.generateClass(c.circles,t.id)},classBar:function(t){return this.classShape(t)+this.generateClass(c.bar,t.index)},classBars:function(t){return this.classShapes(t)+this.generateClass(c.bars,t.id)},classArc:function(t){return this.classShape(t.data)+this.generateClass(c.arc,t.data.id)},classArcs:function(t){return this.classShapes(t.data)+this.generateClass(c.arcs,t.data.id)},classArea:function(t){return this.classShape(t)+this.generateClass(c.area,t.id)},classAreas:function(t){return this.classShapes(t)+this.generateClass(c.areas,t.id)},classRegion:function(t,e){return this.generateClass(c.region,e)+" "+("class"in t?t.class:"")},classEvent:function(t){return this.generateClass(c.eventRect,t.index)},classTarget:function(t){var e=this.config.data_classes[t],i="";return e&&(i=" "+c.target+"-"+e),this.generateClass(c.target,t)+i},classFocus:function(t){return this.classFocused(t)+this.classDefocused(t)},classFocused:function(t){return" "+(this.state.focusedTargetIds.indexOf(t.id)>=0?c.focused:"")},classDefocused:function(t){return" "+(this.state.defocusedTargetIds.indexOf(t.id)>=0?c.defocused:"")},classChartText:function(t){return c.chartText+this.classTarget(t.id)},classChartLine:function(t){return c.chartLine+this.classTarget(t.id)},classChartBar:function(t){return c.chartBar+this.classTarget(t.id)},classChartArc:function(t){return c.chartArc+this.classTarget(t.data.id)},classChartRadar:function(t){return c.chartRadar+this.classTarget(t.id)},getTargetSelectorSuffix:function(t){return t||0===t?("-"+t).replace(/[\s?!@#$%^&*()_=+,.<>'":;\[\]\/|~`{}\\]/g,"-"):""},selectorTarget:function(t,e){var i=e||"",n=this.getTargetSelectorSuffix(t);return i+"."+(c.target+n)+", "+i+"."+(c.circles+n)},selectorTargets:function(t,e){var i=this,n=t||[];return n.length?n.map((function(t){return i.selectorTarget(t,e)})):null},selectorLegend:function(t){return"."+(c.legendItem+this.getTargetSelectorSuffix(t))},selectorLegends:function(t){var e=this;return t&&t.length?t.map((function(t){return e.selectorLegend(t)})):null}},It=i(7),Xt=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],Pt={getColorFromCss:function(){var t=gt,e=b.body,i=e[t];if(!i){var n=b.createElement("span");n.className=c.colorPattern,n.style.display="none",e.appendChild(n);var a=y.getComputedStyle(n).backgroundImage;n.parentNode.removeChild(n),a.indexOf(";")>-1&&(i=a.replace(/url[^#]*|["'()]|(\s|%20)/g,"").split(";").map((function(t){return t.trim().replace(/[\"'\s]/g,"")})).filter(Boolean),e[t]=i)}return i},generateColor:function(){var t=this,e=t.config,i=e.data_colors,n=e.data_color,a=[],r=z(e.color_pattern)?e.color_pattern:Object(It.scaleOrdinal)(t.getColorFromCss()||Xt).range(),s=r;if(S(e.color_tiles)){var c=e.color_tiles.bind(t.api)(),l=r.map((function(e,i){var n=e.replace(/[#\(\)\s,]/g,""),a=t.state.datetimeId+"-pattern-"+n+"-"+i;return function(t,e,i){var n=Object(o.select)(t.cloneNode(!0));return n.attr("id",i).insert("rect",":first-child").attr("width",n.attr("width")).attr("height",n.attr("height")).style("fill",e),{id:i,node:n.node()}}(c[i%c.length],e,a)}));r=l.map((function(t){return"url(#"+t.id+")"})),t.patterns=l}return function(o){var c,l=o.id||o.data&&o.data.id||o,u=t.isTypeOf(l,["line","spline","step"])||!e.data_types[l];return S(i[l])?c=i[l].bind(t.api)(o):i[l]?c=i[l]:(a.indexOf(l)<0&&a.push(l),c=u?s[a.indexOf(l)%s.length]:r[a.indexOf(l)%r.length],i[l]=c),S(n)?n.bind(t.api)(c,o):c}},generateLevelColor:function(){var t=this.config,e=t.color_pattern,i=t.color_threshold,n="value"===i.unit,a=i.max||100,r=i.values&&i.values.length?i.values:[];return z(i)?function(t){for(var i=n?t:100*t/a,s=e[e.length-1],o=0,c=r.length;o<c;o++)if(i<=r[o]){s=e[o];break}return s}:null},setOverColor:function(t,e){var i=this,n=i.config,a=i.$el.main,r=n.color_onover,s=t?r:i.color;F(s)?s=function(t){var e=t.id;return e in r?r[e]:i.color(e)}:O(s)?s=function(){return r}:S(r)&&(s=s.bind(i.api)),F(e)?a.selectAll("."+c.arc+i.getTargetSelectorSuffix(e.id)).style("fill",s(e)):a.selectAll("."+c.shape+"-"+e).style("fill",s)}},zt={AREA:"area",AREA_LINE_RANGE:"area-line-range",AREA_SPLINE:"area-spline",AREA_SPLINE_RANGE:"area-spline-range",AREA_STEP:"area-step",BAR:"bar",BUBBLE:"bubble",DONUT:"donut",GAUGE:"gauge",LINE:"line",PIE:"pie",RADAR:"radar",SCATTER:"scatter",SPLINE:"spline",STEP:"step"},Mt={Area:[zt.AREA,zt.AREA_SPLINE,zt.AREA_SPLINE_RANGE,zt.AREA_LINE_RANGE,zt.AREA_STEP],AreaRange:[zt.AREA_SPLINE_RANGE,zt.AREA_LINE_RANGE],Arc:[zt.PIE,zt.DONUT,zt.GAUGE,zt.RADAR],Line:[zt.LINE,zt.SPLINE,zt.AREA,zt.AREA_SPLINE,zt.AREA_SPLINE_RANGE,zt.AREA_LINE_RANGE,zt.STEP,zt.AREA_STEP],Step:[zt.STEP,zt.AREA_STEP],Spline:[zt.SPLINE,zt.AREA_SPLINE,zt.AREA_SPLINE_RANGE]},Ft={getYDomainMinMax:function(t,e){var i=this,n=i.axis,a=i.config,r="min"===e,s=a.data_groups,o=i.mapToIds(t),c=i.getValuesAsIdKeyed(t);return s.length>0&&function(){for(var e,a=i["has"+(r?"Negative":"Positive")+"ValueInTargets"](t),l=function(t,i){if(0===(i=i.filter((function(t){return o.indexOf(t)>=0}))).length)return e=i,"continue";var s=i[0],l=n.getId(s);a&&c[s]&&(c[s]=c[s].map((function(t){return(r?t<0:t>0)?t:0})));for(var u,d=function(t,e){if(!c[e])return"continue";var i=n.getId(e);c[e].forEach((function(t,e){var n=+t;i!==l||a&&(r?n>0:n<0)||(c[s][e]+=n)}))},h=1;u=i[h];h++)d(0,u);e=i},u=0;e=s[u];u++)l(0,e)}(),nt(e,Object.keys(c).map((function(t){return nt(e,c[t])})))},getYDomainMin:function(t){return this.getYDomainMinMax(t,"min")},getYDomainMax:function(t){return this.getYDomainMinMax(t,"max")},isHiddenTargetWithYDomain:function(t){var e=this;return e.state.hiddenTargetIds.some((function(i){return e.axis.getId(i)===t}))},getYDomain:function(t,e,i){var n=this,a=n.axis,r=n.config,s=n.scale,o="axis_"+e;if(n.isStackNormalized())return[0,100];var c=t.filter((function(t){return a.getId(t.id)===e})),l=i?n.filterByXDomain(c,i):c;if(0===l.length)return n.isHiddenTargetWithYDomain(e)?s[e].domain():"y2"===e?s.y.domain():n.getYDomain(t,"y2",i);var u=r[o+"_min"],d=r[o+"_max"],h=n.getYDomainMin(l),g=n.getYDomainMax(l),f=r[o+"_center"],p=[zt.BAR,zt.BUBBLE,zt.SCATTER].concat(Mt.Line).some((function(t){var e=t.indexOf("area")>-1?"area":t;return n.hasType(t,l)&&r[e+"_zerobased"]})),x=r[o+"_inverted"],v=n.hasDataLabel()&&r.axis_rotated,m=n.hasDataLabel()&&!r.axis_rotated;h=A(u)?u:A(d)?h<d?h:d-10:h,g=A(d)?d:A(u)?u<g?g:u+10:g,isNaN(h)&&(h=0),isNaN(g)&&(g=h),h===g&&(h<0?g=0:h=0);var _=h>=0&&g>=0,y=h<=0&&g<=0;(A(u)&&_||A(d)&&y)&&(p=!1),p&&(_&&(h=0),y&&(g=0));var b=Math.abs(g-h),T={top:.1*b,bottom:.1*b};if(C(f)){var w=Math.max(Math.abs(h),Math.abs(g));g=f+w,h=f-w}if(v){var S=I(s.y.range()),O=n.getDataLabelLength(h,g,"width").map((function(t){return t/S}));["bottom","top"].forEach((function(t,e){T[t]+=b*(O[e]/(1-O[0]-O[1]))}))}else if(m){var L=n.getDataLabelLength(h,g,"height");["bottom","top"].forEach((function(t,e){T[t]+=a.convertPixelsToAxisPadding(L[e],b)}))}var k=r[o+"_padding"];z(k)&&["bottom","top"].forEach((function(t){T[t]=a.getPadding(k,t,T[t],b)})),p&&(_&&(T.bottom=h),y&&(T.top=-g));var E=[h-T.bottom,g+T.top];return x?E.reverse():E},getXDomainMinMax:function(t,e){var i=this.config["axis_x_"+e],n=nt(e,t.map((function(t){return nt(e,t.values.map((function(t){return t.x})))}))),a=F(i)?i.value:i;return a=C(a)&&this.axis.isTimeSeries()?ot(a):a,F(i)&&i.fit&&("min"===e&&a<n||"max"===e&&a>n)&&(a=void 0),C(a)?a:n},getXDomainMin:function(t){return this.getXDomainMinMax(t,"min")},getXDomainMax:function(t){return this.getXDomainMinMax(t,"max")},getXDomainPadding:function(t){var e,i,n=this.axis,a=this.config,r=t[1]-t[0],s=a.axis_x_padding;n.isCategorized()?i=0:this.hasType("bar")?i=(e=this.getMaxDataCount())>1?r/(e-1)/2:.5:i=.01*r;var o=i,c=i;return F(s)&&z(s)?(o=A(s.left)?s.left:i,c=A(s.right)?s.right:i):L(a.axis_x_padding)&&(o=s,c=s),{left:o,right:c}},getXDomain:function(t){var e=this,i=e.axis.isCategorized(),n=e.axis.isTimeSeries(),a=[e.getXDomainMin(t),e.getXDomainMax(t)],r=e.getXDomainPadding(a),s=a[0],o=a[1],c=0,l=0;return s-o!=0||i||(n?(s=new Date(.5*s.getTime()),o=new Date(1.5*o.getTime())):(s=0===s?1:.5*s,o=0===o?-1:1.5*o)),(s||0===s)&&(c=n?new Date(s.getTime()-r.left):s-r.left),(o||0===o)&&(l=n?new Date(o.getTime()+r.right):o+r.right),[c,l]},updateXDomain:function(t,e,i,n,a){var r=this,s=r.config,o=r.org,c=r.scale,l=c.x,u=c.subX,d=s.zoom_enabled;if(i&&(l.domain(a||it(r.getXDomain(t))),o.xDomain=l.domain(),d&&r.zoom.updateScaleExtent(),u.domain(l.domain()),r.brush&&r.brush.scale(u)),e){var h=a||!r.brush||U(r)?o.xDomain:V(r).map(u.invert);l.domain(h),d&&r.zoom.updateScaleExtent()}return n&&l.domain(r.trimXDomain(l.orgDomain())),l.domain()},trimXDomain:function(t){var e=this.getZoomDomain(),i=e[0],n=e[1];return t[0]<=i&&(t[1]=+t[1]+(i-t[0]),t[0]=i),n<=t[1]&&(t[0]=+t[0]-(t[1]-n),t[1]=n),t}};function Bt(t,e,i){var n=t.config,a="axis_"+e+"_tick_format";return(n[a]?n[a]:t.defaultValueFormat)(i)}var $t={getYFormat:function(t){var e=this,i=e.yFormat,n=e.y2Format;return t&&!e.hasType("gauge")&&(i=e.defaultArcValueFormat,n=e.defaultArcValueFormat),function(t,a,r){return(e.axis&&"y2"===e.axis.getId(r)?n:i).call(e,t,a)}},yFormat:function(t){return Bt(this,"y",t)},y2Format:function(t){return Bt(this,"y2",t)},defaultValueFormat:function(t){return A(t)?+t:""},defaultArcValueFormat:function(t,e){return(100*e).toFixed(1)+"%"},dataLabelFormat:function(t){var e=this.config.data_labels,i=function(t){return A(t)?+t:""},n=i;return S(e.format)?n=e.format:X(e.format)&&(n=e.format[t]?!0===e.format[t]?i:e.format[t]:function(){return""}),n.bind(this.api)}},jt={initLegend:function(){var t=this,e=t.config,i=t.$el;t.legendItemTextBox={},t.state.legendHasRendered=!1,e.legend_show?(!e.legend_contents_bindto&&(i.legend=t.$el.svg.append("g").classed(c.legend,!0).attr("transform",t.getTranslate("legend"))),t.updateLegend()):t.state.hiddenLegendIds=t.mapToIds(t.data.targets)},updateLegend:function(t,e,i){var n=this,a=n.config,r=n.state,s=n.scale,o=n.$el,l=e||{withTransform:!1,withTransitionForTransform:!1,withTransition:!1};l.withTransition=B(l,"withTransition",!0),l.withTransitionForTransform=B(l,"withTransitionForTransform",!0),a.legend_contents_bindto&&a.legend_contents_template?n.updateLegendTemplate():n.updateLegendElement(t||n.mapToIds(n.data.targets),l,i),o.legend.selectAll("."+c.legendItem).classed(c.legendItemHidden,(function(t){return!n.isTargetToShow(t)})),n.updateScales(!1,!s.zoom),n.updateSvgSize(),n.transformAll(l.withTransitionForTransform,i),r.legendHasRendered=!0},updateLegendTemplate:function(){var t=this,e=t.config,i=t.$el,n=Object(o.select)(e.legend_contents_bindto),a=e.legend_contents_template;if(!n.empty()){var r=t.mapToIds(t.data.targets),s=[],c="";r.forEach((function(e){var i=S(a)?a.bind(t.api)(e,t.color(e),t.api.data(e)[0].values):st(a,{COLOR:t.color(e),TITLE:e});i&&(s.push(e),c+=i)}));var l=n.html(c).selectAll((function(){return this.childNodes})).data(s);t.setLegendItem(l),i.legend=n}},updateSizeForLegend:function(t){var e=this,i=e.config,n=e.state,a=n.isLegendTop,r=n.isLegendLeft,s=n.isLegendRight,o=n.isLegendInset,c=n.current,l=t.width,u=t.height,d={top:a?e.getCurrentPaddingTop()+i.legend_inset_y+5.5:c.height-u-e.getCurrentPaddingBottom()-i.legend_inset_y,left:r?e.getCurrentPaddingLeft()+i.legend_inset_x+.5:c.width-l-e.getCurrentPaddingRight()-i.legend_inset_x+.5};e.state.margin3={top:s?0:o?d.top:c.height-u,right:NaN,bottom:0,left:s?c.width-l:o?d.left:0}},transformLegend:function(t){var e=this.$el.legend;(t?e.transition():e).attr("transform",this.getTranslate("legend"))},updateLegendStep:function(t){this.state.legendStep=t},updateLegendItemWidth:function(t){this.state.legendItemWidth=t},updateLegendItemHeight:function(t){this.state.legendItemHeight=t},updateLegendItemColor:function(t,e){this.$el.legend.select("."+c.legendItem+"-"+t+" line").style("stroke",e)},getLegendWidth:function(){var t=this.state,e=t.current.width,i=t.isLegendRight,n=t.isLegendInset,a=t.legendItemWidth,r=t.legendStep;return this.config.legend_show?i||n?a*(r+1):e:0},getLegendHeight:function(){var t=this.state,e=t.current,i=t.isLegendRight,n=t.legendItemHeight,a=t.legendStep;return this.config.legend_show?i?e.height:Math.max(20,n)*(a+1):0},opacityForLegend:function(t){return t.classed(c.legendItemHidden)?null:"1"},opacityForUnfocusedLegend:function(t){return t.classed(c.legendItemHidden)?null:"0.3"},t