UNPKG

21.3 kBJavaScriptView Raw
1/*!
2 * Copyright (c) 2017 ~ present NAVER Corp.
3 * billboard.js project is licensed under the MIT license
4 *
5 * billboard.js, JavaScript chart library
6 * https://naver.github.io/billboard.js/
7 *
8 * @version 3.14.2
9 * @requires billboard.js
10 * @summary billboard.js plugin
11 */(function(f,_){typeof exports=="object"&&typeof module=="object"?module.exports=_(require("d3-color"),require("d3-interpolate"),require("d3-scale"),require("d3-brush"),require("d3-selection"),require("d3-axis"),require("d3-format")):typeof define=="function"&&define.amd?define("bb",["d3-color","d3-interpolate","d3-scale","d3-brush","d3-selection","d3-axis","d3-format"],_):typeof exports=="object"?exports.bb=_(require("d3-color"),require("d3-interpolate"),require("d3-scale"),require("d3-brush"),require("d3-selection"),require("d3-axis"),require("d3-format")):(f.bb=f.bb||{},f.bb.plugin=f.bb.plugin||{},f.bb.plugin.stanford=_(f.d3,f.d3,f.d3,f.d3,f.d3,f.d3,f.d3))})(this,function(j,f,_,z,H,K,W){return function(){"use strict";var Z={996:function(e){e.exports=K},853:function(e){e.exports=z},218:function(e){e.exports=j},390:function(e){e.exports=W},798:function(e){e.exports=f},455:function(e){e.exports=_},747:function(e){e.exports=H}},M={};function h(e){var t=M[e];if(t!==void 0)return t.exports;var n=M[e]={exports:{}};return Z[e](n,n.exports,h),n.exports}(function(){h.d=function(e,t){for(var n in t)h.o(t,n)&&!h.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}})(),function(){h.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}();var y={};h.d(y,{default:function(){return st}});var D=h(218),J=h(798),E=h(455),Q=Object.defineProperty,I=Object.getOwnPropertySymbols,ee=Object.prototype.hasOwnProperty,te=Object.prototype.propertyIsEnumerable,N=(e,t,n)=>t in e?Q(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,u=(e,t)=>{for(var n in t||(t={}))ee.call(t,n)&&N(e,n,t[n]);if(I)for(var n of I(t))te.call(t,n)&&N(e,n,t[n]);return e};const ne={button:"bb-button",chart:"bb-chart",empty:"bb-empty",main:"bb-main",target:"bb-target",EXPANDED:"_expanded_"},oe={arc:"bb-arc",arcLabelLine:"bb-arc-label-line",arcRange:"bb-arc-range",arcs:"bb-arcs",chartArc:"bb-chart-arc",chartArcs:"bb-chart-arcs",chartArcsBackground:"bb-chart-arcs-background",chartArcsTitle:"bb-chart-arcs-title",needle:"bb-needle"},re={area:"bb-area",areas:"bb-areas"},se={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",axisXTooltip:"bb-axis-x-tooltip",axisYTooltip:"bb-axis-y-tooltip",axisY2Tooltip:"bb-axis-y2-tooltip"},ae={bar:"bb-bar",bars:"bb-bars",chartBar:"bb-chart-bar",chartBars:"bb-chart-bars"},ie={candlestick:"bb-candlestick",candlesticks:"bb-candlesticks",chartCandlestick:"bb-chart-candlestick",chartCandlesticks:"bb-chart-candlesticks",valueDown:"bb-value-down",valueUp:"bb-value-up"},ce={chartCircles:"bb-chart-circles",circle:"bb-circle",circles:"bb-circles"},le={colorPattern:"bb-color-pattern",colorScale:"bb-colorscale"},ue={dragarea:"bb-dragarea",INCLUDED:"_included_"},de={funnel:"bb-funnel",chartFunnel:"bb-chart-funnel",chartFunnels:"bb-chart-funnels",funnelBackground:"bb-funnel-background"},be={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"},fe={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"},he={chartLine:"bb-chart-line",chartLines:"bb-chart-lines",line:"bb-line",lines:"bb-lines"},pe={eventRect:"bb-event-rect",eventRects:"bb-event-rects",eventRectsMultiple:"bb-event-rects-multiple",eventRectsSingle:"bb-event-rects-single"},ge={focused:"bb-focused",defocused:"bb-defocused",legendItemFocused:"bb-legend-item-focused",xgridFocus:"bb-xgrid-focus",ygridFocus:"bb-ygrid-focus"},me={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"},it={level:"bb-level",levels:"bb-levels"},_e={chartRadar:"bb-chart-radar",chartRadars:"bb-chart-radars"},xe={region:"bb-region",regions:"bb-regions"},ye={selectedCircle:"bb-selected-circle",selectedCircles:"bb-selected-circles",SELECTED:"_selected_"},ve={shape:"bb-shape",shapes:"bb-shapes"},$e={brush:"bb-brush",subchart:"bb-subchart"},we={chartText:"bb-chart-text",chartTexts:"bb-chart-texts",text:"bb-text",texts:"bb-texts",title:"bb-title",TextOverlapping:"text-overlapping"},S={tooltip:"bb-tooltip",tooltipContainer:"bb-tooltip-container",tooltipName:"bb-tooltip-name"},Ee={treemap:"bb-treemap",chartTreemap:"bb-chart-treemap",chartTreemaps:"bb-chart-treemaps"},Se={buttonZoomReset:"bb-zoom-reset",zoomBrush:"bb-zoom-brush"};var ct=u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u(u({},ne),oe),re),se),ae),ie),ce),le),ue),be),fe),he),pe),ge),de),me),_e),xe),ye),ve),$e),we),S),Ee),Se),lt=h(853),ut=h(747);function Ce(){return typeof globalThis=="object"&&globalThis!==null&&globalThis.Object===Object&&globalThis||typeof global=="object"&&global!==null&&global.Object===Object&&global||typeof self=="object"&&self!==null&&self.Object===Object&&self||Function("return this")()}function Oe(e){const t=typeof(e==null?void 0:e.requestAnimationFrame)=="function"&&typeof(e==null?void 0:e.cancelAnimationFrame)=="function",n=typeof(e==null?void 0:e.requestIdleCallback)=="function"&&typeof(e==null?void 0:e.cancelIdleCallback)=="function",o=s=>setTimeout(s,1),r=s=>clearTimeout(s);return[t?e.requestAnimationFrame:o,t?e.cancelAnimationFrame:r,n?e.requestIdleCallback:o,n?e.cancelIdleCallback:r]}const v=Ce(),Pe=v==null?void 0:v.document,[dt,bt,ft,ht]=Oe(v);var Re=Object.defineProperty,F=Object.getOwnPropertySymbols,Te=Object.prototype.hasOwnProperty,Ae=Object.prototype.propertyIsEnumerable,q=(e,t,n)=>t in e?Re(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,B=(e,t)=>{for(var n in t||(t={}))Te.call(t,n)&&q(e,n,t[n]);if(F)for(var n of F(t))Ae.call(t,n)&&q(e,n,t[n]);return e};const pt=e=>e||e===0,C=e=>typeof e=="function",x=e=>typeof e=="string",O=e=>typeof e=="number",Le=e=>typeof e=="undefined",U=e=>typeof e!="undefined",gt=e=>typeof e=="boolean",mt=e=>Math.ceil(e/10)*10,_t=e=>Math.ceil(e)+.5,xt=e=>e[1]-e[0],P=e=>typeof e=="object",X=e=>Le(e)||e===null||x(e)&&e.length===0||P(e)&&!(e instanceof Date)&&Object.keys(e).length===0||O(e)&&isNaN(e),je=e=>!X(e),R=e=>Array.isArray(e),$=e=>e&&!(e!=null&&e.nodeType)&&P(e)&&!R(e);function yt(e,t,n){return U(e[t])?e[t]:n}function vt(e,t){let n=!1;return Object.keys(e).forEach(o=>e[o]===t&&(n=!0)),n}function $t(e,t,...n){const o=C(e);return o&&e.call(t,...n),o}function wt(e,t){let n=0;const o=function(...r){!--n&&t.apply(this,...r)};"duration"in e?e.each(()=>++n).on("end",o):(++n,e.call(o))}function Et(e){return x(e)?e.replace(/<(script|img)?/ig,"&lt;").replace(/(script)?>/ig,"&gt;"):e}function St(e,t,n=[-1,1],o=!1){if(!(!e||!x(t)))if(t.indexOf(`
12`)===-1)e.text(t);else{const r=[e.text(),t].map(s=>s.replace(/[\s\n]/g,""));if(r[0]!==r[1]){const s=t.split(`
13`),a=o?s.length-1:1;e.html(""),s.forEach((i,d)=>{e.append("tspan").attr("x",0).attr("dy",`${d===0?n[0]*a:n[1]}em`).text(i)})}}}function Me(e){const{x:t,y:n,width:o,height:r}=e.getBBox();return[{x:t,y:n+r},{x:t,y:n},{x:t+o,y:n},{x:t+o,y:n+r}]}function Ct(e){const{width:t,height:n}=e.getBoundingClientRect(),o=Me(e),r=o[0].x,s=Math.min(o[0].y,o[1].y);return{x:r,y:s,width:t,height:n}}function Ot(e,t){var n;const o=e&&((n=e.touches||e.sourceEvent&&e.sourceEvent.touches)==null?void 0:n[0]);let r=[0,0];try{r=d3Pointer(o||e,t)}catch(s){}return r.map(s=>isNaN(s)?0:s)}function De(e){const{event:t,$el:n}=e,o=n.subchart.main||n.main;let r;return t&&t.type==="brush"?r=t.selection:o&&(r=o.select(".bb-brush").node())&&(r=d3BrushSelection(r)),r}function Pt(e){return!("rect"in e)||"rect"in e&&e.hasAttribute("width")&&e.rect.width!==+e.getAttribute("width")?e.rect=e.getBoundingClientRect():e.rect}function Rt(e=!0,t=0,n=1e4){const o=window.crypto||window.msCrypto,r=o?t+o.getRandomValues(new Uint32Array(1))[0]%(n-t+1):Math.floor(Math.random()*(n-t)+t);return e?String(r):r}function V(e,t,n,o,r){if(n>o)return-1;const s=Math.floor((n+o)/2);let{x:a,w:i=0}=e[s];return r&&(a=e[s].y,i=e[s].h),t>=a&&t<=a+i?s:t<a?V(e,t,n,s-1,r):V(e,t,s+1,o,r)}function Tt(e){const t=De(e);return t?t[0]===t[1]:!0}function At(...e){const t=n=>{if($(n)&&n.constructor){const o=new n.constructor;for(const r in n)o[r]=t(n[r]);return o}return n};return e.map(n=>t(n)).reduce((n,o)=>B(B({},n),o))}function Ie(e={},t){R(t)&&t.forEach(n=>Ie(e,n));for(const n in t)/^\d+$/.test(n)||n in e||(e[n]=t[n]);return e}const Lt=e=>e.charAt(0).toUpperCase()+e.slice(1);function jt(e,t="-"){return e.split(t).map((n,o)=>o?n.charAt(0).toUpperCase()+n.slice(1).toLowerCase():n.toLowerCase()).join("")}const Ne=e=>[].slice.call(e);function Mt(e,t,n){const{rootSelector:o="",sheet:r}=e,a=`${o} ${(i=>i.replace(/\s?(bb-)/g,".$1").replace(/\.+/g,"."))(t)} {${n.join(";")}}`;return r[r.insertRule?"insertRule":"addRule"](a,r.cssRules.length)}function Dt(e){let t=[];return e.forEach(n=>{var o;try{n.cssRules&&n.cssRules.length&&(t=t.concat(Ne(n.cssRules)))}catch(r){(o=window.console)==null||o.warn(`Error while reading rules from ${n.href}: ${r.toString()}`)}}),t}function It(e){var t,n,o,r,s,a;return{x:((n=(t=window.pageXOffset)!=null?t:window.scrollX)!=null?n:0)+((o=e.scrollLeft)!=null?o:0),y:((s=(r=window.pageYOffset)!=null?r:window.scrollY)!=null?s:0)+((a=e.scrollTop)!=null?a:0)}}function Nt(e,t=0,n=0,o=!0){const r=new DOMPoint(t,n),s=e.getScreenCTM(),a=r.matrixTransform(o?s==null?void 0:s.inverse():s);if(o===!1){const i=e.getBoundingClientRect();a.x-=i.x,a.y-=i.y}return a}function Ft(e){const t=e?e.transform:null,n=t&&t.baseVal;return n&&n.numberOfItems?n.getItem(0).matrix:{a:0,b:0,c:0,d:0,e:0,f:0}}function qt(e){const t=e[0]instanceof Date,n=(t?e.map(Number):e).filter((o,r,s)=>s.indexOf(o)===r);return t?n.map(o=>new Date(o)):n}function Bt(e){return e&&e.length?e.reduce((t,n)=>t.concat(n)):[]}function T(e,...t){if(!t.length||t.length===1&&!t[0])return e;const n=t.shift();return $(e)&&$(n)&&Object.keys(n).forEach(o=>{const r=n[o];$(r)?(!e[o]&&(e[o]={}),e[o]=T(e[o],r)):e[o]=R(r)?r.concat():r}),T(e,...t)}function Fe(e,t=!0){let n;return e[0]instanceof Date?n=t?(o,r)=>o-r:(o,r)=>r-o:t&&!e.every(isNaN)?n=(o,r)=>o-r:t||(n=(o,r)=>o>r&&-1||o<r&&1||o===r&&0),e.concat().sort(n)}function Ut(e,t){let n=t.filter(o=>je(o));return n.length?O(n[0])?n=Math[e](...n):n[0]instanceof Date&&(n=Fe(n,e==="min")[0]):n=void 0,n}const qe=(e,t,n=1)=>{const o=[],r=Math.max(0,Math.ceil((t-e)/n))|0;for(let s=e;s<r;s++)o.push(e+s*n);return o},Xt={mouse:(()=>{const e=()=>({bubbles:!1,cancelable:!1,screenX:0,screenY:0,clientX:0,clientY:0});try{return new MouseEvent("t"),(t,n,o=e())=>{t.dispatchEvent(new MouseEvent(n,o))}}catch(t){return(n,o,r=e())=>{const s=Pe.createEvent("MouseEvent");s.initMouseEvent(o,r.bubbles,r.cancelable,v,0,r.screenX,r.screenY,r.clientX,r.clientY,!1,!1,!1,!1,0,null),n.dispatchEvent(s)}}})(),touch:(e,t,n)=>{const o=new Touch(T({identifier:Date.now(),target:e,radiusX:2.5,radiusY:2.5,rotationAngle:10,force:.5},n));e.dispatchEvent(new TouchEvent(t,{cancelable:!0,bubbles:!0,shiftKey:!0,touches:[o],targetTouches:[],changedTouches:[o]}))}};function Vt(e,t){let n=e;for(const o in t)n=n.replace(new RegExp(`{=${o}}`,"g"),t[o]);return n}function Be(e){var t;let n;if(e instanceof Date)n=e;else if(x(e)){const{config:o,format:r}=this;n=(t=r.dataTime(o.data_xFormat)(e))!=null?t:new Date(e)}else O(e)&&!isNaN(e)&&(n=new Date(+e));return(!n||isNaN(+n))&&console&&console.error&&console.error(`Failed to parse x '${e}' to Date object`),n}function Yt(e){const t=e.attr("viewBox");return t?/(\d+(\.\d+)?){3}/.test(t):!1}function Gt(e,t,n=!1){const o=!!e.node;let r=!1;for(const[s,a]of Object.entries(t))if(r=o?e.style(s)===a:e.style[s]===a,n===!1&&r)break;return r}function kt(){var e,t;return((e=document)==null?void 0:e.hidden)===!1||((t=document)==null?void 0:t.visibilityState)==="visible"}function zt(e,t){const{DocumentTouch:n,matchMedia:o,navigator:r}=window,s=o==null?void 0:o("(pointer:coarse)").matches;let a=!1;if(t)if(r&&"maxTouchPoints"in r)a=r.maxTouchPoints>0;else if("ontouchmove"in window||n&&document instanceof n)a=!0;else if(s)a=!0;else{const d=r.userAgent;a=/\b(BlackBerry|webOS|iPhone|IEMobile)\b/i.test(d)||/\b(Android|Windows Phone|iPad|iPod)\b/i.test(d)}return e&&!s&&(o==null?void 0:o("(pointer:fine)").matches)&&"mouse"||a&&"touch"||"mouse"}function Ue(e,t){t()===!1?requestAnimationFrame(()=>Ue(e,t)):e()}function Xe(e){const t=this.config;let n,o,r;const s=()=>{const a=o.shift();if(a&&n&&P(n)&&a in n)return n=n[a],s();if(!a)return n};Object.keys(t).forEach(a=>{n=e,o=a.split("_"),r=s(),U(r)&&(t[a]=r)}),this.api&&(this.state.orgConfig=e)}var Ve=Object.defineProperty,Ye=(e,t,n)=>t in e?Ve(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,A=(e,t,n)=>Ye(e,typeof t!="symbol"?t+"":t,n);class Y{constructor(t={}){A(this,"$$"),A(this,"options"),this.options=t}$beforeInit(){}$init(){}$afterInit(){}$redraw(){}$willDestroy(){Object.keys(this).forEach(t=>{this[t]=null,delete this[t]})}}A(Y,"version","3.14.2");var Ge=h(996),ke=h(390),p={colorScale:"bb-colorscale",stanfordElements:"bb-stanford-elements",stanfordLine:"bb-stanford-line",stanfordLines:"bb-stanford-lines",stanfordRegion:"bb-stanford-region",stanfordRegions:"bb-stanford-regions"},ze=Object.defineProperty,He=(e,t,n)=>t in e?ze(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,G=(e,t,n)=>He(e,typeof t!="symbol"?t+"":t,n);class Ke{constructor(t){G(this,"owner"),G(this,"colorScale"),this.owner=t}drawColorScale(){const{$$:t,config:n}=this.owner,o=t.data.targets[0],r=t.state.height-n.padding_bottom-n.padding_top,s=n.scale_width,a=5,i=qe(n.padding_bottom,r,a),d=(0,E.scaleSequential)(o.colors).domain([i[i.length-1],i[0]]);this.colorScale&&this.colorScale.remove(),this.colorScale=t.$el.svg.append("g").attr("width",50).attr("height",r).attr("class",p.colorScale),this.colorScale.append("g").attr("transform",`translate(0, ${n.padding_top})`).selectAll("bars").data(i).enter().append("rect").attr("y",(m,at)=>at*a).attr("x",0).attr("width",s).attr("height",a).attr("fill",m=>d(m));const b=(0,E.scaleSymlog)().domain([o.minEpochs,o.maxEpochs]).range([i[0]+n.padding_top+i[i.length-1]+a-1,i[0]+n.padding_top]),c=(0,Ge.axisRight)(b),l=n.scale_format;l==="pow10"?c.tickValues([1,10,100,1e3,1e4,1e5,1e6,1e7]):C(l)?c.tickFormat(l):c.tickFormat((0,ke.format)("d"));const g=this.colorScale.append("g").attr("class","legend axis").attr("transform",`translate(${s},0)`).call(c);l==="pow10"&&g.selectAll(".tick text").text(null).filter(m=>m/Math.pow(10,Math.ceil(Math.log(m)/Math.LN10-1e-12))===1).text(10).append("tspan").attr("dy","-.7em").text(m=>Math.round(Math.log(m)/Math.LN10)),this.colorScale.attr("transform",`translate(${t.state.current.width-this.xForColorScale()}, 0)`)}xForColorScale(){return this.owner.config.padding_right+this.colorScale.node().getBBox().width}getColorScalePadding(){return this.xForColorScale()+this.owner.config.padding_left+20}}function We(e,t){const n=e.x,o=e.value;let r=!1;for(let s=0,a=t.length-1;s<t.length;a=s++){const i=t[s].x,d=t[s].y,b=t[a].x,c=t[a].y;d>o!=c>o&&n<(b-i)*(o-d)/(c-d)+i&&(r=!r)}return r}function Ze(e,t){return e.epochs<t.epochs?-1:e.epochs>t.epochs?1:0}function Je(e){let t=0,n,o;for(let r=0,s=e.length,a=s-1;r<s;a=r,r++)n=e[r],o=e[a],t+=n.x*o.y,t-=n.y*o.x;return t/=2,t}function w(e){const t=Je(e);let n=0,o=0,r;for(let s=0,a=e.length,i=a-1;s<a;i=s,s++){const d=e[s],b=e[i];r=d.x*b.y-b.x*d.y,n+=(d.x+b.x)*r,o+=(d.y+b.y)*r}return r=t*6,{x:n/r,y:o/r}}var Qe=Object.defineProperty,et=(e,t,n)=>t in e?Qe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,tt=(e,t,n)=>et(e,typeof t!="symbol"?t+"":t,n);class nt{constructor(t){tt(this,"owner"),this.owner=t;const n=t.$$.$el.main.select(".bb-chart").append("g").attr("class",p.stanfordElements);n.append("g").attr("class",p.stanfordLines),n.append("g").attr("class",p.stanfordRegions)}updateStanfordLines(t){const{$$:n}=this.owner,{config:o,$el:{main:r}}=n,s=o.axis_rotated,a=this.xvCustom.bind(n),i=this.yvCustom.bind(n),d=r.select(`.${p.stanfordLines}`).style("shape-rendering","geometricprecision").selectAll(`.${p.stanfordLine}`).data(this.owner.config.lines);d.exit().transition().duration(t).style("opacity","0").remove();const b=d.enter().append("g");b.append("line").style("opacity","0"),b.merge(d).attr("class",c=>p.stanfordLine+(c.class?` ${c.class}`:"")).select("line").transition().duration(t).attr("x1",c=>s?i(c,"y1"):a(c,"x1")).attr("x2",c=>s?i(c,"y2"):a(c,"x2")).attr("y1",c=>s?a(c,"x1"):i(c,"y1")).attr("y2",c=>s?a(c,"x2"):i(c,"y2")).transition().style("opacity",null)}updateStanfordRegions(t){const{$$:n}=this.owner,{config:o,$el:{main:r}}=n,s=o.axis_rotated,a=this.xvCustom.bind(n),i=this.yvCustom.bind(n),d=this.owner.countEpochsInRegion.bind(n);let b=r.select(`.${p.stanfordRegions}`).selectAll(`.${p.stanfordRegion}`).data(this.owner.config.regions);b.exit().transition().duration(t).style("opacity","0").remove();const c=b.enter().append("g");c.append("polygon").style("opacity","0"),c.append("text").attr("transform",s?"rotate(-90)":"").style("opacity","0"),b=c.merge(b),b.attr("class",l=>p.stanfordRegion+(l.class?` ${l.class}`:"")).select("polygon").transition().duration(t).attr("points",l=>l.points.map(g=>[s?i(g,"y"):a(g,"x"),s?a(g,"x"):i(g,"y")].join(",")).join(" ")).transition().style("opacity",l=>String(l.opacity?l.opacity:.2)),b.select("text").transition().duration(t).attr("x",l=>s?i(w(l.points),"y"):a(w(l.points),"x")).attr("y",l=>s?a(w(l.points),"x"):i(w(l.points),"y")).text(l=>{if(l.text){const{value:g,percentage:m}=d(l.points);return l.text(g,m)}return""}).attr("text-anchor","middle").attr("dominant-baseline","middle").transition().style("opacity",null)}updateStanfordElements(t=0){this.updateStanfordLines(t),this.updateStanfordRegions(t)}xvCustom(t,n){const o=this,{axis:r,config:s}=o;let a=n?t[n]:o.getBaseValue(t);return r.isTimeSeries()?a=Be.call(o,a):r.isCategorized()&&x(a)&&(a=s.axis_x_categories.indexOf(t.value)),o.scale.x(a)}yvCustom(t,n){const o=this,r=t.axis&&t.axis==="y2"?o.scale.y2:o.scale.y,s=n?t[n]:o.getBaseValue(t);return r(s)}}class k{constructor(){return{colors:void 0,epochs:[],lines:[],scale_min:void 0,scale_max:void 0,scale_width:20,scale_format:void 0,padding_top:0,padding_right:0,padding_bottom:0,padding_left:0,regions:[]}}}var ot=Object.defineProperty,rt=(e,t,n)=>t in e?ot(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,L=(e,t,n)=>rt(e,typeof t!="symbol"?t+"":t,n);class st extends Y{constructor(t){return super(t),L(this,"config"),L(this,"colorScale"),L(this,"elements"),this.config=new k,this}$beforeInit(){const{$$:t}=this;t.config.data_xSort=!1,t.isMultipleX=()=>!0,t.showGridFocus=()=>{},t.labelishData=o=>o.values,t.opacityForCircle=()=>1;const n=t.getCurrentPadding.bind(t);t.getCurrentPadding=()=>{const o=n();return o.right+=this.colorScale?this.colorScale.getColorScalePadding():0,o}}$init(){const{$$:t}=this;Xe.call(this,this.options),t.color=this.getStanfordPointColor.bind(t),this.colorScale=new Ke(this),this.elements=new nt(this),this.convertData(),this.initStanfordData(),this.setStanfordTooltip(),this.colorScale.drawColorScale(),t.right+=this.colorScale?this.colorScale.getColorScalePadding():0,this.$redraw()}$redraw(t){var n,o;(n=this.colorScale)==null||n.drawColorScale(),(o=this.elements)==null||o.updateStanfordElements(t)}getOptions(){return new k}convertData(){const t=this.$$.data.targets,n=this.options.epochs;t.forEach(o=>{o.values.forEach((r,s)=>{r.epochs=n[s]}),o.minEpochs=void 0,o.maxEpochs=void 0,o.colors=void 0,o.colorscale=void 0})}initStanfordData(){const{config:t}=this,n=this.$$.data.targets[0];n.values.sort(Ze);const o=n.values.map(r=>r.epochs);n.minEpochs=isNaN(t.scale_min)?Math.min(...o):t.scale_min,n.maxEpochs=isNaN(t.scale_max)?Math.max(...o):t.scale_max,n.colors=C(t.colors)?t.colors:(0,J.interpolateHslLong)((0,D.hsl)(250,1,.5),(0,D.hsl)(0,1,.5)),n.colorscale=(0,E.scaleSequentialLog)(n.colors).domain([n.minEpochs,n.maxEpochs])}getStanfordPointColor(t){return this.data.targets[0].colorscale(t.epochs)}setStanfordTooltip(){const{config:t}=this.$$;X(t.tooltip_contents)&&(t.tooltip_contents=function(n,o,r,s){const{data_x:a}=t;let i=`<table class="${S.tooltip}"><tbody>`;return n.forEach(d=>{const{id:b="",value:c=0,epochs:l=0,x:g=""}=d;i+=`<tr>
14 <th>${a||""}</th>
15 <th class="value">${o(g)}</th>
16 </tr>
17 <tr>
18 <th>${d.id}</th>
19 <th class="value">${r(c)}</th>
20 </tr>
21 <tr class="${S.tooltipName}-${b}">
22 <td class="name"><span style="background-color:${s(d)}"></span>Epochs</td>
23 <td class="value">${r(l)}</td>
24 </tr>`}),`${i}</tbody></table>`})}countEpochsInRegion(t){const o=this.data.targets[0],r=o.values.reduce((a,i)=>a+Number(i.epochs),0),s=o.values.reduce((a,i)=>We(i,t)?a+Number(i.epochs):a,0);return{value:s,percentage:s!==0?+(s/r*100).toFixed(1):0}}}return y=y.default,y}()});