bezel-charts 1.6.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +31 -6
- package/dist/bezel-charts.iife.js +16 -13
- package/dist/bezel-charts.js +229 -4
- package/dist/bezel-charts.min.js +16 -13
- package/dist/charts/area.js +2 -2
- package/dist/charts/bars.js +2 -2
- package/dist/charts/boxplot.js +2 -2
- package/dist/charts/combo.js +5 -0
- package/dist/charts/donut.js +2 -2
- package/dist/charts/gauge.js +2 -2
- package/dist/charts/heatmap.js +2 -2
- package/dist/charts/histogram.js +2 -2
- package/dist/charts/line.js +2 -2
- package/dist/charts/progress.js +2 -2
- package/dist/charts/ring.js +2 -2
- package/dist/charts/scatter.js +2 -2
- package/dist/charts/shared-6SF4EQMI.js +2 -0
- package/dist/charts/{shared-CYFOZG36.js → shared-D5IXRVKV.js} +2 -2
- package/dist/charts/{shared-56ZZ4O3F.js → shared-Y6MBWBOE.js} +2 -2
- package/dist/charts/spark.js +2 -2
- package/package.json +6 -3
- package/src/charts/combo.js +160 -0
- package/src/element.js +1 -1
- package/src/entries/combo.js +10 -0
- package/src/index.js +2 -1
- package/src/render.js +1 -1
- package/dist/charts/shared-YIDF72XF.js +0 -2
package/dist/bezel-charts.min.js
CHANGED
|
@@ -1,18 +1,21 @@
|
|
|
1
|
-
/*! Bezel Charts v1.
|
|
2
|
-
var Mt="ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif",zt="ui-monospace,SFMono-Regular,Menlo,Consolas,monospace",mr=0;function Rt(t){return"bzc"+t+(++mr).toString(36)+Math.random().toString(36).slice(2,6)}function kt(t){return String(t??"").replace(/[&<>"']/g,function(e){return{"&":"&","<":"<",">":">",'"':""","'":"'"}[e]})}function a(t){return Math.round(t*100)/100}function st(t,e,r){return Math.max(e,Math.min(r,t))}function Z(t,e){var r=parseFloat(t);return isFinite(r)?r:e}function G(t){return t!=null&&t!==""}function gt(t){return Array.isArray(t)?t.map(function(e){var r=+e;return isFinite(r)?r:0}):G(t)?String(t).split(/[\s,;]+/).filter(Boolean).map(function(e){var r=+e;return isFinite(r)?r:0}):[]}function q(t){return Array.isArray(t)?t.map(String):G(t)?String(t).split(",").map(function(e){return e.trim()}):[]}function wt(t){return Array.isArray(t)?Array.isArray(t[0])?t.map(gt):[gt(t)]:G(t)?String(t).split("|").map(gt).filter(function(e){return e.length}):[]}function Vt(t){return t.reduce(function(e,r){return e+r},0)}function vt(t,e,r){return String(t).length*e*(r?.6:.56)}function qt(t,e){return t=String(t),t.length>e?t.slice(0,Math.max(1,e-1))+"\u2026":t}function nt(t){return t===!0||t===""||t==="true"||t==="1"}function p(t,e,r){if(!isFinite(t))return"\u2013";var l=Math.abs(t),n;G(e.decimals)?n=st(parseInt(e.decimals,10)||0,0,6):n=t%1===0?0:l<10?2:l<100?1:0;var i={maximumFractionDigits:n,minimumFractionDigits:G(e.decimals)?n:0};(nt(e.compact)||r)&&l>=1e4&&(i={notation:"compact",maximumFractionDigits:1});var o;try{o=new Intl.NumberFormat(e.lang||"en-GB",i).format(l)}catch{o=String(a(l))}return(t<0?"\u2212":"")+(e.prefix||"")+o+(e.suffix||"")}function Yt(t,e){if(!t.length)return"";for(var r="M"+a(t[0][0])+","+a(t[0][1]),l=1;l<t.length;l++){var n=t[l-1],i=t[l];if(e)r+="L"+a(i[0])+","+a(i[1]);else{var o=(n[0]+i[0])/2;r+="C"+a(o)+","+a(n[1])+" "+a(o)+","+a(i[1])+" "+a(i[0])+","+a(i[1])}}return r}function F(t,e,r,l){return'<text x="'+a(t)+'" y="'+a(e)+'" '+(l||"")+">"+kt(r)+"</text>"}function D(t,e,r,l){return'fill="'+(l||t.muted)+'" font-family="'+zt+'" font-size="'+(e||10)+'"'+(r?" "+r:"")}function St(t,e,r,l,n){return'<rect class="bzc-hit" x="'+a(t)+'" y="'+a(e)+'" width="'+a(Math.max(1,r))+'" height="'+a(Math.max(1,l))+'" fill="#000" fill-opacity="0" data-tip="'+kt(n)+'"/>'}function ut(t,e,r){return t.animate?' class="'+e+'"'+(r?' style="animation-delay:'+a(r)+'s"':""):""}function ct(t,e){var r=q(t.color).filter(Boolean);return r.length?r:e.palette}function ht(t,e,r,l,n){return F(e+l/2,r+n/2+4,"No data yet",'text-anchor="middle" fill="'+t.muted+'" font-family="'+Mt+'" font-size="13"')}function Xt(t,e){return G(t.notes)?String(t.notes).split(";").map(function(r){var l=r.indexOf(":");if(l<0)return null;var n=r.slice(0,l).trim(),i=r.slice(l+1).trim(),o=e.map(String).indexOf(n);return o<0&&String(parseInt(n,10))===n&&(o=parseInt(n,10)),o>=0&&i?{i:o,text:i}:null}).filter(Boolean):[]}function Ht(t,e,r,l,n){var i=(G(t.goalLabel)?t.goalLabel:"Goal")+" "+p(Z(t.goal,0),t);return'<line x1="'+a(r)+'" x2="'+a(l)+'" y1="'+a(n)+'" y2="'+a(n)+'" stroke="'+e.fg+'" stroke-opacity=".55" stroke-width="1.25" stroke-dasharray="4 4"/>'+F(l,n-5,i,D(e,10,'text-anchor="end"'))}function At(t,e,r){var l=String(G(e.stat)?e.stat:r||"").toLowerCase();if(!l||l==="none"||!t.length)return null;var n=Vt(t),i={last:t[t.length-1],total:n,sum:n,average:n/t.length,avg:n/t.length,max:Math.max.apply(null,t),min:Math.min.apply(null,t)};if(!(l in i))return null;var o=null;return l==="last"&&t.length>1&&e.delta!=="none"&&(o=t[t.length-1]-t[0]),{val:i[l],delta:o}}function Jt(t){var e=Math.round(st(Z(t.width,360),160,2400)),r=t.frame==="none"?0:4,l=t.frame==="none"?8:20;return{W:e,b:r,P:l,w:e-2*(r+l)}}var pr=".bzc-a{animation:bzc-in .6s ease both}.bzc-d{animation:bzc-draw 1.1s cubic-bezier(.3,.7,.2,1) both}.bzc-g{transform-box:fill-box;transform-origin:50% 100%;animation:bzc-grow .7s cubic-bezier(.2,.8,.2,1) both}.bzc-gn{transform-box:fill-box;transform-origin:50% 0;animation:bzc-grow .7s cubic-bezier(.2,.8,.2,1) both}.bzc-gx{transform-box:fill-box;transform-origin:0 50%;animation:bzc-growx .8s cubic-bezier(.2,.8,.2,1) both}.bzc-s{animation:bzc-sweep 1.1s cubic-bezier(.2,.8,.2,1) both}@keyframes bzc-in{from{opacity:0}}@keyframes bzc-draw{from{stroke-dashoffset:1}}@keyframes bzc-grow{from{transform:scaleY(0)}}@keyframes bzc-growx{from{transform:scaleX(0)}}@keyframes bzc-sweep{from{stroke-dasharray:0 100}}@media (prefers-reduced-motion:reduce){[class^=bzc-]{animation:none!important}}";function mt(t,e,r,l,n){var i=Jt(t),o=i.W,s=i.b,f=i.P,c=i.w,v=st(Z(t.corners,22),0,60),d=s+f,u="";G(t.heading)&&(u+=F(s+f,d+10,String(t.heading).toUpperCase(),D(e,11,'font-weight="600" letter-spacing="1.3"')),d+=24);var O=n&&n.stat;if(O){if(u+=F(s+f,d+30,p(O.val,t),'fill="'+e.fg+'" font-family="'+Mt+'" font-size="32" font-weight="800" letter-spacing="-0.5"'),O.delta!=null){var T=O.delta>0,R=O.delta===0,A=t.delta==="inverse"?!T:T,C=R?e.muted:A?e.up:e.down,S=(R?"\u25CF ":T?"\u25B2 ":"\u25BC ")+p(Math.abs(O.delta),t)+" "+(G(t.deltaLabel)?t.deltaLabel:"since start");u+=F(s+f+c,d+28,S,'text-anchor="end" fill="'+C+'" font-family="'+zt+'" font-size="11" font-weight="600"')}d+=44}var g=l(s+f,d,c,r),V=Math.round(d+r+f+s),k="";t.frame!=="none"?k='<rect width="'+o+'" height="'+V+'" rx="'+v+'" fill="'+e.bezel+'"/><rect x="'+s+'" y="'+s+'" width="'+(o-2*s)+'" height="'+(V-2*s)+'" rx="'+Math.max(0,v-s)+'" fill="'+(t.background||e.tile)+'"/>':G(t.background)&&(k='<rect width="'+o+'" height="'+V+'" rx="'+v+'" fill="'+t.background+'"/>');var x=(G(t.heading)?t.heading+": ":"")+(n&&n.summary||"chart");return'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 '+o+" "+V+'" width="'+o+'" height="'+V+'" role="img" aria-label="'+kt(x)+'"><title>'+kt(x)+"</title>"+(t.animate?"<style>"+pr+"</style>":"")+k+u+g+"</svg>"}function me(t,e){var r=gt(t.values),l=ct(t,e)[0],n=Z(t.height,64),i=q(t.labels),o=Xt(t,i),s=At(r,t,"last");return mt(t,e,n,function(f,c,v,d){if(!r.length)return ht(e,f,c,v,d);var u=r.length===1?[r[0],r[0]]:r,O=Math.min.apply(null,u),T=Math.max.apply(null,u);G(t.goal)&&(O=Math.min(O,+t.goal),T=Math.max(T,+t.goal));var R=(T-O||Math.abs(T)||1)*.12;O-=R,T+=R;var A=function(y){return f+y*v/(u.length-1)},C=function(y){return c+d-(y-O)/(T-O)*d},S=u.map(function(y,m){return[A(m),C(y)]}),g=Yt(S,nt(t.straight)),V=Rt("g"),k=S[S.length-1],x='<defs><linearGradient id="'+V+'" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="'+l+'" stop-opacity=".32"/><stop offset="1" stop-color="'+l+'" stop-opacity="0"/></linearGradient></defs>';[1/3,2/3].forEach(function(y){x+='<line x1="'+f+'" x2="'+(f+v)+'" y1="'+a(c+d*y)+'" y2="'+a(c+d*y)+'" stroke="'+e.grid+'" stroke-dasharray="2 4"/>'}),x+='<path d="'+g+"L"+a(k[0])+","+(c+d)+"L"+f+","+(c+d)+'Z" fill="url(#'+V+')"'+ut(t,"bzc-a")+"/>",x+='<path d="'+g+'" fill="none" stroke="'+l+'" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" pathLength="1" style="stroke-dasharray:1"'+ut(t,"bzc-d")+"/>",G(t.goal)&&(x+=Ht(t,e,f,f+v,C(+t.goal))),o.forEach(function(y){if(!(y.i>=r.length)){var m=S[y.i];x+='<circle cx="'+a(m[0])+'" cy="'+a(m[1])+'" r="3.5" fill="'+e.fg+'"/>'+F(st(m[0],f+30,f+v-30),m[1]-9,y.text,D(e,10,'text-anchor="middle"',e.fg))}}),x+='<circle cx="'+a(k[0])+'" cy="'+a(k[1])+'" r="9" fill="'+l+'" fill-opacity=".25"/><circle cx="'+a(k[0])+'" cy="'+a(k[1])+'" r="4.5" fill="'+l+'"/>',nt(t.showValues)&&S.forEach(function(y,m){m<r.length&&(x+=F(y[0],y[1]-8,p(r[m],t,!0),D(e,9,'text-anchor="middle"')))});var E=r.length>1?v/(r.length-1):v;return r.forEach(function(y,m){x+=St(A(m)-E/2,c-6,E,d+12,(i[m]||"#"+(m+1))+": "+p(y,t))}),x},{stat:s,summary:r.length?"latest "+p(r[r.length-1],t):"no data"})}me.table=function(t){var e=q(t.labels);return{head:["Label","Value"],rows:gt(t.values).map(function(r,l){return[e[l]||"#"+(l+1),p(r,t)]})}};var re={dark:{tile:"#15151d",bezel:"#000000",fg:"#f2f1f7",muted:"#8c8aa0",grid:"#2a2935",up:"#5EE6C8",down:"#F675A8",palette:["#9FA1FF","#F675A8","#5EE6C8","#FFC857","#7CC4FF","#FF8A5B"]},light:{tile:"#ffffff",bezel:"#000000",fg:"#17161f",muted:"#6b6980",grid:"#e8e6ef",up:"#12a383",down:"#d63f7c",palette:["#6E70F0","#E2508C","#16A884","#D99A0E","#2F8FE0","#EE6431"]}};var pe=["spark","line","area","bars","histogram","boxplot","scatter","ring","donut","gauge","progress","heatmap"],de={};function pt(t,e){de[t]=e}var dr=t=>t.replace(/-([a-z])/g,(e,r)=>r.toUpperCase());function Ke(t,e){if(!de[t])throw new Error(pe.includes(t)?`Bezel Charts: the ${t} chart isn't loaded. Add import 'bezel-charts/${t}', or load dist/charts/${t}.js.`:`Bezel Charts: unknown chart type "${t}". Choose one of: ${pe.join(", ")}.`);let r={};for(let[l,n]of Object.entries(e))r[dr(l)]=n;return r}function Lt(t,e={}){let r=Ke(t,e);r.animate=nt(r.animate),r.frame=r.frame==="none"?"none":"bezel";let l=r.theme==="light"||r.theme==="dark"?r.theme:r.autoTheme||"dark";return de[t](r,re[l])}function Qe(t,e={}){return de[t].table(Ke(t,e))}function He(t){return t.replace(/<rect class="bzc-hit"[^>]*\/>/g,"").replace(/<circle[^>]* class="bzc-hit"[^>]*\/>/g,"").replace(/ data-tip="[^"]*"/g,"")}function Ft(t,e={}){return He(Lt(t,{...e,animate:!1}))}var Je=["type","values","labels","series","heading","prefix","suffix","decimals","compact","color","theme","frame","width","height","goal","goal-label","notes","show-values","stat","delta","delta-label","max","min","value","zones","horizontal","straight","zero","start","lang","corners","background","center-label","highlight","x","y","x-label","y-label","trend","static","no-tooltips","stacked","angle-labels","dash","markers","patterns","bins","bin-width","mark","percent","whiskers"],gr=`:host{display:block;position:relative;max-width:100%}:host([hidden]){display:none}svg{display:block;max-width:100%;height:auto;overflow:visible}.tip{position:absolute;left:0;top:0;pointer-events:none;background:#0b0b10;color:#f2f1f7;font:600 12px/1.5 ${zt};padding:7px 10px;border-radius:10px;white-space:pre;opacity:0;transform:translate(-50%,calc(-100% - 12px));transition:opacity .12s;z-index:3;border:1px solid #2a2935;box-shadow:0 8px 24px rgba(0,0,0,.35)}.tip.on{opacity:1}.c{outline:none}.c:focus-visible{outline:2px solid #fff;outline-offset:3px;box-shadow:0 0 0 7px #000}.k{stroke:currentColor;stroke-width:2;stroke-opacity:1}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media (forced-colors:active){.c:focus-visible{outline-color:Highlight}}`,vr={ArrowLeft:-1,ArrowUp:-1,ArrowRight:1,ArrowDown:1},xr=()=>typeof matchMedia=="function"?matchMedia("(prefers-color-scheme: dark)"):null,yr=()=>{let t=typeof document<"u"&&document.documentElement?.getAttribute?.("data-theme");return t==="light"||t==="dark"?t:null},Pe=new Set;typeof MutationObserver=="function"&&typeof document<"u"&&document.documentElement&&new MutationObserver(()=>Pe.forEach(t=>t.refresh())).observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]});var br=typeof HTMLElement>"u"?class{}:HTMLElement,Ot=class extends br{static get observedAttributes(){return Je}static get themes(){return re}get resolvedTheme(){let e=this.getAttribute("theme");return e==="light"||e==="dark"?e:this.options.autoTheme}get chartType(){return this.getAttribute("type")||"spark"}connectedCallback(){this.shadowRoot||(this.attachShadow({mode:"open"}).innerHTML=`<style>${gr}</style><div class="c" role="group" aria-roledescription="chart"></div><p class="sr" id="h">Use the arrow keys to step through the values.</p><div class="tip" aria-hidden="true"></div><div class="sr" aria-live="polite"></div><div class="sr"></div>`,[,this.#t,,this.#r,this.#o,this.#u]=this.shadowRoot.children,this.shadowRoot.addEventListener("pointermove",e=>this.#h(e)),this.shadowRoot.addEventListener("pointerdown",e=>this.#h(e)),this.addEventListener("pointerleave",()=>this.#r.classList.remove("on")),this.#t.addEventListener("keydown",e=>this.#v(e)),this.#t.addEventListener("blur",()=>this.#g())),Pe.add(this),this.#a=xr(),this.#a?.addEventListener?.("change",this.#c),typeof ResizeObserver=="function"?(this.#l=new ResizeObserver(([e])=>{let r=Math.round(e.contentRect.width);(!this.#n||!this.hasAttribute("width")&&r>0&&Math.abs(r-this.#s)>1)&&this.#i()}),this.#l.observe(this)):this.#i()}disconnectedCallback(){Pe.delete(this),this.#l?.disconnect(),this.#a?.removeEventListener?.("change",this.#c)}attributeChangedCallback(){!this.#n||this.#f||(this.#f=!0,queueMicrotask(()=>{this.#f=!1,this.#i()}))}get options(){let e={};for(let r of Je)this.hasAttribute(r)&&(e[r]=this.getAttribute(r));return e.width||(e.width=this.#s||360),e.autoTheme=yr()||(this.#a?this.#a.matches?"dark":"light":"dark"),e}refresh(){this.#n&&this.#i()}toSVG(e={}){return He(Lt(this.chartType,{...this.options,...e,animate:!1}))}download(e){let r=URL.createObjectURL(new Blob([this.toSVG()],{type:"image/svg+xml"})),l=Object.assign(document.createElement("a"),{href:r,download:`${(e||this.getAttribute("heading")||this.chartType).replace(/[^\w-]+/g,"-").toLowerCase()}.svg`});document.body.append(l),l.click(),l.remove(),setTimeout(()=>URL.revokeObjectURL(r),1e3)}#l=null;#t=null;#r=null;#o=null;#u=null;#e=-1;#a=null;#s=0;#n=!1;#f=!1;#c=()=>{let e=this.getAttribute("theme");(!e||e==="auto")&&this.refresh()};#i(){if(!this.shadowRoot)return;let e=Math.round(this.getBoundingClientRect?.().width||0);this.#s=e>0?e:360;let r=this.options;r.animate=!this.#n&&!this.hasAttribute("static");let l,n=null;try{l=Lt(this.chartType,r),n=Qe(this.chartType,r)}catch(f){l=`<p style="font:13px ${Mt};color:#d63f7c">${kt(f.message)}</p>`}let i=this.#t;i.innerHTML=l.replace(/<title>[\s\S]*?<\/title>/,"");let o=i.querySelector("svg");o?(i.setAttribute("aria-label",o.getAttribute("aria-label")),o.removeAttribute("role"),o.removeAttribute("aria-label"),o.setAttribute("aria-hidden","true")):i.removeAttribute("aria-label");let s=!!o&&!this.hasAttribute("no-tooltips");s?(i.setAttribute("tabindex","0"),i.setAttribute("aria-describedby","h")):(i.removeAttribute("tabindex"),i.removeAttribute("aria-describedby")),i.style.color=re[r.theme==="light"||r.theme==="dark"?r.theme:r.autoTheme].fg,i.style.borderRadius=`${r.frame==="none"?4:st(+r.corners||22,0,60)}px`,this.#u.innerHTML=n&&n.rows.length?Mr(r.heading,n):"",this.#e>=0&&s&&this.shadowRoot.activeElement===i?this.#d(this.#e):this.#e=-1,this.#n=!0,this.dispatchEvent(new CustomEvent("bezel-render",{bubbles:!0}))}#h(e){if(this.hasAttribute("no-tooltips"))return;let r=e.target?.closest?.("[data-tip]");if(!r){this.#r.classList.remove("on");return}this.#m(r,e.clientX,e.clientY)}#m(e,r,l){let n=this.#r;n.textContent=e.getAttribute("data-tip");let i=this.getBoundingClientRect?.()||{left:0,top:0,width:0},o=n.offsetWidth/2;n.style.left=`${st(r-i.left,o,Math.max(o,i.width-o))}px`,n.style.top=`${l-i.top}px`,n.classList.add("on")}#p(){return[...this.#t.querySelectorAll("[data-tip]:not([data-skip])")]}#v(e){let r=this.#p(),l=r.length;if(!l)return;let n=this.#e,i=vr[e.key];if(i)this.chartType==="heatmap"&&/Left|Right/.test(e.key)&&(i*=7),n=n<0?i>0?0:l-1:st(n+i,0,l-1);else if(e.key==="Home"||e.key==="End")n=e.key==="Home"?0:l-1;else{e.key==="Escape"&&this.#g();return}e.preventDefault(),this.#d(n,!0)}#d(e,r){let l=this.#p();if(!l.length)return;e=st(e,0,l.length-1),this.#t.querySelector(".k")?.classList.remove("k");let n=l[e],i=n.getBoundingClientRect?.()||{left:0,top:0,width:0};n.classList.add("k"),this.#e=e,this.#m(n,i.left+i.width/2,i.top),r&&(this.#o.textContent=`${n.getAttribute("data-tip").replace(/\n/g,", ")}. ${e+1} of ${l.length}`)}#g(){this.#t.querySelector(".k")?.classList.remove("k"),this.#r.classList.remove("on"),this.#o.textContent="",this.#e=-1}};function Mr(t,{head:e,rows:r}){let l=n=>n.map((i,o)=>o?`<td>${kt(i)}</td>`:`<th scope="row">${kt(i)}</th>`).join("");return`<table><caption>${kt(t||"Chart data")}</caption><thead><tr>${e.map(n=>`<th scope="col">${kt(n)}</th>`).join("")}</tr></thead><tbody>${r.map(n=>`<tr>${l(n)}</tr>`).join("")}</tbody></table>`}function dt(t){typeof customElements>"u"||typeof HTMLElement>"u"||(customElements.get(`bezel-${t}`)||customElements.define(`bezel-${t}`,class extends Ot{get chartType(){return t}}),customElements.get("bezel-chart")||customElements.define("bezel-chart",class extends Ot{}))}pt("spark",me);dt("spark");function It(t,e,r){if(t===e)if(t===0)e=1;else{var l=Math.abs(t)*.1;t-=l,e+=l}for(var n=(e-t)/(r||4),i=Math.pow(10,Math.floor(Math.log10(n))),o=n/i,s=(o<=1?1:o<=2?2:o<=5?5:10)*i,f=Math.floor(t/s)*s,c=Math.ceil(e/s)*s,v=[],d=f;d<=c+s/2;d+=s)v.push(+d.toFixed(10));return{lo:f,hi:c,ticks:v}}function _t(t,e,r,l,n,i,o,s){var f=l,c=n,v="",d=s||13;return t.forEach(function(u,O){var T=d+vt(u,12)+16;f>l&&f+T-16>l+i&&(f=l,c+=20),v+=(o?o(O,f,c):'<circle cx="'+a(f+4)+'" cy="'+a(c+6)+'" r="4" fill="'+e[O%e.length]+'"/>')+F(f+d,c+10,u,'fill="'+r.fg+'" font-family="'+Mt+'" font-size="12"'),f+=T}),{svg:v,height:c-n+24}}var Wt={solid:"",dashed:"7 5",dotted:"1 5",dashdot:"9 4 1 4"},ae=["circle","square","triangle","diamond"],ne=["solid","stripes","dots","grid"];function Nt(t,e,r){if(t==null||t===!1||t==="none"||t==="false")return null;var l=t===!0||t===""||t==="auto"?e:q(t).map(function(n){return e.indexOf(n)<0?r:n});return l.length?function(n){return l[n%l.length]}:null}function Zt(t,e,r,l,n){var i=l*1.15,o=l*.85;return t==="square"?'<rect x="'+a(e-o)+'" y="'+a(r-o)+'" width="'+a(2*o)+'" height="'+a(2*o)+'" rx="1"'+n+"/>":t==="triangle"?'<path d="M'+a(e)+","+a(r-i)+"L"+a(e+i)+","+a(r+o)+"L"+a(e-i)+","+a(r+o)+'Z"'+n+"/>":t==="diamond"?'<path d="M'+a(e)+","+a(r-i*1.1)+"L"+a(e+i)+","+a(r)+"L"+a(e)+","+a(r+i*1.1)+"L"+a(e-i)+","+a(r)+'Z"'+n+"/>":'<circle cx="'+a(e)+'" cy="'+a(r)+'" r="'+a(l)+'"'+n+"/>"}function ie(t,e,r,l){var n=' stroke="'+l+'" stroke-opacity=".55" stroke-width="1.5"';return'<pattern id="'+t+'" width="6" height="6" patternUnits="userSpaceOnUse"'+(e==="dots"?"":' patternTransform="rotate(45)"')+'><rect width="6" height="6" fill="'+r+'"/>'+(e==="dots"?'<circle cx="3" cy="3" r="1.3" fill="'+l+'" fill-opacity=".55"/>':'<path d="M3,0V6'+(e==="grid"?"M0,3H6":"")+'"'+n+"/>")+"</pattern>"}function je(t){return Math.max.apply(null,t.map(function(e){return vt(e,10,!0)}))+10}function le(t,e){for(var r=wt(t.values),l=q(t.series),n=q(t.labels),i=[],o=Math.max.apply(null,[0].concat(r.map(function(d){return d.length}))),s=0;s<o;s++){var f=[n[s]||"#"+(s+1)],c=0;r.forEach(function(d){f.push(s<d.length?p(d[s],t):""),c+=s<d.length?d[s]:0}),e&&f.push(p(c,t)),i.push(f)}var v=r.length>1||l.length?r.map(function(d,u){return l[u]||"Series "+(u+1)}):["Value"];return{head:["Label"].concat(v,e?["Total"]:[]),rows:i}}function ge(t,e,r,l,n,i,o){var s="",f=n,c=r.n,v=r.labels;if(r.names){var d=_t(r.names,r.pal,e,l,f,i,r.key,r.kw);s+=d.svg,f+=d.height}var u=r.lo,O=r.hi;G(t.goal)&&(u=Math.min(u,+t.goal),O=Math.max(O,+t.goal)),r.zero&&(u=Math.min(0,u),O=Math.max(0,O));var T=It(u,O,4),R=T.ticks.map(r.tick),A=Math.max.apply(null,R.map(function(z){return vt(z,10,!0)}))+10,C=v.length?20:4,S=l+A,g=i-A,V=o-(f-n)-C,k=function(z){return c===1?S+g/2:S+z*g/(c-1)},x=function(z){return f+V-(z-T.lo)/(T.hi-T.lo)*V};if(T.ticks.forEach(function(z,b){var w=x(z);s+='<line x1="'+a(S)+'" x2="'+a(S+g)+'" y1="'+a(w)+'" y2="'+a(w)+'" stroke="'+e.grid+'"'+(z===0?"":' stroke-dasharray="2 4"')+"/>"+F(S-8,w+3.5,R[b],D(e,10,'text-anchor="end"'))}),v.length){for(var E=Math.max(1,Math.ceil(c*(Math.max.apply(null,v.map(function(z){return vt(z,10,!0)}))+10)/g)),y=0;y<c;y+=E)if(v[y]!=null){var m=c>1&&y===0?"start":c>1&&y===c-1?"end":"middle";s+=F(k(y),f+V+15,v[y],D(e,10,'text-anchor="'+m+'"'))}}return r.notes.forEach(function(z){if(!(z.i>=c)){var b=k(z.i);s+='<line x1="'+a(b)+'" x2="'+a(b)+'" y1="'+a(f+12)+'" y2="'+a(f+V)+'" stroke="'+e.fg+'" stroke-opacity=".4" stroke-dasharray="3 3"/>'+F(st(b,S+30,S+g-30),f+8,z.text,D(e,10,'text-anchor="middle"',e.fg))}}),{svg:s,X:k,Y:x,px:S,pw:g,top:f,ph:V}}function ve(t,e,r,l,n){for(var i=G(t.goal)?Ht(t,e,r.px,r.px+r.pw,r.Y(+t.goal)):"",o=l>1?r.pw/(l-1):r.pw,s=0;s<l;s++)i+=St(r.X(s)-o/2,r.top,o,r.ph,n(s));return i}function xe(t,e,r,l){return function(n,i,o){var s=t[n%t.length],f=e?Wt[e(n)]:"",c=r?r(n):"none";return'<line x1="'+a(i)+'" x2="'+a(i+18)+'" y1="'+a(o+6)+'" y2="'+a(o+6)+'" stroke="'+s+'" stroke-width="2.5" stroke-linecap="round"'+(f?' stroke-dasharray="'+f+'"':"")+"/>"+(c!=="none"?Zt(c,i+9,o+6,3.5,' fill="'+s+'" stroke="'+l+'" stroke-width="1.5"'):"")}}function ye(t,e,r,l,n){return n?'<path d="'+e+'" fill="none" stroke="'+r+'" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="'+n+'"'+ut(t,"bzc-a",l*.15)+"/>":'<path d="'+e+'" fill="none" stroke="'+r+'" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" pathLength="1" style="stroke-dasharray:1'+(t.animate?";animation-delay:"+l*.15+"s":"")+'"'+(t.animate?' class="bzc-d"':"")+"/>"}function be(t,e,r,l,n,i,o,s){var f="",c=Math.ceil(r.length/40);return r.forEach(function(v,d){(d%c===0||d===r.length-1)&&(f+=Zt(e,l(d),n(v),3.5,' fill="'+i+'" stroke="'+o+'" stroke-width="1.5"'+ut(t,"bzc-a",.6+s*.15)))}),f}function Me(t,e){var r=wt(t.values),l=q(t.series),n=q(t.labels),i=ct(t,e),o=Z(t.height,170),s=Math.max.apply(null,[0].concat(r.map(function(A){return A.length}))),f=Xt(t,n),c=r.length>1||l.length>0,v=At(r[0]||[],t,""),d=Nt(t.dash,Object.keys(Wt),"solid"),u=Nt(t.markers,ae,"none"),O=t.background||e.tile,T=(d||u)&&xe(i,d,u,O),R=function(A){return l[A]||"Series "+(A+1)};return mt(t,e,o,function(A,C,S,g){if(!s)return ht(e,A,C,S,g);var V=[].concat.apply([],r),k=ge(t,e,{n:s,names:c?r.map(function(M,B){return R(B)}):null,pal:i,key:T,kw:T&&24,lo:Math.min.apply(null,V),hi:Math.max.apply(null,V),zero:nt(t.zero),labels:n,notes:f,tick:function(M){return p(M,t,!0)}},A,C,S,g),x=k.svg,E=k.X,y=k.Y,m=k.px,z=k.pw,b=k.top,w=k.ph;return r.forEach(function(M,B){var I=i[B%i.length],Y=M.map(function(H,at){return[E(at),y(H)]});Y.length===1&&(Y=[[m,Y[0][1]],[m+z,Y[0][1]]]);var X=Yt(Y,nt(t.straight));if(B===0){var tt=Rt("g"),it=Y[Y.length-1];x+='<defs><linearGradient id="'+tt+'" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="'+I+'" stop-opacity=".26"/><stop offset="1" stop-color="'+I+'" stop-opacity="0"/></linearGradient></defs><path d="'+X+"L"+a(it[0])+","+a(b+w)+"L"+a(Y[0][0])+","+a(b+w)+'Z" fill="url(#'+tt+')"'+ut(t,"bzc-a")+"/>"}var h=u?u(B):"none";if(x+=ye(t,X,I,B,d?Wt[d(B)]:""),h!=="none")x+=be(t,h,M,E,y,I,O,B);else{var U=Y[Y.length-1];x+='<circle cx="'+a(U[0])+'" cy="'+a(U[1])+'" r="4" fill="'+I+'" stroke="'+O+'" stroke-width="2"/>'}nt(t.showValues)&&M.forEach(function(H,at){x+=F(E(at),y(H)-8,p(H,t,!0),D(e,9,'text-anchor="middle"'))})}),x+ve(t,e,k,s,function(M){var B=n[M]||"#"+(M+1);return r.forEach(function(I,Y){M<I.length&&(B+=`
|
|
3
|
-
`+(c?
|
|
4
|
-
`+(
|
|
5
|
-
Total: `+
|
|
6
|
-
`+
|
|
7
|
-
Total: `+
|
|
8
|
-
`+
|
|
1
|
+
/*! Bezel Charts v1.7.0 | MIT | github.com/ShazMoghaddam/bezel-charts */
|
|
2
|
+
var Et="ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif",Ft="ui-monospace,SFMono-Regular,Menlo,Consolas,monospace",dr=0;function Ht(t){return"bzc"+t+(++dr).toString(36)+Math.random().toString(36).slice(2,6)}function zt(t){return String(t??"").replace(/[&<>"']/g,function(e){return{"&":"&","<":"<",">":">",'"':""","'":"'"}[e]})}function a(t){return Math.round(t*100)/100}function ct(t,e,r){return Math.max(e,Math.min(r,t))}function j(t,e){var r=parseFloat(t);return isFinite(r)?r:e}function R(t){return t!=null&&t!==""}function Mt(t){return Array.isArray(t)?t.map(function(e){var r=+e;return isFinite(r)?r:0}):R(t)?String(t).split(/[\s,;]+/).filter(Boolean).map(function(e){var r=+e;return isFinite(r)?r:0}):[]}function U(t){return Array.isArray(t)?t.map(String):R(t)?String(t).split(",").map(function(e){return e.trim()}):[]}function bt(t){return Array.isArray(t)?Array.isArray(t[0])?t.map(Mt):[Mt(t)]:R(t)?String(t).split("|").map(Mt).filter(function(e){return e.length}):[]}function Ut(t){return t.reduce(function(e,r){return e+r},0)}function ht(t,e,r){return String(t).length*e*(r?.6:.56)}function re(t,e){return t=String(t),t.length>e?t.slice(0,Math.max(1,e-1))+"\u2026":t}function at(t){return t===!0||t===""||t==="true"||t==="1"}function m(t,e,r){if(!isFinite(t))return"\u2013";var l=Math.abs(t),i;R(e.decimals)?i=ct(parseInt(e.decimals,10)||0,0,6):i=t%1===0?0:l<10?2:l<100?1:0;var n={maximumFractionDigits:i,minimumFractionDigits:R(e.decimals)?i:0};(at(e.compact)||r)&&l>=1e4&&(n={notation:"compact",maximumFractionDigits:1});var o;try{o=new Intl.NumberFormat(e.lang||"en-GB",n).format(l)}catch{o=String(a(l))}return(t<0?"\u2212":"")+(e.prefix||"")+o+(e.suffix||"")}function Zt(t,e){if(!t.length)return"";for(var r="M"+a(t[0][0])+","+a(t[0][1]),l=1;l<t.length;l++){var i=t[l-1],n=t[l];if(e)r+="L"+a(n[0])+","+a(n[1]);else{var o=(i[0]+n[0])/2;r+="C"+a(o)+","+a(i[1])+" "+a(o)+","+a(n[1])+" "+a(n[0])+","+a(n[1])}}return r}function N(t,e,r,l){return'<text x="'+a(t)+'" y="'+a(e)+'" '+(l||"")+">"+zt(r)+"</text>"}function _(t,e,r,l){return'fill="'+(l||t.muted)+'" font-family="'+Ft+'" font-size="'+(e||10)+'"'+(r?" "+r:"")}function wt(t,e,r,l,i){return'<rect class="bzc-hit" x="'+a(t)+'" y="'+a(e)+'" width="'+a(Math.max(1,r))+'" height="'+a(Math.max(1,l))+'" fill="#000" fill-opacity="0" data-tip="'+zt(i)+'"/>'}function mt(t,e,r){return t.animate?' class="'+e+'"'+(r?' style="animation-delay:'+a(r)+'s"':""):""}function pt(t,e){var r=U(t.color).filter(Boolean);return r.length?r:e.palette}function dt(t,e,r,l,i){return N(e+l/2,r+i/2+4,"No data yet",'text-anchor="middle" fill="'+t.muted+'" font-family="'+Et+'" font-size="13"')}function ne(t,e){return R(t.notes)?String(t.notes).split(";").map(function(r){var l=r.indexOf(":");if(l<0)return null;var i=r.slice(0,l).trim(),n=r.slice(l+1).trim(),o=e.map(String).indexOf(i);return o<0&&String(parseInt(i,10))===i&&(o=parseInt(i,10)),o>=0&&n?{i:o,text:n}:null}).filter(Boolean):[]}function Kt(t,e,r,l,i){var n=(R(t.goalLabel)?t.goalLabel:"Goal")+" "+m(j(t.goal,0),t);return'<line x1="'+a(r)+'" x2="'+a(l)+'" y1="'+a(i)+'" y2="'+a(i)+'" stroke="'+e.fg+'" stroke-opacity=".55" stroke-width="1.25" stroke-dasharray="4 4"/>'+N(l,i-5,n,_(e,10,'text-anchor="end"'))}function Nt(t,e,r){var l=String(R(e.stat)?e.stat:r||"").toLowerCase();if(!l||l==="none"||!t.length)return null;var i=Ut(t),n={last:t[t.length-1],total:i,sum:i,average:i/t.length,avg:i/t.length,max:Math.max.apply(null,t),min:Math.min.apply(null,t)};if(!(l in n))return null;var o=null;return l==="last"&&t.length>1&&e.delta!=="none"&&(o=t[t.length-1]-t[0]),{val:n[l],delta:o}}function ue(t){var e=Math.round(ct(j(t.width,360),160,2400)),r=t.frame==="none"?0:4,l=t.frame==="none"?8:20;return{W:e,b:r,P:l,w:e-2*(r+l)}}var gr=".bzc-a{animation:bzc-in .6s ease both}.bzc-d{animation:bzc-draw 1.1s cubic-bezier(.3,.7,.2,1) both}.bzc-g{transform-box:fill-box;transform-origin:50% 100%;animation:bzc-grow .7s cubic-bezier(.2,.8,.2,1) both}.bzc-gn{transform-box:fill-box;transform-origin:50% 0;animation:bzc-grow .7s cubic-bezier(.2,.8,.2,1) both}.bzc-gx{transform-box:fill-box;transform-origin:0 50%;animation:bzc-growx .8s cubic-bezier(.2,.8,.2,1) both}.bzc-s{animation:bzc-sweep 1.1s cubic-bezier(.2,.8,.2,1) both}@keyframes bzc-in{from{opacity:0}}@keyframes bzc-draw{from{stroke-dashoffset:1}}@keyframes bzc-grow{from{transform:scaleY(0)}}@keyframes bzc-growx{from{transform:scaleX(0)}}@keyframes bzc-sweep{from{stroke-dasharray:0 100}}@media (prefers-reduced-motion:reduce){[class^=bzc-]{animation:none!important}}";function gt(t,e,r,l,i){var n=ue(t),o=n.W,s=n.b,f=n.P,c=n.w,g=ct(j(t.corners,22),0,60),p=s+f,u="";R(t.heading)&&(u+=N(s+f,p+10,String(t.heading).toUpperCase(),_(e,11,'font-weight="600" letter-spacing="1.3"')),p+=24);var L=i&&i.stat;if(L){if(u+=N(s+f,p+30,m(L.val,t),'fill="'+e.fg+'" font-family="'+Et+'" font-size="32" font-weight="800" letter-spacing="-0.5"'),L.delta!=null){var A=L.delta>0,O=L.delta===0,k=t.delta==="inverse"?!A:A,B=O?e.muted:k?e.up:e.down,C=(O?"\u25CF ":A?"\u25B2 ":"\u25BC ")+m(Math.abs(L.delta),t)+" "+(R(t.deltaLabel)?t.deltaLabel:"since start");u+=N(s+f+c,p+28,C,'text-anchor="end" fill="'+B+'" font-family="'+Ft+'" font-size="11" font-weight="600"')}p+=44}var v=l(s+f,p,c,r),D=Math.round(p+r+f+s),M="";t.frame!=="none"?M='<rect width="'+o+'" height="'+D+'" rx="'+g+'" fill="'+e.bezel+'"/><rect x="'+s+'" y="'+s+'" width="'+(o-2*s)+'" height="'+(D-2*s)+'" rx="'+Math.max(0,g-s)+'" fill="'+(t.background||e.tile)+'"/>':R(t.background)&&(M='<rect width="'+o+'" height="'+D+'" rx="'+g+'" fill="'+t.background+'"/>');var x=(R(t.heading)?t.heading+": ":"")+(i&&i.summary||"chart");return'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 '+o+" "+D+'" width="'+o+'" height="'+D+'" role="img" aria-label="'+zt(x)+'"><title>'+zt(x)+"</title>"+(t.animate?"<style>"+gr+"</style>":"")+M+u+v+"</svg>"}function Oe(t,e){var r=Mt(t.values),l=pt(t,e)[0],i=j(t.height,64),n=U(t.labels),o=ne(t,n),s=Nt(r,t,"last");return gt(t,e,i,function(f,c,g,p){if(!r.length)return dt(e,f,c,g,p);var u=r.length===1?[r[0],r[0]]:r,L=Math.min.apply(null,u),A=Math.max.apply(null,u);R(t.goal)&&(L=Math.min(L,+t.goal),A=Math.max(A,+t.goal));var O=(A-L||Math.abs(A)||1)*.12;L-=O,A+=O;var k=function(b){return f+b*g/(u.length-1)},B=function(b){return c+p-(b-L)/(A-L)*p},C=u.map(function(b,d){return[k(d),B(b)]}),v=Zt(C,at(t.straight)),D=Ht("g"),M=C[C.length-1],x='<defs><linearGradient id="'+D+'" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="'+l+'" stop-opacity=".32"/><stop offset="1" stop-color="'+l+'" stop-opacity="0"/></linearGradient></defs>';[1/3,2/3].forEach(function(b){x+='<line x1="'+f+'" x2="'+(f+g)+'" y1="'+a(c+p*b)+'" y2="'+a(c+p*b)+'" stroke="'+e.grid+'" stroke-dasharray="2 4"/>'}),x+='<path d="'+v+"L"+a(M[0])+","+(c+p)+"L"+f+","+(c+p)+'Z" fill="url(#'+D+')"'+mt(t,"bzc-a")+"/>",x+='<path d="'+v+'" fill="none" stroke="'+l+'" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" pathLength="1" style="stroke-dasharray:1"'+mt(t,"bzc-d")+"/>",R(t.goal)&&(x+=Kt(t,e,f,f+g,B(+t.goal))),o.forEach(function(b){if(!(b.i>=r.length)){var d=C[b.i];x+='<circle cx="'+a(d[0])+'" cy="'+a(d[1])+'" r="3.5" fill="'+e.fg+'"/>'+N(ct(d[0],f+30,f+g-30),d[1]-9,b.text,_(e,10,'text-anchor="middle"',e.fg))}}),x+='<circle cx="'+a(M[0])+'" cy="'+a(M[1])+'" r="9" fill="'+l+'" fill-opacity=".25"/><circle cx="'+a(M[0])+'" cy="'+a(M[1])+'" r="4.5" fill="'+l+'"/>',at(t.showValues)&&C.forEach(function(b,d){d<r.length&&(x+=N(b[0],b[1]-8,m(r[d],t,!0),_(e,9,'text-anchor="middle"')))});var T=r.length>1?g/(r.length-1):g;return r.forEach(function(b,d){x+=wt(k(d)-T/2,c-6,T,p+12,(n[d]||"#"+(d+1))+": "+m(b,t))}),x},{stat:s,summary:r.length?"latest "+m(r[r.length-1],t):"no data"})}Oe.table=function(t){var e=U(t.labels);return{head:["Label","Value"],rows:Mt(t.values).map(function(r,l){return[e[l]||"#"+(l+1),m(r,t)]})}};var pe={dark:{tile:"#15151d",bezel:"#000000",fg:"#f2f1f7",muted:"#8c8aa0",grid:"#2a2935",up:"#5EE6C8",down:"#F675A8",palette:["#9FA1FF","#F675A8","#5EE6C8","#FFC857","#7CC4FF","#FF8A5B"]},light:{tile:"#ffffff",bezel:"#000000",fg:"#17161f",muted:"#6b6980",grid:"#e8e6ef",up:"#12a383",down:"#d63f7c",palette:["#6E70F0","#E2508C","#16A884","#D99A0E","#2F8FE0","#EE6431"]}};var Ae=["spark","line","area","bars","combo","histogram","boxplot","scatter","ring","donut","gauge","progress","heatmap"],Te={};function vt(t,e){Te[t]=e}var vr=t=>t.replace(/-([a-z])/g,(e,r)=>r.toUpperCase());function er(t,e){if(!Te[t])throw new Error(Ae.includes(t)?`Bezel Charts: the ${t} chart isn't loaded. Add import 'bezel-charts/${t}', or load dist/charts/${t}.js.`:`Bezel Charts: unknown chart type "${t}". Choose one of: ${Ae.join(", ")}.`);let r={};for(let[l,i]of Object.entries(e))r[vr(l)]=i;return r}function Ot(t,e={}){let r=er(t,e);r.animate=at(r.animate),r.frame=r.frame==="none"?"none":"bezel";let l=r.theme==="light"||r.theme==="dark"?r.theme:r.autoTheme||"dark";return Te[t](r,pe[l])}function rr(t,e={}){return Te[t].table(er(t,e))}function Ke(t){return t.replace(/<rect class="bzc-hit"[^>]*\/>/g,"").replace(/<circle[^>]* class="bzc-hit"[^>]*\/>/g,"").replace(/ data-tip="[^"]*"/g,"")}function Pt(t,e={}){return Ke(Ot(t,{...e,animate:!1}))}var ar=["type","values","labels","series","heading","prefix","suffix","decimals","compact","color","theme","frame","width","height","goal","goal-label","notes","show-values","stat","delta","delta-label","max","min","value","zones","horizontal","straight","zero","start","lang","corners","background","center-label","highlight","x","y","x-label","y-label","trend","static","no-tooltips","stacked","angle-labels","dash","markers","patterns","bins","bin-width","mark","percent","whiskers","line","line-series","line-prefix","line-suffix","line-decimals","line-label","line-zero"],xr=`:host{display:block;position:relative;max-width:100%}:host([hidden]){display:none}svg{display:block;max-width:100%;height:auto;overflow:visible}.tip{position:absolute;left:0;top:0;pointer-events:none;background:#0b0b10;color:#f2f1f7;font:600 12px/1.5 ${Ft};padding:7px 10px;border-radius:10px;white-space:pre;opacity:0;transform:translate(-50%,calc(-100% - 12px));transition:opacity .12s;z-index:3;border:1px solid #2a2935;box-shadow:0 8px 24px rgba(0,0,0,.35)}.tip.on{opacity:1}.c{outline:none}.c:focus-visible{outline:2px solid #fff;outline-offset:3px;box-shadow:0 0 0 7px #000}.k{stroke:currentColor;stroke-width:2;stroke-opacity:1}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media (forced-colors:active){.c:focus-visible{outline-color:Highlight}}`,br={ArrowLeft:-1,ArrowUp:-1,ArrowRight:1,ArrowDown:1},yr=()=>typeof matchMedia=="function"?matchMedia("(prefers-color-scheme: dark)"):null,kr=()=>{let t=typeof document<"u"&&document.documentElement?.getAttribute?.("data-theme");return t==="light"||t==="dark"?t:null},Qe=new Set;typeof MutationObserver=="function"&&typeof document<"u"&&document.documentElement&&new MutationObserver(()=>Qe.forEach(t=>t.refresh())).observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]});var Mr=typeof HTMLElement>"u"?class{}:HTMLElement,At=class extends Mr{static get observedAttributes(){return ar}static get themes(){return pe}get resolvedTheme(){let e=this.getAttribute("theme");return e==="light"||e==="dark"?e:this.options.autoTheme}get chartType(){return this.getAttribute("type")||"spark"}connectedCallback(){this.shadowRoot||(this.attachShadow({mode:"open"}).innerHTML=`<style>${xr}</style><div class="c" role="group" aria-roledescription="chart"></div><p class="sr" id="h">Use the arrow keys to step through the values.</p><div class="tip" aria-hidden="true"></div><div class="sr" aria-live="polite"></div><div class="sr"></div>`,[,this.#t,,this.#r,this.#o,this.#u]=this.shadowRoot.children,this.shadowRoot.addEventListener("pointermove",e=>this.#h(e)),this.shadowRoot.addEventListener("pointerdown",e=>this.#h(e)),this.addEventListener("pointerleave",()=>this.#r.classList.remove("on")),this.#t.addEventListener("keydown",e=>this.#v(e)),this.#t.addEventListener("blur",()=>this.#g())),Qe.add(this),this.#a=yr(),this.#a?.addEventListener?.("change",this.#c),typeof ResizeObserver=="function"?(this.#l=new ResizeObserver(([e])=>{let r=Math.round(e.contentRect.width);(!this.#n||!this.hasAttribute("width")&&r>0&&Math.abs(r-this.#s)>1)&&this.#i()}),this.#l.observe(this)):this.#i()}disconnectedCallback(){Qe.delete(this),this.#l?.disconnect(),this.#a?.removeEventListener?.("change",this.#c)}attributeChangedCallback(){!this.#n||this.#f||(this.#f=!0,queueMicrotask(()=>{this.#f=!1,this.#i()}))}get options(){let e={};for(let r of ar)this.hasAttribute(r)&&(e[r]=this.getAttribute(r));return e.width||(e.width=this.#s||360),e.autoTheme=kr()||(this.#a?this.#a.matches?"dark":"light":"dark"),e}refresh(){this.#n&&this.#i()}toSVG(e={}){return Ke(Ot(this.chartType,{...this.options,...e,animate:!1}))}download(e){let r=URL.createObjectURL(new Blob([this.toSVG()],{type:"image/svg+xml"})),l=Object.assign(document.createElement("a"),{href:r,download:`${(e||this.getAttribute("heading")||this.chartType).replace(/[^\w-]+/g,"-").toLowerCase()}.svg`});document.body.append(l),l.click(),l.remove(),setTimeout(()=>URL.revokeObjectURL(r),1e3)}#l=null;#t=null;#r=null;#o=null;#u=null;#e=-1;#a=null;#s=0;#n=!1;#f=!1;#c=()=>{let e=this.getAttribute("theme");(!e||e==="auto")&&this.refresh()};#i(){if(!this.shadowRoot)return;let e=Math.round(this.getBoundingClientRect?.().width||0);this.#s=e>0?e:360;let r=this.options;r.animate=!this.#n&&!this.hasAttribute("static");let l,i=null;try{l=Ot(this.chartType,r),i=rr(this.chartType,r)}catch(f){l=`<p style="font:13px ${Et};color:#d63f7c">${zt(f.message)}</p>`}let n=this.#t;n.innerHTML=l.replace(/<title>[\s\S]*?<\/title>/,"");let o=n.querySelector("svg");o?(n.setAttribute("aria-label",o.getAttribute("aria-label")),o.removeAttribute("role"),o.removeAttribute("aria-label"),o.setAttribute("aria-hidden","true")):n.removeAttribute("aria-label");let s=!!o&&!this.hasAttribute("no-tooltips");s?(n.setAttribute("tabindex","0"),n.setAttribute("aria-describedby","h")):(n.removeAttribute("tabindex"),n.removeAttribute("aria-describedby")),n.style.color=pe[r.theme==="light"||r.theme==="dark"?r.theme:r.autoTheme].fg,n.style.borderRadius=`${r.frame==="none"?4:ct(+r.corners||22,0,60)}px`,this.#u.innerHTML=i&&i.rows.length?wr(r.heading,i):"",this.#e>=0&&s&&this.shadowRoot.activeElement===n?this.#d(this.#e):this.#e=-1,this.#n=!0,this.dispatchEvent(new CustomEvent("bezel-render",{bubbles:!0}))}#h(e){if(this.hasAttribute("no-tooltips"))return;let r=e.target?.closest?.("[data-tip]");if(!r){this.#r.classList.remove("on");return}this.#m(r,e.clientX,e.clientY)}#m(e,r,l){let i=this.#r;i.textContent=e.getAttribute("data-tip");let n=this.getBoundingClientRect?.()||{left:0,top:0,width:0},o=i.offsetWidth/2;i.style.left=`${ct(r-n.left,o,Math.max(o,n.width-o))}px`,i.style.top=`${l-n.top}px`,i.classList.add("on")}#p(){return[...this.#t.querySelectorAll("[data-tip]:not([data-skip])")]}#v(e){let r=this.#p(),l=r.length;if(!l)return;let i=this.#e,n=br[e.key];if(n)this.chartType==="heatmap"&&/Left|Right/.test(e.key)&&(n*=7),i=i<0?n>0?0:l-1:ct(i+n,0,l-1);else if(e.key==="Home"||e.key==="End")i=e.key==="Home"?0:l-1;else{e.key==="Escape"&&this.#g();return}e.preventDefault(),this.#d(i,!0)}#d(e,r){let l=this.#p();if(!l.length)return;e=ct(e,0,l.length-1),this.#t.querySelector(".k")?.classList.remove("k");let i=l[e],n=i.getBoundingClientRect?.()||{left:0,top:0,width:0};i.classList.add("k"),this.#e=e,this.#m(i,n.left+n.width/2,n.top),r&&(this.#o.textContent=`${i.getAttribute("data-tip").replace(/\n/g,", ")}. ${e+1} of ${l.length}`)}#g(){this.#t.querySelector(".k")?.classList.remove("k"),this.#r.classList.remove("on"),this.#o.textContent="",this.#e=-1}};function wr(t,{head:e,rows:r}){let l=i=>i.map((n,o)=>o?`<td>${zt(n)}</td>`:`<th scope="row">${zt(n)}</th>`).join("");return`<table><caption>${zt(t||"Chart data")}</caption><thead><tr>${e.map(i=>`<th scope="col">${zt(i)}</th>`).join("")}</tr></thead><tbody>${r.map(i=>`<tr>${l(i)}</tr>`).join("")}</tbody></table>`}function xt(t){typeof customElements>"u"||typeof HTMLElement>"u"||(customElements.get(`bezel-${t}`)||customElements.define(`bezel-${t}`,class extends At{get chartType(){return t}}),customElements.get("bezel-chart")||customElements.define("bezel-chart",class extends At{}))}vt("spark",Oe);xt("spark");function It(t,e,r){if(t===e)if(t===0)e=1;else{var l=Math.abs(t)*.1;t-=l,e+=l}for(var i=(e-t)/(r||4),n=Math.pow(10,Math.floor(Math.log10(i))),o=i/n,s=(o<=1?1:o<=2?2:o<=5?5:10)*n,f=Math.floor(t/s)*s,c=Math.ceil(e/s)*s,g=[],p=f;p<=c+s/2;p+=s)g.push(+p.toFixed(10));return{lo:f,hi:c,ticks:g}}function Yt(t,e,r,l,i,n,o,s){var f=l,c=i,g="",p=s||13;return t.forEach(function(u,L){var A=p+ht(u,12)+16;f>l&&f+A-16>l+n&&(f=l,c+=20),g+=(o?o(L,f,c):'<circle cx="'+a(f+4)+'" cy="'+a(c+6)+'" r="4" fill="'+e[L%e.length]+'"/>')+N(f+p,c+10,u,'fill="'+r.fg+'" font-family="'+Et+'" font-size="12"'),f+=A}),{svg:g,height:c-i+24}}var $t={solid:"",dashed:"7 5",dotted:"1 5",dashdot:"9 4 1 4"},ie=["circle","square","triangle","diamond"],le=["solid","stripes","dots","grid"];function Bt(t,e,r){if(t==null||t===!1||t==="none"||t==="false")return null;var l=t===!0||t===""||t==="auto"?e:U(t).map(function(i){return e.indexOf(i)<0?r:i});return l.length?function(i){return l[i%l.length]}:null}function Qt(t,e,r,l,i){var n=l*1.15,o=l*.85;return t==="square"?'<rect x="'+a(e-o)+'" y="'+a(r-o)+'" width="'+a(2*o)+'" height="'+a(2*o)+'" rx="1"'+i+"/>":t==="triangle"?'<path d="M'+a(e)+","+a(r-n)+"L"+a(e+n)+","+a(r+o)+"L"+a(e-n)+","+a(r+o)+'Z"'+i+"/>":t==="diamond"?'<path d="M'+a(e)+","+a(r-n*1.1)+"L"+a(e+n)+","+a(r)+"L"+a(e)+","+a(r+n*1.1)+"L"+a(e-n)+","+a(r)+'Z"'+i+"/>":'<circle cx="'+a(e)+'" cy="'+a(r)+'" r="'+a(l)+'"'+i+"/>"}function oe(t,e,r,l){var i=' stroke="'+l+'" stroke-opacity=".55" stroke-width="1.5"';return'<pattern id="'+t+'" width="6" height="6" patternUnits="userSpaceOnUse"'+(e==="dots"?"":' patternTransform="rotate(45)"')+'><rect width="6" height="6" fill="'+r+'"/>'+(e==="dots"?'<circle cx="3" cy="3" r="1.3" fill="'+l+'" fill-opacity=".55"/>':'<path d="M3,0V6'+(e==="grid"?"M0,3H6":"")+'"'+i+"/>")+"</pattern>"}function nr(t){return Math.max.apply(null,t.map(function(e){return ht(e,10,!0)}))+10}function de(t,e){for(var r=bt(t.values),l=U(t.series),i=U(t.labels),n=[],o=Math.max.apply(null,[0].concat(r.map(function(p){return p.length}))),s=0;s<o;s++){var f=[i[s]||"#"+(s+1)],c=0;r.forEach(function(p){f.push(s<p.length?m(p[s],t):""),c+=s<p.length?p[s]:0}),e&&f.push(m(c,t)),n.push(f)}var g=r.length>1||l.length?r.map(function(p,u){return l[u]||"Series "+(u+1)}):["Value"];return{head:["Label"].concat(g,e?["Total"]:[]),rows:n}}function Ce(t,e,r,l,i,n,o){var s="",f=i,c=r.n,g=r.labels;if(r.names){var p=Yt(r.names,r.pal,e,l,f,n,r.key,r.kw);s+=p.svg,f+=p.height}var u=r.lo,L=r.hi;R(t.goal)&&(u=Math.min(u,+t.goal),L=Math.max(L,+t.goal)),r.zero&&(u=Math.min(0,u),L=Math.max(0,L));var A=It(u,L,4),O=A.ticks.map(r.tick),k=Math.max.apply(null,O.map(function(F){return ht(F,10,!0)}))+10,B=g.length?20:4,C=l+k,v=n-k,D=o-(f-i)-B,M=function(F){return c===1?C+v/2:C+F*v/(c-1)},x=function(F){return f+D-(F-A.lo)/(A.hi-A.lo)*D};if(A.ticks.forEach(function(F,w){var E=x(F);s+='<line x1="'+a(C)+'" x2="'+a(C+v)+'" y1="'+a(E)+'" y2="'+a(E)+'" stroke="'+e.grid+'"'+(F===0?"":' stroke-dasharray="2 4"')+"/>"+N(C-8,E+3.5,O[w],_(e,10,'text-anchor="end"'))}),g.length){for(var T=Math.max(1,Math.ceil(c*(Math.max.apply(null,g.map(function(F){return ht(F,10,!0)}))+10)/v)),b=0;b<c;b+=T)if(g[b]!=null){var d=c>1&&b===0?"start":c>1&&b===c-1?"end":"middle";s+=N(M(b),f+D+15,g[b],_(e,10,'text-anchor="'+d+'"'))}}return r.notes.forEach(function(F){if(!(F.i>=c)){var w=M(F.i);s+='<line x1="'+a(w)+'" x2="'+a(w)+'" y1="'+a(f+12)+'" y2="'+a(f+D)+'" stroke="'+e.fg+'" stroke-opacity=".4" stroke-dasharray="3 3"/>'+N(ct(w,C+30,C+v-30),f+8,F.text,_(e,10,'text-anchor="middle"',e.fg))}}),{svg:s,X:M,Y:x,px:C,pw:v,top:f,ph:D}}function Fe(t,e,r,l,i){for(var n=R(t.goal)?Kt(t,e,r.px,r.px+r.pw,r.Y(+t.goal)):"",o=l>1?r.pw/(l-1):r.pw,s=0;s<l;s++)n+=wt(r.X(s)-o/2,r.top,o,r.ph,i(s));return n}function Be(t,e,r,l){return function(i,n,o){var s=t[i%t.length],f=e?$t[e(i)]:"",c=r?r(i):"none";return'<line x1="'+a(n)+'" x2="'+a(n+18)+'" y1="'+a(o+6)+'" y2="'+a(o+6)+'" stroke="'+s+'" stroke-width="2.5" stroke-linecap="round"'+(f?' stroke-dasharray="'+f+'"':"")+"/>"+(c!=="none"?Qt(c,n+9,o+6,3.5,' fill="'+s+'" stroke="'+l+'" stroke-width="1.5"'):"")}}function ge(t,e,r,l,i){return i?'<path d="'+e+'" fill="none" stroke="'+r+'" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="'+i+'"'+mt(t,"bzc-a",l*.15)+"/>":'<path d="'+e+'" fill="none" stroke="'+r+'" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" pathLength="1" style="stroke-dasharray:1'+(t.animate?";animation-delay:"+l*.15+"s":"")+'"'+(t.animate?' class="bzc-d"':"")+"/>"}function ve(t,e,r,l,i,n,o,s){var f="",c=Math.ceil(r.length/40);return r.forEach(function(g,p){(p%c===0||p===r.length-1)&&(f+=Qt(e,l(p),i(g),3.5,' fill="'+n+'" stroke="'+o+'" stroke-width="1.5"'+mt(t,"bzc-a",.6+s*.15)))}),f}function Ne(t,e){var r=bt(t.values),l=U(t.series),i=U(t.labels),n=pt(t,e),o=j(t.height,170),s=Math.max.apply(null,[0].concat(r.map(function(k){return k.length}))),f=ne(t,i),c=r.length>1||l.length>0,g=Nt(r[0]||[],t,""),p=Bt(t.dash,Object.keys($t),"solid"),u=Bt(t.markers,ie,"none"),L=t.background||e.tile,A=(p||u)&&Be(n,p,u,L),O=function(k){return l[k]||"Series "+(k+1)};return gt(t,e,o,function(k,B,C,v){if(!s)return dt(e,k,B,C,v);var D=[].concat.apply([],r),M=Ce(t,e,{n:s,names:c?r.map(function(S,y){return O(y)}):null,pal:n,key:A,kw:A&&24,lo:Math.min.apply(null,D),hi:Math.max.apply(null,D),zero:at(t.zero),labels:i,notes:f,tick:function(S){return m(S,t,!0)}},k,B,C,v),x=M.svg,T=M.X,b=M.Y,d=M.px,F=M.pw,w=M.top,E=M.ph;return r.forEach(function(S,y){var X=n[y%n.length],q=S.map(function(G,tt){return[T(tt),b(G)]});q.length===1&&(q=[[d,q[0][1]],[d+F,q[0][1]]]);var H=Zt(q,at(t.straight));if(y===0){var I=Ht("g"),Q=q[q.length-1];x+='<defs><linearGradient id="'+I+'" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="'+X+'" stop-opacity=".26"/><stop offset="1" stop-color="'+X+'" stop-opacity="0"/></linearGradient></defs><path d="'+H+"L"+a(Q[0])+","+a(w+E)+"L"+a(q[0][0])+","+a(w+E)+'Z" fill="url(#'+I+')"'+mt(t,"bzc-a")+"/>"}var h=u?u(y):"none";if(x+=ge(t,H,X,y,p?$t[p(y)]:""),h!=="none")x+=ve(t,h,S,T,b,X,L,y);else{var P=q[q.length-1];x+='<circle cx="'+a(P[0])+'" cy="'+a(P[1])+'" r="4" fill="'+X+'" stroke="'+L+'" stroke-width="2"/>'}at(t.showValues)&&S.forEach(function(G,tt){x+=N(T(tt),b(G)-8,m(G,t,!0),_(e,9,'text-anchor="middle"'))})}),x+Fe(t,e,M,s,function(S){var y=i[S]||"#"+(S+1);return r.forEach(function(X,q){S<X.length&&(y+=`
|
|
3
|
+
`+(c?O(q)+": ":"")+m(X[S],t))}),y})},{stat:g,summary:r.length+" series over "+s+" points"})}Ne.table=function(t){return de(t)};vt("line",Ne);xt("line");function Ge(t,e){for(var r=bt(t.values),l=U(t.series),i=U(t.labels),n=pt(t,e),o=j(t.height,170),s=r.length,f=Math.max.apply(null,[0].concat(r.map(function(h){return h.length}))),c=s>1?t.stacked==="percent"?"percent":at(t.stacked)?"stack":"":"",g=ne(t,i),p=s>1||l.length>0,u=function(h){return l[h]||"Series "+(h+1)},L=function(h,P){return P<r[h].length?r[h][P]:0},A=r.map(function(){return[]}),O=r.map(function(){return[]}),k=[],B=[],C=0;C<f;C++){for(var v=0,D=0,M=0,x=0,T=0;T<s;T++)M+=L(T,C),x+=Math.max(0,L(T,C));for(k.push(M),B.push(x),T=0;T<s;T++){var b=c==="percent"?x?Math.max(0,L(T,C))/x*100:0:L(T,C);c?b>=0?(A[T].push(v),v+=b,O[T].push(v)):(A[T].push(D),D+=b,O[T].push(D)):(A[T].push(0),O[T].push(b))}}for(var d=[].concat.apply([],A.concat(O)),F=Bt(t.dash,Object.keys($t),"solid"),w=Bt(t.markers,ie,"none"),E=s>1?Bt(t.patterns,le,"solid"):null,S=t.background||e.tile,y="",X=[],q=0;E&&q<s;q++)if(E(q)!=="solid"){var H=Ht("g");y+=oe(H,E(q),n[q%n.length],S),X[q]="url(#"+H+")"}var I=E?function(h,P,G){return'<rect x="'+a(P)+'" y="'+a(G+1)+'" width="10" height="10" rx="2" fill="'+(X[h]||n[h%n.length])+'"/>'}:(F||w)&&Be(n,F,w,S),Q=function(h,P){return B[P]?Math.round(Math.max(0,L(h,P))/B[P]*100):0};return gt(t,e,o,function(h,P,G,tt){if(!f)return dt(e,h,P,G,tt);var nt=Ce(t,e,{n:f,names:p?r.map(function(et,V){return u(V)}):null,pal:n,key:I,kw:I&&(E?15:24),lo:Math.min.apply(null,d),hi:Math.max.apply(null,d),zero:!0,labels:i,notes:g,tick:c==="percent"?function(et){return m(et,{lang:t.lang},!0)+"%"}:function(et){return m(et,t,!0)}},h,P,G,tt),z=(y?"<defs>"+y+"</defs>":"")+nt.svg,W=nt.X,$=nt.Y,ut=function(et){var V=et.map(function(J,Z){return[W(Z),$(J)]});return V.length===1?[[nt.px,V[0][1]],[nt.px+nt.pw,V[0][1]]]:V},rt=at(t.straight),ft=c?".8":".22",yt=function(et){return c?O[et]:r[et]};return r.forEach(function(et,V){var J=ut(yt(V)),Z=ut(c?A[V]:yt(V).map(function(){return 0})).reverse();z+='<path d="'+Zt(J,rt)+Zt(Z,rt).replace(/^M/,"L")+'Z" fill="'+(X[V]||n[V%n.length])+'" fill-opacity="'+ft+'"'+(t.animate?' class="bzc-a" style="animation-delay:'+a(V*.1)+'s"':"")+"/>"}),r.forEach(function(et,V){var J=n[V%n.length],Z=yt(V),Y=ut(Z),K=w?w(V):"none";z+=ge(t,Zt(Y,rt),J,V,F?$t[F(V)]:""),K!=="none"?z+=ve(t,K,Z,W,$,J,S,V):c||(z+='<circle cx="'+a(Y[Y.length-1][0])+'" cy="'+a(Y[Y.length-1][1])+'" r="4" fill="'+J+'" stroke="'+S+'" stroke-width="2"/>'),at(t.showValues)&&!c&&Z.forEach(function(ot,st){z+=N(W(st),$(ot)-8,m(ot,t,!0),_(e,9,'text-anchor="middle"'))})}),at(t.showValues)&&c==="stack"&&k.forEach(function(et,V){var J=Math.max.apply(null,O.map(function(Z){return Z[V]}).concat([0]));z+=N(W(V),$(J)-8,m(et,t,!0),_(e,9,'text-anchor="middle"'))}),z+Fe(t,e,nt,f,function(et){var V=i[et]||"#"+(et+1);return r.forEach(function(J,Z){et<J.length&&(V+=`
|
|
4
|
+
`+(p?u(Z)+": ":"")+m(J[et],t)+(c==="percent"?" ("+Q(Z,et)+"%)":""))}),V+(c?`
|
|
5
|
+
Total: `+m(k[et],t):"")})},{stat:Nt(c?k:r[0]||[],t,""),summary:s+" series "+(c==="percent"?"as shares of each total":c?"stacked":"filled")+" over "+f+" points"})}Ge.table=function(t){var e=bt(t.values);return de(t,e.length>1&&(t.stacked==="percent"||at(t.stacked)))};vt("area",Ge);xt("area");var ir=40,lr=24;function Re(t,e){for(var r=bt(t.values),l=U(t.series),i=U(t.labels),n=pt(t,e),o=r.length,s=Math.max.apply(null,[0].concat(r.map(function(z){return z.length}))),f=o>1,c=at(t.horizontal),g=f&&at(t.stacked),p=!f&&U(t.color).filter(Boolean).length>1,u=r[0]||[],L=[].concat.apply([],r),A=function(z,W){return r.reduce(function($,ut){return z<ut.length&&ut[z]*W>0?$+ut[z]:$},0)},O=[],k=[],B=[],C=0;g&&C<s;C++)k.push(A(C,1)),B.push(A(C,-1)),O.push(k[C]+B[C]);for(var v=g?k.concat(B):L,D=v.length?Math.max.apply(null,v):0,M=function(z){return l[z]||"Series "+(z+1)},x=f?Bt(t.patterns,le,"solid"):null,T="",b=[],d=0;x&&d<o;d++)if(x(d)!=="solid"){var F=Ht("g");T+=oe(F,x(d),n[d%n.length],t.background||e.tile),b[d]="url(#"+F+")"}var w=function(z,W){return f?b[z]||n[z%n.length]:p?n[W%n.length]:n[0]},E=x&&function(z,W,$){return'<rect x="'+a(W)+'" y="'+a($+1)+'" width="10" height="10" rx="2" fill="'+w(z)+'"/>'},S=function(z){return f||p||t.highlight==="none"||z===D?1:.5},y=function(z){return i[z]||"#"+(z+1)},X=function(z){return f?y(z)+r.map(function(W,$){return z<W.length?`
|
|
6
|
+
`+M($)+": "+m(W[z],t):""}).join("")+(g?`
|
|
7
|
+
Total: `+m(O[z],t):""):y(z)+": "+m(u[z],t)},q=ue(t),H=f||l.length?Yt(r.map(function(z,W){return M(W)}),n,e,0,0,q.w,E,E&&15).height:0,I=g?1:o,Q=f&&!g,h=Q?10:14,P=3,G=c?I*h+(I-1)*P+(Q?14:16):0,tt=c?H+Math.max(1,s)*G-6:j(t.height,140)+H,nt=u.indexOf(Math.max.apply(null,u.length?u:[0]));return gt(t,e,tt,function(z,W,$,ut){if(!s)return dt(e,z,W,$,ut);var rt=T?"<defs>"+T+"</defs>":"",ft=W;H&&(rt+=Yt(r.map(function(it,St){return M(St)}),n,e,z,W,$,E,E&&15).svg,ft+=H);var yt=Math.min(0,Math.min.apply(null,v)),et=Math.max(0,D);if(R(t.goal)&&(yt=Math.min(yt,+t.goal),et=Math.max(et,+t.goal)),et===yt&&(et=yt+1),c){for(var V=i.length?Math.min($*.4,Math.max.apply(null,i.map(function(it){return ht(it,12)}))+10):0,J=g?[O.map(function(it){return m(it,t)})]:r.map(function(it){return it.map(function(St){return m(St,t)})}),Z=Math.max.apply(null,[].concat.apply([],J).map(function(it){return ht(it,Q?10:11,!0)}))+10,Y=z+V,K=$-V-Z,ot=Math.max(et,0)||1,st=0;st<s;st++){var Tt=ft+st*G;i[st]!=null&&(rt+=N(z,Tt+(G-6)/2+4,re(i[st],Math.floor(V/6.7)),'fill="'+e.fg+'" font-family="'+Et+'" font-size="12"')),g?(rt+=ze(st,Y,Tt+5,K,ot),rt+=N(z+$,Tt+5+h/2+3.8,J[0][st],'text-anchor="end" fill="'+e.fg+'" font-family="'+Ft+'" font-size="11" font-weight="600"')):r.forEach(function(it,St){if(!(st>=it.length)){var Lt=it[st],Dt=Tt+(f?2:5)+St*(h+P),Jt=Math.max(0,Lt)/ot*K;f||(rt+='<rect x="'+a(Y)+'" y="'+a(Dt)+'" width="'+a(K)+'" height="'+h+'" rx="'+h/2+'" fill="'+e.grid+'" fill-opacity=".6"/>'),Jt>0&&(rt+='<rect x="'+a(Y)+'" y="'+a(Dt)+'" width="'+a(Math.max(h,Jt))+'" height="'+h+'" rx="'+h/2+'" fill="'+w(St,st)+'" fill-opacity="'+S(Lt)+'"'+mt(t,"bzc-gx",st*.06+St*.03)+"/>"),rt+=N(z+$,Dt+h/2+3.8,J[St][st],'text-anchor="end" fill="'+e.fg+'" font-family="'+Ft+'" font-size="'+(f?10:11)+'" font-weight="600"')}}),rt+=wt(z,Tt,$,G-6,X(st))}if(R(t.goal)&&+t.goal>0){var xe=Y+ +t.goal/ot*K;rt+='<line x1="'+a(xe)+'" x2="'+a(xe)+'" y1="'+a(ft-2)+'" y2="'+a(W+ut+2)+'" stroke="'+e.fg+'" stroke-opacity=".55" stroke-dasharray="3 3"/>'}return rt}function ze(it,St,Lt,Dt,Jt){var jt='<rect x="'+a(St)+'" y="'+a(Lt)+'" width="'+a(Dt)+'" height="'+h+'" rx="'+h/2+'" fill="'+e.grid+'" fill-opacity=".6"/>',he=0;return r.forEach(function(Se,te){var me=it<Se.length?Se[it]:0,ee=Math.max(0,me)/Jt*Dt;if(!(ee<=0)){var fe=he>0?1.5:0;jt+='<rect x="'+a(St+he+fe)+'" y="'+a(Lt)+'" width="'+a(Math.max(2,ee-fe))+'" height="'+h+'" rx="'+a(Math.min(3,ee/2))+'" fill="'+w(te,it)+'"'+mt(t,"bzc-gx",it*.06+te*.03)+"/>",he+=ee}}),jt}var be=i.length?Math.max.apply(null,i.map(function(it){return ht(it,10,!0)})):0,ye=i.length?Math.max(1,Math.ceil(s*(be+8)/$)):1,Xt=at(t.angleLabels)&&ye>1,ke=ir*Math.PI/180,ce=function(it){return Xt?re(it,lr):it};if(Xt){var Me=$/s,_t=0;i.forEach(function(it,St){_t=Math.max(_t,Math.cos(ke)*ht(ce(it),10,!0)+4-(St+.5)*Me)}),_t=Math.min(_t,$*.25),z+=_t,$-=_t,ye=1}var we=at(t.showValues)&&yt<0?14:0,lt=Xt?Math.ceil(Math.sin(ke)*Math.min(be,ht("x".repeat(lr),10,!0)))+18:20,kt=(i.length?lt:2)+we,Ct=at(t.showValues)?16:4,Gt=ut-(ft-W)-kt-Ct,Wt=ft+Ct,Rt=function(it){return Wt+Gt-(it-yt)/(et-yt)*Gt},qt=$/s,ae=Math.min(qt*(Q?.78:.62),Q?o*30:56),je=Q?Math.min(3,ae/o*.15):0,se=g?ae:(ae-je*(o-1))/o,Le=Rt(0);rt+='<line x1="'+z+'" x2="'+(z+$)+'" y1="'+a(Le)+'" y2="'+a(Le)+'" stroke="'+e.grid+'"/>';for(var Vt=0;Vt<s;Vt++){var Xe=z+Vt*qt+(qt-ae)/2;if(g?rt+=pr(Vt,Xe):r.forEach(function(it,St){if(!(Vt>=it.length)){var Lt=it[Vt],Dt=Xe+St*(se+je),Jt=Math.min(Rt(Lt),Le),jt=Math.abs(Rt(Lt)-Le);jt>.5&&(rt+='<rect x="'+a(Dt)+'" y="'+a(Jt)+'" width="'+a(se)+'" height="'+a(jt)+'" rx="'+a(Math.min(6,se/2,jt/2))+'" fill="'+w(St,Vt)+'" fill-opacity="'+S(Lt)+'"'+mt(t,Lt<0?"bzc-gn":"bzc-g",Vt*.05+St*.03)+"/>"),at(t.showValues)&&(rt+=N(Dt+se/2,Lt<0?Rt(Lt)+12:Rt(Lt)-5,m(Lt,t,!0),'text-anchor="middle" fill="'+e.fg+'" font-family="'+Ft+'" font-size="'+(f?9:10)+'" font-weight="600"'))}}),i[Vt]!=null&&Vt%ye===0){var We=Xe+ae/2,qe=Wt+Gt+we+(Xt?12:15);rt+=Xt?N(We,qe,ce(i[Vt]),_(e,10,'text-anchor="end" transform="rotate(-'+ir+" "+a(We)+" "+a(qe)+')"')):N(We,qe,i[Vt],_(e,10,'text-anchor="middle"'))}rt+=wt(z+Vt*qt,ft,qt,ut-(ft-W),X(Vt))}return R(t.goal)&&(rt+=Kt(t,e,z,z+$,Rt(+t.goal))),rt;function pr(it,St){var Lt="",Dt=0,Jt=0;if(r.forEach(function(he,Se){var te=it<he.length?he[it]:0;if(te){var me=te>0?Dt:Jt,ee=me+te;te>0?Dt=ee:Jt=ee;var fe=Rt(Math.max(me,ee)),Ze=Rt(Math.min(me,ee)),Ee=Ze-fe,tr=me!==0?Math.min(1.5,Ee/2):0;te>0?Ze-=tr:fe+=tr,Ee=Ze-fe,Ee>.5&&(Lt+='<rect x="'+a(St)+'" y="'+a(fe)+'" width="'+a(se)+'" height="'+a(Ee)+'" rx="'+a(Math.min(3,se/2,Ee/2))+'" fill="'+w(Se,it)+'"'+mt(t,te<0?"bzc-gn":"bzc-g",it*.05+Se*.03)+"/>")}}),at(t.showValues)){var jt=O[it];Lt+=N(St+se/2,jt<0?Rt(B[it])+12:Rt(k[it])-5,m(jt,t,!0),'text-anchor="middle" fill="'+e.fg+'" font-family="'+Ft+'" font-size="10" font-weight="600"')}return Lt}},{stat:Nt(u,t,""),summary:s?g?o+" series stacked across "+s+" groups":f?o+" series across "+s+" groups":"highest "+(i[nt]||"")+" "+m(u[nt],t):"no data"})}Re.table=function(t){return de(t,bt(t.values).length>1&&at(t.stacked))};vt("bars",Re);xt("bars");function Ve(t,e){for(var r=bt(t.values),l=bt(t.line),i=pt(t,e),n=r.length,o=l.length,s=U(t.labels),f=U(t.series),c=U(t.lineSeries),g=n>1&&at(t.stacked),p=Math.max.apply(null,[0].concat(r.concat(l).map(function(H){return H.length}))),u=or(t),L=j(t.height,200),A=function(H){return f[H]||(n===1?"Bars":"Bars "+(H+1))},O=function(H){return c[H]||(o===1?"Line":"Line "+(H+1))},k=function(H){return i[H%i.length]},B=function(H){return i[(n+H)%i.length]},C=function(H,I){return I<H.length?H[I]:0},v=Bt(t.dash,Object.keys($t),"solid"),D=Bt(t.markers,ie,"none"),M=n>1?Bt(t.patterns,le,"solid"):null,x=t.background||e.tile,T="",b=[],d=0;M&&d<n;d++)if(M(d)!=="solid"){var F=Ht("g");T+=oe(F,M(d),k(d),x),b[d]="url(#"+F+")"}for(var w=function(H,I,Q){if(H<n)return'<rect x="'+a(I)+'" y="'+a(Q+1)+'" width="10" height="10" rx="2" fill="'+(b[H]||k(H))+'"/>';var h=H-n,P=B(h),G=v?$t[v(h)]:"",tt=D?D(h):"none";return'<line x1="'+a(I)+'" x2="'+a(I+18)+'" y1="'+a(Q+6)+'" y2="'+a(Q+6)+'" stroke="'+P+'" stroke-width="2.5" stroke-linecap="round"'+(G?' stroke-dasharray="'+G+'"':"")+"/>"+(tt!=="none"?Qt(tt,I+9,Q+6,3.5,' fill="'+P+'" stroke="'+x+'" stroke-width="1.5"'):"")},E=[],S=[],y=0;y<p;y++){var X=0,q=0;r.forEach(function(H){var I=C(H,y);g?I>=0?X+=I:q+=I:(X=Math.max(X,I),q=Math.min(q,I))}),E.push(X),S.push(q)}return gt(t,e,L,function(H,I,Q,h){if(!p||!n)return dt(e,H,I,Q,h);var P=T?"<defs>"+T+"</defs>":"",G=I,tt=Yt(r.map(function(lt,kt){return A(kt)}).concat(l.map(function(lt,kt){return O(kt)})),i,e,H,G,Q,w,24);P+=tt.svg,G+=tt.height;var nt=R(t.yLabel)||R(t.lineLabel);nt&&(G+=16);var z=It(Math.min.apply(null,S),Math.max.apply(null,E),4),W=z.ticks.length-1,$=[].concat.apply([],l),ut=Math.min.apply(null,$),rt=Math.max.apply(null,$);at(t.lineZero)&&(ut=Math.min(0,ut),rt=Math.max(0,rt));var ft=o?Sr(ut,rt,W):null,yt=z.ticks.map(function(lt){return m(lt,t,!0)}),et=ft?ft.ticks.map(function(lt){return m(lt,u,!0)}):[],V=Math.max.apply(null,yt.map(function(lt){return ht(lt,10,!0)}))+10,J=ft?Math.max.apply(null,et.map(function(lt){return ht(lt,10,!0)}))+10:0,Z=H+V,Y=Q-V-J,K=h-(G-I)-(s.length?20:4),ot=Y/p,st=function(lt){return Z+ot*(lt+.5)},Tt=function(lt){return G+K-(lt-z.lo)/(z.hi-z.lo)*K},xe=function(lt){return G+K-(lt-ft.lo)/(ft.hi-ft.lo)*K};z.ticks.forEach(function(lt,kt){var Ct=Tt(lt);P+='<line x1="'+a(Z)+'" x2="'+a(Z+Y)+'" y1="'+a(Ct)+'" y2="'+a(Ct)+'" stroke="'+e.grid+'"'+(lt===0?"":' stroke-dasharray="2 4"')+"/>"+N(Z-8,Ct+3.5,yt[kt],_(e,10,'text-anchor="end"'))+(ft?N(Z+Y+8,Ct+3.5,et[kt],_(e,10,'text-anchor="start"')):"")});var ze=n===1?k(0):e.muted,be=o===1?B(0):e.muted;if(P+='<line x1="'+a(Z)+'" x2="'+a(Z)+'" y1="'+a(G)+'" y2="'+a(G+K)+'" stroke="'+ze+'" stroke-width="2"/>',ft&&(P+='<line x1="'+a(Z+Y)+'" x2="'+a(Z+Y)+'" y1="'+a(G)+'" y2="'+a(G+K)+'" stroke="'+be+'" stroke-width="2"/>'),R(t.yLabel)&&(P+=N(H,G-8,t.yLabel,_(e,10,"",n===1?ze:e.fg))),R(t.lineLabel)&&ft&&(P+=N(H+Q,G-8,t.lineLabel,_(e,10,'text-anchor="end"',o===1?be:e.fg))),s.length){var ye=Math.max(1,Math.ceil((Math.max.apply(null,s.map(function(lt){return ht(lt,10,!0)}))+10)/ot));for(y=0;y<p;y+=ye)s[y]!=null&&(P+=N(st(y),G+K+15,s[y],_(e,10,'text-anchor="middle"')))}var Xt=ot*.72,ke=g?Xt:Xt/n;for(y=0;y<p;y++){var ce=0,Me=0;r.forEach(function(lt,kt){if(!(y>=lt.length)){var Ct=lt[y],Gt,Wt,Rt=g?st(y)-Xt/2:st(y)-Xt/2+kt*ke;g?Ct>=0?(Gt=ce,ce+=Ct,Wt=ce):(Gt=Me,Me+=Ct,Wt=Me):(Gt=0,Wt=Ct);var qt=Tt(Gt),ae=Tt(Wt);P+='<rect x="'+a(Rt+.5)+'" y="'+a(Math.min(qt,ae))+'" width="'+a(Math.max(1,ke-1))+'" height="'+a(Math.abs(ae-qt))+'" rx="2" fill="'+(b[kt]||k(kt))+'"'+mt(t,Ct<0?"bzc-gn":"bzc-g",Math.min(.6,y*.04))+"/>"}})}for(l.forEach(function(lt,kt){var Ct=B(kt),Gt=lt.map(function(Rt,qt){return[st(qt),xe(Rt)]}),Wt=D?D(kt):"none";P+=ge(t,Zt(Gt,at(t.straight)),Ct,kt,v?$t[v(kt)]:""),Wt!=="none"?P+=ve(t,Wt,lt,st,xe,Ct,x,kt):P+='<circle cx="'+a(Gt[Gt.length-1][0])+'" cy="'+a(Gt[Gt.length-1][1])+'" r="4" fill="'+Ct+'" stroke="'+x+'" stroke-width="2"/>'}),y=0;y<p;y++){var _t=s[y]||"#"+(y+1),we=0;r.forEach(function(lt,kt){y<lt.length&&(_t+=`
|
|
8
|
+
`+A(kt)+": "+m(lt[y],t),we+=lt[y])}),g&&(_t+=`
|
|
9
|
+
Total: `+m(we,t)),l.forEach(function(lt,kt){y<lt.length&&(_t+=`
|
|
10
|
+
`+O(kt)+": "+m(lt[y],u))}),P+=wt(st(y)-ot/2,G,ot,K,_t)}return P},{summary:n+" bar series"+(g?" stacked":"")+" and "+o+(o===1?" line":" lines")+" over "+p+" points"})}Ve.table=function(t){for(var e=bt(t.values),r=bt(t.line),l=U(t.labels),i=U(t.series),n=U(t.lineSeries),o=e.length,s=r.length,f=o>1&&at(t.stacked),c=or(t),g=[],p=Math.max.apply(null,[0].concat(e.concat(r).map(function(O){return O.length}))),u=0;u<p;u++){var L=[l[u]||"#"+(u+1)],A=0;e.forEach(function(O){L.push(u<O.length?m(O[u],t):""),A+=u<O.length?O[u]:0}),f&&L.push(m(A,t)),r.forEach(function(O){L.push(u<O.length?m(O[u],c):"")}),g.push(L)}return{head:["Label"].concat(e.map(function(O,k){return i[k]||(o===1?"Bars":"Bars "+(k+1))}),f?["Total"]:[],r.map(function(O,k){return n[k]||(s===1?"Line":"Line "+(k+1))})),rows:g}};function or(t){return{prefix:t.linePrefix,suffix:t.lineSuffix,decimals:t.lineDecimals,compact:t.compact,lang:t.lang}}function Sr(t,e,r){if(t===e)if(t===0)e=1;else{var l=Math.abs(t)*.1;t-=l,e+=l}for(var i=Math.pow(10,Math.floor(Math.log10((e-t)/r))),n=[1,2,5,10],o=0,s,f;s=n[o]*i,f=Math.floor(t/s)*s,!(f+r*s>=e-s*1e-9);)++o===4&&(o=1,i*=10);for(var c=[],g=0;g<=r;g++)c.push(+(f+g*s).toFixed(10));return{lo:c[0],hi:c[r],ticks:c}}vt("combo",Ve);xt("combo");function He(t,e){for(var r=fr(t),l=U(t.series),i=pt(t,e),n=j(t.height,190),o=r?r.S:[],s=o.length,f=s>1||l.length>0,c=at(t.percent),g=function(d){return l[d]||"Series "+(d+1)},p=Object.assign({},t,{decimals:R(t.decimals)?t.decimals:r?r.dp:0}),u=function(d){return m(r.edge(d),p)+" to "+m(r.edge(d+1),p)},L=function(d,F){return Math.round(r.counts[d][F]/o[d].length*100)},A=function(d,F){return c?r.counts[d][F]/o[d].length*100:r.counts[d][F]},O=U(t.mark).filter(function(d){return d==="mean"||d==="median"}),k=s>1?Bt(t.patterns,le,"solid"):null,B="",C=[],v=0;k&&v<s;v++)if(k(v)!=="solid"){var D=Ht("g");B+=oe(D,k(v),i[v%i.length],t.background||e.tile),C[v]="url(#"+D+")"}var M=k&&function(d,F,w){return'<rect x="'+a(F)+'" y="'+a(w+1)+'" width="10" height="10" rx="2" fill="'+(C[d]||i[d%i.length])+'"/>'},x=0,T=0;if(r){for(var b=0;b<r.count;b++)sr(r,b)>sr(r,x)&&(x=b);o.forEach(function(d){T+=d.length})}return gt(t,e,n,function(d,F,w,E){if(!r)return dt(e,d,F,w,E);var S=B?"<defs>"+B+"</defs>":"",y=F;if(f){var X=Yt(o.map(function(Y,K){return g(K)}),i,e,d,y,w,M,M&&15);S+=X.svg,y+=X.height}var q=0;o.forEach(function(Y,K){for(var ot=0;ot<r.count;ot++)q=Math.max(q,A(K,ot))});var H=It(0,q||1,4),I=H.ticks.map(function(Y){return m(Y,{lang:t.lang},!0)+(c?"%":"")}),Q=Math.max.apply(null,I.map(function(Y){return ht(Y,10,!0)}))+10,h=d+Q,P=w-Q,G=E-(y-F)-20,tt=P/r.count,nt=function(Y){return h+Y*tt},z=function(Y){return y+G-(Y-H.lo)/(H.hi-H.lo)*G};H.ticks.forEach(function(Y,K){var ot=z(Y);S+='<line x1="'+a(h)+'" x2="'+a(h+P)+'" y1="'+a(ot)+'" y2="'+a(ot)+'" stroke="'+e.grid+'"'+(Y===0?"":' stroke-dasharray="2 4"')+"/>"+N(h-8,ot+3.5,I[K],_(e,10,'text-anchor="end"'))});for(var W=[],$=0;$<=r.count;$++)W.push(m(r.edge($),p,!0));var ut=Math.max(1,Math.ceil((Math.max.apply(null,W.map(function(Y){return ht(Y,10,!0)}))*1.5+8)/tt));for($=0;$<=r.count;$+=ut)S+=N(nt($),y+G+15,W[$],_(e,10,'text-anchor="'+($===0?"start":$===r.count?"end":"middle")+'"'));o.forEach(function(Y,K){for(var ot=0;ot<r.count;ot++){var st=A(K,ot);if(st){var Tt=z(st);S+='<rect x="'+a(nt(ot)+.5)+'" y="'+a(Tt)+'" width="'+a(Math.max(1,tt-1))+'" height="'+a(y+G-Tt)+'" fill="'+(C[K]||i[K%i.length])+'"'+(f?' fill-opacity=".55"':"")+mt(t,"bzc-g",Math.min(.6,ot*.03))+"/>"}}});var rt=r.edge(0),ft=r.edge(r.count)-rt,yt=[];if(o.forEach(function(Y,K){O.forEach(function(ot){var st=ot==="mean"?zr(Y):Lr(Y);yt.push({x:h+(st-rt)/ft*P,c:f?i[K%i.length]:e.fg,t:(f?g(K)+" ":"")+ot+" "+m(st,t)})})}),yt.length){var et=yt.map(function(Y){return Y.x}),V=(Math.min.apply(null,et)+Math.max.apply(null,et))/2>h+P/2,J=V?Math.min.apply(null,et)-5:Math.max.apply(null,et)+5;yt.forEach(function(Y,K){S+='<line x1="'+a(Y.x)+'" x2="'+a(Y.x)+'" y1="'+a(y)+'" y2="'+a(y+G)+'" stroke="'+Y.c+'" stroke-width="1.5" stroke-dasharray="4 3"/>'+N(J,y+9+K*12,Y.t,_(e,10,'text-anchor="'+(V?"end":"start")+'"',f?Y.c:e.fg))})}for(b=0;b<r.count;b++){var Z=u(b);o.forEach(function(Y,K){Z+=`
|
|
11
|
+
`+(f?g(K)+": ":"")+r.counts[K][b]+" ("+L(K,b)+"%)"}),S+=wt(nt(b),y,tt,G,Z)}return S},{summary:r?(f?s+" series, ":"")+T+" values in "+r.count+" ranges from "+m(r.edge(0),p)+" to "+m(r.edge(r.count),p)+", most in "+u(x):"no data"})}He.table=function(t){var e=fr(t),r=U(t.series);if(!e)return{head:["Range","Count"],rows:[]};for(var l=e.S.length>1||r.length>0,i=Object.assign({},t,{decimals:R(t.decimals)?t.decimals:e.dp}),n=[],o=0;o<e.count;o++){var s=[m(e.edge(o),i)+" to "+m(e.edge(o+1),i)];l?e.S.forEach(function(f,c){s.push(String(e.counts[c][o]))}):s.push(String(e.counts[0][o]),Math.round(e.counts[0][o]/e.S[0].length*100)+"%"),n.push(s)}return{head:["Range"].concat(l?e.S.map(function(f,c){return r[c]||"Series "+(c+1)}):["Count","Share"]),rows:n}};function Er(t){var e=Math.floor(Math.log10(t)),r=+("1e"+e),l=t/r,i=l<1.4142?1:l<2.2361?2:l<3.5355?2.5:l<7.0711?5:10;return{w:i*r,dp:Math.max(0,i===10?-e-1:-e)+(i===2.5?1:0)}}function fr(t){var e=bt(t.values),r=[].concat.apply([],e);if(!r.length)return null;var l=Math.min.apply(null,r),i=Math.max.apply(null,r),n=j(t.binWidth,0),o,s;if(n>0&&(i-l)/n<=200){var f=String(t.binWidth),c=f.indexOf(".");o=c<0?0:Math.min(6,f.length-c-1)}else{var g=j(t.bins,0)>0?Math.round(j(t.bins,0)):Math.ceil(Math.log2(r.length)+1);g=Math.min(Math.max(g,1),50),s=Er(i>l?(i-l)/g:Math.abs(l)||1),n=s.w,o=s.dp}for(var p=Math.floor(l/n),u=function(O){return Number(((p+O)*n).toFixed(o+3))};u(0)>l;)p--;for(var L=Math.max(1,Math.ceil((i-u(0))/n));L>1&&u(L-1)>=i;)L--;for(;u(L)<i;)L++;var A=e.map(function(O){for(var k=[],B=0;B<L;B++)k.push(0);return O.forEach(function(C){for(var v=Math.min(L-1,Math.max(0,Math.floor((C-u(0))/n)));v>0&&C<u(v);)v--;for(;v<L-1&&C>=u(v+1);)v++;k[v]++}),k});return{S:e,edge:u,count:L,counts:A,dp:o}}function sr(t,e){var r=0;return t.counts.forEach(function(l){r+=l[e]}),r}function zr(t){var e=0;return t.forEach(function(r){e+=r}),e/t.length}function Lr(t){var e=t.slice().sort(function(l,i){return l-i}),r=Math.floor(e.length/2);return e.length%2?e[r]:(e[r-1]+e[r])/2}vt("histogram",He);xt("histogram");function Pe(t,e){var r=bt(t.values),l=U(t.series),i=pt(t,e),n=r.length,o=at(t.horizontal),s=U(t.color).length>1,f=U(t.mark).indexOf("mean")>=0,c=r.map(function(O){return ur(O,t.whiskers==="range")}),g=function(O){return l[O]||"Group "+(O+1)},p=j(t.height,o?Math.max(120,n*36+24):200),u=function(O){return m(O,t)},L=c.map(function(O){return O.median}),A=n===1?"median "+u(c[0].median)+", middle half "+u(c[0].q1)+" to "+u(c[0].q3):n+" groups, medians from "+u(Math.min.apply(null,L))+" to "+u(Math.max.apply(null,L));return gt(t,e,p,function(O,k,B,C){if(!n)return dt(e,O,k,B,C);var v=Math.min.apply(null,c.map(function(h){return h.min})),D=Math.max.apply(null,c.map(function(h){return h.max}));R(t.goal)&&(v=Math.min(v,+t.goal),D=Math.max(D,+t.goal));var M=It(v,D,4),x="",T=M.ticks.map(function(h){return m(h,t,!0)}),b=o?Math.min(B*.4,Math.max.apply(null,r.map(function(h,P){return ht(g(P),11)}))+12):0,d=o?0:Math.max.apply(null,T.map(function(h){return ht(h,10,!0)}))+10,F=O+(o?b:d),w=B-(o?b:d),E=C-20,S=o?function(h){return F+(h-M.lo)/(M.hi-M.lo)*w}:function(h){return k+E-(h-M.lo)/(M.hi-M.lo)*E},y=(o?E:w)/n,X=Math.min(28,y*.28),q=function(h){return(o?k:F)+y*(h+.5)},H=function(h,P){return o?[P,h]:[h,P]},I=function(h,P,G,tt,nt){var z=H(h,P),W=H(G,tt);return'<line x1="'+a(z[0])+'" y1="'+a(z[1])+'" x2="'+a(W[0])+'" y2="'+a(W[1])+'"'+nt+"/>"};if(M.ticks.forEach(function(h,P){var G=S(h);x+=I(o?k:F,G,o?k+E:F+w,G,' stroke="'+e.grid+'"'+(h===0?"":' stroke-dasharray="2 4"'))+(o?N(G,k+E+15,T[P],_(e,10,'text-anchor="middle"')):N(F-8,G+3.5,T[P],_(e,10,'text-anchor="end"')))}),c.forEach(function(h,P){var G=q(P),tt=s?i[P%i.length]:i[0],nt=' stroke="'+tt+'" stroke-width="1.5"';if(n>1||l.length){var z=Or(g(P),o?b-10:y-6,o?11:10,!o);x+=o?N(O,G+4,z,_(e,11,"",e.fg)):N(G,k+E+15,z,_(e,10,'text-anchor="middle"'))}if(h.n){var W=H(G-X,S(h.q1)),$=H(G+X,S(h.q3));if(x+="<g"+mt(t,"bzc-a",Math.min(.6,P*.06))+">"+I(G,S(h.low),G,S(h.q1),nt)+I(G,S(h.q3),G,S(h.high),nt)+I(G-X/2,S(h.low),G+X/2,S(h.low),nt)+I(G-X/2,S(h.high),G+X/2,S(h.high),nt)+'<rect x="'+a(Math.min(W[0],$[0]))+'" y="'+a(Math.min(W[1],$[1]))+'" width="'+a(Math.abs($[0]-W[0]))+'" height="'+a(Math.max(1,Math.abs($[1]-W[1])))+'" rx="3" fill="'+tt+'" fill-opacity=".22"'+nt+"/>"+I(G-X,S(h.median),G+X,S(h.median),' stroke="'+tt+'" stroke-width="2.5"'),h.outliers.forEach(function(rt){var ft=H(G,S(rt));x+='<circle cx="'+a(ft[0])+'" cy="'+a(ft[1])+'" r="2.5" fill="none"'+nt+"/>"}),f){var ut=H(G,S(h.mean));x+=Qt("diamond",ut[0],ut[1],4,' fill="'+(t.background||e.tile)+'"'+nt)}x+="</g>"}}),R(t.goal)){var Q=S(+t.goal);x+=o?I(Q,k,Q,k+E,' stroke="'+e.fg+'" stroke-opacity=".55" stroke-dasharray="4 4"'):Kt(t,e,F,F+w,Q)}return c.forEach(function(h,P){if(h.n){var G=g(P)+`
|
|
9
12
|
Median `+u(h.median)+`
|
|
10
13
|
Middle half `+u(h.q1)+" to "+u(h.q3)+`
|
|
11
14
|
`+(h.outliers.length?"Range without outliers ":"Range ")+u(h.low)+" to "+u(h.high)+(h.outliers.length?`
|
|
12
15
|
`+h.outliers.length+(h.outliers.length===1?" outlier":" outliers"):"")+(f?`
|
|
13
16
|
Mean `+u(h.mean):"")+`
|
|
14
|
-
n = `+h.n;x+=o?
|
|
15
|
-
`:
|
|
16
|
-
`:"")+(
|
|
17
|
-
`+(
|
|
18
|
-
Goal: `+
|
|
17
|
+
n = `+h.n;x+=o?wt(F,q(P)-y/2,w,y,G):wt(q(P)-y/2,k,y,E,G)}}),x},{summary:n?A:"no data"})}Pe.table=function(t){var e=bt(t.values),r=U(t.series),l=U(t.mark).indexOf("mean")>=0,i=function(n){return m(n,t)};return{head:["Group","Count","Lowest","Lower quartile","Median","Upper quartile","Highest","Outliers"].concat(l?["Mean"]:[]),rows:e.map(function(n,o){var s=ur(n,t.whiskers==="range");return[r[o]||"Group "+(o+1),String(s.n),i(s.min),i(s.q1),i(s.median),i(s.q3),i(s.max),String(s.outliers.length)].concat(l?[i(s.mean)]:[])})}};function Or(t,e,r,l){for(var i=String(t);i.length>1&&ht(i,r,l)>e;)i=re(i,i.length-1);return i}function Je(t,e){var r=(t.length-1)*e,l=Math.floor(r);return l+1<t.length?t[l]+(r-l)*(t[l+1]-t[l]):t[l]}function ur(t,e){var r=t.slice().sort(function(p,u){return p-u}),l=r.length;if(!l)return{n:0,outliers:[]};var i=Je(r,.25),n=Je(r,.75),o=n-i,s=0,f=e?-1/0:i-1.5*o,c=e?1/0:n+1.5*o,g=r.filter(function(p){return p>=f&&p<=c});return r.forEach(function(p){s+=p}),{n:l,min:r[0],max:r[l-1],q1:i,median:Je(r,.5),q3:n,mean:s/l,low:g[0],high:g[g.length-1],outliers:r.filter(function(p){return p<f||p>c})}}vt("boxplot",Pe);xt("boxplot");function Ar(t,e){var r=Math.min(t.length,e.length);if(r<2)return null;var l=0,i=0,n;for(n=0;n<r;n++)l+=t[n],i+=e[n];l/=r,i/=r;var o=0,s=0,f=0;for(n=0;n<r;n++)o+=(t[n]-l)*(t[n]-l),s+=(e[n]-i)*(e[n]-i),f+=(t[n]-l)*(e[n]-i);if(!o)return null;var c=f/o;return{slope:c,intercept:i-c*l,r:s?f/Math.sqrt(o*s):0}}function De(t,e){for(var r=bt(t.x),l=bt(t.y),i=U(t.series),n=U(t.labels),o=pt(t,e),s=[],f=0;f<Math.max(r.length,l.length);f++){var c=r[f]||[],g=l[f]||[],p=Math.min(c.length,g.length);s.push({xs:c.slice(0,p),ys:g.slice(0,p)})}s=s.filter(function(T){return T.xs.length});var u=s.reduce(function(T,b){return T+b.xs.length},0),L=j(t.height,210),A=s.length>1||i.length>0,O=at(t.trend),k=function(T){return i[T]||"Group "+(T+1)},B={decimals:t.decimals,compact:t.compact,lang:t.lang},C=ne(t,n),v=Bt(t.markers,ie,"circle"),D=t.background||e.tile,M=function(T){var b=v?v(T):"circle";return b==="none"?"circle":b},x=v&&function(T,b,d){return Qt(M(T),b+4,d+6,4,' fill="'+o[T%o.length]+'"')};return gt(t,e,L,function(T,b,d,F){if(!u)return dt(e,T,b,d,F);var w="",E=b;if(A){var S=Yt(s.map(function(V,J){return k(J)}),o,e,T,E,d,x);w+=S.svg,E+=S.height}var y=[].concat.apply([],s.map(function(V){return V.xs})),X=[].concat.apply([],s.map(function(V){return V.ys})),q=Math.min.apply(null,X),H=Math.max.apply(null,X);R(t.goal)&&(q=Math.min(q,+t.goal),H=Math.max(H,+t.goal)),at(t.zero)&&(q=Math.min(0,q),H=Math.max(0,H));var I=It(q,H,4),Q=It(Math.min.apply(null,y),Math.max.apply(null,y),5),h=I.ticks.map(function(V){return m(V,t,!0)}),P=nr(h)+(R(t.yLabel)?14:0),G=20+(R(t.xLabel)?16:0),tt=T+P,nt=d-P,z=F-(E-b)-G,W=function(V){return tt+6+(V-Q.lo)/(Q.hi-Q.lo)*(nt-12)},$=function(V){return E+6+z-6-(V-I.lo)/(I.hi-I.lo)*(z-6)};I.ticks.forEach(function(V,J){var Z=$(V);w+='<line x1="'+a(tt)+'" x2="'+a(tt+nt)+'" y1="'+a(Z)+'" y2="'+a(Z)+'" stroke="'+e.grid+'" stroke-dasharray="2 4"/>'+N(tt-8,Z+3.5,h[J],_(e,10,'text-anchor="end"'))});var ut=Math.max(1,Math.ceil(Q.ticks.length*44/nt));if(Q.ticks.forEach(function(V,J){if(!(J%ut)){var Z=W(V);w+='<line x1="'+a(Z)+'" x2="'+a(Z)+'" y1="'+a(E)+'" y2="'+a(E+z)+'" stroke="'+e.grid+'" stroke-dasharray="2 4"/>'+N(Z,E+z+15,m(V,B,!0),_(e,10,'text-anchor="middle"'))}}),R(t.xLabel)&&(w+=N(tt+nt/2,E+z+32,t.xLabel,_(e,10,'text-anchor="middle" font-weight="600"'))),R(t.yLabel)){var rt=E+z/2;w+='<text x="'+a(T+4)+'" y="'+a(rt)+'" transform="rotate(-90 '+a(T+4)+" "+a(rt)+')" text-anchor="middle" '+_(e,10,'font-weight="600"')+' dominant-baseline="hanging">'+String(t.yLabel).replace(/[&<>"]/g,function(V){return{"&":"&","<":"<",">":">",'"':"""}[V]})+"</text>"}R(t.goal)&&(w+=Kt(t,e,tt,tt+nt,$(+t.goal))),O&&s.forEach(function(V,J){var Z=Ar(V.xs,V.ys);if(Z){var Y=Math.min.apply(null,V.xs),K=Math.max.apply(null,V.xs),ot=Z.slope*Y+Z.intercept,st=Z.slope*K+Z.intercept,Tt=o[J%o.length];w+='<line x1="'+a(W(Y))+'" y1="'+a(ct($(ot),E,E+z))+'" x2="'+a(W(K))+'" y2="'+a(ct($(st),E,E+z))+'" stroke="'+Tt+'" stroke-width="2" stroke-dasharray="6 4" stroke-linecap="round" stroke-opacity=".9"/>',w+=N(Math.min(W(K),tt+nt)-2,ct($(st),E+10,E+z)-7,"r = "+Z.r.toFixed(2),_(e,10,'text-anchor="end" font-weight="600"',Tt))}});var ft=0,yt=u>150?3:4.5;s.forEach(function(V,J){var Z=o[J%o.length];V.xs.forEach(function(Y,K){var ot=W(Y),st=$(V.ys[K]),Tt=(n[ft]?n[ft]+`
|
|
18
|
+
`:A?k(J)+`
|
|
19
|
+
`:"")+(R(t.xLabel)?t.xLabel:"x")+": "+m(Y,B)+`
|
|
20
|
+
`+(R(t.yLabel)?t.yLabel:"y")+": "+m(V.ys[K],t);w+=Qt(M(J),ot,st,yt,' fill="'+Z+'" fill-opacity=".85" stroke="'+D+'" stroke-width="1.5"'+(t.animate?' class="bzc-a" style="animation-delay:'+a(Math.min(.8,ft*.012))+'s"':"")),w+=wt(ot-8,st-8,16,16,Tt),ft++})});var et=[];return s.forEach(function(V){V.xs.forEach(function(J,Z){et.push([W(J),$(V.ys[Z])])})}),C.forEach(function(V){var J=et[V.i];J&&(w+='<circle cx="'+a(J[0])+'" cy="'+a(J[1])+'" r="'+(yt+4)+'" fill="none" stroke="'+e.fg+'" stroke-width="1.5"/>'+N(ct(J[0],tt+30,tt+nt-30),J[1]-yt-9,V.text,_(e,10,'text-anchor="middle"',e.fg)))}),w},{summary:u+" points"+(A?" in "+s.length+" groups":"")})}De.table=function(t){var e=bt(t.x),r=bt(t.y),l=U(t.series),i=U(t.labels),n=e.length>1||l.length>0,o={decimals:t.decimals,compact:t.compact,lang:t.lang},s=[],f=0;return e.forEach(function(c,g){for(var p=r[g]||[],u=0;u<Math.min(c.length,p.length);u++,f++)s.push([i[f]||"#"+(f+1)].concat(n?[l[g]||"Group "+(g+1)]:[],[m(c[u],o),m(p[u],t)]))}),{head:["Point"].concat(n?["Group"]:[],[R(t.xLabel)?t.xLabel:"x",R(t.yLabel)?t.yLabel:"y"]),rows:s}};vt("scatter",De);xt("scatter");function $e(t,e){var r=Mt(t.values),l=U(t.labels),i=pt(t,e),n=j(t.max,100)||100,o=j(t.height,140),s=!R(t.prefix)&&!R(t.suffix)&&n===100,f=function(g){return m(g,t)+(s?"%":"")},c=Nt(r,t,"");return gt(t,e,o,function(g,p,u,L){if(!r.length)return dt(e,g,p,u,L);var A="",O=r.length===1,k=Math.min(L,O?u:u*.55),B=O?g+u/2:g+k/2,C=p+L/2,v=O?k*.12:ct(k*.42/(r.length*1.35),5,16),D=v*.38;if(r.forEach(function(b,d){var F=k/2-v/2-d*(v+D);if(!(F<=v/2)){var w=ct(b/n*100,0,100),E=i[d%i.length];A+='<circle cx="'+a(B)+'" cy="'+a(C)+'" r="'+a(F)+'" fill="none" stroke="'+E+'" stroke-opacity=".16" stroke-width="'+a(v)+'"/>',w>0&&(A+='<circle cx="'+a(B)+'" cy="'+a(C)+'" r="'+a(F)+'" fill="none" stroke="'+E+'" stroke-width="'+a(v)+'" stroke-linecap="round" pathLength="100" transform="rotate(-90 '+a(B)+" "+a(C)+')" style="stroke-dasharray:'+a(w)+" 100"+(t.animate?";animation-delay:"+d*.12+"s":"")+'"'+(t.animate?' class="bzc-s"':"")+"/>"),A+='<circle cx="'+a(B)+'" cy="'+a(C)+'" r="'+a(F+v/2)+'" fill="#000" fill-opacity="0" class="bzc-hit" data-tip="'+zt((l[d]||"#"+(d+1))+": "+f(b)+(s?"":" of "+m(n,t)))+'"/>'}}),O)A+=N(B,C+k*.08,f(r[0]),'text-anchor="middle" fill="'+e.fg+'" font-family="'+Et+'" font-size="'+a(k*.22)+'" font-weight="800"'),l[0]&&(A+=N(B,C+k*.08+16,l[0],_(e,10,'text-anchor="middle"')));else{var M=g+k+22,x=Math.min(26,L/r.length),T=C-x*r.length/2;r.forEach(function(b,d){var F=T+d*x+x/2;A+='<circle cx="'+a(M+4)+'" cy="'+a(F)+'" r="4" fill="'+i[d%i.length]+'"/>'+N(M+14,F+4,re(l[d]||"#"+(d+1),Math.floor((g+u-M-60)/6.7)),'fill="'+e.fg+'" font-family="'+Et+'" font-size="12"')+N(g+u,F+4,f(b),'text-anchor="end" fill="'+e.fg+'" font-family="'+Ft+'" font-size="11" font-weight="600"')})}return A},{stat:c,summary:r.map(function(g,p){return(l[p]?l[p]+" ":"")+f(g)}).join(", ")})}$e.table=function(t){var e=U(t.labels),r=j(t.max,100)||100,l=!R(t.prefix)&&!R(t.suffix)&&r===100;return{head:["Label","Value"],rows:Mt(t.values).map(function(i,n){return[e[n]||"#"+(n+1),m(i,t)+(l?"%":" of "+m(r,t))]})}};vt("ring",$e);xt("ring");function _e(t,e){var r=Mt(t.values).map(function(u){return Math.max(0,u)}),l=U(t.labels),i=pt(t,e),n=r.slice(),o=l.slice();if(n.length>6){var s=n.map(function(u,L){return L}).sort(function(u,L){return r[L]-r[u]}),f=s.slice(0,5).sort(function(u,L){return u-L});n=f.map(function(u){return r[u]}),o=f.map(function(u){return l[u]||"#"+(u+1)}),n.push(Ut(s.slice(5).map(function(u){return r[u]}))),o.push("Other")}var c=Ut(n),g=j(t.height,150),p=Nt(n,t,"");return gt(t,e,g,function(u,L,A,O){if(!c)return dt(e,u,L,A,O);var k="",B=Math.min(O,A*.5),C=u+B/2,v=L+O/2,D=B*.16,M=(B-D)/2,x=0,T=n.filter(Boolean).length>1?.9:0;n.forEach(function(w,E){var S=w/c*100;if(!(S<=0)){var y=Math.max(.01,S-T);k+='<circle cx="'+a(C)+'" cy="'+a(v)+'" r="'+a(M)+'" fill="none" stroke="'+i[E%i.length]+'" stroke-width="'+a(D)+'" pathLength="100" stroke-dasharray="'+a(y)+" "+a(100-y)+'" stroke-dashoffset="'+a(-x)+'" transform="rotate(-90 '+a(C)+" "+a(v)+')"'+mt(t,"bzc-a",E*.08)+"/>",x+=S}}),k+=N(C,v+2,m(c,t,!0),'text-anchor="middle" fill="'+e.fg+'" font-family="'+Et+'" font-size="'+a(B*.17)+'" font-weight="800"'),k+=N(C,v+2+14,(R(t.centerLabel)?t.centerLabel:"Total").toUpperCase(),_(e,9,'text-anchor="middle" letter-spacing="1"'));var b=u+B+22,d=Math.min(24,O/n.length),F=v-d*n.length/2;return n.forEach(function(w,E){var S=F+E*d+d/2,y=Math.round(w/c*100),X=(o[E]||"#"+(E+1))+": "+m(w,t)+" ("+y+"%)";k+='<circle cx="'+a(b+4)+'" cy="'+a(S)+'" r="4" fill="'+i[E%i.length]+'"/>'+N(b+14,S+4,re(o[E]||"#"+(E+1),Math.floor((u+A-b-50)/6.7)),'fill="'+e.fg+'" font-family="'+Et+'" font-size="12"')+N(u+A,S+4,y+"%",'text-anchor="end" fill="'+e.muted+'" font-family="'+Ft+'" font-size="11" font-weight="600"')+wt(b,S-d/2,u+A-b,d,X)}),x=0,n.forEach(function(w,E){var S=w/c*100;S<=0||(k+='<circle cx="'+a(C)+'" cy="'+a(v)+'" r="'+a(M)+'" fill="none" stroke="#000" stroke-opacity="0" stroke-width="'+a(D)+'" pathLength="100" stroke-dasharray="'+a(S)+" "+a(100-S)+'" stroke-dashoffset="'+a(-x)+'" transform="rotate(-90 '+a(C)+" "+a(v)+')" class="bzc-hit" data-skip="" data-tip="'+zt((o[E]||"#"+(E+1))+": "+m(w,t)+" ("+Math.round(S)+"%)")+'"/>',x+=S)}),k},{stat:p,summary:"total "+m(c,t)+" across "+n.length+" parts"})}_e.table=function(t){var e=Mt(t.values).map(function(i){return Math.max(0,i)}),r=U(t.labels),l=Ut(e);return{head:["Label","Value","Share"],rows:e.map(function(i,n){return[r[n]||"#"+(n+1),m(i,t),(l?Math.round(i/l*100):0)+"%"]})}};vt("donut",_e);xt("donut");function Ue(t,e){var r=Mt(t.values),l=r.length?r[0]:j(t.value,NaN),i=U(t.labels),n=j(t.min,0),o=j(t.max,100),s=j(t.height,130);o===n&&(o=n+1);var f=Mt(t.zones),c=pt(t,e),g=U(t.color).filter(Boolean).length>1?c:[e.up,e.palette[3],e.down],p=c[0];if(f.length&&isFinite(l)){for(var u=0;u<f.length&&l>=f[u];)u++;p=g[Math.min(u,g.length-1)]}var L=!R(t.prefix)&&!R(t.suffix)&&n===0&&o===100,A=function(O){return m(O,t)+(L?"%":"")};return gt(t,e,s,function(O,k,B,C){if(!isFinite(l))return dt(e,O,k,B,C);var v=Math.min(B/2,C-22),D=v*.16,M=v-D/2,x=O+B/2,T=k+v,b=ct((l-n)/(o-n),0,1),d=function(q,H){var I=Math.PI*(1-q);return[x+H*Math.cos(I),T-H*Math.sin(I)]},F="M"+a(x-M)+","+a(T)+"A"+a(M)+","+a(M)+" 0 0 1 "+a(x+M)+","+a(T),w='<path d="'+F+'" fill="none" stroke="'+p+'" stroke-opacity=".16" stroke-width="'+a(D)+'" stroke-linecap="round"/>';f.length&&f.forEach(function(q){var H=ct((q-n)/(o-n),0,1),I=d(H,M-D/2-3),Q=d(H,M-D/2-8);w+='<line x1="'+a(I[0])+'" y1="'+a(I[1])+'" x2="'+a(Q[0])+'" y2="'+a(Q[1])+'" stroke="'+e.muted+'" stroke-width="1.5"/>'}),b>0&&(w+='<path d="'+F+'" fill="none" stroke="'+p+'" stroke-width="'+a(D)+'" stroke-linecap="round" pathLength="100" style="stroke-dasharray:'+a(b*100)+' 100"'+mt(t,"bzc-s")+"/>");var E=d(b,M);if(w+='<circle cx="'+a(E[0])+'" cy="'+a(E[1])+'" r="'+a(D*.26)+'" fill="'+(t.background||e.tile)+'"'+mt(t,"bzc-a",.9)+"/>",R(t.goal)){var S=ct((+t.goal-n)/(o-n),0,1),y=d(S,M+D/2+4),X=d(S,M-D/2-4);w+='<line x1="'+a(y[0])+'" y1="'+a(y[1])+'" x2="'+a(X[0])+'" y2="'+a(X[1])+'" stroke="'+e.fg+'" stroke-width="2" stroke-linecap="round"/>'}return w+=N(x,T-v*.12,A(l),'text-anchor="middle" fill="'+e.fg+'" font-family="'+Et+'" font-size="'+a(v*.34)+'" font-weight="800"'),i[0]&&(w+=N(x,T-v*.12+16,i[0],_(e,10,'text-anchor="middle"'))),w+=N(x-M,T+18,m(n,t,!0),_(e,10,'text-anchor="middle"'))+N(x+M,T+18,m(o,t,!0),_(e,10,'text-anchor="middle"')),w+=wt(x-v,T-v,v*2,v,(i[0]?i[0]+": ":"")+A(l)+" (range "+m(n,t)+" to "+m(o,t)+")"+(R(t.goal)?`
|
|
21
|
+
Goal: `+m(+t.goal,t):"")),w},{summary:isFinite(l)?A(l)+" on a scale of "+m(n,t)+" to "+m(o,t):"no data"})}Ue.table=function(t){var e=Mt(t.values),r=e.length?e[0]:j(t.value,NaN),l=U(t.labels),i=j(t.min,0),n=j(t.max,100),o=!R(t.prefix)&&!R(t.suffix)&&i===0&&n===100;return isFinite(r)?{head:["Label","Value"],rows:[[l[0]||"Reading",m(r,t)+(o?"%":"")],["Lowest",m(i,t)],["Highest",m(n,t)]].concat(R(t.goal)?[["Goal",m(+t.goal,t)]]:[])}:{head:["Label","Value"],rows:[]}};vt("gauge",Ue);xt("gauge");function Ie(t,e){var r=Mt(t.values).map(function(B){return Math.max(0,B)}),l=U(t.labels),i=pt(t,e),n=r.length===1,o=Ut(r),s=R(t.max)?j(t.max,100):n?100:o;s>0||(s=1);var f=!R(t.prefix)&&!R(t.suffix)&&s===100&&n,c=function(B){return m(B,t)+(f?"%":"")},g=ue(t),p=g.w,u=0,L=[];if(!n&&r.length){var A=0;u=1,r.forEach(function(B,C){var v=l[C]||"#"+(C+1),D=14+ht(v,12)+6+ht(m(B,t),11,!0)+18;A>0&&A+D>p&&(A=0,u++),L.push({x:A,row:u-1,l:v}),A+=D})}var O=36+(u?12+u*20:0),k=Nt(r,t,"");return gt(t,e,O,function(B,C,v,D){if(!r.length)return dt(e,B,C,v,D);var M="",x=C+22,T=Ht("c"),b=n?c(r[0])+(f?"":" of "+m(s,t)):m(o,t)+" of "+m(s,t);n&&l[0]&&(M+=N(B,C+11,l[0],'fill="'+e.fg+'" font-family="'+Et+'" font-size="12"')),M+=N(B+v,C+11,b,'text-anchor="end" fill="'+e.fg+'" font-family="'+Ft+'" font-size="11" font-weight="600"'),M+='<rect x="'+B+'" y="'+x+'" width="'+v+'" height="14" rx="7" fill="'+e.grid+'" fill-opacity=".7"/>',M+='<clipPath id="'+T+'"><rect x="'+B+'" y="'+x+'" width="'+v+'" height="14" rx="7"/></clipPath><g clip-path="url(#'+T+')"><g'+mt(t,"bzc-gx")+">";var d=0;if(r.forEach(function(w,E){var S=Math.min(w,Math.max(0,s-d))/s*v;S>0&&(M+='<rect x="'+a(B+d/s*v)+'" y="'+x+'" width="'+a(S)+'" height="14" fill="'+i[E%i.length]+'"/>'),E>0&&S>0&&(M+='<rect x="'+a(B+d/s*v-1)+'" y="'+x+'" width="2" height="14" fill="'+(t.background||e.tile)+'"/>'),d+=w}),M+="</g></g>",R(t.goal)){var F=B+ct(+t.goal/s,0,1)*v;M+='<line x1="'+a(F)+'" x2="'+a(F)+'" y1="'+(x-4)+'" y2="'+(x+18)+'" stroke="'+e.fg+'" stroke-width="2" stroke-linecap="round"/>'}return d=0,r.forEach(function(w,E){var S=Math.min(w,Math.max(0,s-d))/s*v;S>0&&(M+=wt(B+d/s*v,x-4,S,22,(l[E]||(n?"Progress":"#"+(E+1)))+": "+c(w)+(n?"":" ("+Math.round(w/s*100)+"%)"))),d+=w}),L.forEach(function(w,E){var S=B+w.x,y=x+14+12+w.row*20+8;M+='<circle cx="'+a(S+4)+'" cy="'+a(y)+'" r="4" fill="'+i[E%i.length]+'"/><text x="'+a(S+14)+'" y="'+a(y+4)+'" fill="'+e.fg+'" font-family="'+Et+'" font-size="12">'+zt(w.l)+'<tspan dx="6" fill="'+e.muted+'" font-family="'+Ft+'" font-size="11">'+zt(m(r[E],t))+"</tspan></text>"}),M},{stat:k,summary:n?c(r[0])+(f?"":" of "+m(s,t)):m(o,t)+" of "+m(s,t)})}Ie.table=function(t){var e=Mt(t.values).map(function(o){return Math.max(0,o)}),r=U(t.labels),l=e.length===1,i=R(t.max)?j(t.max,100):l?100:Ut(e);i>0||(i=1);var n=!R(t.prefix)&&!R(t.suffix)&&i===100&&l;return l?{head:["Label","Value"],rows:[[r[0]||"Progress",m(e[0],t)+(n?"%":" of "+m(i,t))]]}:{head:["Label","Value","Share"],rows:e.map(function(o,s){return[r[s]||"#"+(s+1),m(o,t),Math.round(o/i*100)+"%"]})}};vt("progress",Ie);xt("progress");var cr={weekday:"short",day:"numeric",month:"short",year:"numeric"};function hr(t,e){if(R(t.start)&&/^\d{4}-\d{2}-\d{2}$/.test(String(t.start)))return new Date(String(t.start)+"T00:00:00Z");var r=new Date;return new Date(Date.UTC(r.getFullYear(),r.getMonth(),r.getDate())-Math.max(0,e-1)*864e5)}function mr(t,e){try{return new Intl.DateTimeFormat(t,Object.assign({timeZone:"UTC"},e))}catch{return new Intl.DateTimeFormat("en-GB",Object.assign({timeZone:"UTC"},e))}}function Ye(t,e){var r=Mt(t.values),l=pt(t,e)[0],i=t.lang||"en-GB",n=hr(t,r.length),o=(n.getUTCDay()+6)%7,s=Math.max(1,Math.ceil((o+r.length)/7)),f=ue(t),c=28,g=Math.max(1,Math.floor((f.w-c)/10));if(s>g){var p=(s-g)*7-o;r=r.slice(p),n=new Date(n.getTime()+p*864e5),o=0,s=g}var u=Math.min(18,(f.w-c)/s),L=u<8?1:3,A=u-L,O=16+7*u+26,k=r.length?Math.max.apply(null,r):0,B=function(x){return mr(i,x)},C=B({month:"short"}),v=B({weekday:"short"}),D=B(cr),M=Nt(r,t,"");return gt(t,e,O,function(x,T,b,d){if(!r.length)return dt(e,x,T,b,d);var F="",w=x+c,E=T+16,S=-99,y=[.28,.5,.75,1];u>=9&&[0,2,4].forEach(function(rt){var ft=new Date(Date.UTC(2024,0,1+rt));F+=N(x,E+rt*u+A/2+3.5,v.format(ft),_(e,9))});for(var X=0;X<r.length;X++){var q=o+X,H=Math.floor(q/7),I=q%7,Q=new Date(n.getTime()+X*864e5),h=w+H*u,P=E+I*u;(Q.getUTCDate()===1||X===0)&&h-S>30&&(F+=N(h,T+9,C.format(Q),_(e,9)),S=h);var G=r[X]<=0||!k?0:Math.ceil(r[X]/k*4),tt=G?l:e.grid,nt=G?y[G-1]:.7;F+='<rect x="'+a(h)+'" y="'+a(P)+'" width="'+a(A)+'" height="'+a(A)+'" rx="'+a(A*.24)+'" fill="'+tt+'" fill-opacity="'+nt+'"'+(t.animate?' class="bzc-a" style="animation-delay:'+a(H*.012)+'s"':"")+' data-tip="'+zt(D.format(Q)+": "+m(r[X],t))+'"/>'}var z=E+7*u+14,W=10,$=x+b-5*(W+3)-30;F+=N(x,z+8,m(Ut(r),t,!0)+" in "+r.length+" days",_(e,10)),F+=N($-6,z+8,"Less",_(e,9,'text-anchor="end"'));for(var ut=0;ut<5;ut++)F+='<rect x="'+a($+ut*(W+3))+'" y="'+z+'" width="'+W+'" height="'+W+'" rx="2.5" fill="'+(ut?l:e.grid)+'" fill-opacity="'+(ut?y[ut-1]:.7)+'"/>';return F+=N($+5*(W+3)+3,z+8,"More",_(e,9)),F},{stat:M,summary:m(Ut(r),t)+" across "+r.length+" days"})}Ye.table=function(t){var e=Mt(t.values),r=hr(t,e.length),l=mr(t.lang||"en-GB",cr);return{head:["Date","Value"],rows:e.map(function(i,n){return[l.format(new Date(r.getTime()+n*864e5)),m(i,t)]})}};vt("heatmap",Ye);xt("heatmap");var Bi="1.7.0",Ni=Ae.slice();export{At as BezelChart,Ot as render,pe as themes,Pt as toSVG,Ni as types,Bi as version};
|
package/dist/charts/area.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! Bezel Charts v1.
|
|
2
|
-
import{a as be,b as Me,c as Se,d as Ee,e as Oe}from"./shared-
|
|
1
|
+
/*! Bezel Charts v1.7.0 | MIT | github.com/ShazMoghaddam/bezel-charts */
|
|
2
|
+
import{a as be,b as Me,c as Se,d as Ee,e as Oe}from"./shared-D5IXRVKV.js";import{c as $,d as ge,e as ke,f as N,h as xe,j as ye}from"./shared-Y6MBWBOE.js";import{B as me,C as ve,D as Ve,E as _e,F as Fe,G as de,c as fe,e as x,g as ie,j as J,k as Q,o as y,p as v,q as L,r as U,s as W,v as ce,w as oe,x as pe,z as he}from"./shared-6SF4EQMI.js";function X(e,c){for(var s=Q(e.values),q=J(e.series),Y=J(e.labels),o=ce(e,c),we=ie(e.height,170),p=s.length,b=Math.max.apply(null,[0].concat(s.map(function(n){return n.length}))),l=p>1?e.stacked==="percent"?"percent":y(e.stacked)?"stack":"":"",Pe=pe(e,Y),j=p>1||q.length>0,ee=function(n){return q[n]||"Series "+(n+1)},M=function(n,i){return i<s[n].length?s[n][i]:0},S=s.map(function(){return[]}),d=s.map(function(){return[]}),w=[],B=[],g=0;g<b;g++){for(var C=0,D=0,te=0,P=0,a=0;a<p;a++)te+=M(a,g),P+=Math.max(0,M(a,g));for(w.push(te),B.push(P),a=0;a<p;a++){var T=l==="percent"?P?Math.max(0,M(a,g))/P*100:0:M(a,g);l?T>=0?(S[a].push(C),C+=T,d[a].push(C)):(S[a].push(D),D+=T,d[a].push(D)):(S[a].push(0),d[a].push(T))}}for(var re=[].concat.apply([],S.concat(d)),z=N(e.dash,Object.keys($),"solid"),A=N(e.markers,ge,"none"),E=p>1?N(e.patterns,ke,"solid"):null,V=e.background||c.tile,G="",I=[],k=0;E&&k<p;k++)if(E(k)!=="solid"){var ae=fe("g");G+=xe(ae,E(k),o[k%o.length],V),I[k]="url(#"+ae+")"}var ne=E?function(n,i,_){return'<rect x="'+x(i)+'" y="'+x(_+1)+'" width="10" height="10" rx="2" fill="'+(I[n]||o[n%o.length])+'"/>'}:(z||A)&&Se(o,z,A,V),Te=function(n,i){return B[i]?Math.round(Math.max(0,M(n,i))/B[i]*100):0};return me(e,c,we,function(n,i,_,le){if(!b)return oe(c,n,i,_,le);var h=be(e,c,{n:b,names:j?s.map(function(r,t){return ee(t)}):null,pal:o,key:ne,kw:ne&&(E?15:24),lo:Math.min.apply(null,re),hi:Math.max.apply(null,re),zero:!0,labels:Y,notes:Pe,tick:l==="percent"?function(r){return v(r,{lang:e.lang},!0)+"%"}:function(r){return v(r,e,!0)}},n,i,_,le),m=(G?"<defs>"+G+"</defs>":"")+h.svg,F=h.X,H=h.Y,K=function(r){var t=r.map(function(u,f){return[F(f),H(u)]});return t.length===1?[[h.px,t[0][1]],[h.px+h.pw,t[0][1]]]:t},R=y(e.straight),ze=l?".8":".22",Z=function(r){return l?d[r]:s[r]};return s.forEach(function(r,t){var u=K(Z(t)),f=K(l?S[t]:Z(t).map(function(){return 0})).reverse();m+='<path d="'+L(u,R)+L(f,R).replace(/^M/,"L")+'Z" fill="'+(I[t]||o[t%o.length])+'" fill-opacity="'+ze+'"'+(e.animate?' class="bzc-a" style="animation-delay:'+x(t*.1)+'s"':"")+"/>"}),s.forEach(function(r,t){var u=o[t%o.length],f=Z(t),O=K(f),se=A?A(t):"none";m+=Ee(e,L(O,R),u,t,z?$[z(t)]:""),se!=="none"?m+=Oe(e,se,f,F,H,u,V,t):l||(m+='<circle cx="'+x(O[O.length-1][0])+'" cy="'+x(O[O.length-1][1])+'" r="4" fill="'+u+'" stroke="'+V+'" stroke-width="2"/>'),y(e.showValues)&&!l&&f.forEach(function(ue,Ae){m+=U(F(Ae),H(ue)-8,v(ue,e,!0),W(c,9,'text-anchor="middle"'))})}),y(e.showValues)&&l==="stack"&&w.forEach(function(r,t){var u=Math.max.apply(null,d.map(function(f){return f[t]}).concat([0]));m+=U(F(t),H(u)-8,v(r,e,!0),W(c,9,'text-anchor="middle"'))}),m+Me(e,c,h,b,function(r){var t=Y[r]||"#"+(r+1);return s.forEach(function(u,f){r<u.length&&(t+=`
|
|
3
3
|
`+(j?ee(f)+": ":"")+v(u[r],e)+(l==="percent"?" ("+Te(f,r)+"%)":""))}),t+(l?`
|
|
4
4
|
Total: `+v(w[r],e):"")})},{stat:he(l?w:s[0]||[],e,""),summary:p+" series "+(l==="percent"?"as shares of each total":l?"stacked":"filled")+" over "+b+" points"})}X.table=function(e){var c=Q(e.values);return ye(e,c.length>1&&(e.stacked==="percent"||y(e.stacked)))};ve("area",X);de("area");export{Fe as BezelChart,Ve as render,_e as toSVG};
|