bezel-charts 1.4.0 → 1.5.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 +27 -6
- package/dist/bezel-charts.iife.js +12 -11
- package/dist/bezel-charts.js +218 -20
- package/dist/bezel-charts.min.js +12 -11
- package/dist/charts/area.js +2 -2
- package/dist/charts/bars.js +2 -2
- 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 +3 -0
- 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-XBZ5QGIC.js → shared-5J5X5F2N.js} +2 -2
- package/dist/charts/{shared-APAAEWNX.js → shared-I437GKHE.js} +2 -2
- package/dist/charts/shared-WQEE2V6C.js +2 -0
- package/dist/charts/spark.js +2 -2
- package/package.json +5 -3
- package/src/charts/histogram.js +182 -0
- package/src/element.js +1 -1
- package/src/entries/histogram.js +10 -0
- package/src/index.js +2 -1
- package/src/render.js +1 -1
- package/dist/charts/shared-4QPUIMAU.js +0 -2
package/dist/bezel-charts.min.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
/*! Bezel Charts v1.
|
|
2
|
-
var ft="ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif",xt="ui-monospace,SFMono-Regular,Menlo,Consolas,monospace",or=0;function Ht(t){return"bzc"+t+(++or).toString(36)+Math.random().toString(36).slice(2,6)}function ct(t){return String(t??"").replace(/[&<>"']/g,function(e){return{"&":"&","<":"<",">":">",'"':""","'":"'"}[e]})}function a(t){return Math.round(t*100)/100}function Q(t,e,r){return Math.max(e,Math.min(r,t))}function W(t,e){var r=parseFloat(t);return isFinite(r)?r:e}function A(t){return t!=null&&t!==""}function rt(t){return Array.isArray(t)?t.map(function(e){var r=+e;return isFinite(r)?r:0}):A(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):A(t)?String(t).split(",").map(function(e){return e.trim()}):[]}function wt(t){return Array.isArray(t)?Array.isArray(t[0])?t.map(rt):[rt(t)]:A(t)?String(t).split("|").map(rt).filter(function(e){return e.length}):[]}function Ft(t){return t.reduce(function(e,r){return e+r},0)}function St(t,e,r){return String(t).length*e*(r?.6:.56)}function Zt(t,e){return t=String(t),t.length>e?t.slice(0,Math.max(1,e-1))+"\u2026":t}function K(t){return t===!0||t===""||t==="true"||t==="1"}function h(t,e,r){if(!isFinite(t))return"\u2013";var l=Math.abs(t),i;A(e.decimals)?i=Q(parseInt(e.decimals,10)||0,0,6):i=t%1===0?0:l<10?2:l<100?1:0;var n={maximumFractionDigits:i,minimumFractionDigits:A(e.decimals)?i:0};(K(e.compact)||r)&&l>=1e4&&(n={notation:"compact",maximumFractionDigits:1});var s;try{s=new Intl.NumberFormat(e.lang||"en-GB",n).format(l)}catch{s=String(a(l))}return(t<0?"\u2212":"")+(e.prefix||"")+s+(e.suffix||"")}function Ut(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 s=(i[0]+n[0])/2;r+="C"+a(s)+","+a(i[1])+" "+a(s)+","+a(n[1])+" "+a(n[0])+","+a(n[1])}}return r}function O(t,e,r,l){return'<text x="'+a(t)+'" y="'+a(e)+'" '+(l||"")+">"+ct(r)+"</text>"}function H(t,e,r,l){return'fill="'+(l||t.muted)+'" font-family="'+xt+'" font-size="'+(e||10)+'"'+(r?" "+r:"")}function zt(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="'+ct(i)+'"/>'}function ut(t,e,r){return t.animate?' class="'+e+'"'+(r?' style="animation-delay:'+a(r)+'s"':""):""}function ht(t,e){var r=U(t.color).filter(Boolean);return r.length?r:e.palette}function mt(t,e,r,l,i){return O(e+l/2,r+i/2+4,"No data yet",'text-anchor="middle" fill="'+t.muted+'" font-family="'+ft+'" font-size="13"')}function Yt(t,e){return A(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(),s=e.map(String).indexOf(i);return s<0&&String(parseInt(i,10))===i&&(s=parseInt(i,10)),s>=0&&n?{i:s,text:n}:null}).filter(Boolean):[]}function It(t,e,r,l,i){var n=(A(t.goalLabel)?t.goalLabel:"Goal")+" "+h(W(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"/>'+O(l,i-5,n,H(e,10,'text-anchor="end"'))}function kt(t,e,r){var l=String(A(e.stat)?e.stat:r||"").toLowerCase();if(!l||l==="none"||!t.length)return null;var i=Ft(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 s=null;return l==="last"&&t.length>1&&e.delta!=="none"&&(s=t[t.length-1]-t[0]),{val:n[l],delta:s}}function qt(t){var e=Math.round(Q(W(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 sr=".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 pt(t,e,r,l,i){var n=qt(t),s=n.W,o=n.b,f=n.P,u=n.w,p=Q(W(t.corners,22),0,60),m=o+f,c="";A(t.heading)&&(c+=O(o+f,m+10,String(t.heading).toUpperCase(),H(e,11,'font-weight="600" letter-spacing="1.3"')),m+=24);var T=i&&i.stat;if(T){if(c+=O(o+f,m+30,h(T.val,t),'fill="'+e.fg+'" font-family="'+ft+'" font-size="32" font-weight="800" letter-spacing="-0.5"'),T.delta!=null){var w=T.delta>0,B=T.delta===0,N=t.delta==="inverse"?!w:w,L=B?e.muted:N?e.up:e.down,z=(B?"\u25CF ":w?"\u25B2 ":"\u25BC ")+h(Math.abs(T.delta),t)+" "+(A(t.deltaLabel)?t.deltaLabel:"since start");c+=O(o+f+u,m+28,z,'text-anchor="end" fill="'+L+'" font-family="'+xt+'" font-size="11" font-weight="600"')}m+=44}var g=l(o+f,m,u,r),V=Math.round(m+r+f+o),k="";t.frame!=="none"?k='<rect width="'+s+'" height="'+V+'" rx="'+p+'" fill="'+e.bezel+'"/><rect x="'+o+'" y="'+o+'" width="'+(s-2*o)+'" height="'+(V-2*o)+'" rx="'+Math.max(0,p-o)+'" fill="'+(t.background||e.tile)+'"/>':A(t.background)&&(k='<rect width="'+s+'" height="'+V+'" rx="'+p+'" fill="'+t.background+'"/>');var d=(A(t.heading)?t.heading+": ":"")+(i&&i.summary||"chart");return'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 '+s+" "+V+'" width="'+s+'" height="'+V+'" role="img" aria-label="'+ct(d)+'"><title>'+ct(d)+"</title>"+(t.animate?"<style>"+sr+"</style>":"")+k+c+g+"</svg>"}function ue(t,e){var r=rt(t.values),l=ht(t,e)[0],i=W(t.height,64),n=U(t.labels),s=Yt(t,n),o=kt(r,t,"last");return pt(t,e,i,function(f,u,p,m){if(!r.length)return mt(e,f,u,p,m);var c=r.length===1?[r[0],r[0]]:r,T=Math.min.apply(null,c),w=Math.max.apply(null,c);A(t.goal)&&(T=Math.min(T,+t.goal),w=Math.max(w,+t.goal));var B=(w-T||Math.abs(w)||1)*.12;T-=B,w+=B;var N=function(v){return f+v*p/(c.length-1)},L=function(v){return u+m-(v-T)/(w-T)*m},z=c.map(function(v,x){return[N(x),L(v)]}),g=Ut(z,K(t.straight)),V=Ht("g"),k=z[z.length-1],d='<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(v){d+='<line x1="'+f+'" x2="'+(f+p)+'" y1="'+a(u+m*v)+'" y2="'+a(u+m*v)+'" stroke="'+e.grid+'" stroke-dasharray="2 4"/>'}),d+='<path d="'+g+"L"+a(k[0])+","+(u+m)+"L"+f+","+(u+m)+'Z" fill="url(#'+V+')"'+ut(t,"bzc-a")+"/>",d+='<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")+"/>",A(t.goal)&&(d+=It(t,e,f,f+p,L(+t.goal))),s.forEach(function(v){if(!(v.i>=r.length)){var x=z[v.i];d+='<circle cx="'+a(x[0])+'" cy="'+a(x[1])+'" r="3.5" fill="'+e.fg+'"/>'+O(Q(x[0],f+30,f+p-30),x[1]-9,v.text,H(e,10,'text-anchor="middle"',e.fg))}}),d+='<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+'"/>',K(t.showValues)&&z.forEach(function(v,x){x<r.length&&(d+=O(v[0],v[1]-8,h(r[x],t,!0),H(e,9,'text-anchor="middle"')))});var b=r.length>1?p/(r.length-1):p;return r.forEach(function(v,x){d+=zt(N(x)-b/2,u-6,b,m+12,(n[x]||"#"+(x+1))+": "+h(v,t))}),d},{stat:o,summary:r.length?"latest "+h(r[r.length-1],t):"no data"})}ue.table=function(t){var e=U(t.labels);return{head:["Label","Value"],rows:rt(t.values).map(function(r,l){return[e[l]||"#"+(l+1),h(r,t)]})}};var te={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 he=["spark","line","area","bars","scatter","ring","donut","gauge","progress","heatmap"],me={};function dt(t,e){me[t]=e}var fr=t=>t.replace(/-([a-z])/g,(e,r)=>r.toUpperCase());function We(t,e){if(!me[t])throw new Error(he.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: ${he.join(", ")}.`);let r={};for(let[l,i]of Object.entries(e))r[fr(l)]=i;return r}function Et(t,e={}){let r=We(t,e);r.animate=K(r.animate),r.frame=r.frame==="none"?"none":"bezel";let l=r.theme==="light"||r.theme==="dark"?r.theme:r.autoTheme||"dark";return me[t](r,te[l])}function Ze(t,e={}){return me[t].table(We(t,e))}function Ge(t){return t.replace(/<rect class="bzc-hit"[^>]*\/>/g,"").replace(/<circle[^>]* class="bzc-hit"[^>]*\/>/g,"").replace(/ data-tip="[^"]*"/g,"")}function Nt(t,e={}){return Ge(Et(t,{...e,animate:!1}))}var qe=["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"],cr=`: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 ${xt};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}}`,ur={ArrowLeft:-1,ArrowUp:-1,ArrowRight:1,ArrowDown:1},hr=()=>typeof matchMedia=="function"?matchMedia("(prefers-color-scheme: dark)"):null,mr=()=>{let t=typeof document<"u"&&document.documentElement?.getAttribute?.("data-theme");return t==="light"||t==="dark"?t:null},He=new Set;typeof MutationObserver=="function"&&typeof document<"u"&&document.documentElement&&new MutationObserver(()=>He.forEach(t=>t.refresh())).observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]});var pr=typeof HTMLElement>"u"?class{}:HTMLElement,Lt=class extends pr{static get observedAttributes(){return qe}static get themes(){return te}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>${cr}</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.#c]=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())),He.add(this),this.#a=hr(),this.#a?.addEventListener?.("change",this.#u),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(){He.delete(this),this.#l?.disconnect(),this.#a?.removeEventListener?.("change",this.#u)}attributeChangedCallback(){!this.#n||this.#f||(this.#f=!0,queueMicrotask(()=>{this.#f=!1,this.#i()}))}get options(){let e={};for(let r of qe)this.hasAttribute(r)&&(e[r]=this.getAttribute(r));return e.width||(e.width=this.#s||360),e.autoTheme=mr()||(this.#a?this.#a.matches?"dark":"light":"dark"),e}refresh(){this.#n&&this.#i()}toSVG(e={}){return Ge(Et(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;#c=null;#e=-1;#a=null;#s=0;#n=!1;#f=!1;#u=()=>{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=Et(this.chartType,r),i=Ze(this.chartType,r)}catch(f){l=`<p style="font:13px ${ft};color:#d63f7c">${ct(f.message)}</p>`}let n=this.#t;n.innerHTML=l.replace(/<title>[\s\S]*?<\/title>/,"");let s=n.querySelector("svg");s?(n.setAttribute("aria-label",s.getAttribute("aria-label")),s.removeAttribute("role"),s.removeAttribute("aria-label"),s.setAttribute("aria-hidden","true")):n.removeAttribute("aria-label");let o=!!s&&!this.hasAttribute("no-tooltips");o?(n.setAttribute("tabindex","0"),n.setAttribute("aria-describedby","h")):(n.removeAttribute("tabindex"),n.removeAttribute("aria-describedby")),n.style.color=te[r.theme==="light"||r.theme==="dark"?r.theme:r.autoTheme].fg,n.style.borderRadius=`${r.frame==="none"?4:Q(+r.corners||22,0,60)}px`,this.#c.innerHTML=i&&i.rows.length?dr(r.heading,i):"",this.#e>=0&&o&&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},s=i.offsetWidth/2;i.style.left=`${Q(r-n.left,s,Math.max(s,n.width-s))}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=ur[e.key];if(n)this.chartType==="heatmap"&&/Left|Right/.test(e.key)&&(n*=7),i=i<0?n>0?0:l-1:Q(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=Q(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 dr(t,{head:e,rows:r}){let l=i=>i.map((n,s)=>s?`<td>${ct(n)}</td>`:`<th scope="row">${ct(n)}</th>`).join("");return`<table><caption>${ct(t||"Chart data")}</caption><thead><tr>${e.map(i=>`<th scope="col">${ct(i)}</th>`).join("")}</tr></thead><tbody>${r.map(i=>`<tr>${l(i)}</tr>`).join("")}</tbody></table>`}function gt(t){typeof customElements>"u"||typeof HTMLElement>"u"||(customElements.get(`bezel-${t}`)||customElements.define(`bezel-${t}`,class extends Lt{get chartType(){return t}}),customElements.get("bezel-chart")||customElements.define("bezel-chart",class extends Lt{}))}dt("spark",ue);gt("spark");function fe(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))),s=i/n,o=(s<=1?1:s<=2?2:s<=5?5:10)*n,f=Math.floor(t/o)*o,u=Math.ceil(e/o)*o,p=[],m=f;m<=u+o/2;m+=o)p.push(+m.toFixed(10));return{lo:f,hi:u,ticks:p}}function Kt(t,e,r,l,i,n,s,o){var f=l,u=i,p="",m=o||13;return t.forEach(function(c,T){var w=m+St(c,12)+16;f>l&&f+w-16>l+n&&(f=l,u+=20),p+=(s?s(T,f,u):'<circle cx="'+a(f+4)+'" cy="'+a(u+6)+'" r="4" fill="'+e[T%e.length]+'"/>')+O(f+m,u+10,c,'fill="'+r.fg+'" font-family="'+ft+'" font-size="12"'),f+=w}),{svg:p,height:u-i+24}}var Xt={solid:"",dashed:"7 5",dotted:"1 5",dashdot:"9 4 1 4"},ee=["circle","square","triangle","diamond"],pe=["solid","stripes","dots","grid"];function Vt(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 re(t,e,r,l,i){var n=l*1.15,s=l*.85;return t==="square"?'<rect x="'+a(e-s)+'" y="'+a(r-s)+'" width="'+a(2*s)+'" height="'+a(2*s)+'" rx="1"'+i+"/>":t==="triangle"?'<path d="M'+a(e)+","+a(r-n)+"L"+a(e+n)+","+a(r+s)+"L"+a(e-n)+","+a(r+s)+'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 de(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 Ke(t){return Math.max.apply(null,t.map(function(e){return St(e,10,!0)}))+10}function ae(t,e){for(var r=wt(t.values),l=U(t.series),i=U(t.labels),n=[],s=Math.max.apply(null,[0].concat(r.map(function(m){return m.length}))),o=0;o<s;o++){var f=[i[o]||"#"+(o+1)],u=0;r.forEach(function(m){f.push(o<m.length?h(m[o],t):""),u+=o<m.length?m[o]:0}),e&&f.push(h(u,t)),n.push(f)}var p=r.length>1||l.length?r.map(function(m,c){return l[c]||"Series "+(c+1)}):["Value"];return{head:["Label"].concat(p,e?["Total"]:[]),rows:n}}function ge(t,e,r,l,i,n,s){var o="",f=i,u=r.n,p=r.labels;if(r.names){var m=Kt(r.names,r.pal,e,l,f,n,r.key,r.kw);o+=m.svg,f+=m.height}var c=r.lo,T=r.hi;A(t.goal)&&(c=Math.min(c,+t.goal),T=Math.max(T,+t.goal)),r.zero&&(c=Math.min(0,c),T=Math.max(0,T));var w=fe(c,T,4),B=w.ticks.map(r.tick),N=Math.max.apply(null,B.map(function(C){return St(C,10,!0)}))+10,L=p.length?20:4,z=l+N,g=n-N,V=s-(f-i)-L,k=function(C){return u===1?z+g/2:z+C*g/(u-1)},d=function(C){return f+V-(C-w.lo)/(w.hi-w.lo)*V};if(w.ticks.forEach(function(C,y){var M=d(C);o+='<line x1="'+a(z)+'" x2="'+a(z+g)+'" y1="'+a(M)+'" y2="'+a(M)+'" stroke="'+e.grid+'"'+(C===0?"":' stroke-dasharray="2 4"')+"/>"+O(z-8,M+3.5,B[y],H(e,10,'text-anchor="end"'))}),p.length){for(var b=Math.max(1,Math.ceil(u*(Math.max.apply(null,p.map(function(C){return St(C,10,!0)}))+10)/g)),v=0;v<u;v+=b)if(p[v]!=null){var x=u>1&&v===0?"start":u>1&&v===u-1?"end":"middle";o+=O(k(v),f+V+15,p[v],H(e,10,'text-anchor="'+x+'"'))}}return r.notes.forEach(function(C){if(!(C.i>=u)){var y=k(C.i);o+='<line x1="'+a(y)+'" x2="'+a(y)+'" y1="'+a(f+12)+'" y2="'+a(f+V)+'" stroke="'+e.fg+'" stroke-opacity=".4" stroke-dasharray="3 3"/>'+O(Q(y,z+30,z+g-30),f+8,C.text,H(e,10,'text-anchor="middle"',e.fg))}}),{svg:o,X:k,Y:d,px:z,pw:g,top:f,ph:V}}function ve(t,e,r,l,i){for(var n=A(t.goal)?It(t,e,r.px,r.px+r.pw,r.Y(+t.goal)):"",s=l>1?r.pw/(l-1):r.pw,o=0;o<l;o++)n+=zt(r.X(o)-s/2,r.top,s,r.ph,i(o));return n}function xe(t,e,r,l){return function(i,n,s){var o=t[i%t.length],f=e?Xt[e(i)]:"",u=r?r(i):"none";return'<line x1="'+a(n)+'" x2="'+a(n+18)+'" y1="'+a(s+6)+'" y2="'+a(s+6)+'" stroke="'+o+'" stroke-width="2.5" stroke-linecap="round"'+(f?' stroke-dasharray="'+f+'"':"")+"/>"+(u!=="none"?re(u,n+9,s+6,3.5,' fill="'+o+'" stroke="'+l+'" stroke-width="1.5"'):"")}}function ye(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+'"'+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,i,n,s,o){var f="",u=Math.ceil(r.length/40);return r.forEach(function(p,m){(m%u===0||m===r.length-1)&&(f+=re(e,l(m),i(p),3.5,' fill="'+n+'" stroke="'+s+'" stroke-width="1.5"'+ut(t,"bzc-a",.6+o*.15)))}),f}function ke(t,e){var r=wt(t.values),l=U(t.series),i=U(t.labels),n=ht(t,e),s=W(t.height,170),o=Math.max.apply(null,[0].concat(r.map(function(N){return N.length}))),f=Yt(t,i),u=r.length>1||l.length>0,p=kt(r[0]||[],t,""),m=Vt(t.dash,Object.keys(Xt),"solid"),c=Vt(t.markers,ee,"none"),T=t.background||e.tile,w=(m||c)&&xe(n,m,c,T),B=function(N){return l[N]||"Series "+(N+1)};return pt(t,e,s,function(N,L,z,g){if(!o)return mt(e,N,L,z,g);var V=[].concat.apply([],r),k=ge(t,e,{n:o,names:u?r.map(function(F,P){return B(P)}):null,pal:n,key:w,kw:w&&24,lo:Math.min.apply(null,V),hi:Math.max.apply(null,V),zero:K(t.zero),labels:i,notes:f,tick:function(F){return h(F,t,!0)}},N,L,z,g),d=k.svg,b=k.X,v=k.Y,x=k.px,C=k.pw,y=k.top,M=k.ph;return r.forEach(function(F,P){var _=n[P%n.length],I=F.map(function(lt,at){return[b(at),v(lt)]});I.length===1&&(I=[[x,I[0][1]],[x+C,I[0][1]]]);var J=Ut(I,K(t.straight));if(P===0){var tt=Ht("g"),j=I[I.length-1];d+='<defs><linearGradient id="'+tt+'" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="'+_+'" stop-opacity=".26"/><stop offset="1" stop-color="'+_+'" stop-opacity="0"/></linearGradient></defs><path d="'+J+"L"+a(j[0])+","+a(y+M)+"L"+a(I[0][0])+","+a(y+M)+'Z" fill="url(#'+tt+')"'+ut(t,"bzc-a")+"/>"}var G=c?c(P):"none";if(d+=ye(t,J,_,P,m?Xt[m(P)]:""),G!=="none")d+=be(t,G,F,b,v,_,T,P);else{var et=I[I.length-1];d+='<circle cx="'+a(et[0])+'" cy="'+a(et[1])+'" r="4" fill="'+_+'" stroke="'+T+'" stroke-width="2"/>'}K(t.showValues)&&F.forEach(function(lt,at){d+=O(b(at),v(lt)-8,h(lt,t,!0),H(e,9,'text-anchor="middle"'))})}),d+ve(t,e,k,o,function(F){var P=i[F]||"#"+(F+1);return r.forEach(function(_,I){F<_.length&&(P+=`
|
|
3
|
-
`+(u?
|
|
4
|
-
`+(
|
|
5
|
-
Total: `+
|
|
6
|
-
`+
|
|
7
|
-
Total: `+
|
|
8
|
-
|
|
9
|
-
`:
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
/*! Bezel Charts v1.5.0 | MIT | github.com/ShazMoghaddam/bezel-charts */
|
|
2
|
+
var yt="ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif",St="ui-monospace,SFMono-Regular,Menlo,Consolas,monospace",cr=0;function Rt(t){return"bzc"+t+(++cr).toString(36)+Math.random().toString(36).slice(2,6)}function bt(t){return String(t??"").replace(/[&<>"']/g,function(e){return{"&":"&","<":"<",">":">",'"':""","'":"'"}[e]})}function a(t){return Math.round(t*100)/100}function nt(t,e,r){return Math.max(e,Math.min(r,t))}function W(t,e){var r=parseFloat(t);return isFinite(r)?r:e}function T(t){return t!=null&&t!==""}function ct(t){return Array.isArray(t)?t.map(function(e){var r=+e;return isFinite(r)?r:0}):T(t)?String(t).split(/[\s,;]+/).filter(Boolean).map(function(e){var r=+e;return isFinite(r)?r:0}):[]}function $(t){return Array.isArray(t)?t.map(String):T(t)?String(t).split(",").map(function(e){return e.trim()}):[]}function Et(t){return Array.isArray(t)?Array.isArray(t[0])?t.map(ct):[ct(t)]:T(t)?String(t).split("|").map(ct).filter(function(e){return e.length}):[]}function Bt(t){return t.reduce(function(e,r){return e+r},0)}function wt(t,e,r){return String(t).length*e*(r?.6:.56)}function Kt(t,e){return t=String(t),t.length>e?t.slice(0,Math.max(1,e-1))+"\u2026":t}function j(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;T(e.decimals)?i=nt(parseInt(e.decimals,10)||0,0,6):i=t%1===0?0:l<10?2:l<100?1:0;var n={maximumFractionDigits:i,minimumFractionDigits:T(e.decimals)?i:0};(j(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 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 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 C(t,e,r,l){return'<text x="'+a(t)+'" y="'+a(e)+'" '+(l||"")+">"+bt(r)+"</text>"}function D(t,e,r,l){return'fill="'+(l||t.muted)+'" font-family="'+St+'" font-size="'+(e||10)+'"'+(r?" "+r:"")}function zt(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="'+bt(i)+'"/>'}function ut(t,e,r){return t.animate?' class="'+e+'"'+(r?' style="animation-delay:'+a(r)+'s"':""):""}function ht(t,e){var r=$(t.color).filter(Boolean);return r.length?r:e.palette}function mt(t,e,r,l,i){return C(e+l/2,r+i/2+4,"No data yet",'text-anchor="middle" fill="'+t.muted+'" font-family="'+yt+'" font-size="13"')}function _t(t,e){return T(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 It(t,e,r,l,i){var n=(T(t.goalLabel)?t.goalLabel:"Goal")+" "+m(W(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"/>'+C(l,i-5,n,D(e,10,'text-anchor="end"'))}function Lt(t,e,r){var l=String(T(e.stat)?e.stat:r||"").toLowerCase();if(!l||l==="none"||!t.length)return null;var i=Bt(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 qt(t){var e=Math.round(nt(W(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 ur=".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 pt(t,e,r,l,i){var n=qt(t),o=n.W,s=n.b,f=n.P,u=n.w,v=nt(W(t.corners,22),0,60),d=s+f,c="";T(t.heading)&&(c+=C(s+f,d+10,String(t.heading).toUpperCase(),D(e,11,'font-weight="600" letter-spacing="1.3"')),d+=24);var M=i&&i.stat;if(M){if(c+=C(s+f,d+30,m(M.val,t),'fill="'+e.fg+'" font-family="'+yt+'" font-size="32" font-weight="800" letter-spacing="-0.5"'),M.delta!=null){var k=M.delta>0,V=M.delta===0,F=t.delta==="inverse"?!k:k,L=V?e.muted:F?e.up:e.down,b=(V?"\u25CF ":k?"\u25B2 ":"\u25BC ")+m(Math.abs(M.delta),t)+" "+(T(t.deltaLabel)?t.deltaLabel:"since start");c+=C(s+f+u,d+28,b,'text-anchor="end" fill="'+L+'" font-family="'+St+'" font-size="11" font-weight="600"')}d+=44}var p=l(s+f,d,u,r),R=Math.round(d+r+f+s),S="";t.frame!=="none"?S='<rect width="'+o+'" height="'+R+'" rx="'+v+'" fill="'+e.bezel+'"/><rect x="'+s+'" y="'+s+'" width="'+(o-2*s)+'" height="'+(R-2*s)+'" rx="'+Math.max(0,v-s)+'" fill="'+(t.background||e.tile)+'"/>':T(t.background)&&(S='<rect width="'+o+'" height="'+R+'" rx="'+v+'" fill="'+t.background+'"/>');var x=(T(t.heading)?t.heading+": ":"")+(i&&i.summary||"chart");return'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 '+o+" "+R+'" width="'+o+'" height="'+R+'" role="img" aria-label="'+bt(x)+'"><title>'+bt(x)+"</title>"+(t.animate?"<style>"+ur+"</style>":"")+S+c+p+"</svg>"}function me(t,e){var r=ct(t.values),l=ht(t,e)[0],i=W(t.height,64),n=$(t.labels),o=_t(t,n),s=Lt(r,t,"last");return pt(t,e,i,function(f,u,v,d){if(!r.length)return mt(e,f,u,v,d);var c=r.length===1?[r[0],r[0]]:r,M=Math.min.apply(null,c),k=Math.max.apply(null,c);T(t.goal)&&(M=Math.min(M,+t.goal),k=Math.max(k,+t.goal));var V=(k-M||Math.abs(k)||1)*.12;M-=V,k+=V;var F=function(g){return f+g*v/(c.length-1)},L=function(g){return u+d-(g-M)/(k-M)*d},b=c.map(function(g,h){return[F(h),L(g)]}),p=Yt(b,j(t.straight)),R=Rt("g"),S=b[b.length-1],x='<defs><linearGradient id="'+R+'" 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(g){x+='<line x1="'+f+'" x2="'+(f+v)+'" y1="'+a(u+d*g)+'" y2="'+a(u+d*g)+'" stroke="'+e.grid+'" stroke-dasharray="2 4"/>'}),x+='<path d="'+p+"L"+a(S[0])+","+(u+d)+"L"+f+","+(u+d)+'Z" fill="url(#'+R+')"'+ut(t,"bzc-a")+"/>",x+='<path d="'+p+'" fill="none" stroke="'+l+'" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" pathLength="1" style="stroke-dasharray:1"'+ut(t,"bzc-d")+"/>",T(t.goal)&&(x+=It(t,e,f,f+v,L(+t.goal))),o.forEach(function(g){if(!(g.i>=r.length)){var h=b[g.i];x+='<circle cx="'+a(h[0])+'" cy="'+a(h[1])+'" r="3.5" fill="'+e.fg+'"/>'+C(nt(h[0],f+30,f+v-30),h[1]-9,g.text,D(e,10,'text-anchor="middle"',e.fg))}}),x+='<circle cx="'+a(S[0])+'" cy="'+a(S[1])+'" r="9" fill="'+l+'" fill-opacity=".25"/><circle cx="'+a(S[0])+'" cy="'+a(S[1])+'" r="4.5" fill="'+l+'"/>',j(t.showValues)&&b.forEach(function(g,h){h<r.length&&(x+=C(g[0],g[1]-8,m(r[h],t,!0),D(e,9,'text-anchor="middle"')))});var w=r.length>1?v/(r.length-1):v;return r.forEach(function(g,h){x+=zt(F(h)-w/2,u-6,w,d+12,(n[h]||"#"+(h+1))+": "+m(g,t))}),x},{stat:s,summary:r.length?"latest "+m(r[r.length-1],t):"no data"})}me.table=function(t){var e=$(t.labels);return{head:["Label","Value"],rows:ct(t.values).map(function(r,l){return[e[l]||"#"+(l+1),m(r,t)]})}};var ee={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","scatter","ring","donut","gauge","progress","heatmap"],de={};function dt(t,e){de[t]=e}var hr=t=>t.replace(/-([a-z])/g,(e,r)=>r.toUpperCase());function Ze(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,i]of Object.entries(e))r[hr(l)]=i;return r}function At(t,e={}){let r=Ze(t,e);r.animate=j(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,ee[l])}function Ke(t,e={}){return de[t].table(Ze(t,e))}function Ge(t){return t.replace(/<rect class="bzc-hit"[^>]*\/>/g,"").replace(/<circle[^>]* class="bzc-hit"[^>]*\/>/g,"").replace(/ data-tip="[^"]*"/g,"")}function Vt(t,e={}){return Ge(At(t,{...e,animate:!1}))}var qe=["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"],mr=`: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 ${St};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}}`,pr={ArrowLeft:-1,ArrowUp:-1,ArrowRight:1,ArrowDown:1},dr=()=>typeof matchMedia=="function"?matchMedia("(prefers-color-scheme: dark)"):null,gr=()=>{let t=typeof document<"u"&&document.documentElement?.getAttribute?.("data-theme");return t==="light"||t==="dark"?t:null},He=new Set;typeof MutationObserver=="function"&&typeof document<"u"&&document.documentElement&&new MutationObserver(()=>He.forEach(t=>t.refresh())).observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]});var vr=typeof HTMLElement>"u"?class{}:HTMLElement,Ot=class extends vr{static get observedAttributes(){return qe}static get themes(){return ee}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>${mr}</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.#c]=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())),He.add(this),this.#a=dr(),this.#a?.addEventListener?.("change",this.#u),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(){He.delete(this),this.#l?.disconnect(),this.#a?.removeEventListener?.("change",this.#u)}attributeChangedCallback(){!this.#n||this.#f||(this.#f=!0,queueMicrotask(()=>{this.#f=!1,this.#i()}))}get options(){let e={};for(let r of qe)this.hasAttribute(r)&&(e[r]=this.getAttribute(r));return e.width||(e.width=this.#s||360),e.autoTheme=gr()||(this.#a?this.#a.matches?"dark":"light":"dark"),e}refresh(){this.#n&&this.#i()}toSVG(e={}){return Ge(At(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;#c=null;#e=-1;#a=null;#s=0;#n=!1;#f=!1;#u=()=>{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=At(this.chartType,r),i=Ke(this.chartType,r)}catch(f){l=`<p style="font:13px ${yt};color:#d63f7c">${bt(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=ee[r.theme==="light"||r.theme==="dark"?r.theme:r.autoTheme].fg,n.style.borderRadius=`${r.frame==="none"?4:nt(+r.corners||22,0,60)}px`,this.#c.innerHTML=i&&i.rows.length?xr(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=`${nt(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=pr[e.key];if(n)this.chartType==="heatmap"&&/Left|Right/.test(e.key)&&(n*=7),i=i<0?n>0?0:l-1:nt(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=nt(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 xr(t,{head:e,rows:r}){let l=i=>i.map((n,o)=>o?`<td>${bt(n)}</td>`:`<th scope="row">${bt(n)}</th>`).join("");return`<table><caption>${bt(t||"Chart data")}</caption><thead><tr>${e.map(i=>`<th scope="col">${bt(i)}</th>`).join("")}</tr></thead><tbody>${r.map(i=>`<tr>${l(i)}</tr>`).join("")}</tbody></table>`}function gt(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{}))}dt("spark",me);gt("spark");function Qt(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,u=Math.ceil(e/s)*s,v=[],d=f;d<=u+s/2;d+=s)v.push(+d.toFixed(10));return{lo:f,hi:u,ticks:v}}function Ut(t,e,r,l,i,n,o,s){var f=l,u=i,v="",d=s||13;return t.forEach(function(c,M){var k=d+wt(c,12)+16;f>l&&f+k-16>l+n&&(f=l,u+=20),v+=(o?o(M,f,u):'<circle cx="'+a(f+4)+'" cy="'+a(u+6)+'" r="4" fill="'+e[M%e.length]+'"/>')+C(f+d,u+10,c,'fill="'+r.fg+'" font-family="'+yt+'" font-size="12"'),f+=k}),{svg:v,height:u-i+24}}var Xt={solid:"",dashed:"7 5",dotted:"1 5",dashdot:"9 4 1 4"},re=["circle","square","triangle","diamond"],ae=["solid","stripes","dots","grid"];function Ft(t,e,r){if(t==null||t===!1||t==="none"||t==="false")return null;var l=t===!0||t===""||t==="auto"?e:$(t).map(function(i){return e.indexOf(i)<0?r:i});return l.length?function(i){return l[i%l.length]}:null}function ne(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 ie(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 Qe(t){return Math.max.apply(null,t.map(function(e){return wt(e,10,!0)}))+10}function le(t,e){for(var r=Et(t.values),l=$(t.series),i=$(t.labels),n=[],o=Math.max.apply(null,[0].concat(r.map(function(d){return d.length}))),s=0;s<o;s++){var f=[i[s]||"#"+(s+1)],u=0;r.forEach(function(d){f.push(s<d.length?m(d[s],t):""),u+=s<d.length?d[s]:0}),e&&f.push(m(u,t)),n.push(f)}var v=r.length>1||l.length?r.map(function(d,c){return l[c]||"Series "+(c+1)}):["Value"];return{head:["Label"].concat(v,e?["Total"]:[]),rows:n}}function ge(t,e,r,l,i,n,o){var s="",f=i,u=r.n,v=r.labels;if(r.names){var d=Ut(r.names,r.pal,e,l,f,n,r.key,r.kw);s+=d.svg,f+=d.height}var c=r.lo,M=r.hi;T(t.goal)&&(c=Math.min(c,+t.goal),M=Math.max(M,+t.goal)),r.zero&&(c=Math.min(0,c),M=Math.max(0,M));var k=Qt(c,M,4),V=k.ticks.map(r.tick),F=Math.max.apply(null,V.map(function(O){return wt(O,10,!0)}))+10,L=v.length?20:4,b=l+F,p=n-F,R=o-(f-i)-L,S=function(O){return u===1?b+p/2:b+O*p/(u-1)},x=function(O){return f+R-(O-k.lo)/(k.hi-k.lo)*R};if(k.ticks.forEach(function(O,y){var E=x(O);s+='<line x1="'+a(b)+'" x2="'+a(b+p)+'" y1="'+a(E)+'" y2="'+a(E)+'" stroke="'+e.grid+'"'+(O===0?"":' stroke-dasharray="2 4"')+"/>"+C(b-8,E+3.5,V[y],D(e,10,'text-anchor="end"'))}),v.length){for(var w=Math.max(1,Math.ceil(u*(Math.max.apply(null,v.map(function(O){return wt(O,10,!0)}))+10)/p)),g=0;g<u;g+=w)if(v[g]!=null){var h=u>1&&g===0?"start":u>1&&g===u-1?"end":"middle";s+=C(S(g),f+R+15,v[g],D(e,10,'text-anchor="'+h+'"'))}}return r.notes.forEach(function(O){if(!(O.i>=u)){var y=S(O.i);s+='<line x1="'+a(y)+'" x2="'+a(y)+'" y1="'+a(f+12)+'" y2="'+a(f+R)+'" stroke="'+e.fg+'" stroke-opacity=".4" stroke-dasharray="3 3"/>'+C(nt(y,b+30,b+p-30),f+8,O.text,D(e,10,'text-anchor="middle"',e.fg))}}),{svg:s,X:S,Y:x,px:b,pw:p,top:f,ph:R}}function ve(t,e,r,l,i){for(var n=T(t.goal)?It(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+=zt(r.X(s)-o/2,r.top,o,r.ph,i(s));return n}function xe(t,e,r,l){return function(i,n,o){var s=t[i%t.length],f=e?Xt[e(i)]:"",u=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+'"':"")+"/>"+(u!=="none"?ne(u,n+9,o+6,3.5,' fill="'+s+'" stroke="'+l+'" stroke-width="1.5"'):"")}}function ye(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+'"'+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,i,n,o,s){var f="",u=Math.ceil(r.length/40);return r.forEach(function(v,d){(d%u===0||d===r.length-1)&&(f+=ne(e,l(d),i(v),3.5,' fill="'+n+'" stroke="'+o+'" stroke-width="1.5"'+ut(t,"bzc-a",.6+s*.15)))}),f}function Me(t,e){var r=Et(t.values),l=$(t.series),i=$(t.labels),n=ht(t,e),o=W(t.height,170),s=Math.max.apply(null,[0].concat(r.map(function(F){return F.length}))),f=_t(t,i),u=r.length>1||l.length>0,v=Lt(r[0]||[],t,""),d=Ft(t.dash,Object.keys(Xt),"solid"),c=Ft(t.markers,re,"none"),M=t.background||e.tile,k=(d||c)&&xe(n,d,c,M),V=function(F){return l[F]||"Series "+(F+1)};return pt(t,e,o,function(F,L,b,p){if(!s)return mt(e,F,L,b,p);var R=[].concat.apply([],r),S=ge(t,e,{n:s,names:u?r.map(function(N,G){return V(G)}):null,pal:n,key:k,kw:k&&24,lo:Math.min.apply(null,R),hi:Math.max.apply(null,R),zero:j(t.zero),labels:i,notes:f,tick:function(N){return m(N,t,!0)}},F,L,b,p),x=S.svg,w=S.X,g=S.Y,h=S.px,O=S.pw,y=S.top,E=S.ph;return r.forEach(function(N,G){var Z=n[G%n.length],Y=N.map(function(rt,lt){return[w(lt),g(rt)]});Y.length===1&&(Y=[[h,Y[0][1]],[h+O,Y[0][1]]]);var Q=Yt(Y,j(t.straight));if(G===0){var ot=Rt("g"),it=Y[Y.length-1];x+='<defs><linearGradient id="'+ot+'" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="'+Z+'" stop-opacity=".26"/><stop offset="1" stop-color="'+Z+'" stop-opacity="0"/></linearGradient></defs><path d="'+Q+"L"+a(it[0])+","+a(y+E)+"L"+a(Y[0][0])+","+a(y+E)+'Z" fill="url(#'+ot+')"'+ut(t,"bzc-a")+"/>"}var H=c?c(G):"none";if(x+=ye(t,Q,Z,G,d?Xt[d(G)]:""),H!=="none")x+=be(t,H,N,w,g,Z,M,G);else{var et=Y[Y.length-1];x+='<circle cx="'+a(et[0])+'" cy="'+a(et[1])+'" r="4" fill="'+Z+'" stroke="'+M+'" stroke-width="2"/>'}j(t.showValues)&&N.forEach(function(rt,lt){x+=C(w(lt),g(rt)-8,m(rt,t,!0),D(e,9,'text-anchor="middle"'))})}),x+ve(t,e,S,s,function(N){var G=i[N]||"#"+(N+1);return r.forEach(function(Z,Y){N<Z.length&&(G+=`
|
|
3
|
+
`+(u?V(Y)+": ":"")+m(Z[N],t))}),G})},{stat:v,summary:r.length+" series over "+s+" points"})}Me.table=function(t){return le(t)};dt("line",Me);gt("line");function ke(t,e){for(var r=Et(t.values),l=$(t.series),i=$(t.labels),n=ht(t,e),o=W(t.height,170),s=r.length,f=Math.max.apply(null,[0].concat(r.map(function(H){return H.length}))),u=s>1?t.stacked==="percent"?"percent":j(t.stacked)?"stack":"":"",v=_t(t,i),d=s>1||l.length>0,c=function(H){return l[H]||"Series "+(H+1)},M=function(H,et){return et<r[H].length?r[H][et]:0},k=r.map(function(){return[]}),V=r.map(function(){return[]}),F=[],L=[],b=0;b<f;b++){for(var p=0,R=0,S=0,x=0,w=0;w<s;w++)S+=M(w,b),x+=Math.max(0,M(w,b));for(F.push(S),L.push(x),w=0;w<s;w++){var g=u==="percent"?x?Math.max(0,M(w,b))/x*100:0:M(w,b);u?g>=0?(k[w].push(p),p+=g,V[w].push(p)):(k[w].push(R),R+=g,V[w].push(R)):(k[w].push(0),V[w].push(g))}}for(var h=[].concat.apply([],k.concat(V)),O=Ft(t.dash,Object.keys(Xt),"solid"),y=Ft(t.markers,re,"none"),E=s>1?Ft(t.patterns,ae,"solid"):null,N=t.background||e.tile,G="",Z=[],Y=0;E&&Y<s;Y++)if(E(Y)!=="solid"){var Q=Rt("g");G+=ie(Q,E(Y),n[Y%n.length],N),Z[Y]="url(#"+Q+")"}var ot=E?function(H,et,rt){return'<rect x="'+a(et)+'" y="'+a(rt+1)+'" width="10" height="10" rx="2" fill="'+(Z[H]||n[H%n.length])+'"/>'}:(O||y)&&xe(n,O,y,N),it=function(H,et){return L[et]?Math.round(Math.max(0,M(H,et))/L[et]*100):0};return pt(t,e,o,function(H,et,rt,lt){if(!f)return mt(e,H,et,rt,lt);var st=ge(t,e,{n:f,names:d?r.map(function(K,A){return c(A)}):null,pal:n,key:ot,kw:ot&&(E?15:24),lo:Math.min.apply(null,h),hi:Math.max.apply(null,h),zero:!0,labels:i,notes:v,tick:u==="percent"?function(K){return m(K,{lang:t.lang},!0)+"%"}:function(K){return m(K,t,!0)}},H,et,rt,lt),z=(G?"<defs>"+G+"</defs>":"")+st.svg,U=st.X,B=st.Y,ft=function(K){var A=K.map(function(_,I){return[U(I),B(_)]});return A.length===1?[[st.px,A[0][1]],[st.px+st.pw,A[0][1]]]:A},J=j(t.straight),Mt=u?".8":".22",vt=function(K){return u?V[K]:r[K]};return r.forEach(function(K,A){var _=ft(vt(A)),I=ft(u?k[A]:vt(A).map(function(){return 0})).reverse();z+='<path d="'+Yt(_,J)+Yt(I,J).replace(/^M/,"L")+'Z" fill="'+(Z[A]||n[A%n.length])+'" fill-opacity="'+Mt+'"'+(t.animate?' class="bzc-a" style="animation-delay:'+a(A*.1)+'s"':"")+"/>"}),r.forEach(function(K,A){var _=n[A%n.length],I=vt(A),P=ft(I),q=y?y(A):"none";z+=ye(t,Yt(P,J),_,A,O?Xt[O(A)]:""),q!=="none"?z+=be(t,q,I,U,B,_,N,A):u||(z+='<circle cx="'+a(P[P.length-1][0])+'" cy="'+a(P[P.length-1][1])+'" r="4" fill="'+_+'" stroke="'+N+'" stroke-width="2"/>'),j(t.showValues)&&!u&&I.forEach(function(tt,at){z+=C(U(at),B(tt)-8,m(tt,t,!0),D(e,9,'text-anchor="middle"'))})}),j(t.showValues)&&u==="stack"&&F.forEach(function(K,A){var _=Math.max.apply(null,V.map(function(I){return I[A]}).concat([0]));z+=C(U(A),B(_)-8,m(K,t,!0),D(e,9,'text-anchor="middle"'))}),z+ve(t,e,st,f,function(K){var A=i[K]||"#"+(K+1);return r.forEach(function(_,I){K<_.length&&(A+=`
|
|
4
|
+
`+(d?c(I)+": ":"")+m(_[K],t)+(u==="percent"?" ("+it(I,K)+"%)":""))}),A+(u?`
|
|
5
|
+
Total: `+m(F[K],t):"")})},{stat:Lt(u?F:r[0]||[],t,""),summary:s+" series "+(u==="percent"?"as shares of each total":u?"stacked":"filled")+" over "+f+" points"})}ke.table=function(t){var e=Et(t.values);return le(t,e.length>1&&(t.stacked==="percent"||j(t.stacked)))};dt("area",ke);gt("area");var Je=40,je=24;function we(t,e){for(var r=Et(t.values),l=$(t.series),i=$(t.labels),n=ht(t,e),o=r.length,s=Math.max.apply(null,[0].concat(r.map(function(z){return z.length}))),f=o>1,u=j(t.horizontal),v=f&&j(t.stacked),d=!f&&$(t.color).filter(Boolean).length>1,c=r[0]||[],M=[].concat.apply([],r),k=function(z,U){return r.reduce(function(B,ft){return z<ft.length&&ft[z]*U>0?B+ft[z]:B},0)},V=[],F=[],L=[],b=0;v&&b<s;b++)F.push(k(b,1)),L.push(k(b,-1)),V.push(F[b]+L[b]);for(var p=v?F.concat(L):M,R=p.length?Math.max.apply(null,p):0,S=function(z){return l[z]||"Series "+(z+1)},x=f?Ft(t.patterns,ae,"solid"):null,w="",g=[],h=0;x&&h<o;h++)if(x(h)!=="solid"){var O=Rt("g");w+=ie(O,x(h),n[h%n.length],t.background||e.tile),g[h]="url(#"+O+")"}var y=function(z,U){return f?g[z]||n[z%n.length]:d?n[U%n.length]:n[0]},E=x&&function(z,U,B){return'<rect x="'+a(U)+'" y="'+a(B+1)+'" width="10" height="10" rx="2" fill="'+y(z)+'"/>'},N=function(z){return f||d||t.highlight==="none"||z===R?1:.5},G=function(z){return i[z]||"#"+(z+1)},Z=function(z){return f?G(z)+r.map(function(U,B){return z<U.length?`
|
|
6
|
+
`+S(B)+": "+m(U[z],t):""}).join("")+(v?`
|
|
7
|
+
Total: `+m(V[z],t):""):G(z)+": "+m(c[z],t)},Y=qt(t),Q=f||l.length?Ut(r.map(function(z,U){return S(U)}),n,e,0,0,Y.w,E,E&&15).height:0,ot=v?1:o,it=f&&!v,H=it?10:14,et=3,rt=u?ot*H+(ot-1)*et+(it?14:16):0,lt=u?Q+Math.max(1,s)*rt-6:W(t.height,140)+Q,st=c.indexOf(Math.max.apply(null,c.length?c:[0]));return pt(t,e,lt,function(z,U,B,ft){if(!s)return mt(e,z,U,B,ft);var J=w?"<defs>"+w+"</defs>":"",Mt=U;Q&&(J+=Ut(r.map(function(X,xt){return S(xt)}),n,e,z,U,B,E,E&&15).svg,Mt+=Q);var vt=Math.min(0,Math.min.apply(null,p)),K=Math.max(0,R);if(T(t.goal)&&(vt=Math.min(vt,+t.goal),K=Math.max(K,+t.goal)),K===vt&&(K=vt+1),u){for(var A=i.length?Math.min(B*.4,Math.max.apply(null,i.map(function(X){return wt(X,12)}))+10):0,_=v?[V.map(function(X){return m(X,t)})]:r.map(function(X){return X.map(function(xt){return m(xt,t)})}),I=Math.max.apply(null,[].concat.apply([],_).map(function(X){return wt(X,it?10:11,!0)}))+10,P=z+A,q=B-A-I,tt=Math.max(K,0)||1,at=0;at<s;at++){var Ct=Mt+at*rt;i[at]!=null&&(J+=C(z,Ct+(rt-6)/2+4,Kt(i[at],Math.floor(A/6.7)),'fill="'+e.fg+'" font-family="'+yt+'" font-size="12"')),v?(J+=ir(at,P,Ct+5,q,tt),J+=C(z+B,Ct+5+H/2+3.8,_[0][at],'text-anchor="end" fill="'+e.fg+'" font-family="'+St+'" font-size="11" font-weight="600"')):r.forEach(function(X,xt){if(!(at>=X.length)){var kt=X[at],Nt=Ct+(f?2:5)+xt*(H+et),Ht=Math.max(0,kt)/tt*q;f||(J+='<rect x="'+a(P)+'" y="'+a(Nt)+'" width="'+a(q)+'" height="'+H+'" rx="'+H/2+'" fill="'+e.grid+'" fill-opacity=".6"/>'),Ht>0&&(J+='<rect x="'+a(P)+'" y="'+a(Nt)+'" width="'+a(Math.max(H,Ht))+'" height="'+H+'" rx="'+H/2+'" fill="'+y(xt,at)+'" fill-opacity="'+N(kt)+'"'+ut(t,"bzc-gx",at*.06+xt*.03)+"/>"),J+=C(z+B,Nt+H/2+3.8,_[xt][at],'text-anchor="end" fill="'+e.fg+'" font-family="'+St+'" font-size="'+(f?10:11)+'" font-weight="600"')}}),J+=zt(z,Ct,B,rt-6,Z(at))}if(T(t.goal)&&+t.goal>0){var Pe=P+ +t.goal/tt*q;J+='<line x1="'+a(Pe)+'" x2="'+a(Pe)+'" y1="'+a(Mt-2)+'" y2="'+a(U+ft+2)+'" stroke="'+e.fg+'" stroke-opacity=".55" stroke-dasharray="3 3"/>'}return J}function ir(X,xt,kt,Nt,Ht){var Pt='<rect x="'+a(xt)+'" y="'+a(kt)+'" width="'+a(Nt)+'" height="'+H+'" rx="'+H/2+'" fill="'+e.grid+'" fill-opacity=".6"/>',jt=0;return r.forEach(function(ce,Dt){var te=X<ce.length?ce[X]:0,$t=Math.max(0,te)/Ht*Nt;if(!($t<=0)){var Zt=jt>0?1.5:0;Pt+='<rect x="'+a(xt+jt+Zt)+'" y="'+a(kt)+'" width="'+a(Math.max(2,$t-Zt))+'" height="'+H+'" rx="'+a(Math.min(3,$t/2))+'" fill="'+y(Dt,X)+'"'+ut(t,"bzc-gx",X*.06+Dt*.03)+"/>",jt+=$t}}),Pt}var De=i.length?Math.max.apply(null,i.map(function(X){return wt(X,10,!0)})):0,Ce=i.length?Math.max(1,Math.ceil(s*(De+8)/B)):1,oe=j(t.angleLabels)&&Ce>1,$e=Je*Math.PI/180,Ue=function(X){return oe?Kt(X,je):X};if(oe){var lr=B/s,Jt=0;i.forEach(function(X,xt){Jt=Math.max(Jt,Math.cos($e)*wt(Ue(X),10,!0)+4-(xt+.5)*lr)}),Jt=Math.min(Jt,B*.25),z+=Jt,B-=Jt,Ce=1}var Ye=j(t.showValues)&&vt<0?14:0,or=oe?Math.ceil(Math.sin($e)*Math.min(De,wt("x".repeat(je),10,!0)))+18:20,sr=(i.length?or:2)+Ye,_e=j(t.showValues)?16:4,Fe=ft-(Mt-U)-sr-_e,Ie=Mt+_e,Gt=function(X){return Ie+Fe-(X-vt)/(K-vt)*Fe},se=B/s,fe=Math.min(se*(it?.78:.62),it?o*30:56),Xe=it?Math.min(3,fe/o*.15):0,Wt=v?fe:(fe-Xe*(o-1))/o,he=Gt(0);J+='<line x1="'+z+'" x2="'+(z+B)+'" y1="'+a(he)+'" y2="'+a(he)+'" stroke="'+e.grid+'"/>';for(var Tt=0;Tt<s;Tt++){var Ne=z+Tt*se+(se-fe)/2;if(v?J+=fr(Tt,Ne):r.forEach(function(X,xt){if(!(Tt>=X.length)){var kt=X[Tt],Nt=Ne+xt*(Wt+Xe),Ht=Math.min(Gt(kt),he),Pt=Math.abs(Gt(kt)-he);Pt>.5&&(J+='<rect x="'+a(Nt)+'" y="'+a(Ht)+'" width="'+a(Wt)+'" height="'+a(Pt)+'" rx="'+a(Math.min(6,Wt/2,Pt/2))+'" fill="'+y(xt,Tt)+'" fill-opacity="'+N(kt)+'"'+ut(t,kt<0?"bzc-gn":"bzc-g",Tt*.05+xt*.03)+"/>"),j(t.showValues)&&(J+=C(Nt+Wt/2,kt<0?Gt(kt)+12:Gt(kt)-5,m(kt,t,!0),'text-anchor="middle" fill="'+e.fg+'" font-family="'+St+'" font-size="'+(f?9:10)+'" font-weight="600"'))}}),i[Tt]!=null&&Tt%Ce===0){var Re=Ne+fe/2,Ve=Ie+Fe+Ye+(oe?12:15);J+=oe?C(Re,Ve,Ue(i[Tt]),D(e,10,'text-anchor="end" transform="rotate(-'+Je+" "+a(Re)+" "+a(Ve)+')"')):C(Re,Ve,i[Tt],D(e,10,'text-anchor="middle"'))}J+=zt(z+Tt*se,Mt,se,ft-(Mt-U),Z(Tt))}return T(t.goal)&&(J+=It(t,e,z,z+B,Gt(+t.goal))),J;function fr(X,xt){var kt="",Nt=0,Ht=0;if(r.forEach(function(jt,ce){var Dt=X<jt.length?jt[X]:0;if(Dt){var te=Dt>0?Nt:Ht,$t=te+Dt;Dt>0?Nt=$t:Ht=$t;var Zt=Gt(Math.max(te,$t)),Be=Gt(Math.min(te,$t)),ue=Be-Zt,We=te!==0?Math.min(1.5,ue/2):0;Dt>0?Be-=We:Zt+=We,ue=Be-Zt,ue>.5&&(kt+='<rect x="'+a(xt)+'" y="'+a(Zt)+'" width="'+a(Wt)+'" height="'+a(ue)+'" rx="'+a(Math.min(3,Wt/2,ue/2))+'" fill="'+y(ce,X)+'"'+ut(t,Dt<0?"bzc-gn":"bzc-g",X*.05+ce*.03)+"/>")}}),j(t.showValues)){var Pt=V[X];kt+=C(xt+Wt/2,Pt<0?Gt(L[X])+12:Gt(F[X])-5,m(Pt,t,!0),'text-anchor="middle" fill="'+e.fg+'" font-family="'+St+'" font-size="10" font-weight="600"')}return kt}},{stat:Lt(c,t,""),summary:s?v?o+" series stacked across "+s+" groups":f?o+" series across "+s+" groups":"highest "+(i[st]||"")+" "+m(c[st],t):"no data"})}we.table=function(t){return le(t,Et(t.values).length>1&&j(t.stacked))};dt("bars",we);gt("bars");function Se(t,e){for(var r=er(t),l=$(t.series),i=ht(t,e),n=W(t.height,190),o=r?r.S:[],s=o.length,f=s>1||l.length>0,u=j(t.percent),v=function(h){return l[h]||"Series "+(h+1)},d=Object.assign({},t,{decimals:T(t.decimals)?t.decimals:r?r.dp:0}),c=function(h){return m(r.edge(h),d)+" to "+m(r.edge(h+1),d)},M=function(h,O){return Math.round(r.counts[h][O]/o[h].length*100)},k=function(h,O){return u?r.counts[h][O]/o[h].length*100:r.counts[h][O]},V=$(t.mark).filter(function(h){return h==="mean"||h==="median"}),F=s>1?Ft(t.patterns,ae,"solid"):null,L="",b=[],p=0;F&&p<s;p++)if(F(p)!=="solid"){var R=Rt("g");L+=ie(R,F(p),i[p%i.length],t.background||e.tile),b[p]="url(#"+R+")"}var S=F&&function(h,O,y){return'<rect x="'+a(O)+'" y="'+a(y+1)+'" width="10" height="10" rx="2" fill="'+(b[h]||i[h%i.length])+'"/>'},x=0,w=0;if(r){for(var g=0;g<r.count;g++)tr(r,g)>tr(r,x)&&(x=g);o.forEach(function(h){w+=h.length})}return pt(t,e,n,function(h,O,y,E){if(!r)return mt(e,h,O,y,E);var N=L?"<defs>"+L+"</defs>":"",G=O;if(f){var Z=Ut(o.map(function(P,q){return v(q)}),i,e,h,G,y,S,S&&15);N+=Z.svg,G+=Z.height}var Y=0;o.forEach(function(P,q){for(var tt=0;tt<r.count;tt++)Y=Math.max(Y,k(q,tt))});var Q=Qt(0,Y||1,4),ot=Q.ticks.map(function(P){return m(P,{lang:t.lang},!0)+(u?"%":"")}),it=Math.max.apply(null,ot.map(function(P){return wt(P,10,!0)}))+10,H=h+it,et=y-it,rt=E-(G-O)-20,lt=et/r.count,st=function(P){return H+P*lt},z=function(P){return G+rt-(P-Q.lo)/(Q.hi-Q.lo)*rt};Q.ticks.forEach(function(P,q){var tt=z(P);N+='<line x1="'+a(H)+'" x2="'+a(H+et)+'" y1="'+a(tt)+'" y2="'+a(tt)+'" stroke="'+e.grid+'"'+(P===0?"":' stroke-dasharray="2 4"')+"/>"+C(H-8,tt+3.5,ot[q],D(e,10,'text-anchor="end"'))});for(var U=[],B=0;B<=r.count;B++)U.push(m(r.edge(B),d,!0));var ft=Math.max(1,Math.ceil((Math.max.apply(null,U.map(function(P){return wt(P,10,!0)}))*1.5+8)/lt));for(B=0;B<=r.count;B+=ft)N+=C(st(B),G+rt+15,U[B],D(e,10,'text-anchor="'+(B===0?"start":B===r.count?"end":"middle")+'"'));o.forEach(function(P,q){for(var tt=0;tt<r.count;tt++){var at=k(q,tt);if(at){var Ct=z(at);N+='<rect x="'+a(st(tt)+.5)+'" y="'+a(Ct)+'" width="'+a(Math.max(1,lt-1))+'" height="'+a(G+rt-Ct)+'" fill="'+(b[q]||i[q%i.length])+'"'+(f?' fill-opacity=".55"':"")+ut(t,"bzc-g",Math.min(.6,tt*.03))+"/>"}}});var J=r.edge(0),Mt=r.edge(r.count)-J,vt=[];if(o.forEach(function(P,q){V.forEach(function(tt){var at=tt==="mean"?br(P):Mr(P);vt.push({x:H+(at-J)/Mt*et,c:f?i[q%i.length]:e.fg,t:(f?v(q)+" ":"")+tt+" "+m(at,t)})})}),vt.length){var K=vt.map(function(P){return P.x}),A=(Math.min.apply(null,K)+Math.max.apply(null,K))/2>H+et/2,_=A?Math.min.apply(null,K)-5:Math.max.apply(null,K)+5;vt.forEach(function(P,q){N+='<line x1="'+a(P.x)+'" x2="'+a(P.x)+'" y1="'+a(G)+'" y2="'+a(G+rt)+'" stroke="'+P.c+'" stroke-width="1.5" stroke-dasharray="4 3"/>'+C(_,G+9+q*12,P.t,D(e,10,'text-anchor="'+(A?"end":"start")+'"',f?P.c:e.fg))})}for(g=0;g<r.count;g++){var I=c(g);o.forEach(function(P,q){I+=`
|
|
8
|
+
`+(f?v(q)+": ":"")+r.counts[q][g]+" ("+M(q,g)+"%)"}),N+=zt(st(g),G,lt,rt,I)}return N},{summary:r?(f?s+" series, ":"")+w+" values in "+r.count+" ranges from "+m(r.edge(0),d)+" to "+m(r.edge(r.count),d)+", most in "+c(x):"no data"})}Se.table=function(t){var e=er(t),r=$(t.series);if(!e)return{head:["Range","Count"],rows:[]};for(var l=e.S.length>1||r.length>0,i=Object.assign({},t,{decimals:T(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,u){s.push(String(e.counts[u][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,u){return r[u]||"Series "+(u+1)}):["Count","Share"]),rows:n}};function yr(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 er(t){var e=Et(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=W(t.binWidth,0),o,s;if(n>0&&(i-l)/n<=200){var f=String(t.binWidth),u=f.indexOf(".");o=u<0?0:Math.min(6,f.length-u-1)}else{var v=W(t.bins,0)>0?Math.round(W(t.bins,0)):Math.ceil(Math.log2(r.length)+1);v=Math.min(Math.max(v,1),50),s=yr(i>l?(i-l)/v:Math.abs(l)||1),n=s.w,o=s.dp}for(var d=Math.floor(l/n),c=function(V){return Number(((d+V)*n).toFixed(o+3))};c(0)>l;)d--;for(var M=Math.max(1,Math.ceil((i-c(0))/n));M>1&&c(M-1)>=i;)M--;for(;c(M)<i;)M++;var k=e.map(function(V){for(var F=[],L=0;L<M;L++)F.push(0);return V.forEach(function(b){for(var p=Math.min(M-1,Math.max(0,Math.floor((b-c(0))/n)));p>0&&b<c(p);)p--;for(;p<M-1&&b>=c(p+1);)p++;F[p]++}),F});return{S:e,edge:c,count:M,counts:k,dp:o}}function tr(t,e){var r=0;return t.counts.forEach(function(l){r+=l[e]}),r}function br(t){var e=0;return t.forEach(function(r){e+=r}),e/t.length}function Mr(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}dt("histogram",Se);gt("histogram");function kr(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 u=f/o;return{slope:u,intercept:i-u*l,r:s?f/Math.sqrt(o*s):0}}function Ee(t,e){for(var r=Et(t.x),l=Et(t.y),i=$(t.series),n=$(t.labels),o=ht(t,e),s=[],f=0;f<Math.max(r.length,l.length);f++){var u=r[f]||[],v=l[f]||[],d=Math.min(u.length,v.length);s.push({xs:u.slice(0,d),ys:v.slice(0,d)})}s=s.filter(function(w){return w.xs.length});var c=s.reduce(function(w,g){return w+g.xs.length},0),M=W(t.height,210),k=s.length>1||i.length>0,V=j(t.trend),F=function(w){return i[w]||"Group "+(w+1)},L={decimals:t.decimals,compact:t.compact,lang:t.lang},b=_t(t,n),p=Ft(t.markers,re,"circle"),R=t.background||e.tile,S=function(w){var g=p?p(w):"circle";return g==="none"?"circle":g},x=p&&function(w,g,h){return ne(S(w),g+4,h+6,4,' fill="'+o[w%o.length]+'"')};return pt(t,e,M,function(w,g,h,O){if(!c)return mt(e,w,g,h,O);var y="",E=g;if(k){var N=Ut(s.map(function(A,_){return F(_)}),o,e,w,E,h,x);y+=N.svg,E+=N.height}var G=[].concat.apply([],s.map(function(A){return A.xs})),Z=[].concat.apply([],s.map(function(A){return A.ys})),Y=Math.min.apply(null,Z),Q=Math.max.apply(null,Z);T(t.goal)&&(Y=Math.min(Y,+t.goal),Q=Math.max(Q,+t.goal)),j(t.zero)&&(Y=Math.min(0,Y),Q=Math.max(0,Q));var ot=Qt(Y,Q,4),it=Qt(Math.min.apply(null,G),Math.max.apply(null,G),5),H=ot.ticks.map(function(A){return m(A,t,!0)}),et=Qe(H)+(T(t.yLabel)?14:0),rt=20+(T(t.xLabel)?16:0),lt=w+et,st=h-et,z=O-(E-g)-rt,U=function(A){return lt+6+(A-it.lo)/(it.hi-it.lo)*(st-12)},B=function(A){return E+6+z-6-(A-ot.lo)/(ot.hi-ot.lo)*(z-6)};ot.ticks.forEach(function(A,_){var I=B(A);y+='<line x1="'+a(lt)+'" x2="'+a(lt+st)+'" y1="'+a(I)+'" y2="'+a(I)+'" stroke="'+e.grid+'" stroke-dasharray="2 4"/>'+C(lt-8,I+3.5,H[_],D(e,10,'text-anchor="end"'))});var ft=Math.max(1,Math.ceil(it.ticks.length*44/st));if(it.ticks.forEach(function(A,_){if(!(_%ft)){var I=U(A);y+='<line x1="'+a(I)+'" x2="'+a(I)+'" y1="'+a(E)+'" y2="'+a(E+z)+'" stroke="'+e.grid+'" stroke-dasharray="2 4"/>'+C(I,E+z+15,m(A,L,!0),D(e,10,'text-anchor="middle"'))}}),T(t.xLabel)&&(y+=C(lt+st/2,E+z+32,t.xLabel,D(e,10,'text-anchor="middle" font-weight="600"'))),T(t.yLabel)){var J=E+z/2;y+='<text x="'+a(w+4)+'" y="'+a(J)+'" transform="rotate(-90 '+a(w+4)+" "+a(J)+')" text-anchor="middle" '+D(e,10,'font-weight="600"')+' dominant-baseline="hanging">'+String(t.yLabel).replace(/[&<>"]/g,function(A){return{"&":"&","<":"<",">":">",'"':"""}[A]})+"</text>"}T(t.goal)&&(y+=It(t,e,lt,lt+st,B(+t.goal))),V&&s.forEach(function(A,_){var I=kr(A.xs,A.ys);if(I){var P=Math.min.apply(null,A.xs),q=Math.max.apply(null,A.xs),tt=I.slope*P+I.intercept,at=I.slope*q+I.intercept,Ct=o[_%o.length];y+='<line x1="'+a(U(P))+'" y1="'+a(nt(B(tt),E,E+z))+'" x2="'+a(U(q))+'" y2="'+a(nt(B(at),E,E+z))+'" stroke="'+Ct+'" stroke-width="2" stroke-dasharray="6 4" stroke-linecap="round" stroke-opacity=".9"/>',y+=C(Math.min(U(q),lt+st)-2,nt(B(at),E+10,E+z)-7,"r = "+I.r.toFixed(2),D(e,10,'text-anchor="end" font-weight="600"',Ct))}});var Mt=0,vt=c>150?3:4.5;s.forEach(function(A,_){var I=o[_%o.length];A.xs.forEach(function(P,q){var tt=U(P),at=B(A.ys[q]),Ct=(n[Mt]?n[Mt]+`
|
|
9
|
+
`:k?F(_)+`
|
|
10
|
+
`:"")+(T(t.xLabel)?t.xLabel:"x")+": "+m(P,L)+`
|
|
11
|
+
`+(T(t.yLabel)?t.yLabel:"y")+": "+m(A.ys[q],t);y+=ne(S(_),tt,at,vt,' fill="'+I+'" fill-opacity=".85" stroke="'+R+'" stroke-width="1.5"'+(t.animate?' class="bzc-a" style="animation-delay:'+a(Math.min(.8,Mt*.012))+'s"':"")),y+=zt(tt-8,at-8,16,16,Ct),Mt++})});var K=[];return s.forEach(function(A){A.xs.forEach(function(_,I){K.push([U(_),B(A.ys[I])])})}),b.forEach(function(A){var _=K[A.i];_&&(y+='<circle cx="'+a(_[0])+'" cy="'+a(_[1])+'" r="'+(vt+4)+'" fill="none" stroke="'+e.fg+'" stroke-width="1.5"/>'+C(nt(_[0],lt+30,lt+st-30),_[1]-vt-9,A.text,D(e,10,'text-anchor="middle"',e.fg)))}),y},{summary:c+" points"+(k?" in "+s.length+" groups":"")})}Ee.table=function(t){var e=Et(t.x),r=Et(t.y),l=$(t.series),i=$(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(u,v){for(var d=r[v]||[],c=0;c<Math.min(u.length,d.length);c++,f++)s.push([i[f]||"#"+(f+1)].concat(n?[l[v]||"Group "+(v+1)]:[],[m(u[c],o),m(d[c],t)]))}),{head:["Point"].concat(n?["Group"]:[],[T(t.xLabel)?t.xLabel:"x",T(t.yLabel)?t.yLabel:"y"]),rows:s}};dt("scatter",Ee);gt("scatter");function ze(t,e){var r=ct(t.values),l=$(t.labels),i=ht(t,e),n=W(t.max,100)||100,o=W(t.height,140),s=!T(t.prefix)&&!T(t.suffix)&&n===100,f=function(v){return m(v,t)+(s?"%":"")},u=Lt(r,t,"");return pt(t,e,o,function(v,d,c,M){if(!r.length)return mt(e,v,d,c,M);var k="",V=r.length===1,F=Math.min(M,V?c:c*.55),L=V?v+c/2:v+F/2,b=d+M/2,p=V?F*.12:nt(F*.42/(r.length*1.35),5,16),R=p*.38;if(r.forEach(function(g,h){var O=F/2-p/2-h*(p+R);if(!(O<=p/2)){var y=nt(g/n*100,0,100),E=i[h%i.length];k+='<circle cx="'+a(L)+'" cy="'+a(b)+'" r="'+a(O)+'" fill="none" stroke="'+E+'" stroke-opacity=".16" stroke-width="'+a(p)+'"/>',y>0&&(k+='<circle cx="'+a(L)+'" cy="'+a(b)+'" r="'+a(O)+'" fill="none" stroke="'+E+'" stroke-width="'+a(p)+'" stroke-linecap="round" pathLength="100" transform="rotate(-90 '+a(L)+" "+a(b)+')" style="stroke-dasharray:'+a(y)+" 100"+(t.animate?";animation-delay:"+h*.12+"s":"")+'"'+(t.animate?' class="bzc-s"':"")+"/>"),k+='<circle cx="'+a(L)+'" cy="'+a(b)+'" r="'+a(O+p/2)+'" fill="#000" fill-opacity="0" class="bzc-hit" data-tip="'+bt((l[h]||"#"+(h+1))+": "+f(g)+(s?"":" of "+m(n,t)))+'"/>'}}),V)k+=C(L,b+F*.08,f(r[0]),'text-anchor="middle" fill="'+e.fg+'" font-family="'+yt+'" font-size="'+a(F*.22)+'" font-weight="800"'),l[0]&&(k+=C(L,b+F*.08+16,l[0],D(e,10,'text-anchor="middle"')));else{var S=v+F+22,x=Math.min(26,M/r.length),w=b-x*r.length/2;r.forEach(function(g,h){var O=w+h*x+x/2;k+='<circle cx="'+a(S+4)+'" cy="'+a(O)+'" r="4" fill="'+i[h%i.length]+'"/>'+C(S+14,O+4,Kt(l[h]||"#"+(h+1),Math.floor((v+c-S-60)/6.7)),'fill="'+e.fg+'" font-family="'+yt+'" font-size="12"')+C(v+c,O+4,f(g),'text-anchor="end" fill="'+e.fg+'" font-family="'+St+'" font-size="11" font-weight="600"')})}return k},{stat:u,summary:r.map(function(v,d){return(l[d]?l[d]+" ":"")+f(v)}).join(", ")})}ze.table=function(t){var e=$(t.labels),r=W(t.max,100)||100,l=!T(t.prefix)&&!T(t.suffix)&&r===100;return{head:["Label","Value"],rows:ct(t.values).map(function(i,n){return[e[n]||"#"+(n+1),m(i,t)+(l?"%":" of "+m(r,t))]})}};dt("ring",ze);gt("ring");function Le(t,e){var r=ct(t.values).map(function(c){return Math.max(0,c)}),l=$(t.labels),i=ht(t,e),n=r.slice(),o=l.slice();if(n.length>6){var s=n.map(function(c,M){return M}).sort(function(c,M){return r[M]-r[c]}),f=s.slice(0,5).sort(function(c,M){return c-M});n=f.map(function(c){return r[c]}),o=f.map(function(c){return l[c]||"#"+(c+1)}),n.push(Bt(s.slice(5).map(function(c){return r[c]}))),o.push("Other")}var u=Bt(n),v=W(t.height,150),d=Lt(n,t,"");return pt(t,e,v,function(c,M,k,V){if(!u)return mt(e,c,M,k,V);var F="",L=Math.min(V,k*.5),b=c+L/2,p=M+V/2,R=L*.16,S=(L-R)/2,x=0,w=n.filter(Boolean).length>1?.9:0;n.forEach(function(y,E){var N=y/u*100;if(!(N<=0)){var G=Math.max(.01,N-w);F+='<circle cx="'+a(b)+'" cy="'+a(p)+'" r="'+a(S)+'" fill="none" stroke="'+i[E%i.length]+'" stroke-width="'+a(R)+'" pathLength="100" stroke-dasharray="'+a(G)+" "+a(100-G)+'" stroke-dashoffset="'+a(-x)+'" transform="rotate(-90 '+a(b)+" "+a(p)+')"'+ut(t,"bzc-a",E*.08)+"/>",x+=N}}),F+=C(b,p+2,m(u,t,!0),'text-anchor="middle" fill="'+e.fg+'" font-family="'+yt+'" font-size="'+a(L*.17)+'" font-weight="800"'),F+=C(b,p+2+14,(T(t.centerLabel)?t.centerLabel:"Total").toUpperCase(),D(e,9,'text-anchor="middle" letter-spacing="1"'));var g=c+L+22,h=Math.min(24,V/n.length),O=p-h*n.length/2;return n.forEach(function(y,E){var N=O+E*h+h/2,G=Math.round(y/u*100),Z=(o[E]||"#"+(E+1))+": "+m(y,t)+" ("+G+"%)";F+='<circle cx="'+a(g+4)+'" cy="'+a(N)+'" r="4" fill="'+i[E%i.length]+'"/>'+C(g+14,N+4,Kt(o[E]||"#"+(E+1),Math.floor((c+k-g-50)/6.7)),'fill="'+e.fg+'" font-family="'+yt+'" font-size="12"')+C(c+k,N+4,G+"%",'text-anchor="end" fill="'+e.muted+'" font-family="'+St+'" font-size="11" font-weight="600"')+zt(g,N-h/2,c+k-g,h,Z)}),x=0,n.forEach(function(y,E){var N=y/u*100;N<=0||(F+='<circle cx="'+a(b)+'" cy="'+a(p)+'" r="'+a(S)+'" fill="none" stroke="#000" stroke-opacity="0" stroke-width="'+a(R)+'" pathLength="100" stroke-dasharray="'+a(N)+" "+a(100-N)+'" stroke-dashoffset="'+a(-x)+'" transform="rotate(-90 '+a(b)+" "+a(p)+')" class="bzc-hit" data-skip="" data-tip="'+bt((o[E]||"#"+(E+1))+": "+m(y,t)+" ("+Math.round(N)+"%)")+'"/>',x+=N)}),F},{stat:d,summary:"total "+m(u,t)+" across "+n.length+" parts"})}Le.table=function(t){var e=ct(t.values).map(function(i){return Math.max(0,i)}),r=$(t.labels),l=Bt(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)+"%"]})}};dt("donut",Le);gt("donut");function Ae(t,e){var r=ct(t.values),l=r.length?r[0]:W(t.value,NaN),i=$(t.labels),n=W(t.min,0),o=W(t.max,100),s=W(t.height,130);o===n&&(o=n+1);var f=ct(t.zones),u=ht(t,e),v=$(t.color).filter(Boolean).length>1?u:[e.up,e.palette[3],e.down],d=u[0];if(f.length&&isFinite(l)){for(var c=0;c<f.length&&l>=f[c];)c++;d=v[Math.min(c,v.length-1)]}var M=!T(t.prefix)&&!T(t.suffix)&&n===0&&o===100,k=function(V){return m(V,t)+(M?"%":"")};return pt(t,e,s,function(V,F,L,b){if(!isFinite(l))return mt(e,V,F,L,b);var p=Math.min(L/2,b-22),R=p*.16,S=p-R/2,x=V+L/2,w=F+p,g=nt((l-n)/(o-n),0,1),h=function(Y,Q){var ot=Math.PI*(1-Y);return[x+Q*Math.cos(ot),w-Q*Math.sin(ot)]},O="M"+a(x-S)+","+a(w)+"A"+a(S)+","+a(S)+" 0 0 1 "+a(x+S)+","+a(w),y='<path d="'+O+'" fill="none" stroke="'+d+'" stroke-opacity=".16" stroke-width="'+a(R)+'" stroke-linecap="round"/>';f.length&&f.forEach(function(Y){var Q=nt((Y-n)/(o-n),0,1),ot=h(Q,S-R/2-3),it=h(Q,S-R/2-8);y+='<line x1="'+a(ot[0])+'" y1="'+a(ot[1])+'" x2="'+a(it[0])+'" y2="'+a(it[1])+'" stroke="'+e.muted+'" stroke-width="1.5"/>'}),g>0&&(y+='<path d="'+O+'" fill="none" stroke="'+d+'" stroke-width="'+a(R)+'" stroke-linecap="round" pathLength="100" style="stroke-dasharray:'+a(g*100)+' 100"'+ut(t,"bzc-s")+"/>");var E=h(g,S);if(y+='<circle cx="'+a(E[0])+'" cy="'+a(E[1])+'" r="'+a(R*.26)+'" fill="'+(t.background||e.tile)+'"'+ut(t,"bzc-a",.9)+"/>",T(t.goal)){var N=nt((+t.goal-n)/(o-n),0,1),G=h(N,S+R/2+4),Z=h(N,S-R/2-4);y+='<line x1="'+a(G[0])+'" y1="'+a(G[1])+'" x2="'+a(Z[0])+'" y2="'+a(Z[1])+'" stroke="'+e.fg+'" stroke-width="2" stroke-linecap="round"/>'}return y+=C(x,w-p*.12,k(l),'text-anchor="middle" fill="'+e.fg+'" font-family="'+yt+'" font-size="'+a(p*.34)+'" font-weight="800"'),i[0]&&(y+=C(x,w-p*.12+16,i[0],D(e,10,'text-anchor="middle"'))),y+=C(x-S,w+18,m(n,t,!0),D(e,10,'text-anchor="middle"'))+C(x+S,w+18,m(o,t,!0),D(e,10,'text-anchor="middle"')),y+=zt(x-p,w-p,p*2,p,(i[0]?i[0]+": ":"")+k(l)+" (range "+m(n,t)+" to "+m(o,t)+")"+(T(t.goal)?`
|
|
12
|
+
Goal: `+m(+t.goal,t):"")),y},{summary:isFinite(l)?k(l)+" on a scale of "+m(n,t)+" to "+m(o,t):"no data"})}Ae.table=function(t){var e=ct(t.values),r=e.length?e[0]:W(t.value,NaN),l=$(t.labels),i=W(t.min,0),n=W(t.max,100),o=!T(t.prefix)&&!T(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(T(t.goal)?[["Goal",m(+t.goal,t)]]:[])}:{head:["Label","Value"],rows:[]}};dt("gauge",Ae);gt("gauge");function Oe(t,e){var r=ct(t.values).map(function(L){return Math.max(0,L)}),l=$(t.labels),i=ht(t,e),n=r.length===1,o=Bt(r),s=T(t.max)?W(t.max,100):n?100:o;s>0||(s=1);var f=!T(t.prefix)&&!T(t.suffix)&&s===100&&n,u=function(L){return m(L,t)+(f?"%":"")},v=qt(t),d=v.w,c=0,M=[];if(!n&&r.length){var k=0;c=1,r.forEach(function(L,b){var p=l[b]||"#"+(b+1),R=14+wt(p,12)+6+wt(m(L,t),11,!0)+18;k>0&&k+R>d&&(k=0,c++),M.push({x:k,row:c-1,l:p}),k+=R})}var V=36+(c?12+c*20:0),F=Lt(r,t,"");return pt(t,e,V,function(L,b,p,R){if(!r.length)return mt(e,L,b,p,R);var S="",x=b+22,w=Rt("c"),g=n?u(r[0])+(f?"":" of "+m(s,t)):m(o,t)+" of "+m(s,t);n&&l[0]&&(S+=C(L,b+11,l[0],'fill="'+e.fg+'" font-family="'+yt+'" font-size="12"')),S+=C(L+p,b+11,g,'text-anchor="end" fill="'+e.fg+'" font-family="'+St+'" font-size="11" font-weight="600"'),S+='<rect x="'+L+'" y="'+x+'" width="'+p+'" height="14" rx="7" fill="'+e.grid+'" fill-opacity=".7"/>',S+='<clipPath id="'+w+'"><rect x="'+L+'" y="'+x+'" width="'+p+'" height="14" rx="7"/></clipPath><g clip-path="url(#'+w+')"><g'+ut(t,"bzc-gx")+">";var h=0;if(r.forEach(function(y,E){var N=Math.min(y,Math.max(0,s-h))/s*p;N>0&&(S+='<rect x="'+a(L+h/s*p)+'" y="'+x+'" width="'+a(N)+'" height="14" fill="'+i[E%i.length]+'"/>'),E>0&&N>0&&(S+='<rect x="'+a(L+h/s*p-1)+'" y="'+x+'" width="2" height="14" fill="'+(t.background||e.tile)+'"/>'),h+=y}),S+="</g></g>",T(t.goal)){var O=L+nt(+t.goal/s,0,1)*p;S+='<line x1="'+a(O)+'" x2="'+a(O)+'" y1="'+(x-4)+'" y2="'+(x+18)+'" stroke="'+e.fg+'" stroke-width="2" stroke-linecap="round"/>'}return h=0,r.forEach(function(y,E){var N=Math.min(y,Math.max(0,s-h))/s*p;N>0&&(S+=zt(L+h/s*p,x-4,N,22,(l[E]||(n?"Progress":"#"+(E+1)))+": "+u(y)+(n?"":" ("+Math.round(y/s*100)+"%)"))),h+=y}),M.forEach(function(y,E){var N=L+y.x,G=x+14+12+y.row*20+8;S+='<circle cx="'+a(N+4)+'" cy="'+a(G)+'" r="4" fill="'+i[E%i.length]+'"/><text x="'+a(N+14)+'" y="'+a(G+4)+'" fill="'+e.fg+'" font-family="'+yt+'" font-size="12">'+bt(y.l)+'<tspan dx="6" fill="'+e.muted+'" font-family="'+St+'" font-size="11">'+bt(m(r[E],t))+"</tspan></text>"}),S},{stat:F,summary:n?u(r[0])+(f?"":" of "+m(s,t)):m(o,t)+" of "+m(s,t)})}Oe.table=function(t){var e=ct(t.values).map(function(o){return Math.max(0,o)}),r=$(t.labels),l=e.length===1,i=T(t.max)?W(t.max,100):l?100:Bt(e);i>0||(i=1);var n=!T(t.prefix)&&!T(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)+"%"]})}};dt("progress",Oe);gt("progress");var rr={weekday:"short",day:"numeric",month:"short",year:"numeric"};function ar(t,e){if(T(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 nr(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 Te(t,e){var r=ct(t.values),l=ht(t,e)[0],i=t.lang||"en-GB",n=ar(t,r.length),o=(n.getUTCDay()+6)%7,s=Math.max(1,Math.ceil((o+r.length)/7)),f=qt(t),u=28,v=Math.max(1,Math.floor((f.w-u)/10));if(s>v){var d=(s-v)*7-o;r=r.slice(d),n=new Date(n.getTime()+d*864e5),o=0,s=v}var c=Math.min(18,(f.w-u)/s),M=c<8?1:3,k=c-M,V=16+7*c+26,F=r.length?Math.max.apply(null,r):0,L=function(x){return nr(i,x)},b=L({month:"short"}),p=L({weekday:"short"}),R=L(rr),S=Lt(r,t,"");return pt(t,e,V,function(x,w,g,h){if(!r.length)return mt(e,x,w,g,h);var O="",y=x+u,E=w+16,N=-99,G=[.28,.5,.75,1];c>=9&&[0,2,4].forEach(function(J){var Mt=new Date(Date.UTC(2024,0,1+J));O+=C(x,E+J*c+k/2+3.5,p.format(Mt),D(e,9))});for(var Z=0;Z<r.length;Z++){var Y=o+Z,Q=Math.floor(Y/7),ot=Y%7,it=new Date(n.getTime()+Z*864e5),H=y+Q*c,et=E+ot*c;(it.getUTCDate()===1||Z===0)&&H-N>30&&(O+=C(H,w+9,b.format(it),D(e,9)),N=H);var rt=r[Z]<=0||!F?0:Math.ceil(r[Z]/F*4),lt=rt?l:e.grid,st=rt?G[rt-1]:.7;O+='<rect x="'+a(H)+'" y="'+a(et)+'" width="'+a(k)+'" height="'+a(k)+'" rx="'+a(k*.24)+'" fill="'+lt+'" fill-opacity="'+st+'"'+(t.animate?' class="bzc-a" style="animation-delay:'+a(Q*.012)+'s"':"")+' data-tip="'+bt(R.format(it)+": "+m(r[Z],t))+'"/>'}var z=E+7*c+14,U=10,B=x+g-5*(U+3)-30;O+=C(x,z+8,m(Bt(r),t,!0)+" in "+r.length+" days",D(e,10)),O+=C(B-6,z+8,"Less",D(e,9,'text-anchor="end"'));for(var ft=0;ft<5;ft++)O+='<rect x="'+a(B+ft*(U+3))+'" y="'+z+'" width="'+U+'" height="'+U+'" rx="2.5" fill="'+(ft?l:e.grid)+'" fill-opacity="'+(ft?G[ft-1]:.7)+'"/>';return O+=C(B+5*(U+3)+3,z+8,"More",D(e,9)),O},{stat:S,summary:m(Bt(r),t)+" across "+r.length+" days"})}Te.table=function(t){var e=ct(t.values),r=ar(t,e.length),l=nr(t.lang||"en-GB",rr);return{head:["Date","Value"],rows:e.map(function(i,n){return[l.format(new Date(r.getTime()+n*864e5)),m(i,t)]})}};dt("heatmap",Te);gt("heatmap");var ai="1.5.0",ni=pe.slice();export{Ot as BezelChart,At as render,ee as themes,Vt as toSVG,ni as types,ai 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.5.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-5J5X5F2N.js";import{c as $,d as ge,e as ke,f as N,h as xe,j as ye}from"./shared-I437GKHE.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-WQEE2V6C.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};
|
package/dist/charts/bars.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! Bezel Charts v1.
|
|
2
|
-
import{b as At,e as fa,f as oa,h as ua,j as ha}from"./shared-
|
|
1
|
+
/*! Bezel Charts v1.5.0 | MIT | github.com/ShazMoghaddam/bezel-charts */
|
|
2
|
+
import{b as At,e as fa,f as oa,h as ua,j as ha}from"./shared-I437GKHE.js";import{A as na,B as ea,C as la,D as za,E as ka,F as Oa,G as ia,a as Ut,b as U,c as $t,e as n,g as Wt,h as ot,j as ut,k as Ot,m as D,n as Et,o as S,p as w,r as L,s as St,t as wt,u as $,v as jt,w as ta,y as aa,z as ra}from"./shared-WQEE2V6C.js";var sa=40,ma=24;function ht(t,i){for(var m=Ot(t.values),Lt=ut(t.series),h=ut(t.labels),x=jt(t,i),b=m.length,d=Math.max.apply(null,[0].concat(m.map(function(a){return a.length}))),g=b>1,st=S(t.horizontal),M=g&&S(t.stacked),Nt=!g&&ut(t.color).filter(Boolean).length>1,H=m[0]||[],ga=[].concat.apply([],m),Tt=function(a,u){return m.reduce(function(e,A){return a<A.length&&A[a]*u>0?e+A[a]:e},0)},W=[],j=[],tt=[],_=0;M&&_<d;_++)j.push(Tt(_,1)),tt.push(Tt(_,-1)),W.push(j[_]+tt[_]);for(var mt=M?j.concat(tt):ga,Vt=mt.length?Math.max.apply(null,mt):0,gt=function(a){return Lt[a]||"Series "+(a+1)},at=g?oa(t.patterns,fa,"solid"):null,vt="",Gt=[],B=0;at&&B<b;B++)if(at(B)!=="solid"){var Ht=$t("g");vt+=ua(Ht,at(B),x[B%x.length],t.background||i.tile),Gt[B]="url(#"+Ht+")"}var X=function(a,u){return g?Gt[a]||x[a%x.length]:Nt?x[u%x.length]:x[0]},rt=at&&function(a,u,e){return'<rect x="'+n(u)+'" y="'+n(e+1)+'" width="10" height="10" rx="2" fill="'+X(a)+'"/>'},_t=function(a){return g||Nt||t.highlight==="none"||a===Vt?1:.5},Bt=function(a){return h[a]||"#"+(a+1)},Ct=function(a){return g?Bt(a)+m.map(function(u,e){return a<u.length?`
|
|
3
3
|
`+gt(e)+": "+w(u[a],t):""}).join("")+(M?`
|
|
4
4
|
Total: `+w(W[a],t):""):Bt(a)+": "+w(H[a],t)},va=na(t),nt=g||Lt.length?At(m.map(function(a,u){return gt(u)}),x,i,0,0,va.w,rt,rt&&15).height:0,Pt=M?1:b,C=g&&!M,c=C?10:14,Rt=3,et=st?Pt*c+(Pt-1)*Rt+(C?14:16):0,ca=st?nt+Math.max(1,d)*et-6:Wt(t.height,140)+nt,It=H.indexOf(Math.max.apply(null,H.length?H:[0]));return ea(t,i,ca,function(a,u,e,A){if(!d)return ta(i,a,u,e,A);var f=vt?"<defs>"+vt+"</defs>":"",N=u;nt&&(f+=At(m.map(function(r,l){return gt(l)}),x,i,a,u,e,rt,rt&&15).svg,N+=nt);var T=Math.min(0,Math.min.apply(null,mt)),P=Math.max(0,Vt);if(ot(t.goal)&&(T=Math.min(T,+t.goal),P=Math.max(P,+t.goal)),P===T&&(P=T+1),st){for(var ct=h.length?Math.min(e*.4,Math.max.apply(null,h.map(function(r){return D(r,12)}))+10):0,pt=M?[W.map(function(r){return w(r,t)})]:m.map(function(r){return r.map(function(l){return w(l,t)})}),pa=Math.max.apply(null,[].concat.apply([],pt).map(function(r){return D(r,C?10:11,!0)}))+10,lt=a+ct,it=e-ct-pa,dt=Math.max(P,0)||1,v=0;v<d;v++){var Z=N+v*et;h[v]!=null&&(f+=L(a,Z+(et-6)/2+4,Et(h[v],Math.floor(ct/6.7)),'fill="'+i.fg+'" font-family="'+Ut+'" font-size="12"')),M?(f+=da(v,lt,Z+5,it,dt),f+=L(a+e,Z+5+c/2+3.8,pt[0][v],'text-anchor="end" fill="'+i.fg+'" font-family="'+U+'" font-size="11" font-weight="600"')):m.forEach(function(r,l){if(!(v>=r.length)){var o=r[v],p=Z+(g?2:5)+l*(c+Rt),z=Math.max(0,o)/dt*it;g||(f+='<rect x="'+n(lt)+'" y="'+n(p)+'" width="'+n(it)+'" height="'+c+'" rx="'+c/2+'" fill="'+i.grid+'" fill-opacity=".6"/>'),z>0&&(f+='<rect x="'+n(lt)+'" y="'+n(p)+'" width="'+n(Math.max(c,z))+'" height="'+c+'" rx="'+c/2+'" fill="'+X(l,v)+'" fill-opacity="'+_t(o)+'"'+$(t,"bzc-gx",v*.06+l*.03)+"/>"),f+=L(a+e,p+c/2+3.8,pt[l][v],'text-anchor="end" fill="'+i.fg+'" font-family="'+U+'" font-size="'+(g?10:11)+'" font-weight="600"')}}),f+=wt(a,Z,e,et-6,Ct(v))}if(ot(t.goal)&&+t.goal>0){var Yt=lt+ +t.goal/dt*it;f+='<line x1="'+n(Yt)+'" x2="'+n(Yt)+'" y1="'+n(N-2)+'" y2="'+n(u+A+2)+'" stroke="'+i.fg+'" stroke-opacity=".55" stroke-dasharray="3 3"/>'}return f}function da(r,l,o,p,z){var k='<rect x="'+n(l)+'" y="'+n(o)+'" width="'+n(p)+'" height="'+c+'" rx="'+c/2+'" fill="'+i.grid+'" fill-opacity=".6"/>',I=0;return m.forEach(function(K,O){var Y=r<K.length?K[r]:0,E=Math.max(0,Y)/z*p;if(!(E<=0)){var G=I>0?1.5:0;k+='<rect x="'+n(l+I+G)+'" y="'+n(o)+'" width="'+n(Math.max(2,E-G))+'" height="'+c+'" rx="'+n(Math.min(3,E/2))+'" fill="'+X(O,r)+'"'+$(t,"bzc-gx",r*.06+O*.03)+"/>",I+=E}}),k}var Dt=h.length?Math.max.apply(null,h.map(function(r){return D(r,10,!0)})):0,Mt=h.length?Math.max(1,Math.ceil(d*(Dt+8)/e)):1,q=S(t.angleLabels)&&Mt>1,Xt=sa*Math.PI/180,Zt=function(r){return q?Et(r,ma):r};if(q){var Ma=e/d,R=0;h.forEach(function(r,l){R=Math.max(R,Math.cos(Xt)*D(Zt(r),10,!0)+4-(l+.5)*Ma)}),R=Math.min(R,e*.25),a+=R,e-=R,Mt=1}var qt=S(t.showValues)&&T<0?14:0,ya=q?Math.ceil(Math.sin(Xt)*Math.min(Dt,D("x".repeat(ma),10,!0)))+18:20,xa=(h.length?ya:2)+qt,Ft=S(t.showValues)?16:4,yt=A-(N-u)-xa-Ft,Jt=N+Ft,y=function(r){return Jt+yt-(r-T)/(P-T)*yt},F=e/d,J=Math.min(F*(C?.78:.62),C?b*30:56),Kt=C?Math.min(3,J/b*.15):0,V=M?J:(J-Kt*(b-1))/b,ft=y(0);f+='<line x1="'+a+'" x2="'+(a+e)+'" y1="'+n(ft)+'" y2="'+n(ft)+'" stroke="'+i.grid+'"/>';for(var s=0;s<d;s++){var xt=a+s*F+(F-J)/2;if(M?f+=ba(s,xt):m.forEach(function(r,l){if(!(s>=r.length)){var o=r[s],p=xt+l*(V+Kt),z=Math.min(y(o),ft),k=Math.abs(y(o)-ft);k>.5&&(f+='<rect x="'+n(p)+'" y="'+n(z)+'" width="'+n(V)+'" height="'+n(k)+'" rx="'+n(Math.min(6,V/2,k/2))+'" fill="'+X(l,s)+'" fill-opacity="'+_t(o)+'"'+$(t,o<0?"bzc-gn":"bzc-g",s*.05+l*.03)+"/>"),S(t.showValues)&&(f+=L(p+V/2,o<0?y(o)+12:y(o)-5,w(o,t,!0),'text-anchor="middle" fill="'+i.fg+'" font-family="'+U+'" font-size="'+(g?9:10)+'" font-weight="600"'))}}),h[s]!=null&&s%Mt===0){var bt=xt+J/2,zt=Jt+yt+qt+(q?12:15);f+=q?L(bt,zt,Zt(h[s]),St(i,10,'text-anchor="end" transform="rotate(-'+sa+" "+n(bt)+" "+n(zt)+')"')):L(bt,zt,h[s],St(i,10,'text-anchor="middle"'))}f+=wt(a+s*F,N,F,A-(N-u),Ct(s))}return ot(t.goal)&&(f+=aa(t,i,a,a+e,y(+t.goal))),f;function ba(r,l){var o="",p=0,z=0;if(m.forEach(function(I,K){var O=r<I.length?I[r]:0;if(O){var Y=O>0?p:z,E=Y+O;O>0?p=E:z=E;var G=y(Math.max(Y,E)),kt=y(Math.min(Y,E)),Q=kt-G,Qt=Y!==0?Math.min(1.5,Q/2):0;O>0?kt-=Qt:G+=Qt,Q=kt-G,Q>.5&&(o+='<rect x="'+n(l)+'" y="'+n(G)+'" width="'+n(V)+'" height="'+n(Q)+'" rx="'+n(Math.min(3,V/2,Q/2))+'" fill="'+X(K,r)+'"'+$(t,O<0?"bzc-gn":"bzc-g",r*.05+K*.03)+"/>")}}),S(t.showValues)){var k=W[r];o+=L(l+V/2,k<0?y(tt[r])+12:y(j[r])-5,w(k,t,!0),'text-anchor="middle" fill="'+i.fg+'" font-family="'+U+'" font-size="10" font-weight="600"')}return o}},{stat:ra(H,t,""),summary:d?M?b+" series stacked across "+d+" groups":g?b+" series across "+d+" groups":"highest "+(h[It]||"")+" "+w(H[It],t):"no data"})}ht.table=function(t){return ha(t,Ot(t.values).length>1&&S(t.stacked))};la("bars",ht);ia("bars");export{Oa as BezelChart,za as render,ka as toSVG};
|
package/dist/charts/donut.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! Bezel Charts v1.
|
|
2
|
-
import{B as Q,C as R,D as tt,E as rt,F as et,G as W,a as B,b as H,d as T,e as t,g as U,h as j,i as C,j as N,l as w,n as q,p as d,r as L,s as D,t as F,u as I,v as J,w as K,z as P}from"./shared-
|
|
1
|
+
/*! Bezel Charts v1.5.0 | MIT | github.com/ShazMoghaddam/bezel-charts */
|
|
2
|
+
import{B as Q,C as R,D as tt,E as rt,F as et,G as W,a as B,b as H,d as T,e as t,g as U,h as j,i as C,j as N,l as w,n as q,p as d,r as L,s as D,t as F,u as I,v as J,w as K,z as P}from"./shared-WQEE2V6C.js";function O(e,l){var i=C(e.values).map(function(r){return Math.max(0,r)}),v=N(e.labels),f=J(e,l),a=i.slice(),g=v.slice();if(a.length>6){var V=a.map(function(r,s){return s}).sort(function(r,s){return i[s]-i[r]}),A=V.slice(0,5).sort(function(r,s){return r-s});a=A.map(function(r){return i[r]}),g=A.map(function(r){return v[r]||"#"+(r+1)}),a.push(w(V.slice(5).map(function(r){return i[r]}))),g.push("Other")}var m=w(a),X=U(e.height,150),Y=P(a,e,"");return Q(e,l,X,function(r,s,y,S){if(!m)return K(l,r,s,y,S);var h="",b=Math.min(S,y*.5),p=r+b/2,c=s+S/2,E=b*.16,G=(b-E)/2,M=0,Z=a.filter(Boolean).length>1?.9:0;a.forEach(function(u,o){var n=u/m*100;if(!(n<=0)){var z=Math.max(.01,n-Z);h+='<circle cx="'+t(p)+'" cy="'+t(c)+'" r="'+t(G)+'" fill="none" stroke="'+f[o%f.length]+'" stroke-width="'+t(E)+'" pathLength="100" stroke-dasharray="'+t(z)+" "+t(100-z)+'" stroke-dashoffset="'+t(-M)+'" transform="rotate(-90 '+t(p)+" "+t(c)+')"'+I(e,"bzc-a",o*.08)+"/>",M+=n}}),h+=L(p,c+2,d(m,e,!0),'text-anchor="middle" fill="'+l.fg+'" font-family="'+B+'" font-size="'+t(b*.17)+'" font-weight="800"'),h+=L(p,c+2+14,(j(e.centerLabel)?e.centerLabel:"Total").toUpperCase(),D(l,9,'text-anchor="middle" letter-spacing="1"'));var k=r+b+22,x=Math.min(24,S/a.length),_=c-x*a.length/2;return a.forEach(function(u,o){var n=_+o*x+x/2,z=Math.round(u/m*100),$=(g[o]||"#"+(o+1))+": "+d(u,e)+" ("+z+"%)";h+='<circle cx="'+t(k+4)+'" cy="'+t(n)+'" r="4" fill="'+f[o%f.length]+'"/>'+L(k+14,n+4,q(g[o]||"#"+(o+1),Math.floor((r+y-k-50)/6.7)),'fill="'+l.fg+'" font-family="'+B+'" font-size="12"')+L(r+y,n+4,z+"%",'text-anchor="end" fill="'+l.muted+'" font-family="'+H+'" font-size="11" font-weight="600"')+F(k,n-x/2,r+y-k,x,$)}),M=0,a.forEach(function(u,o){var n=u/m*100;n<=0||(h+='<circle cx="'+t(p)+'" cy="'+t(c)+'" r="'+t(G)+'" fill="none" stroke="#000" stroke-opacity="0" stroke-width="'+t(E)+'" pathLength="100" stroke-dasharray="'+t(n)+" "+t(100-n)+'" stroke-dashoffset="'+t(-M)+'" transform="rotate(-90 '+t(p)+" "+t(c)+')" class="bzc-hit" data-skip="" data-tip="'+T((g[o]||"#"+(o+1))+": "+d(u,e)+" ("+Math.round(n)+"%)")+'"/>',M+=n)}),h},{stat:Y,summary:"total "+d(m,e)+" across "+a.length+" parts"})}O.table=function(e){var l=C(e.values).map(function(f){return Math.max(0,f)}),i=N(e.labels),v=w(l);return{head:["Label","Value","Share"],rows:l.map(function(f,a){return[i[a]||"#"+(a+1),d(f,e),(v?Math.round(f/v*100):0)+"%"]})}};R("donut",O);W("donut");export{et as BezelChart,tt as render,rt as toSVG};
|
package/dist/charts/gauge.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/*! Bezel Charts v1.
|
|
2
|
-
import{B as X,C as Y,D as ee,E as ae,F as te,G as Z,a as Q,e as a,f as N,g as d,h as g,i as z,j as F,p as i,r as y,s as L,t as T,u as C,v as U,w as W}from"./shared-
|
|
1
|
+
/*! Bezel Charts v1.5.0 | MIT | github.com/ShazMoghaddam/bezel-charts */
|
|
2
|
+
import{B as X,C as Y,D as ee,E as ae,F as te,G as Z,a as Q,e as a,f as N,g as d,h as g,i as z,j as F,p as i,r as y,s as L,t as T,u as C,v as U,w as W}from"./shared-WQEE2V6C.js";function S(e,t){var h=z(e.values),s=h.length?h[0]:d(e.value,NaN),v=F(e.labels),r=d(e.min,0),n=d(e.max,100),_=d(e.height,130);n===r&&(n=r+1);var p=z(e.zones),E=U(e,t),H=F(e.color).filter(Boolean).length>1?E:[t.up,t.palette[3],t.down],G=E[0];if(p.length&&isFinite(s)){for(var w=0;w<p.length&&s>=p[w];)w++;G=H[Math.min(w,H.length-1)]}var $=!g(e.prefix)&&!g(e.suffix)&&r===0&&n===100,V=function(M){return i(M,e)+($?"%":"")};return X(e,t,_,function(M,I,A,P){if(!isFinite(s))return W(t,M,I,A,P);var f=Math.min(A/2,P-22),u=f*.16,l=f-u/2,m=M+A/2,c=I+f,B=N((s-r)/(n-r),0,1),x=function(R,k){var b=Math.PI*(1-R);return[m+k*Math.cos(b),c-k*Math.sin(b)]},j="M"+a(m-l)+","+a(c)+"A"+a(l)+","+a(l)+" 0 0 1 "+a(m+l)+","+a(c),o='<path d="'+j+'" fill="none" stroke="'+G+'" stroke-opacity=".16" stroke-width="'+a(u)+'" stroke-linecap="round"/>';p.length&&p.forEach(function(R){var k=N((R-r)/(n-r),0,1),b=x(k,l-u/2-3),O=x(k,l-u/2-8);o+='<line x1="'+a(b[0])+'" y1="'+a(b[1])+'" x2="'+a(O[0])+'" y2="'+a(O[1])+'" stroke="'+t.muted+'" stroke-width="1.5"/>'}),B>0&&(o+='<path d="'+j+'" fill="none" stroke="'+G+'" stroke-width="'+a(u)+'" stroke-linecap="round" pathLength="100" style="stroke-dasharray:'+a(B*100)+' 100"'+C(e,"bzc-s")+"/>");var q=x(B,l);if(o+='<circle cx="'+a(q[0])+'" cy="'+a(q[1])+'" r="'+a(u*.26)+'" fill="'+(e.background||t.tile)+'"'+C(e,"bzc-a",.9)+"/>",g(e.goal)){var D=N((+e.goal-r)/(n-r),0,1),J=x(D,l+u/2+4),K=x(D,l-u/2-4);o+='<line x1="'+a(J[0])+'" y1="'+a(J[1])+'" x2="'+a(K[0])+'" y2="'+a(K[1])+'" stroke="'+t.fg+'" stroke-width="2" stroke-linecap="round"/>'}return o+=y(m,c-f*.12,V(s),'text-anchor="middle" fill="'+t.fg+'" font-family="'+Q+'" font-size="'+a(f*.34)+'" font-weight="800"'),v[0]&&(o+=y(m,c-f*.12+16,v[0],L(t,10,'text-anchor="middle"'))),o+=y(m-l,c+18,i(r,e,!0),L(t,10,'text-anchor="middle"'))+y(m+l,c+18,i(n,e,!0),L(t,10,'text-anchor="middle"')),o+=T(m-f,c-f,f*2,f,(v[0]?v[0]+": ":"")+V(s)+" (range "+i(r,e)+" to "+i(n,e)+")"+(g(e.goal)?`
|
|
3
3
|
Goal: `+i(+e.goal,e):"")),o},{summary:isFinite(s)?V(s)+" on a scale of "+i(r,e)+" to "+i(n,e):"no data"})}S.table=function(e){var t=z(e.values),h=t.length?t[0]:d(e.value,NaN),s=F(e.labels),v=d(e.min,0),r=d(e.max,100),n=!g(e.prefix)&&!g(e.suffix)&&v===0&&r===100;return isFinite(h)?{head:["Label","Value"],rows:[[s[0]||"Reading",i(h,e)+(n?"%":"")],["Lowest",i(v,e)],["Highest",i(r,e)]].concat(g(e.goal)?[["Goal",i(+e.goal,e)]]:[])}:{head:["Label","Value"],rows:[]}};Y("gauge",S);Z("gauge");export{te as BezelChart,ee as render,ae as toSVG};
|
package/dist/charts/heatmap.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! Bezel Charts v1.
|
|
2
|
-
import{A as J,B as K,C as N,D as ct,E as gt,F as ut,G as P,d as Y,e as i,h as $,i as O,l as S,p as g,r as o,s as h,v as q,w as A,z as H}from"./shared-
|
|
1
|
+
/*! Bezel Charts v1.5.0 | MIT | github.com/ShazMoghaddam/bezel-charts */
|
|
2
|
+
import{A as J,B as K,C as N,D as ct,E as gt,F as ut,G as P,d as Y,e as i,h as $,i as O,l as S,p as g,r as o,s as h,v as q,w as A,z as H}from"./shared-WQEE2V6C.js";var Q={weekday:"short",day:"numeric",month:"short",year:"numeric"};function R(e,a){if($(e.start)&&/^\d{4}-\d{2}-\d{2}$/.test(String(e.start)))return new Date(String(e.start)+"T00:00:00Z");var t=new Date;return new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate())-Math.max(0,a-1)*864e5)}function _(e,a){try{return new Intl.DateTimeFormat(e,Object.assign({timeZone:"UTC"},a))}catch{return new Intl.DateTimeFormat("en-GB",Object.assign({timeZone:"UTC"},a))}}function D(e,a){var t=O(e.values),u=q(e,a)[0],M=e.lang||"en-GB",s=R(e,t.length),v=(s.getUTCDay()+6)%7,d=Math.max(1,Math.ceil((v+t.length)/7)),L=J(e),T=28,x=Math.max(1,Math.floor((L.w-T)/10));if(d>x){var Z=(d-x)*7-v;t=t.slice(Z),s=new Date(s.getTime()+Z*864e5),v=0,d=x}var r=Math.min(18,(L.w-T)/d),j=r<8?1:3,p=r-j,tt=16+7*r+26,z=t.length?Math.max.apply(null,t):0,C=function(l){return _(M,l)},et=C({month:"short"}),at=C({weekday:"short"}),rt=C(Q),nt=H(t,e,"");return K(e,a,tt,function(l,F,I,mt){if(!t.length)return A(a,l,F,I,mt);var n="",it=l+T,U=F+16,V=-99,k=[.28,.5,.75,1];r>=9&&[0,2,4].forEach(function(X){var ht=new Date(Date.UTC(2024,0,1+X));n+=o(l,U+X*r+p/2+3.5,at.format(ht),h(a,9))});for(var m=0;m<t.length;m++){var E=v+m,W=Math.floor(E/7),lt=E%7,b=new Date(s.getTime()+m*864e5),y=it+W*r,st=U+lt*r;(b.getUTCDate()===1||m===0)&&y-V>30&&(n+=o(y,F+9,et.format(b),h(a,9)),V=y);var B=t[m]<=0||!z?0:Math.ceil(t[m]/z*4),ft=B?u:a.grid,ot=B?k[B-1]:.7;n+='<rect x="'+i(y)+'" y="'+i(st)+'" width="'+i(p)+'" height="'+i(p)+'" rx="'+i(p*.24)+'" fill="'+ft+'" fill-opacity="'+ot+'"'+(e.animate?' class="bzc-a" style="animation-delay:'+i(W*.012)+'s"':"")+' data-tip="'+Y(rt.format(b)+": "+g(t[m],e))+'"/>'}var w=U+7*r+14,c=10,G=l+I-5*(c+3)-30;n+=o(l,w+8,g(S(t),e,!0)+" in "+t.length+" days",h(a,10)),n+=o(G-6,w+8,"Less",h(a,9,'text-anchor="end"'));for(var f=0;f<5;f++)n+='<rect x="'+i(G+f*(c+3))+'" y="'+w+'" width="'+c+'" height="'+c+'" rx="2.5" fill="'+(f?u:a.grid)+'" fill-opacity="'+(f?k[f-1]:.7)+'"/>';return n+=o(G+5*(c+3)+3,w+8,"More",h(a,9)),n},{stat:nt,summary:g(S(t),e)+" across "+t.length+" days"})}D.table=function(e){var a=O(e.values),t=R(e,a.length),u=_(e.lang||"en-GB",Q);return{head:["Date","Value"],rows:a.map(function(M,s){return[u.format(new Date(t.getTime()+s*864e5)),g(M,e)]})}};N("heatmap",D);P("heatmap");export{ut as BezelChart,ct as render,gt as toSVG};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/*! Bezel Charts v1.5.0 | MIT | github.com/ShazMoghaddam/bezel-charts */
|
|
2
|
+
import{a as xt,b as yt,e as St,f as bt,h as wt}from"./shared-I437GKHE.js";import{B as vt,C as dt,D as Ct,E as Nt,F as Rt,G as Mt,c as lt,e as f,g as B,h as U,j as X,k as ft,m as Z,o as ht,p as b,r as Y,s as D,t as st,u as mt,v as gt,w as pt}from"./shared-WQEE2V6C.js";function H(r,n){for(var t=kt(r),i=X(r.series),e=gt(r,n),s=B(r.height,190),u=t?t.S:[],m=u.length,g=m>1||i.length>0,M=ht(r.percent),k=function(o){return i[o]||"Series "+(o+1)},w=Object.assign({},r,{decimals:U(r.decimals)?r.decimals:t?t.dp:0}),p=function(o){return b(t.edge(o),w)+" to "+b(t.edge(o+1),w)},v=function(o,x){return Math.round(t.counts[o][x]/u[o].length*100)},F=function(o,x){return M?t.counts[o][x]/u[o].length*100:t.counts[o][x]},R=X(r.mark).filter(function(o){return o==="mean"||o==="median"}),E=m>1?bt(r.patterns,St,"solid"):null,W="",O=[],h=0;E&&h<m;h++)if(E(h)!=="solid"){var $=lt("g");W+=wt($,E(h),e[h%e.length],r.background||n.tile),O[h]="url(#"+$+")"}var q=E&&function(o,x,z){return'<rect x="'+f(x)+'" y="'+f(z+1)+'" width="10" height="10" rx="2" fill="'+(O[o]||e[o%e.length])+'"/>'},J=0,j=0;if(t){for(var d=0;d<t.count;d++)Et(t,d)>Et(t,J)&&(J=d);u.forEach(function(o){j+=o.length})}return vt(r,n,s,function(o,x,z,tt){if(!t)return pt(n,o,x,z,tt);var _=W?"<defs>"+W+"</defs>":"",y=x;if(g){var nt=yt(u.map(function(a,c){return k(c)}),e,n,o,y,z,q,q&&15);_+=nt.svg,y+=nt.height}var K=0;u.forEach(function(a,c){for(var l=0;l<t.count;l++)K=Math.max(K,F(c,l))});var T=xt(0,K||1,4),rt=T.ticks.map(function(a){return b(a,{lang:r.lang},!0)+(M?"%":"")}),at=Math.max.apply(null,rt.map(function(a){return Z(a,10,!0)}))+10,C=o+at,G=z-at,N=tt-(y-x)-20,I=G/t.count,L=function(a){return C+a*I},et=function(a){return y+N-(a-T.lo)/(T.hi-T.lo)*N};T.ticks.forEach(function(a,c){var l=et(a);_+='<line x1="'+f(C)+'" x2="'+f(C+G)+'" y1="'+f(l)+'" y2="'+f(l)+'" stroke="'+n.grid+'"'+(a===0?"":' stroke-dasharray="2 4"')+"/>"+Y(C-8,l+3.5,rt[c],D(n,10,'text-anchor="end"'))});for(var Q=[],S=0;S<=t.count;S++)Q.push(b(t.edge(S),w,!0));var Ot=Math.max(1,Math.ceil((Math.max.apply(null,Q.map(function(a){return Z(a,10,!0)}))*1.5+8)/I));for(S=0;S<=t.count;S+=Ot)_+=Y(L(S),y+N+15,Q[S],D(n,10,'text-anchor="'+(S===0?"start":S===t.count?"end":"middle")+'"'));u.forEach(function(a,c){for(var l=0;l<t.count;l++){var A=F(c,l);if(A){var ct=et(A);_+='<rect x="'+f(L(l)+.5)+'" y="'+f(ct)+'" width="'+f(Math.max(1,I-1))+'" height="'+f(y+N-ct)+'" fill="'+(O[c]||e[c%e.length])+'"'+(g?' fill-opacity=".55"':"")+mt(r,"bzc-g",Math.min(.6,l*.03))+"/>"}}});var ot=t.edge(0),_t=t.edge(t.count)-ot,P=[];if(u.forEach(function(a,c){R.forEach(function(l){var A=l==="mean"?Tt(a):At(a);P.push({x:C+(A-ot)/_t*G,c:g?e[c%e.length]:n.fg,t:(g?k(c)+" ":"")+l+" "+b(A,r)})})}),P.length){var V=P.map(function(a){return a.x}),ut=(Math.min.apply(null,V)+Math.max.apply(null,V))/2>C+G/2,Wt=ut?Math.min.apply(null,V)-5:Math.max.apply(null,V)+5;P.forEach(function(a,c){_+='<line x1="'+f(a.x)+'" x2="'+f(a.x)+'" y1="'+f(y)+'" y2="'+f(y+N)+'" stroke="'+a.c+'" stroke-width="1.5" stroke-dasharray="4 3"/>'+Y(Wt,y+9+c*12,a.t,D(n,10,'text-anchor="'+(ut?"end":"start")+'"',g?a.c:n.fg))})}for(d=0;d<t.count;d++){var it=p(d);u.forEach(function(a,c){it+=`
|
|
3
|
+
`+(g?k(c)+": ":"")+t.counts[c][d]+" ("+v(c,d)+"%)"}),_+=st(L(d),y,I,N,it)}return _},{summary:t?(g?m+" series, ":"")+j+" values in "+t.count+" ranges from "+b(t.edge(0),w)+" to "+b(t.edge(t.count),w)+", most in "+p(J):"no data"})}H.table=function(r){var n=kt(r),t=X(r.series);if(!n)return{head:["Range","Count"],rows:[]};for(var i=n.S.length>1||t.length>0,e=Object.assign({},r,{decimals:U(r.decimals)?r.decimals:n.dp}),s=[],u=0;u<n.count;u++){var m=[b(n.edge(u),e)+" to "+b(n.edge(u+1),e)];i?n.S.forEach(function(g,M){m.push(String(n.counts[M][u]))}):m.push(String(n.counts[0][u]),Math.round(n.counts[0][u]/n.S[0].length*100)+"%"),s.push(m)}return{head:["Range"].concat(i?n.S.map(function(g,M){return t[M]||"Series "+(M+1)}):["Count","Share"]),rows:s}};function zt(r){var n=Math.floor(Math.log10(r)),t=+("1e"+n),i=r/t,e=i<1.4142?1:i<2.2361?2:i<3.5355?2.5:i<7.0711?5:10;return{w:e*t,dp:Math.max(0,e===10?-n-1:-n)+(e===2.5?1:0)}}function kt(r){var n=ft(r.values),t=[].concat.apply([],n);if(!t.length)return null;var i=Math.min.apply(null,t),e=Math.max.apply(null,t),s=B(r.binWidth,0),u,m;if(s>0&&(e-i)/s<=200){var g=String(r.binWidth),M=g.indexOf(".");u=M<0?0:Math.min(6,g.length-M-1)}else{var k=B(r.bins,0)>0?Math.round(B(r.bins,0)):Math.ceil(Math.log2(t.length)+1);k=Math.min(Math.max(k,1),50),m=zt(e>i?(e-i)/k:Math.abs(i)||1),s=m.w,u=m.dp}for(var w=Math.floor(i/s),p=function(R){return Number(((w+R)*s).toFixed(u+3))};p(0)>i;)w--;for(var v=Math.max(1,Math.ceil((e-p(0))/s));v>1&&p(v-1)>=e;)v--;for(;p(v)<e;)v++;var F=n.map(function(R){for(var E=[],W=0;W<v;W++)E.push(0);return R.forEach(function(O){for(var h=Math.min(v-1,Math.max(0,Math.floor((O-p(0))/s)));h>0&&O<p(h);)h--;for(;h<v-1&&O>=p(h+1);)h++;E[h]++}),E});return{S:n,edge:p,count:v,counts:F,dp:u}}function Et(r,n){var t=0;return r.counts.forEach(function(i){t+=i[n]}),t}function Tt(r){var n=0;return r.forEach(function(t){n+=t}),n/r.length}function At(r){var n=r.slice().sort(function(i,e){return i-e}),t=Math.floor(n.length/2);return n.length%2?n[t]:(n[t-1]+n[t])/2}dt("histogram",H);Mt("histogram");export{Rt as BezelChart,Ct as render,Nt as toSVG};
|