billboard.js
Version:
Re-usable easy interface JavaScript chart library, based on D3 v4+
10 lines • 228 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 3.3.3
*/
!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e(require("d3-axis"),require("d3-brush"),require("d3-drag"),require("d3-dsv"),require("d3-ease"),require("d3-interpolate"),require("d3-scale"),require("d3-selection"),require("d3-shape"),require("d3-time-format"),require("d3-transition"),require("d3-zoom"));else if("function"==typeof define&&define.amd)define(["d3-axis","d3-brush","d3-drag","d3-dsv","d3-ease","d3-interpolate","d3-scale","d3-selection","d3-shape","d3-time-format","d3-transition","d3-zoom"],e);else{var i="object"==typeof exports?e(require("d3-axis"),require("d3-brush"),require("d3-drag"),require("d3-dsv"),require("d3-ease"),require("d3-interpolate"),require("d3-scale"),require("d3-selection"),require("d3-shape"),require("d3-time-format"),require("d3-transition"),require("d3-zoom")):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);for(var n in i)("object"==typeof exports?exports:t)[n]=i[n]}}(this,(function(t,e,i,n,a,r,s,o,l,c,u,d){return function(){"use strict";var h=[,,function(t){t.exports=o},function(t){t.exports=e},function(t){t.exports=c},function(t){t.exports=n},function(t){t.exports=s},function(t){t.exports=i},function(t){t.exports=u},function(t){t.exports=l},function(e){e.exports=t},function(t){t.exports=a},function(t){t.exports=r},function(t){t.exports=d}],g={};function f(t){var e=g[t];if(void 0!==e)return e.exports;var i=g[t]={exports:{}};return h[t](i,i.exports,f),i.exports}f.d=function(t,e){for(var i in e)f.o(e,i)&&!f.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},f.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},f.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var p={};return function(){f.r(p),f.d(p,{bb:function(){return On},default:function(){return On}});var t={};f.r(t),f.d(t,{area:function(){return Zi},areaLineRange:function(){return qi},areaSpline:function(){return Ki},areaSplineRange:function(){return Ji},areaStep:function(){return Qi},bar:function(){return ln},bubble:function(){return cn},candlestick:function(){return un},donut:function(){return an},gauge:function(){return rn},line:function(){return tn},pie:function(){return sn},radar:function(){return on},scatter:function(){return dn},spline:function(){return en},step:function(){return nn}});var e={};f.r(e),f.d(e,{selection:function(){return Sn},subchart:function(){return Cn},zoom:function(){return En}});var i=f(4),n=f(2),a="object"==typeof globalThis&&null!==globalThis&&globalThis.Object===Object&&globalThis||"object"==typeof global&&null!==global&&global.Object===Object&&global||"object"==typeof self&&null!==self&&self.Object===Object&&self||Function("return this")();a.requestIdleCallback=a.requestIdleCallback||function(t){return setTimeout(t,1)},a.cancelIdleCallback=a.cancelIdleCallback||function(t){return clearTimeout(t)};var r=null==a?void 0:a.document,s={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",CANDLESTICK:"candlestick",DONUT:"donut",GAUGE:"gauge",LINE:"line",PIE:"pie",RADAR:"radar",SCATTER:"scatter",SPLINE:"spline",STEP:"step"},o={AREA:"initArea",AREA_LINE_RANGE:"initArea",AREA_SPLINE:"initArea",AREA_SPLINE_RANGE:"initArea",AREA_STEP:"initArea",BAR:"initBar",BUBBLE:"initCircle",CANDLESTICK:"initCandlestick",DONUT:"initArc",GAUGE:"initArc",LINE:"initLine",PIE:"initArc",RADAR:"initCircle",SCATTER:"initCircle",SPLINE:"initLine",STEP:"initLine"},l={Area:[s.AREA,s.AREA_SPLINE,s.AREA_SPLINE_RANGE,s.AREA_LINE_RANGE,s.AREA_STEP],AreaRange:[s.AREA_SPLINE_RANGE,s.AREA_LINE_RANGE],Arc:[s.PIE,s.DONUT,s.GAUGE,s.RADAR],Line:[s.LINE,s.SPLINE,s.AREA,s.AREA_SPLINE,s.AREA_SPLINE_RANGE,s.AREA_LINE_RANGE,s.STEP,s.AREA_STEP],Step:[s.STEP,s.AREA_STEP],Spline:[s.SPLINE,s.AREA_SPLINE,s.AREA_SPLINE_RANGE]};function c(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}var u=f(3);function d(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 h(t){for(var e,i=1;i<arguments.length;i++)e=null!=arguments[i]?arguments[i]:{},i%2?d(Object(e),!0).forEach((function(i){c(t,i,e[i])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):d(Object(e)).forEach((function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(e,i))}));return t}var g=function(t){return t||0===t},v=function(t){return"function"==typeof t},x=function(t){return"string"==typeof t},_=function(t){return"number"==typeof t},m=function(t){return void 0===t},y=function(t){return void 0!==t},b=function(t){return"boolean"==typeof t},T=function(t){return 10*Math.ceil(t/10)},w=function(t){return Math.ceil(t)+.5},A=function(t){return t[1]-t[0]},k=function(t){return"object"==typeof t},S=function(t){return m(t)||null===t||x(t)&&0===t.length||k(t)&&!(t instanceof Date)&&0===Object.keys(t).length||_(t)&&isNaN(t)},C=function(t){return!S(t)},E=function(t){return Array.isArray(t)},R=function(t){return t&&!(null!=t&&t.nodeType)&&k(t)&&!E(t)};function O(t,e,i){return y(t[e])?t[e]:i}function L(t,e){for(var i=v(t),n=arguments.length,a=Array(n>2?n-2:0),r=2;r<n;r++)a[r-2]=arguments[r];return i&&t.call.apply(t,[e].concat(a)),i}function D(t,e){var i=0,n=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))};"duration"in t?t.each((function(){return++i})).on("end",n):(++i,t.call(n))}function I(t){return x(t)?t.replace(/</g,"<").replace(/>/g,">"):t}function P(t,e,i,n){if(void 0===i&&(i=[-1,1]),void 0===n&&(n=!1),t&&x(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 z(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 M(t,e){var i,a=t&&(null==(i=t.touches||t.sourceEvent&&t.sourceEvent.touches)?void 0:i[0]);return(0,n.pointer)(a||t,e).map((function(t){return isNaN(t)?0:t}))}function X(t){var e,i=t.event,n=t.$el,a=n.subchart.main||n.main;return i&&"brush"===i.type?e=i.selection:a&&(e=a.select(".bb-brush").node())&&(e=(0,u.brushSelection)(e)),e}function $(t){return!("rect"in t)||"rect"in t&&t.hasAttribute("width")&&t.rect.width!==+t.getAttribute("width")?t.rect=t.getBoundingClientRect():t.rect}function F(t,e,i){void 0===t&&(t=!0),void 0===e&&(e=0),void 0===i&&(i=1e4);var n=Math.floor(Math.random()*(i-e)+e);return t?n+"":n}function B(t,e,i,n,a){if(i>n)return-1;var r=Math.floor((i+n)/2),s=t[r],o=s.x,l=s.w,c=void 0===l?0:l;return a&&(o=t[r].y,c=t[r].h),e>=o&&e<=o+c?r:e<o?B(t,e,i,r-1,a):B(t,e,r+1,n,a)}function N(t){var e=X(t);return!e||e[0]===e[1]}function Y(t,e){for(var i in void 0===t&&(t={}),E(e)&&e.forEach((function(e){return Y(t,e)})),e)/^\d+$/.test(i)||i in t||(t[i]=e[i]);return t}var G=function(t){return t.charAt(0).toUpperCase()+t.slice(1)};var j=function(t){return[].slice.call(t)};function V(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 H(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 W(t){return t&&t.length?t.reduce((function(t,e){return t.concat(e)})):[]}function U(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 R(t)&&R(a)&&Object.keys(a).forEach((function(e){var i=a[e];R(i)?(t[e]||(t[e]={}),t[e]=U(t[e],i)):t[e]=E(i)?i.concat():i})),U.apply(void 0,[t].concat(i))}function Z(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 q(t,e){var i=e.filter((function(t){return C(t)}));return i.length?_(i[0])?i=Math[t].apply(Math,i):i[0]instanceof Date&&(i=Z(i,"min"===t)[0]):i=void 0,i}var K=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},J={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=r.createEvent("MouseEvent");n.initMouseEvent(e,i.bubbles,i.cancelable,a,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(U({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 Q(t,e){var i=t;for(var n in e)i=i.replace(new RegExp("{="+n+"}","g"),e[n]);return i}function tt(t){var e;if(t instanceof Date)e=t;else if(x(t)){var i=this.config;e=this.format.dataTime(i.data_xFormat)(t)}else _(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 et(){return!r.hidden}function it(t){var e,i=t,n=i.config,r="";if(S(n.data_type||n.data_types)&&!i[o.LINE])r="line";else for(var l in o){var c=s[l];if(i.hasType(c)&&!i[o[l]]){r=c;break}}r&&function(t,e){var i,n="[billboard.js]";(null==(i=a.console)?void 0:i.error)&&(console.error("❌ "+n+" "+t,"background:red;color:white;display:block;font-size:15px",e),console.info("%cℹ️","font-size:15px","https://github.com/naver/billboard.js/wiki/CHANGELOG-v2#modularization-by-its-functionality"));throw Error(n+" "+t.replace(/\%c([a-z-]+)/i,"'$1' ")+" "+e)}("Please, make sure if %c"+(void 0===e&&(e="-"),r.split(e).map((function(t,e){return e?t.charAt(0).toUpperCase()+t.slice(1).toLowerCase():t.toLowerCase()})).join("")),"module has been imported and specified correctly.")}function nt(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 at(t){for(var e,i=1;i<arguments.length;i++)e=null!=arguments[i]?arguments[i]:{},i%2?nt(Object(e),!0).forEach((function(i){c(t,i,e[i])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):nt(Object(e)).forEach((function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(e,i))}));return t}var rt={button:"bb-button",chart:"bb-chart",empty:"bb-empty",main:"bb-main",target:"bb-target",EXPANDED:"_expanded_"},st={arc:"bb-arc",arcLabelLine:"bb-arc-label-line",arcs:"bb-arcs",chartArc:"bb-chart-arc",chartArcs:"bb-chart-arcs",chartArcsBackground:"bb-chart-arcs-background",chartArcsTitle:"bb-chart-arcs-title"},ot={area:"bb-area",areas:"bb-areas"},lt={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"},ct={bar:"bb-bar",bars:"bb-bars",chartBar:"bb-chart-bar",chartBars:"bb-chart-bars"},ut={candlestick:"bb-candlestick",candlesticks:"bb-candlesticks",chartCandlestick:"bb-chart-candlestick",chartCandlesticks:"bb-chart-candlesticks",valueDown:"bb-value-down",valueUp:"bb-value-up"},dt={chartCircles:"bb-chart-circles",circle:"bb-circle",circles:"bb-circles"},ht={colorPattern:"bb-color-pattern",colorScale:"bb-colorscale"},gt={dragarea:"bb-dragarea",INCLUDED:"_included_"},ft={chartArcsGaugeMax:"bb-chart-arcs-gauge-max",chartArcsGaugeMin:"bb-chart-arcs-gauge-min",chartArcsGaugeUnit:"bb-chart-arcs-gauge-unit",chartArcsGaugeTitle:"bb-chart-arcs-gauge-title",gaugeValue:"bb-gauge-value"},pt={legend:"bb-legend",legendBackground:"bb-legend-background",legendItem:"bb-legend-item",legendItemEvent:"bb-legend-item-event",legendItemHidden:"bb-legend-item-hidden",legendItemPoint:"bb-legend-item-point",legendItemTile:"bb-legend-item-tile"},vt={chartLine:"bb-chart-line",chartLines:"bb-chart-lines",line:"bb-line",lines:"bb-lines"},xt={eventRect:"bb-event-rect",eventRects:"bb-event-rects",eventRectsMultiple:"bb-event-rects-multiple",eventRectsSingle:"bb-event-rects-single"},_t={focused:"bb-focused",defocused:"bb-defocused",legendItemFocused:"bb-legend-item-focused",xgridFocus:"bb-xgrid-focus",ygridFocus:"bb-ygrid-focus"},mt={grid:"bb-grid",gridLines:"bb-grid-lines",xgrid:"bb-xgrid",xgridLine:"bb-xgrid-line",xgridLines:"bb-xgrid-lines",xgrids:"bb-xgrids",ygrid:"bb-ygrid",ygridLine:"bb-ygrid-line",ygridLines:"bb-ygrid-lines",ygrids:"bb-ygrids"},yt={chartRadar:"bb-chart-radar",chartRadars:"bb-chart-radars",level:"bb-level",levels:"bb-levels"},bt={region:"bb-region",regions:"bb-regions"},Tt={selectedCircle:"bb-selected-circle",selectedCircles:"bb-selected-circles",SELECTED:"_selected_"},wt={shape:"bb-shape",shapes:"bb-shapes"},At={brush:"bb-brush",subchart:"bb-subchart"},kt={chartText:"bb-chart-text",chartTexts:"bb-chart-texts",text:"bb-text",texts:"bb-texts",title:"bb-title",TextOverlapping:"text-overlapping"},St={tooltip:"bb-tooltip",tooltipContainer:"bb-tooltip-container",tooltipName:"bb-tooltip-name"},Ct={buttonZoomReset:"bb-zoom-reset",zoomBrush:"bb-zoom-brush"},Et=at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at(at({},rt),st),ot),lt),ct),ut),dt),ht),gt),ft),pt),vt),xt),_t),mt),yt),bt),Tt),wt),At),kt),St),Ct),Rt={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,candlestick: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,zoomResetBtn: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,eventReceiver:{currentIdx:-1,rect:{},data:[],coords:[]},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:""},event:null,dragStart:null,dragging:!1,flowing:!1,cancelClick:!1,mouseover:!1,rendered:!1,transiting:!1,redrawing:!1,resizing:!1,toggling:!1,zooming:!1,hasNegativeValue:!1,hasPositiveValue:!0,orgAreaOpacity:"0.2",hiddenTargetIds:[],hiddenLegendIds:[],focusedTargetIds:[],defocusedTargetIds:[],radius:0,innerRadius:0,outerRadius:void 0,innerRadiusRatio:0,gaugeArcWidth:0,radiusExpanded:0,xgridAttr:{x1:null,x2:null,y1:null,y2:null}}}},Ot=function(){function t(){var t=this;Object.keys(Rt).forEach((function(e){t[e]=new Rt[e]}))}return t.prototype.getStore=function(t){return this[t]},t}(),Lt={bindto:"#chart",background:{},clipPath:!0,svg_classname:void 0,size_width:void 0,size_height:void 0,padding:!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:250,plugins:[],render:{},regions:[]},Dt={data_x:void 0,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_backgroundColors:void 0,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_onshown:void 0,data_onhidden:void 0,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:""},It={color_pattern:[],color_tiles:void 0,color_threshold:{},color_onover:void 0},Pt={interaction_enabled:!0,interaction_brighten:!0,interaction_inputType_mouse:!0,interaction_inputType_touch:{}},zt={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},Mt={title_text:void 0,title_padding:{top:0,right:0,bottom:0,left:0},title_position:"center"},Xt={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};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 Ft(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){c(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 Bt=function(){function t(){return function(){for(var t=function(e){if(R(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 h(h({},t),e)}))}(Lt,Dt,It,Pt,zt,Mt,Xt,t.data)}return t.setOptions=function(t){this.data=t.reduce((function(t,e){return Ft(Ft({},t),e)}),this.data)},t}();Bt.data={};var Nt="$baseLength",Yt="__colorPattern__",Gt="$dataMinMax",jt="$dataTotalSum",Vt="$totalPerIndex",Ht="legendItemTextBox",Wt="$radarPoints",Ut="setOverOut",Zt="callOverOutForTouch",qt="textRect",Kt=function(){function t(){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;j(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 g(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}(),Jt=a.setTimeout,Qt=a.clearTimeout;function te(){var t=[],e=function(e,i){var n;!function e(){for(var a,r=0,s=0;a=t[s];s++)if(!0===a||null!=a.empty&&a.empty())r++;else try{a.transition()}catch(t){r++}n&&Qt(n),r===t.length?null==i||i():n=Jt(e,50)}()};return e.add=function(e){E(e)?t=t.concat(e):t.push(e)},e}var ee=f(5),ie={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 E(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"+G(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:ee.csvParseRows,parse:ee.csvParse},t)},convertTsvToData:function(t){return this.convertCsvTsvToData({rows:ee.tsvParseRows,parse:ee.tsvParse},t)},convertJsonToData:function(t,e){var i,n,a=this,r=this.config,s=[];if(E(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 m(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(m(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(m(e[a-1])&&(e[a-1]={}),m(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,l=!1,c=!1;a&&(o=a.isCategorized(),l=a.isTimeSeries(),c=a.isCustomX());var u,d=Object.keys(t[0]||{}),h=d.length?d.filter(n.isNotX,n):[],f=d.length?d.filter(n.isX,n):[];h.forEach((function(a){var s=i.getXKey(a);c||l?f.indexOf(s)>=0?u=(e&&n.data.xs[a]||[]).concat(t.map((function(t){return t[s]})).filter(g).map((function(t,e){return n.generateTargetX(t,a,e)}))):r.data_x?u=i.getOtherTargetXs():C(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 p=h.map((function(e,i){var a=r.data_idConverter.bind(n.api)(e),l=n.getXKey(e),u=c&&o,d=u&&t.map((function(t){return t.x})).every((function(t){return r.axis_x_categories.indexOf(t)>-1})),h=t.__append__,g=null===l&&h?n.api.data.values(e).length:0;return{id:a,id_org:e,values:t.map((function(t,o){var c,f=t[l],p=t[e];return p=null===p||isNaN(p)||R(p)?E(p)||R(p)?p:null:+p,!u&&!s.hasRadar||0!==i||m(f)?c=n.generateTargetX(f,e,g+o):(d||0!==i||0!==o||h||(r.axis_x_categories=[]),-1===(c=r.axis_x_categories.indexOf(f))&&(c=r.axis_x_categories.length,r.axis_x_categories.push(f))),(m(p)||n.data.xs[e].length<=o)&&(c=void 0),{x:c,value:p,id:a}})).filter((function(t){return y(t.x)}))}}));return p.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(p),s.hasPositiveValue=n.hasPositiveValueInTargets(p),r.data_type&&n.setTargetType(n.mapToIds(p).filter((function(t){return!(t in r.data_types)})),r.data_type),p.forEach((function(t){return n.cache.add(t.id_org,t,!0)})),p}},ne={isX:function(t){var e,i,n,a=this.config,r=a.data_x&&t===a.data_x,s=C(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){var e=this.config.data_groups;return t?e.some((function(e){return e.indexOf(t)>=0&&e.length>1})):e.length>0},getXKey:function(t){var e=this.config;return e.data_x?e.data_x:C(e.data_xs)?e.data_xs[t]:null},getXValuesOfXKey:function(t,e){var i,n=this;return(e&&C(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(x(t)?t:+t):(this.filterByX(this.data.targets,t)[0]||{index:null}).index},getXValue:function(t,e){var i=this;return t in i.data.xs&&i.data.xs[t]&&g(i.data.xs[t][e])?i.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 C(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?e:t.id),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 t&&"value"in t&&g(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,a,r,s,o=this,l=o.axis,c=null!=(n=l)&&n.isCategorized()?i:t||i;if(null!=(a=l)&&a.isTimeSeries()){var u=tt.bind(o);c=u(t||o.getXValue(e,i))}else null==(r=l)||!r.isCustomX()||null!=(s=l)&&s.isCategorized()||(c=g(t)?+t:o.getXValue(e,i));return c},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 y(e)?e:null},getNextX:function(t){var e=this.axis.xs[t+1];return y(e)?e:null},getBaseValue:function(t){var e=this,i=e.state.hasAxis,n=t.value;return n&&i&&(e.isAreaRangeType(t)?n=e.getRangedData(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(_);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=Gt,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=this,e=Vt,i=t.cache.get(e);return t.isStackNormalized()&&!i&&(i=[],t.data.targets.forEach((function(t){t.values.forEach((function(t,e){i[e]||(i[e]=0),i[e]+=_(t.value)?t.value:0}))}))),i},getTotalDataSum:function(t){var e=this,i=jt,n=e.cache.get(i);if(!_(n)){var a=W(e.data.targets.map((function(t){return t.values}))).map((function(t){return t.value})).reduce((function(t,e){return t+e}));e.cache.add(i,n=a)}return t&&(n-=e.getHiddenTotalDataSum()),n},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=Z(H(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?E(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,i=this.axis,n=[];null!=t&&t.length&&(n=H(W(t.map((function(t){return t.values.map((function(t){return+t.x}))})))),n=null!=(e=i)&&e.isTimeSeries()?n.map((function(t){return new Date(+t)})):n.map(Number));return Z(n)},addTargetIds:function(t,e){var i=this.state;(E(e)?e:[e]).forEach((function(e){i[t].indexOf(e)<0&&i[t].push(e)}))},removeTargetIds:function(t,e){var i=this.state;(E(e)?e:[e]).forEach((function(e){var n=i[t].indexOf(e);n>=0&&i[t].splice(n,1)}))},addHiddenTargetIds:function(t){this.addTargetIds("hiddenTargetIds",t)},removeHiddenTargetIds:function(t){this.removeTargetIds("hiddenTargetIds",t)},addHiddenLegendIds:function(t){this.addTargetIds("hiddenLegendIds",t)},removeHiddenLegendIds:function(t){this.removeTargetIds("hiddenLegendIds",t)},getValuesAsIdKeyed:function(t){var e=this,i=e.state.hasAxis,n={},a=e.isMultipleX(),r=a?e.mapTargetsToUniqueXs(t).map((function(t){return x(t)?t:+t})):null;return t.forEach((function(t){var s=[];t.values.filter((function(t){var e=t.value;return g(e)||null===e})).forEach((function(t){var n=t.value;null!==n&&e.isCandlestickType(t)&&(n=E(n)?n.slice(0,4):[n.open,n.high,n.low,n.close]),E(n)?s.push.apply(s,n):R(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}))},orderTargets:function(t){var e=[].concat(t),i=this.getSortCompareFn();return i&&e.sort(i),e},getSortCompareFn:function(t){void 0===t&&(t=!1);var e,i=this.config.data_order,n=/asc/i.test(i),a=/desc/i.test(i);if(n||a){var r=function(t,e){return t+Math.abs(e.value)};e=function(e,i){var a="values"in e?e.values.reduce(r,0):e.value,s="values"in i?i.values.reduce(r,0):i.value;return t?n?a-s:s-a:n?s-a:a-s}}else v(i)&&(e=i.bind(this.api));return e||null},filterByX:function(t,e){return W(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 g(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 b(t)&&t||k(t)&&C(t)},getDataIndexFromEvent:function(t){var e=this.config,i=this.state,n=i.inputType,a=i.eventReceiver,r=a.coords,s=a.rect,o=e.axis_rotated,l="touch"===n&&t.changedTouches?t.changedTouches[0]:t;return B(r,o?l.clientY-s.top:l.clientX-s.left,0,r.length-1,o)},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&&g(t.value)})),o=a.point_sensitivity;return s.filter((function(t){return n.isBarType(t.id)||n.isCandlestickType(t.id)})).forEach((function(t){var e=n.isBarType(t.id)?"."+ct.chartBar+"."+rt.target+n.getTargetSelectorSuffix(t.id)+" ."+ct.bar+"-"+t.index:"."+ut.chartCandlestick+"."+rt.target+n.getTargetSelectorSuffix(t.id)+" ."+ut.candlestick+"-"+t.index+" path";!i&&n.isWithinBar(r.select(e).node())&&(i=t)})),s.filter((function(t){return!n.isBarType(t.id)&&!n.isCandlestickType(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,n=i.config.axis_rotated,a=i.scale,r=n?1:0,s=n?0:1,o=i.circleY(t,t.index),l=(a.zoom||a.x)(t.x);return Math.sqrt(Math.pow(l-e[r],2)+Math.pow(o-e[s],2))},convertValuesToStep:function(t){var e=this.axis,i=this.config.line_step_type,n=!!e&&e.isCategorized(),a=E(t)?t.concat():[t];if(!n&&!/step\-(after|before)/.test(i))return t;var r=a[0],s=a[a.length-1],o=r.id,l=r.x;return a.unshift({x:--l,value:r.value,id:o}),n&&"step-after"===i&&a.unshift({x:--l,value:r.value,id:o}),l=s.x,a.push({x:++l,value:s.value,id:o}),n&&"step-before"===i&&a.push({x:++l,value:s.value,id:o}),a},convertValuesToRange:function(t){var e=E(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 m(e)||(Object.keys(e).forEach((function(t){i[t]=e[t]})),this.redraw({withLegend:!0})),i},getRangedData:function(t,e,i){void 0===e&&(e=""),void 0===i&&(i="areaRange");var n=null==t?void 0:t.value;if(E(n)){var a={areaRange:["high","mid","low"],candlestick:["open","high","low","close","volume"]}[i].indexOf(e);return a>=0&&n?n[a]:void 0}return n?n[e]:n},getRatio:function(t,e,i){void 0===i&&(i=!1);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)if(n.pie.padAngle()())o=e.value/n.getTotalDataSum(!0);else{var l=a.gauge_fullCircle?n.getArcLength():-2*n.getStartAngle(),c=n.hasType("gauge")?l:2*Math.PI;o=(e.endAngle-e.startAngle)/c}else if("index"===t){var u=s.data.values.bind(s),d=this.getTotalPerIndex();if(r.hiddenTargetIds.length){var h=u(r.hiddenTargetIds,!1);h.length&&(h=h.reduce((function(t,e){return t.map((function(t,i){return(_(t)?t:0)+e[i]}))})),d=d.map((function(t,e){return t-h[e]})))}e.ratio=_(e.value)&&d&&d[e.index]>0?e.value/d[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 g=n.getYScaleById.bind(n)(e.id).domain().reduce((function(t,e){return e-t}));o=0===g?0:Math.abs(e.value)/g}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)&&(R(t.value)&&("z"in t.value||"y"in t.value)||E(t.value)&&2===t.value.length)},isBarRangeType:function(t){var e=t.value;return this.isBarType(t)&&E(e)&&2===e.length&&e.every((function(t){return _(t)}))},getDataById:function(t){var e,i=this.cache.get(t)||this.api.data(t);return null!=(e=null==i?void 0:i[0])?e:i}},ae={load:function(t,e){var i,n=this,a=e.append,r=t;r&&(e.filter&&(r=r.filter(e.filter)),(e.type||e.types)&&r.forEach((function(t){var i,a=(null==(i=e.types)?void 0:i[t.id])||e.type;n.setTargetType(t.id,a)})),n.data.targets.forEach((function(t){for(var e=0;e<r.length;e++)if(t.id===r[e].id){t.values=a?t.values.concat(r[e].values):r[e].values,r.splice(e,1);break}})),n.data.targets=n.data.targets.concat(r)),n.updateTargets(n.data.targets),n.redraw({withUpdateOrgXDomain:!0,withUpdateXDomain:!0,withLegend:!0}),n.updateTypesElements(),null==(i=e.done)||i.call(n.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)}));t.append&&(i.__append__=!0),i&&e.load(e.convertDataToTargets(i),t)}},unload:function(t,e){var i=this,n=i.state,a=i.$el,r=i.$T,s=e,o=t;(i.cache.reset(),s||(s=function(){}),(o=o.filter((function(t){return i.hasTarget(i.data.targets,t)})))&&0!==o.length)?(r(a.svg.selectAll(o.map((function(t){return i.selectorTarget(t)})))).style("opacity","0").remove().call(D,s),o.forEach((function(t){n.withoutFadeIn[t]=!1,a.legend&&a.legend.selectAll("."+pt.legendItem+i.getTargetSelectorSuffix(t)).remove(),i.data.targets=i.data.targets.filter((function(e){return e.id!==t}))})),i.updateTypesElements()):s()}},re=f(7),se={selectRectForSingle:function(t,e,i){var a=this,r=a.config,s=a.$el.main,o=r.data_selection_enabled,l=r.data_selection_grouped,c=r.data_selection_isselectable,u=r.tooltip_grouped,d=a.getAllValuesOnIndex(i);u&&(a.showTooltip(d,t),null==a.showGridFocus||a.showGridFocus(d),!o||l)||s.selectAll("."+wt.shape+"-"+i).each((function(){(0,n.select)(this).classed(rt.EXPANDED,!0),o&&e.style("cursor",l?"pointer":null),u||(null==a.hideGridFocus||a.hideGridFocus(),a.hideTooltip(),l||a.setExpand(i))})).filter((function(t){return a.isWithinShape(this,t)})).call((function(n){var r,s=n.data();o&&(l||null!=(r=c)&&r.bind(a.api)(s))&&e.style("cursor","pointer"),u||(a.showTooltip(s,t),null==a.showGridFocus||a.showGridFocus(s),null==a.unexpandCircles||a.unexpandCircles(),n.each((function(t){return a.setExpand(i,t.id)})))}))},setExpand:function(t,e,i){var n=this,a=n.config;n.$el.circle&&a.point_focus_expand_enabled&&n.expandCircles(t,e,i),n.expandBarTypeShapes(!0,t,e,i)},expandBarTypeShapes:function(t,e,i,n){void 0===t&&(t=!0);var a=this;["bar","candlestick"].filter((function(t){return a.$el[t]})).forEach((function(r){n&&a.$el[r].classed(rt.EXPANDED,!1),a.getShapeByIndex(r,e,i).classed(rt.EXPANDED,t)}))},setOverOut:function(t,e){var i=this,a=i.config,r=i.state.hasRadar,s=i.$el.main,o=R(e);if(o||-1!==e){var l=a[t?"data_onover":"data_onout"].bind(i.api);if(a.color_onover&&i.setOverColor(t,e,o),o)l(e,s.select("."+st.arc+i.getTargetSelectorSuffix(e.id)).node());else if(a.tooltip_grouped)t&&(a.point_focus_only&&r?i.showCircleFocus(i.getAllValuesOnIndex(e,!0)):i.setExpand(e,null,!0)),i.isMultipleX()||s.selectAll("."+wt.shape+"-"+e).each((function(t){l(t,this)}));else{var c=i.cache.get(Ut)||[],u=s.selectAll("."+wt.shape+"-"+e).filter((function(t){return i.isWithinShape(this,t)}));u.each((function(t){var e=this;(0===c.length||c.every((function(t){return t!==e})))&&(l(t,this),c.push(this))})),c.length>0&&u.empty()&&(l=a.data_onout.bind(i.api),c.forEach((function(t){return l((0,n.select)(t).datum(),t)})),c=[]),i.cache.add(Ut,c)}}},callOverOutForTouch:function(t){var e=this,i=e.cache.get(Zt);(R(t)&&i?t.id!==i.id:t!==i)&&((i||_(i))&&e.setOverOut(!1,i),(t||_(t))&&e.setOverOut(!0,t),e.cache.add(Zt,t))},getDraggableSelection:function(){var t=this,e=t.config,i=t.state;return e.interaction_enabled&&e.data_selection_draggable&&t.drag?(0,re.drag)().on("drag",(function(e){i.event=e,t.drag(M(e,this))})).on("start",(function(e){i.event=e,t.dragstart(M(e,this))})).on("end",(function(e){i.event=e,t.dragend()})):function(){}},dispatchEvent:function(t,e,i){var n=this,a=n.config,r=n.state,s=r.eventReceiver,o=r.hasAxis,l=r.hasRadar,c=n.$el,u=c.eventRect,d=c.arcs,h=c.radar,g=n.isMultipleX(),f=(l?h.axes.select("."+lt.axis+"-"+e+" text"):u||d.selectAll("."+rt.target+" path").filter((function(t,i){return i===e}))).node(),p=f.getBoundingClientRect(),v=p.width,x=p.left,_=p.top;if(o&&!l&&!g){var m=s.coords[e];v=m.w,x+=m.x,_+=m.y}var y=x+(i?i[0]:0)+(g||a.axis_rotated?0:v/2),b=_+(i?i[1]:0);J[/^(mouse|click)/.test(t)?"mouse":"touch"](f,t,{screenX:y,screenY:b,clientX:y,clientY:b})},setDragStatus:function(t){this.state.dragging=t},unbindZoomEvent:function(){var t,e,i=this.$el,n=i.eventRect,a=i.zoomResetBtn;null==(t=n)||t.on(".zoom wheel.zoom .drag",null),null==(e=a)||e.on("click",null).style("display","none")},unbindAllEvents:function(){var t,e,i,n,a=this,r=a.$el,s=r.arcs,o=r.eventRect,l=r.legend,c=r.region,u=r.svg,d=a.brush;[u,o,null==(t=c)?void 0:t.list,null==(e=d)?void 0:e.getSelection(),null==(i=s)?void 0:i.selectAll("path"),null==(n=l)?void 0:n.selectAll("g")].forEach((function(t){return null==t?void 0:t.on("wheel click mouseover mousemove mouseout touchstart touchmove touchend touchstart.eventRect touchmove.eventRect touchend.eventRect .brush .drag .zoom wheel.zoom dblclick.zoom",null)})),null==a.unbindZoomEvent||a.unbindZoomEvent()}},oe={generateClass:function(t,e){return" "+t+" "+(t+this.getTargetSelectorSuffix(e))},getClass:function(t,e){var i=this,n=/s$/.test(t),a=/^(area|arc|line)s?$/.test(t),r=n?"id":"index";return function(s){var o=s.data||s;return((e?i.generateClass(Et[n?"shapes":"shape"],o[r]):"")+i.generateClass(Et[t],o[a?"id":r])).trim()}},getChartClass:function(t){var e=this;return function(i){return Et["chart"+t]+e.classTarget((i.data?i.data:i).id)}},generateExtraLineClass:function(){var t=this.config.line_classes||[],e=[];return function(i){var n,a=i.id||(null==(n=i.data)?void 0:n.id)||i;return e.indexOf(a)<0&&e.push(a),t[e.indexOf(a)%t.length]}},classRegion:function(t,e){return this.generateClass(Et.region,e)+" "+("class"in t?t.class:"")},classTarget:function(t){var e=this.config.data_classes[t],i="";return e&&(i=" "+Et.target+"-"+e),this.generateClass(Et.target,t)+i},classFocus:function(t){return this.classFocused(t)+this.classDefocused(t)},classFocused:function(t){return" "+(this.state.focusedTargetIds.indexOf(t.id)>=0?Et.focused:"")},classDefocused:function(t){return" "+(this.state.defocusedTargetIds.indexOf(t.id)>=0?Et.defocused:"")},getTargetSelectorSuffix:function(t){return(t||0===t?"-"+t:"").replace(/([\s?!@#$%^&*()_=+,.<>'":;\[\]\/|~`{}\\])/g,"-")},selectorTarget:function(t,e){var i=e||"",n=this.getTargetSelectorSuffix(t);return i+"."+(Et.target+n)+", "+i+"."+(Et.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"."+(Et.legendItem+this.getTargetSelectorSuffix(t))},selectorLegends:function(t){var e=this;return null!=t&&t.length?t.map((function(t){return e.selectorLegend(t)})):null}},le=f(6),ce=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],ue={getColorFromCss:function(){var t=Yt,e=r.body,i=e[t];if(!i){var n=r.createElement("span");n.className=ht.colorPattern,n.style.display="none",e.appendChild(n);var s=a.getComputedStyle(n).backgroundImage;n.parentNode.removeChild(n),s.indexOf(";")>-1&&(i=s.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,a=e.data_color,r=[],s=C(e.color_pattern)?e.color_pattern:(0,le.scaleOrdinal)(t.getColorFromCss()||ce).range(),o=s;if(v(e.color_tiles)){var l=e.color_tiles.bind(t.api)(),c=s.map((function(e,i){var a=e.replace(/[#\(\)\s,]/g,""),r=t.state.datetimeId+"-pattern-"+a+"-"+i;return function(t,e,i){var a=(0,n.select)(t.cloneNode(!0));return a.attr("id",i).insert("rect",":first-child").attr("width",a.attr("width")).attr("height",a.attr("height")).style("fill",e),{id:i,node:a.node()}}(l[i%l.length],e,r)}));s=c.map((function(t){return"url(#"+t.id+")"})),t.patterns=c}return function(n){var l,c,u=n.id||(null==(l=n.data)?void 0:l.id)||n,d=t.isTypeOf(u,["line","spline","step"])||!e.data_types[u];return v(i[u])?c=i[u].bind(t.api)(n):i[u]?c=i[u]:(r.indexOf(u)<0&&r.push(u),c=d?o[r.indexOf(u)%o.length]:s[r.indexOf(u)%s.length],i[u]=c),v(a)?a.bind(t.api)(c,n):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 C(i)?function(t){for(var i=n?t:100*t/a,s=e[e.length-1],o=0,l=r.length;o<l;o++)if(i<=r[o]){s=e[o];break}return s}:null},generateDataLabelBackgroundColorFilter:function(){var t=this,e=t.$el,i=t.config,n=t.state,a=i.data_labels_backgroundColors;if(a){var r=[];x(a)?r.push(""):R(a)&&(r=Object.keys(a)),r.forEach((function(i){var r=n.datetimeId+"-labels-bg"+t.getTargetSelectorSuffix(i);e.defs.append("filter").attr("x","0").attr("y","0").attr("width","1").attr("height","1").attr("id",r).html('<feFlood flood-color="'+(""===i?a:a[i])+'" /><feComposite in="SourceGraphic"/>')}))}},setOverColor:function(t,e){var i=this,n=i.config,a=i.$el.main,r=n.color_onover,s=t?r:i.color;R(s)?s=function(t){var e=t.id;return e in r?r[e]:i.color(e)}:x(s)?s=function(){return r}:v(r)&&(s=s.bind(i.api)),a.selectAll(R(e)?"."+st.arc+i.getTargetSelectorSuffix(e.id):"."+wt.shape+"-"+e).style("fill",s)}},de={getYDomainMinMax:function(t,e){var i=this,n=i.axis,a=i.config,r="min"===e,s=a.data_groups,o=i.mapToIds(t),l=i.getValuesAsIdKeyed(t);if(s.length>0){var c=i["has"+(r?"Negative":"Positive")+"ValueInTargets"](t);s.forEach((function(t){var e=t.filter((function(t){return o.indexOf(t)>=0}));if(e.length){var i=e[0],a=n.getId(i);c&&l[i]&&(l[i]=l[i].map((function(t){return(r?t<0:t>0)?t:0}))),e.filter((function(t,e){return e>0})).forEach((function(t){if(l[t]){var e=n.getId(t);l[t].forEach((function(t,n){var s=+t;e!==a||c&&(r?s>0:s<0)||(l[i][n]+=s)}))}}))}}))}return q(e,Object.keys(l).map((function(t){return q(e,l[t])})))},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,a=this,r=a.axis,o=a.config,c=a.scale,u="axis_"+e;if(a.isStackNormalized())return[0,100];var d=(null==(n=c)?void 0:n[e])&&"log"===c[e].type,h=t.filter((function(t){return r.getId(t.id)===e})),f=i?a.filterByXDomain(h,i):h;if(0===f.length)return a.isHiddenTargetWithYDomain(e)?c[e].domain():"y2"===e?c.y.domain():a.getYDomain(t,"y2",i);var p=o[u+"_min"],v=o[u+"_max"],x=o[u+"_center"],_=o[u+"_inverted"],m=a.hasDataLabel()&&o.axis_rotated,b=a.hasDataLabel()&&!o.axis_rotated,T=a.getYDomainMinMax(f,"min"),w=a.getYDomainMinMax(f,"max"),k=[s.BAR,s.BUBBLE,s.SCATTER].concat(l.Line).some((function(t){var e=t.indexOf("area")>-1?"area":t;return a.hasType(t,f,!0)&&o[e+"_zerobased"]}));T=g(p)?p:g(v)?T<v?T:v-10:T,w=g(v)?v:g(p)?p<w?w:p+10:w,isNaN(T)&&(T=0),isNaN(w)&&(w=T),T===w&&(T<0?w=0:T=0);var S=T>=0&&w>=0,E=T<=0&&w<=0;(g(p)&&S||g(v)&&E)&&(k=!1),k&&(S&&(T=0),E&&(w=0));var R=Math.abs(w-T),O={top:.1*R,bottom:.1*R};if(y(x)){var L=Math.max(Math.abs(T),Math.abs(w));w=x+L,T=x-L}if(m){var D=A(c.y.range()),I=a.getDataLabelLength(T,w,"width").map((function(t){return t/D}));["bottom","top"].forEach((function(t,e){O[t]+=R*(I[e]/(1-I[0]-I[1]))}))}else if(b){var P=a.getDataLabelLength(T,w,"height");["bottom","top"].forEach((function(t,e){O[t]+=a.convertPixelToScale("y",P[e],R)}))}O=a.getResettedPadding(O);var z=o[u+"_padding"];C(z)&&["bottom","top"].forEach((function(t){O[t]=r.getPadding(z,t,O[t],R)})),k&&(S&&(O.bottom=T),E&&(O.top=-w));var M=d?[T,w].map((function(t){return t<0?0:t})):[T-O.bottom,w+O.top];return _?M.reverse():M},getXDomainMinMax:function(t,e){var i,n=this.config["axis_x_"+e],a=q(e,t.map((function(t){return q(e,t.values.map((function(t){return t.x})))}))),r=R(n)?n.value:n;return r=y(r)&&null!=(i=this.axis)&&i.isTimeSeries()?tt.bind(this)(r):r,R(n)&&n.fit&&("min"===e&&r<a||"max"===e&&r>a)&&(r=void 0),y(r)?r:a},getXDomainPadding:function(t,e){var i,n=this,a=n.axis,r=n.config.axis_x_padding,s=a.isTimeSeries()&&e,o=A(t);if(a.isCategorized()||s)i=0;else if(n.hasType("bar")){var l=n.getMaxDataCount();i=l>1?o/(l-1)/2:.5}else i=n.getResettedPadding(.01*o);var c=_(r)?{left:r,right:r}:r,u=c.left,d=void 0===u?i:u,h=c.right,g=void 0===h?i:h;if("px"===r.unit){var f=Math.abs(o+.2*o);d=a.getPadding(r,"left",i,f),g=a.getPadding(r,"right",i,f)}else{var p=o+d+g;if(s&&p){var v=o/e/p;d=d/p/v,g=g/p/v}}return{left:d,right:g}},getXDomain:function(t){var e=this,i=e.axis,n=e.scale.x,a=[e.getXDomainMinMax(t,"min"),e.getXDomainMinMax(t,"max")],r=a[0],s=void 0===r?0:r,o=a[1],l=void 0===o?0:o;if("log"!==n.type){var c=i.isCategorized(),u=i.isTimeSeries(),d=e.getXDomainPadding(a),h=a[0],g=a[1];h-g!=0||c||(u?(h=new Date(.5*h.getTime()),g=new Date(1.5*g.getTime())):(h=0===h?1:.5*h,g=0===g?-1:1.5*g)),(h||0===h)&&(s=u?new Date(h.getTime()-d.left):h-d.left),(g||0===g)&&(l=u?new Date(g.getTime()+d.right):g+d.right)}return[s,l]},updateXDomain:function(t,e,i,n,a){var r,s=this,o=s.config,l=s.org,c=s.scale,u=c.x,d=c.subX,h=o.zoom_enabled;i&&(u.domain(a||Z(s.getXDomain(t))),l.xDomain=u.domain(),h&&s.zoom.updateScaleExtent(),d.domain(u.domain()),null==(r=s.brush)||r.scale(d));if(e){var g=a||!s.brush||N(s)?l.xDomain:X(s).map(d.invert);u.domain(g),h&&s.zoom.updateScaleExtent()}return n&&u.domain(s.trimXDomain(u.orgDomain())),u.domain()},trimXDomain