chartist 2.0.0-rc.3 → 2.0.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 +4 -4
- package/dist/chartist.min.js +2 -2
- package/dist/compat.cjs +7 -0
- package/dist/compat.cjs.map +1 -1
- package/dist/compat.js +7 -0
- package/dist/compat.js.map +1 -1
- package/dist/compat.min.js +1 -1
- package/dist/compat.min.js.map +1 -1
- package/dist/compat.umd.js +1 -1
- package/dist/compat.umd.js.map +1 -1
- package/dist/index.cjs +387 -84
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +384 -128
- package/dist/index.d.ts +384 -128
- package/dist/index.js +384 -85
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +2 -2
- package/dist/index.min.js.map +1 -1
- package/dist/index.umd.js +2 -2
- package/dist/index.umd.js.map +1 -1
- package/dist/live.cjs +770 -0
- package/dist/live.cjs.map +1 -0
- package/dist/live.d.cts +203 -0
- package/dist/live.d.ts +202 -0
- package/dist/live.js +767 -0
- package/dist/live.js.map +1 -0
- package/dist/live.min.js +4 -0
- package/dist/live.min.js.map +1 -0
- package/dist/live.umd.js +4 -0
- package/dist/live.umd.js.map +1 -0
- package/package.json +12 -1
package/dist/index.umd.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports):typeof define==`function`&&define.amd?define([`exports`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.Chartist={}))})(this,function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=Object.defineProperty,n=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r};let r={svg:`http://www.w3.org/2000/svg`,xmlns:`http://www.w3.org/2000/xmlns/`,xhtml:`http://www.w3.org/1999/xhtml`,xlink:`http://www.w3.org/1999/xlink`,ct:`http://gionkunz.github.com/chartist-js/ct`},i={"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`};function a(e,t){return typeof e==`number`?e+t:e}function o(e){if(typeof e==`string`){let t=/^(\d+)\s*(.*)$/g.exec(e);return{value:t?+t[1]:0,unit:t?.[2]||void 0}}return{value:Number(e)}}function s(e){return String.fromCharCode(97+e%26)}let c=2221e-19;function l(e){return Math.floor(Math.log(Math.abs(e))/Math.LN10)}function u(e,t,n){return t/n.range*e}function d(e,t){let n=10**(t??8);return Math.round(e*n)/n}function f(e){if(e===1||!Number.isFinite(e))return e;function t(e,t){for(let n=0;n<1e3&&Number.isFinite(e)&&t!==0;n++){let n=e%t;if(n===0)return t;e=t,t=n}return NaN}function n(e){return e*e+1}let r=2,i=2,a;if(e%2==0)return 2;do r=n(r)%e,i=n(n(i))%e,a=t(Math.abs(r-i),e);while(a===1);return a}function p(e,t,n,r){let i=(r-90)*Math.PI/180;return{x:e+n*Math.cos(i),y:t+n*Math.sin(i)}}function m(e,t,n,r=!1){let i={high:t.high,low:t.low,valueRange:0,oom:0,step:0,min:0,max:0,range:0,numberOfSteps:0,values:[]};i.valueRange=i.high-i.low,i.oom=l(i.valueRange),i.step=10**i.oom,i.min=Math.floor(i.low/i.step)*i.step,i.max=Math.ceil(i.high/i.step)*i.step,i.range=i.max-i.min,i.numberOfSteps=Math.round(i.range/i.step);let a=u(e,i.step,i)<n,o=r?f(i.range):0;if(r&&u(e,1,i)>=n)i.step=1;else if(r&&o<i.step&&u(e,o,i)>=n)i.step=o;else{let t=0;for(;;){if(a&&u(e,i.step,i)<=n)i.step*=2;else if(!a&&u(e,i.step/2,i)>=n){if(i.step/=2,r&&i.step%1!=0){i.step*=2;break}}else break;if(t++>1e3)throw Error(`Exceeded maximum number of iterations while optimizing scale step!`)}}i.step=Math.max(i.step,c);function s(e,t){return e===(e+=t)&&(e*=1+(t>0?c:-2221e-19)),e}let p=i.min,m=i.max;for(;p+i.step<=i.low;)p=s(p,i.step);for(;m-i.step>=i.high;)m=s(m,-i.step);i.min=p,i.max=m,i.range=i.max-i.min;let h=[];for(let e=i.min;e<=i.max;e=s(e,i.step)){let t=d(e);t!==h[h.length-1]&&h.push(t)}return i.values=h,i}function h(e={},...t){for(let n=0;n<t.length;n++){let r=t[n],i=Object.getPrototypeOf(e);for(let t in r){if(i!==null&&t in i)continue;let n=r[t];if(typeof n==`object`&&n&&!Array.isArray(n)){let r=e[t];e[t]=h(typeof r==`object`&&r?r:{},n)}else e[t]=n}}return e}let g=e=>e;function _(e,t){return Array.from({length:e},t?(e,n)=>t(n):()=>void 0)}let v=(e,t)=>e+(t||0),y=(e,t)=>_(Math.max(...e.map(e=>e.length)),n=>t(...e.map(e=>e[n])));function b(e,t){return typeof e==`object`&&!!e&&Reflect.has(e,t)}function x(e){return e!==null&&isFinite(e)}function S(e){return!e&&e!==0}function C(e){return x(e)?Number(e):void 0}function w(e){return Array.isArray(e)?e.every(Array.isArray):!1}function T(e,t,n=!1){let r=0;e[n?`reduceRight`:`reduce`]((e,n,i)=>t(n,r++,i),void 0)}function E(e,t){let n=Array.isArray(e)?e[t]:b(e,`data`)?e.data[t]:null;return b(n,`meta`)?n.meta:void 0}function D(e){return e==null||typeof e==`number`&&isNaN(e)}function O(e){return Array.isArray(e)&&e.every(e=>Array.isArray(e)||b(e,`data`))}function k(e){return typeof e==`object`&&!!e&&(Reflect.has(e,`x`)||Reflect.has(e,`y`))}function A(e,t=`y`){return k(e)&&b(e,t)?C(e[t]):C(e)}function j(e){let{high:t,low:n}=e;return t>n?{high:t,low:n}:n===0?{high:1,low:n}:n<0?{high:0,low:n}:t>0?{high:t,low:0}:{high:1,low:0}}function M(e,t,n,r){t={...t,...n?n===`x`?t.axisX:t.axisY:{}};let i={high:t.high===void 0?-Number.MAX_VALUE:+t.high,low:t.low===void 0?Number.MAX_VALUE:+t.low},a=t.high===void 0,o=t.low===void 0;function s(e){if(!D(e)){if(Array.isArray(e))for(let t=0;t<e.length;t++)s(e[t]);else{let t=Number(n&&b(e,n)?e[n]:e);a&&t>i.high&&(i.high=t),o&&t<i.low&&(i.low=t)}}}return(a||o)&&s(e),r&&(a&&(i.high=Math.max(r.high,i.high)),o&&(i.low=Math.min(r.low,i.low))),(t.referenceValue||t.referenceValue===0)&&(a&&(i.high=Math.max(t.referenceValue,i.high)),o&&(i.low=Math.min(t.referenceValue,i.low))),j(i)}function N(e,t=!1,n,r){let i,a={labels:(e.labels||[]).slice(),series:te(e.series,n,r)},o=a.labels.length;return w(a.series)?(i=Math.max(o,...a.series.map(e=>e.length)),a.series.forEach(e=>{e.push(..._(Math.max(0,i-e.length)))})):i=a.series.length,a.labels.push(..._(Math.max(0,i-o),()=>``)),t&&P(a),a}function P(e){e.labels?.reverse(),e.series.reverse();for(let t of e.series)b(t,`data`)?t.data.reverse():Array.isArray(t)&&t.reverse()}function F(e,t){let n,r;if(typeof e!=`object`){let i=C(e);t===`x`?n=i:r=i}else b(e,`x`)&&(n=C(e.x)),b(e,`y`)&&(r=C(e.y));if(n!==void 0||r!==void 0)return{x:n,y:r}}function I(e,t){if(!D(e))return t?F(e,t):C(e)}function ee(e,t){return Array.isArray(e)?e.map(e=>b(e,`value`)?I(e.value,t):I(e,t)):ee(e.data,t)}function te(e,t,n){if(O(e))return e.map(e=>ee(e,t));let r=ee(e,t);return n?r.map(e=>[e]):r}function ne(e,t,n){let r={increasingX:!1,fillHoles:!1,...n},i=[],a=!0;for(let n=0;n<e.length;n+=2)A(t[n/2].value)===void 0?r.fillHoles||(a=!0):(r.increasingX&&n>=2&&e[n]<=e[n-2]&&(a=!0),a&&=(i.push({pathCoordinates:[],valueData:[]}),!1),i[i.length-1].pathCoordinates.push(e[n],e[n+1]),i[i.length-1].valueData.push(t[n/2]));return i}function L(e){let t=``;return e==null?e:(t=typeof e==`number`?``+e:typeof e==`object`?JSON.stringify({data:e}):String(e),Object.keys(i).reduce((e,t)=>e.replaceAll(t,i[t]),t))}function re(e){if(typeof e!=`string`)return e;if(e===`NaN`)return NaN;e=Object.keys(i).reduce((e,t)=>e.replaceAll(i[t],t),e);let t=e;if(typeof e==`string`)try{t=JSON.parse(e),t=t.data===void 0?t:t.data}catch{}return t}function R(e,t){let{style:n}=e;n?n.cssText=t:e.setAttribute(`style`,t)}var ie=class{svgElements=[];constructor(e){for(let t=0;t<e.length;t++)this.svgElements.push(new le(e[t]))}call(e,t){return this.svgElements.forEach(n=>Reflect.apply(n[e],n,t)),this}attr(...e){return this.call(`attr`,e)}elem(...e){return this.call(`elem`,e)}root(...e){return this.call(`root`,e)}getNode(...e){return this.call(`getNode`,e)}foreignObject(...e){return this.call(`foreignObject`,e)}text(...e){return this.call(`text`,e)}empty(...e){return this.call(`empty`,e)}remove(...e){return this.call(`remove`,e)}addClass(...e){return this.call(`addClass`,e)}removeClass(...e){return this.call(`removeClass`,e)}removeAllClasses(...e){return this.call(`removeAllClasses`,e)}animate(...e){return this.call(`animate`,e)}};let ae={easeInSine:[.47,0,.745,.715],easeOutSine:[.39,.575,.565,1],easeInOutSine:[.445,.05,.55,.95],easeInQuad:[.55,.085,.68,.53],easeOutQuad:[.25,.46,.45,.94],easeInOutQuad:[.455,.03,.515,.955],easeInCubic:[.55,.055,.675,.19],easeOutCubic:[.215,.61,.355,1],easeInOutCubic:[.645,.045,.355,1],easeInQuart:[.895,.03,.685,.22],easeOutQuart:[.165,.84,.44,1],easeInOutQuart:[.77,0,.175,1],easeInQuint:[.755,.05,.855,.06],easeOutQuint:[.23,1,.32,1],easeInOutQuint:[.86,0,.07,1],easeInExpo:[.95,.05,.795,.035],easeOutExpo:[.19,1,.22,1],easeInOutExpo:[1,0,0,1],easeInCirc:[.6,.04,.98,.335],easeOutCirc:[.075,.82,.165,1],easeInOutCirc:[.785,.135,.15,.86],easeInBack:[.6,-.28,.735,.045],easeOutBack:[.175,.885,.32,1.275],easeInOutBack:[.68,-.55,.265,1.55]},oe=Symbol.for(`chartist.animationEmitter`);function se(e){for(let t=e;t;t=t.parentElement){let e=t[oe];if(e)return e}}function ce(e,t,n,r=!1,i){let{easing:s,...c}=n,l={},u,d;s&&(u=Array.isArray(s)?s:ae[s]),c.begin=a(c.begin,`ms`),c.dur=a(c.dur,`ms`),u&&(c.calcMode=`spline`,c.keySplines=u.join(` `),c.keyTimes=`0;1`),r&&(c.fill=`freeze`,l[t]=c.from,e.attr(l),d=o(c.begin||0).value,c.begin=`indefinite`);let f=e.elem(`animate`,{attributeName:t,...c});r&&setTimeout(()=>{try{f._node.beginElement()}catch{l[t]=c.to,e.attr(l),f.remove()}},d);let p=f.getNode();i&&p.addEventListener(`beginEvent`,()=>i.emit(`animationBegin`,{element:e,animate:p,params:n})),p.addEventListener(`endEvent`,()=>{i&&i.emit(`animationEnd`,{element:e,animate:p,params:n}),r&&(l[t]=c.to,e.attr(l),f.remove())})}var le=class e{static Easing=ae;_node;constructor(e,t,n,i,a=!1){typeof e==`string`?(this._node=(i?._node.ownerDocument??document).createElementNS(r.svg,e),e===`svg`&&this.attr({"xmlns:ct":r.ct})):this._node=e,t&&this.attr(t),n&&this.addClass(n),i&&(a&&i._node.firstChild?i._node.insertBefore(this._node,i._node.firstChild):i._node.appendChild(this._node))}attr(e,t){return typeof e==`string`?t?this._node.getAttributeNS(t,e):this._node.getAttribute(e):(Object.keys(e).forEach(t=>{if(e[t]!==void 0){if(t===`style`)R(this._node,String(e[t]));else if(t.indexOf(`:`)!==-1){let n=t.split(`:`);this._node.setAttributeNS(r[n[0]],t,String(e[t]))}else this._node.setAttribute(t,String(e[t]))}}),this)}elem(t,n,r,i=!1){return new e(t,n,r,this,i)}parent(){let t=this._node.parentNode;return t?.nodeType===1&&t.namespaceURI===r.svg?new e(t):null}root(){let t=this._node;for(;t.nodeName!==`svg`&&t.parentElement;)t=t.parentElement;return new e(t)}querySelector(t){let n=this._node.querySelector(t);return n?new e(n):null}querySelectorAll(e){return new ie(this._node.querySelectorAll(e))}getNode(){return this._node}foreignObject(e,t,n,r=!1){let i;if(typeof e==`string`){let t=this._node.ownerDocument.createElement(`div`);t.innerHTML=e,i=t.firstChild}else i=e;let a=this.elem(`foreignObject`,t,n,r);return a._node.appendChild(i),a}text(e){return this._node.appendChild(this._node.ownerDocument.createTextNode(e)),this}empty(){for(;this._node.firstChild;)this._node.removeChild(this._node.firstChild);return this}remove(){let e=this.parent();return this._node.parentNode?.removeChild(this._node),e}replace(e){return this._node.parentNode?.replaceChild(e._node,this._node),e}append(e,t=!1){return t&&this._node.firstChild?this._node.insertBefore(e._node,this._node.firstChild):this._node.appendChild(e._node),this}classes(){let e=this._node.getAttribute(`class`);return e?e.trim().split(/\s+/):[]}addClass(e){return this._node.setAttribute(`class`,this.classes().concat(e.trim().split(/\s+/)).filter(function(e,t,n){return n.indexOf(e)===t}).join(` `)),this}removeClass(e){let t=e.trim().split(/\s+/);return this._node.setAttribute(`class`,this.classes().filter(e=>t.indexOf(e)===-1).join(` `)),this}removeAllClasses(){return this._node.setAttribute(`class`,``),this}height(){return this._node.clientHeight}width(){return this._node.clientWidth}animate(e,t=!0,n){let r=n??se(this._node);return Object.keys(e).forEach(n=>{let i=e[n];Array.isArray(i)?i.forEach(e=>ce(this,n,e,!1,r)):ce(this,n,i,t,r)}),this}};function ue(e,t=`100%`,n=`100%`,i,a){if(!e)throw Error(`Container element is not found`);Array.from(e.querySelectorAll(`svg`)).filter(e=>e.getAttributeNS(r.xmlns,`ct`)).forEach(t=>e.removeChild(t));let o=new le(`svg`).attr({width:t,height:n}).attr({style:`width: ${t}; height: ${n};`});return i&&o.addClass(i),a&&o.attr({viewBox:`0 0 ${a.width} ${a.height}`}),e.appendChild(o.getNode()),o}function de(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:e===void 0?{top:0,right:0,bottom:0,left:0}:{top:typeof e.top==`number`?e.top:0,right:typeof e.right==`number`?e.right:0,bottom:typeof e.bottom==`number`?e.bottom:0,left:typeof e.left==`number`?e.left:0}}function fe(e,t){let n=!!(t.axisX||t.axisY),r=t.axisY?.offset||0,i=t.axisX?.offset||0,a=t.axisY?.position,s=t.axisX?.position,c=t.viewBox?.width||e.width()||o(t.width).value||0,l=t.viewBox?.height||e.height()||o(t.height).value||0,u=de(t.chartPadding);c=Math.max(c,r+u.left+u.right),l=Math.max(l,i+u.top+u.bottom);let d={x1:0,x2:0,y1:0,y2:0,padding:u,width(){return this.x2-this.x1},height(){return this.y1-this.y2}};return n?(s===`start`?(d.y2=u.top+i,d.y1=Math.max(l-u.bottom,d.y2+1)):(d.y2=u.top,d.y1=Math.max(l-u.bottom-i,d.y2+1)),a===`start`?(d.x1=u.left+r,d.x2=Math.max(c-u.right,d.x1+1)):(d.x1=u.left,d.x2=Math.max(c-u.right-r,d.x1+1))):(d.x1=u.left,d.x2=Math.max(c-u.right,d.x1+1),d.y2=u.top,d.y1=Math.max(l-u.bottom,d.y2+1)),d}function pe(e,t,n,r,i,a,o,s){let c={[`${n.units.pos}1`]:e,[`${n.units.pos}2`]:e,[`${n.counterUnits.pos}1`]:r,[`${n.counterUnits.pos}2`]:r+i},l=a.elem(`line`,c,o.join(` `));s.emit(`draw`,{type:`grid`,axis:n,index:t,group:a,element:l,...c})}function me(e,t,n,r){let i=e.elem(`rect`,{x:t.x1,y:t.y2,width:t.width(),height:t.height()},n,!0);r.emit(`draw`,{type:`gridBackground`,group:e,element:i})}function he(e,t,n,r,i,a,o,s,c,l){let u={[i.units.pos]:e+o[i.units.pos],[i.counterUnits.pos]:o[i.counterUnits.pos],[i.units.len]:t,[i.counterUnits.len]:Math.max(0,a-10)},d=Math.round(u[i.units.len]),f=Math.round(u[i.counterUnits.len]),p=s.getNode().ownerDocument.createElement(`span`);p.className=c.join(` `),p.style[i.units.len]=d+`px`,p.style[i.counterUnits.len]=f+`px`,p.textContent=String(r);let m=s.foreignObject(p,{style:`overflow: visible;`,...u});l.emit(`draw`,{type:`label`,axis:i,index:n,group:s,element:m,text:r,...u})}function ge(e,t,n){let r,i=[];function a(i){let a=r;r=h({},e),t&&t.forEach(e=>{window.matchMedia(e[0]).matches&&(r=h({},r,e[1]))}),n&&i&&n.emit(`optionsChanged`,{previousOptions:a,currentOptions:r})}function o(){i.forEach(e=>e.removeEventListener(`change`,a))}if(window.matchMedia)t&&t.forEach(e=>{let t=window.matchMedia(e[0]);t.addEventListener(`change`,a),i.push(t)});else throw Error(`window.matchMedia not found! Make sure you're using a polyfill.`);return a(),{removeMediaQueryListeners:o,getCurrentOptions(){return r}}}var _e=class{listeners=/* @__PURE__ */ new Map;allListeners=/* @__PURE__ */ new Set;on(e,t){let{allListeners:n,listeners:r}=this;e===`*`?n.add(t):(r.has(e)||r.set(e,/* @__PURE__ */ new Set),r.get(e).add(t))}off(e,t){let{allListeners:n,listeners:r}=this;if(e===`*`)t?n.delete(t):n.clear();else if(r.has(e)){let n=r.get(e);t?n.delete(t):n.clear(),n.size||r.delete(e)}}emit(e,t){let{allListeners:n,listeners:r}=this;r.has(e)&&r.get(e).forEach(e=>e(t)),n.forEach(n=>n(e,t))}};let ve=/* @__PURE__ */ new WeakMap;var ye=class{data;defaultOptions;options;responsiveOptions;svg;container;eventEmitter=new _e;resizeListener=()=>this.update();initializeTimeoutId=null;optionsProvider;constructor(e,t,n,r,i){this.data=t,this.defaultOptions=n,this.options=r,this.responsiveOptions=i;let a=typeof e==`string`?document.querySelector(e):e;if(!a)throw Error(`Target element ${typeof e==`string`?`"${e}"`:``} is not found`);this.container=a;let o=ve.get(a);o&&o.detach(),ve.set(a,this),this.initializeTimeoutId=setTimeout(()=>this.initialize(),0)}update(e,t,n=!1){return e&&(this.data=e||{},this.data.labels=this.data.labels||[],this.data.series=this.data.series||[],this.eventEmitter.emit(`data`,{type:`update`,data:this.data})),t&&(this.options=h({},n?this.options:this.defaultOptions,t),this.initializeTimeoutId||(this.optionsProvider?.removeMediaQueryListeners(),this.optionsProvider=ge(this.options,this.responsiveOptions,this.eventEmitter))),!this.initializeTimeoutId&&this.optionsProvider&&this.createChart(this.optionsProvider.getCurrentOptions()),this}detach(){return this.initializeTimeoutId?clearTimeout(this.initializeTimeoutId):(this.container.ownerDocument.defaultView?.removeEventListener(`resize`,this.resizeListener),this.optionsProvider?.removeMediaQueryListeners()),ve.delete(this.container),this}on(e,t){return this.eventEmitter.on(e,t),this}off(e,t){return this.eventEmitter.off(e,t),this}initialize(){this.container.ownerDocument.defaultView?.addEventListener(`resize`,this.resizeListener),this.optionsProvider=ge(this.options,this.responsiveOptions,this.eventEmitter),this.eventEmitter.on(`optionsChanged`,()=>this.update()),this.options.plugins&&this.options.plugins.forEach(e=>{Array.isArray(e)?e[0](this,e[1]):typeof e==`function`&&e(this)}),this.eventEmitter.emit(`data`,{type:`initial`,data:this.data}),this.createChart(this.optionsProvider.getCurrentOptions()),this.initializeTimeoutId=null}};let be=e=>e.split(/\s+/).filter(Boolean),xe={attr(e){let t={...this.attrs};for(let[n,r]of Object.entries(e))r==null?delete t[n]:t[n]=r;return z(this,{attrs:t})},addClass(e){let t=be(e).filter((e,t,n)=>!this.classes.includes(e)&&n.indexOf(e)===t);return t.length?z(this,{classes:[...this.classes,...t]}):this},removeClass(e){let t=be(e);return z(this,{classes:this.classes.filter(e=>!t.includes(e))})},append(e,t=!1){return z(this,{children:t?[e,...this.children]:[...this.children,e]})},remove(e){return z(this,{children:this.children.filter(t=>t!==e)})},replace(e,t){return z(this,{children:this.children.map(n=>n===e?t:n)})},text(e){return z(this,{content:e})},empty(){return z(this,{children:[],content:void 0})}};function Se(e){let t=Object.create(xe);for(let[n,r]of Object.entries(e))r!==void 0&&(t[n]=r);return t}function z(e,t){return Se({...e,...t})}function B(e,t={},n=``,r={}){let i={};for(let[e,n]of Object.entries(t))n!=null&&(i[e]=n);return Se({name:e,attrs:i,classes:[...new Set(be(n))],children:[],...r})}let Ce={m:[`x`,`y`],l:[`x`,`y`],h:[`x`],v:[`y`],c:[`x1`,`y1`,`x2`,`y2`,`x`,`y`],s:[`x2`,`y2`,`x`,`y`],q:[`x1`,`y1`,`x`,`y`],t:[`x`,`y`],a:[`rx`,`ry`,`xAr`,`lAf`,`sf`,`x`,`y`],z:[]},we={x:`x`,x1:`x`,x2:`x`,rx:`x`,y:`y`,y1:`y`,y2:`y`,ry:`y`},Te={x:`x`,x1:`x`,x2:`x`,y:`y`,y1:`y`,y2:`y`},Ee={accuracy:3},De=/[MmZzLlHhVvCcSsQqTtAa]/y,Oe=/[-+]?(?:\d+\.?\d*|\.\d+)(?:[eE][-+]?\d+)?/y,ke=/[01]/y,V=/[\s,]*/y;function Ae(e){let t=0,n=n=>{V.lastIndex=t,V.exec(e),n.lastIndex=V.lastIndex;let r=n.exec(e);return r&&(t=n.lastIndex),r?.[0]},r=()=>{throw Error(`Invalid SVG path at position ${t}: "${e.slice(t,t+20)}"`)},i=[],a=n(De)??(e.trim()?r():void 0);for(;a;){let o=Ce[a.toLowerCase()],s={};for(let e of o){let t=n(e===`lAf`||e===`sf`?ke:Oe);s[e]=t===void 0?r():+t}i.push({command:a,...s});let c=n(De);if(c)a=c;else{if(V.lastIndex=t,V.exec(e),t=V.lastIndex,t>=e.length)break;o.length===0&&r(),Oe.lastIndex=t,Oe.test(e)||r(),a=a===`M`?`L`:a===`m`?`l`:a}}return i}function H(e,t,n,r,i,a){let o={command:i?e.toLowerCase():e.toUpperCase(),...t,...a?{data:a}:{}};n.splice(r,0,o)}function je(e,t){e.forEach((n,r)=>{Ce[n.command.toLowerCase()].forEach((i,a)=>{t(n,i,r,a,e)})})}var U=class e{close;static join(t,n=!1,r){let i=new e(n,r);for(let e=0;e<t.length;e++){let n=t[e];for(let e=0;e<n.pathElements.length;e++)i.pathElements.push({...n.pathElements[e]})}return i.pos=i.pathElements.length,i}pathElements=[];pos=0;options;constructor(e=!1,t){this.close=e,this.options={...Ee,...t}}position(e){return e===void 0?this.pos:(this.pos=Math.max(0,Math.min(this.pathElements.length,e)),this)}remove(e){return this.pathElements.splice(this.pos,e),this}move(e,t,n=!1,r){return H(`M`,{x:+e,y:+t},this.pathElements,this.pos++,n,r),this}line(e,t,n=!1,r){return H(`L`,{x:+e,y:+t},this.pathElements,this.pos++,n,r),this}curve(e,t,n,r,i,a,o=!1,s){return H(`C`,{x1:+e,y1:+t,x2:+n,y2:+r,x:+i,y:+a},this.pathElements,this.pos++,o,s),this}arc(e,t,n,r,i,a,o,s=!1,c){return H(`A`,{rx:e,ry:t,xAr:n,lAf:r,sf:i,x:a,y:o},this.pathElements,this.pos++,s,c),this}parse(e){let t=Ae(e);return t.at(-1)?.command.toUpperCase()===`Z`&&t.pop(),this.pathElements.splice(this.pos,0,...t),this.pos+=t.length,this}stringify(){let{accuracy:e}=this.options,t=10**(e||0);return this.pathElements.reduce((n,r)=>{let i=Ce[r.command.toLowerCase()].map(n=>{let i=r[n];return typeof e==`number`?Math.round(i*t)/t:i});return n+r.command+i.join(`,`)},``)+(this.close?`Z`:``)}scale(e,t){return je(this.pathElements,(n,r)=>{let i=we[r];i&&(n[r]*=i===`x`?e:t)}),this}translate(e,t){return je(this.pathElements,(n,r)=>{let i=Te[r];i&&(n[r]+=i===`x`?e:t)}),this}transform(e){return je(this.pathElements,(t,n,r,i,a)=>{let o=e(t,n,r,i,a);(o||o===0)&&(t[n]=o)}),this}clone(t=!1){let n=new e(t||this.close);return n.pos=this.pos,n.pathElements=this.pathElements.slice().map(e=>({...e})),n.options={...this.options},n}splitByCommand(t){let n=t.toUpperCase(),r=[[]];return this.pathElements.forEach(e=>{e.command.toUpperCase()===n&&r[r.length-1].length!==0&&r.push([]),r[r.length-1].push({...e})}),r.map((t,n)=>{let i=new e(this.close&&n===r.length-1,this.options);return i.pathElements=t,i.pos=t.length,i})}};function W(e){let t={fillHoles:!1,...e};return function(e,n){let r=new U,i=!0;for(let a=0;a<e.length;a+=2){let o=e[a],s=e[a+1],c=n[a/2];A(c.value)===void 0?t.fillHoles||(i=!0):(i?r.move(o,s,!1,c):r.line(o,s,!1,c),i=!1)}return r}}function Me(e){let{pathCoordinates:t,valueData:n}=e,r=[],i=0;for(let e=0;e<t.length;e+=2){let a=e>=2?t[e]-t[e-2]:0,o=Math.sign(a);e===0||o===0||i!==0&&o!==i?(r.push({pathCoordinates:[],valueData:[]}),i=0):i=o;let s=r[r.length-1];s.pathCoordinates.push(t[e],t[e+1]),s.valueData.push(n[e/2])}return r}function Ne(e){let t={fillHoles:!1,...e};return function e(n,r){let i=ne(n,r,{fillHoles:t.fillHoles}).flatMap(Me);if(!i.length)return W()([],[]);if(i.length>1)return U.join(i.map(t=>e(t.pathCoordinates,t.valueData)));{if(n=i[0].pathCoordinates,r=i[0].valueData,n.length<=4)return W()(n,r);let e=[],t=[],a=n.length/2,o=[],s=[],c=[],l=[];for(let r=0;r<a;r++)e[r]=n[r*2],t[r]=n[r*2+1];for(let n=0;n<a-1;n++)c[n]=t[n+1]-t[n],l[n]=e[n+1]-e[n],s[n]=c[n]/l[n];o[0]=s[0],o[a-1]=s[a-2];for(let e=1;e<a-1;e++)s[e]===0||s[e-1]===0||s[e-1]>0!=s[e]>0?o[e]=0:(o[e]=3*(l[e-1]+l[e])/((2*l[e]+l[e-1])/s[e-1]+(l[e]+2*l[e-1])/s[e]),isFinite(o[e])||(o[e]=0));let u=new U().move(e[0],t[0],!1,r[0]);for(let n=0;n<a-1;n++)u.curve(e[n]+l[n]/3,t[n]+o[n]*l[n]/3,e[n+1]-l[n]/3,t[n+1]-o[n+1]*l[n]/3,e[n+1],t[n+1],!1,r[n+1]);return u}}}function Pe(e){return typeof e==`function`?e:e?Ne():W()}function Fe(e,t){return t===`center`&&e.kind===`step`&&!e.stretch?(e.step??0)/2:0}function Ie(e,t,n,r,i,a=()=>void 0){let o=[],s=[];return e.forEach((i,c)=>{o.push(n.x1+r+t.x.project(i,c,e),n.y1-t.y.project(i,c,e)),s.push({value:i,valueIndex:c,meta:a(c)})}),i(o,s)}function Le(e){let t=new U,n=e.pathElements;for(let e=n.length-1;e>=0;e--){let r=n[e],i=n[e-1];if((e===n.length-1||n[e+1].command===`M`)&&t.move(r.x,r.y,!1,r.data),r.command!==`M`&&i){if(r.command===`C`){let e=r;t.curve(e.x2,e.y2,e.x1,e.y1,i.x,i.y,!1,i.data)}else if(r.command===`L`)t.line(i.x,i.y,!1,i.data);else throw Error(`Chartist: can't reverse a path with "${r.command}" commands`)}}return t}let Re={lineSmooth:!0,showPoint:!0,showLine:!0,showArea:!1,areaBase:0},ze={series:`ct-series`,line:`ct-line`,point:`ct-point`,area:`ct-area`};function Be(e){return{name:e.name,className:e.className,meta:e.meta,data:e.values}}function G(e,t,n){let r=t[n]??Re[n];if(b(e,`name`)&&e.name&&t.overrides?.[e.name]){let i=t.overrides[e.name][n];return i===void 0?r:i}return r}function Ve(e={}){let t={...ze,...e.classNames};return{type:`line`,coordinates:[`cartesian`],axes:{x:e.x,y:e.y},series:e.series,compose({data:n,area:r,axes:i,normalized:a,seriesIndexes:o}){let{x:c,y:l}=i;if(!c||!l||!a)throw Error(`Layer "line" needs an x and a y axis`);if(o&&e.reverseData)throw Error(`Layer "line": a series selection can't be combined with reverseData`);let u=Fe(c,e.align),d=n.series.map((e,t)=>t);return e.reverseData&&d.reverse(),d.map((i,d)=>{let f=o?.[i]??d,p=Be(n.series[i]),m=a.series[d],h=b(p,`name`)&&p.name,g=b(p,`className`)&&p.className,_=b(p,`meta`)?p.meta:void 0,v=Ie(m,{x:c,y:l},r,u,Pe(G(p,e,`lineSmooth`)),e=>E(p,e)),y={series:p,seriesIndex:f,meta:_},S=[];if(G(p,e,`showPoint`)&&(S=v.pathElements.map(e=>{let{data:n}=e,r=n?.value,i=b(r,`x`)?r.x:void 0,a=b(r,`y`)?r.y:void 0;return B(`line`,{x1:e.x,y1:e.y,x2:e.x+.01,y2:e.y,...n&&{"ct:value":[i,a].filter(x).join(`,`),"ct:meta":L(n.meta)}},t.point,{role:`point`,ctx:{...y,valueIndex:n?.valueIndex||0,value:r,meta:n?.meta,x:e.x,y:e.y}})})),G(p,e,`showLine`)&&(S=[B(`path`,{d:v.stringify()},t.line,{role:`line`,ctx:{...y,values:m,path:v.clone()}}),...S]),G(p,e,`showArea`)&&l.range){let n=Math.max(Math.min(G(p,e,`areaBase`),l.range.max),l.range.min),i=r.y1-l.project(n);v.splitByCommand(`M`).filter(e=>e.pathElements.length>1).map(e=>{let t=e.pathElements[0],n=e.pathElements[e.pathElements.length-1];return e.clone(!0).position(0).remove(1).move(t.x,i).line(t.x,t.y).position(e.pathElements.length+1).line(n.x,i)}).forEach(e=>{S=[B(`path`,{d:e.stringify()},t.area,{role:`area`,ctx:{...y,values:m,path:e.clone()}}),...S]})}return z(B(`g`,{"ct:series-name":h||void 0,"ct:meta":_?L(_):void 0},`${t.series} ${g||`${t.series}-${s(f)}`}`,{role:`series`,ctx:y}),{children:S})})}}}let K=e=>e===`top`||e===`bottom`?`x`:`y`;function He(e){if(e.axes)return e.axes;let t=[];return e.x&&t.push({...e.x,id:`x`,side:e.x.position===`start`?`top`:`bottom`}),e.y&&t.push({...e.y,id:`y`,side:e.y.position===`end`?`right`:`left`}),t}function Ue(e){let t={top:0,bottom:0,left:0,right:0};return e.map(e=>{let n=t[e.side];return t[e.side]+=e.offset||0,n})}function q(e,t){return e===`x`?t.x2-t.x1:t.y1-t.y2}function We(e,t,n,r){let i=Array.isArray(r)?r:He(r),a={top:0,bottom:0,left:0,right:0};for(let e of i)a[e.side]+=e.offset||0;let o=Math.max(e,a.left+a.right+n.left+n.right),s=Math.max(t,a.top+a.bottom+n.top+n.bottom),c=n.top+a.top,l=Math.max(s-n.bottom-a.bottom,c+1),u=n.left+a.left,d=Math.max(o-n.right-a.right,u+1);return{width:o,height:s,area:{x1:u,y1:l,x2:d,y2:c,width:d-u,height:l-c}}}let J={x:{pos:`x`,len:`width`,dir:`horizontal`,rectStart:`x1`,rectEnd:`x2`,rectOffset:`y2`},y:{pos:`y`,len:`height`,dir:`vertical`,rectStart:`y2`,rectEnd:`y1`,rectOffset:`x1`}};var Y=class{units;chartRect;ticks;counterUnits;range;axisLength;gridOffset;constructor(e,t,n){this.units=e,this.chartRect=t,this.ticks=n,this.counterUnits=e===J.x?J.y:J.x,this.axisLength=t[this.units.rectEnd]-t[this.units.rectStart],this.gridOffset=t[this.units.rectOffset]}createGridAndLabels(e,t,n,r){let i=this.units.pos===`x`?n.axisX:n.axisY,a=this.ticks.map((e,t)=>this.projectValue(e,t)),o=this.ticks.map(i.labelInterpolationFnc);a.forEach((s,c)=>{let l=o[c],u={x:0,y:0},d;d=c+1<a.length?a[c+1]-s:Math.max(this.axisLength-s,this.axisLength/this.ticks.length),!(l!==``&&S(l))&&(this.units.pos===`x`?(s=this.chartRect.x1+s,u.x=n.axisX.labelOffset.x,u.y=n.axisX.position===`start`?this.chartRect.padding.top+n.axisX.labelOffset.y+5:this.chartRect.y1+n.axisX.labelOffset.y+5):(s=this.chartRect.y1-s,u.y=n.axisY.labelOffset.y-d,u.x=n.axisY.position===`start`?this.chartRect.padding.left+n.axisY.labelOffset.x:this.chartRect.x2+n.axisY.labelOffset.x+10),i.showGrid&&pe(s,c,this,this.gridOffset,this.chartRect[this.counterUnits.len](),e,[n.classNames.grid,n.classNames[this.units.dir]],r),i.showLabel&&he(s,d,c,l,this,i.offset,u,t,[n.classNames.label,n.classNames[this.units.dir],i.position===`start`?n.classNames[i.position]:n.classNames.end],r))})}};function Ge(e){return typeof e==`function`&&typeof e.prototype?.projectValue==`function`}function Ke(e){return{kind:`legacy`,create({dimension:t,series:n,area:r,options:i,extent:a}){let o={x1:r.x1,x2:r.x2,y1:r.y1,y2:r.y2,padding:{top:0,right:0,bottom:0,left:0},width:()=>r.x2-r.x1,height:()=>r.y1-r.y2},s=a&&!i.highLow?{...i,highLow:M(n,i,t,a)}:i,c=new e(J[t],n,o,s);return{dimension:t,kind:typeof c.stretch==`boolean`?`step`:`legacy`,stretch:c.stretch,step:c.stepLength,ticks:c.ticks,range:c.range,length:q(t,r),project:(e,t,n)=>c.projectValue(e,t,n)}}}}function qe(e,t,n){let r=t=>e.find(e=>K(e.side)===t)?.id,i=new Set(e.map(e=>e.id));return t.map(e=>{for(let t of[e.axes?.x,e.axes?.y])if(t!==void 0&&!i.has(t))throw Error(`Chartist: unknown axis "${t}" in layer "${e.type}"`);let t=e.series?.map(t=>{let r=typeof t==`number`?t:n.series.findIndex(e=>e.name===t);if(r<0||r>=n.series.length)throw Error(`Chartist: unknown series ${JSON.stringify(t)} in layer "${e.type}"`);return r});return{x:e.axes?.x??r(`x`),y:e.axes?.y??r(`y`),series:t}})}function Je(e,t){let n=Array.from({length:t},(e,t)=>t),r=/* @__PURE__ */ new Map;for(let t of e)if(t.series?.length!==0)for(let e of[t.x,t.y]){if(e===void 0)continue;let i=r.get(e)??/* @__PURE__ */ new Set;(t.series??n).forEach(e=>i.add(e)),r.set(e,i)}return new Map([...r].map(([e,t])=>[e,[...t].sort((e,t)=>e-t)]))}function Ye(e,t=!1,n={}){let r={labels:e.labels,series:e.series.map(e=>({name:e.name,className:e.className,meta:e.meta,data:e.values}))},i=N(e.flat?{labels:e.labels,series:e.series[0].values}:r,t,n.multi??!0,n.distributed);return{labels:i.labels,series:i.series}}function Xe(e,t,n,r,i){let a=t=>e.find(e=>K(e.side)===t)?.id,o=/* @__PURE__ */ new Map;return t.forEach((e,t)=>{if(!e.extent)return;let s=n[t]??{},c=r.flat?void 0:s.series,l=e.extent({normalized:c?{...i,series:c.map(e=>i.series[e])}:i,axes:{x:s.x??a(`x`),y:s.y??a(`y`)}});for(let[e,t]of Object.entries(l??{})){let n=o.get(e);o.set(e,n?{low:Math.min(n.low,t.low),high:Math.max(n.high,t.high)}:t)}}),o}function Ze(e,t,n,r,i,a){let{type:o,id:s,side:c,...l}=e;return{...(Ge(o)?Ke(o):o).create({dimension:K(c),series:n,labels:r.labels,area:i,options:l,...a&&{extent:a}}),id:s,side:c,inset:t,options:l}}function Qe(e,t){let n=He(e),r=Ue(n);return{config:e,definitions:n,area:(e,t,r)=>We(e,t,r,n),create(i,a,o,s){let c=o&&t?.(o,i.series.length),l=Ye(i,e.reverseData,e.normalize),u=s?Xe(n,s,o??[],i,l):void 0,d=l.series,f=n.map((e,t)=>{let n=c?.get(e.id),o=n&&!i.flat?n.map(e=>d[e]):d;return Ze(e,r[t],o,l,a,u?.get(e.id))});return{normalized:l,axes:{x:f.find(e=>e.dimension===`x`),y:f.find(e=>e.dimension===`y`),all:f}}}}}function $e(e,t={}){let n=(e,t)=>({...e,offset:e.offset??(t===`x`?30:40)}),r=Array.isArray(e)?{...t,axes:e}:{...t,...e},i=Qe(r.axes?{...r,axes:r.axes.map(e=>n(e,K(e.side)))}:{...r,x:r.x&&n(r.x,`x`),y:r.y&&n(r.y,`y`)},Je),a=/* @__PURE__ */ new Set;for(let{id:e}of i.definitions){if(a.has(e))throw Error(`Chartist: the axis id "${e}" is used twice`);a.add(e)}return{...i,bind:(e,t)=>qe(i.definitions,e,t)}}let et=(e,t)=>Number(A(e,t));function tt(){return{kind:`step`,create({dimension:e,area:t,labels:n,options:r}){let i=r.ticks??[...n],a=q(e,t),o=a/Math.max(1,i.length-+!!r.stretch);return{dimension:e,kind:`step`,stretch:!!r.stretch,step:o,ticks:i,length:a,project:(e,t=0)=>o*t}}}}function nt(){return{kind:`autoScale`,create({dimension:e,series:t,area:n,options:r,extent:i}){let a=q(e,n),o=m(a,r.highLow||M(t,r,e,i),r.scaleMinSpace||20,r.onlyInteger);return{dimension:e,kind:`autoScale`,ticks:o.values,range:{min:o.min,max:o.max},length:a,project:t=>a*(et(t,e)-o.min)/o.range}}}}function rt(){return{kind:`fixedScale`,create({dimension:e,series:t,area:n,options:r,extent:i}){let a=q(e,n),o=r.highLow||M(t,r,e,i),s=r.divisor||1,c=(r.ticks||_(s+1,e=>o.low+(o.high-o.low)/s*e)).sort((e,t)=>Number(e)-Number(t)),l={min:o.low,max:o.high};return{dimension:e,kind:`fixedScale`,ticks:c,range:l,length:a,project:t=>a*(et(t,e)-l.min)/(l.max-l.min)}}}}let it={axisX:{offset:30,position:`end`,labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:g,type:void 0},axisY:{offset:40,position:`start`,labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:g,type:void 0,scaleMinSpace:20,onlyInteger:!1},width:void 0,height:void 0,showLine:!0,showPoint:!0,showArea:!1,areaBase:0,lineSmooth:!0,showGridBackground:!1,low:void 0,high:void 0,chartPadding:{top:15,right:15,bottom:5,left:10},fullWidth:!1,reverseData:!1,classNames:{chart:`ct-chart-line`,label:`ct-label`,labelGroup:`ct-labels`,series:`ct-series`,line:`ct-line`,point:`ct-point`,area:`ct-area`,grid:`ct-grid`,gridGroup:`ct-grids`,gridBackground:`ct-grid-background`,vertical:`ct-vertical`,horizontal:`ct-horizontal`,start:`ct-start`,end:`ct-end`}};function at(e,t){return e.filter(e=>t?e.listener!==t:e.owner!==`user`)}function ot(){let e=/* @__PURE__ */ new Map,t=[];function n(e,n){t.forEach(({listener:t})=>t(e,n))}return{on(n,r,i=`user`){n===`*`?t=[...t,{listener:r,owner:i}]:e.set(n,[...e.get(n)??[],{listener:r,owner:i}])},off(n,r){n===`*`?t=at(t,r):e.set(n,at(e.get(n)??[],r))},transform(t,r){let i=r;for(let{listener:n}of e.get(t)??[]){let e=n(i);if(e===null){i=null;break}e!==void 0&&(i=e)}return n(t,i),i},notify(t,r){(e.get(t)??[]).forEach(({listener:e})=>e(r)),n(t,r)},clear(){e.clear(),t=[]}}}function st(e,t){return(t.role===void 0||e.role===t.role)&&(t.key===void 0||e.key===t.key)&&(t.seriesIndex===void 0||e.ctx?.seriesIndex===t.seriesIndex)&&(t.valueIndex===void 0||e.ctx?.valueIndex===t.valueIndex)}function ct(e,t={}){let n=[],r=e=>{st(e,t)&&n.push(e),e.children.forEach(r)};return r(e),n}function X(e,t){let n=e.children,r=!1,i=[];for(let e of n){let n=X(e,t);n!==e&&(r=!0),n&&i.push(n)}r&&(n=i);let a=r?z(e,{children:n}):e,o=t(a);return o===void 0?a:o}function lt(e,t){return X(e,e=>{let n=e.ctx?.seriesIndex;if(e.key!==void 0||n===void 0)return;let r=e.ctx?.valueIndex;return z(e,{key:r===void 0?`${t}/${n}`:`${t}/${n}/${r}`})})}let ut={top:15,right:15,bottom:5,left:10};function dt(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:{...ut,...e}}function ft(e,t){if(e==null)throw Error(`Chartist: a "${t}" listener returned null`);return e}function pt(e,t){let n={data:t.data,layers:t.layers,coordinates:t.coordinates??`cartesian`,padding:dt(t.padding),axes:t.axes,width:t.width,height:t.height,viewBox:t.viewBox,className:t.className,labels:t.labels,preset:t.preset},r=ft(e.transform(`resolve`,{config:n}),`resolve`).config;for(let e of r.layers)if(!e.coordinates.includes(r.coordinates))throw Error(`Layer "${e.type}" does not support ${r.coordinates} coordinates`);return r}function mt(e){if(Array.isArray(e))return{values:e};if(e&&typeof e==`object`&&`data`in e){let{data:t,name:n,className:r,meta:i}=e;return{name:n,className:r,meta:i,values:t}}return{values:[e]}}function ht(e,t){let{labels:n=[],series:r}=t.data,i=r.every(e=>!Array.isArray(e)&&!(e&&typeof e==`object`&&`data`in e))&&r.length?{labels:n,series:[{values:r}],flat:!0}:{labels:n,series:r.map(mt)};return ft(e.transform(`prepare`,{data:i}),`prepare`).data}function gt(e){let{area:t}=e;if(![e.width,e.height,t.x1,t.x2,t.y1,t.y2,t.width,t.height].every(Number.isFinite)||t.width<0||t.height<0)throw Error(`Chartist: invalid layout after the "layout" phase (area ${JSON.stringify(t)})`)}function _t(e,t,n,r){let{padding:i}=t,a;if(t.axes)a={...t.axes.area(n,r,i),padding:i};else{let e=Math.max(n,i.left+i.right),t=Math.max(r,i.top+i.bottom),o=i.left,s=i.top,c=Math.max(e-i.right,o+1),l=Math.max(t-i.bottom,s+1);a={width:e,height:t,padding:i,area:{x1:o,y1:l,x2:c,y2:s,width:c-o,height:l-s}}}let o=ft(e.transform(`layout`,a),`layout`);return gt(o),o}function vt(e,t,n,r,i,a={},o,s=t.padding,c=[],l=`html`,u){let d=new Map((a.all??[]).map(e=>[e.id,e])),f=t.layers.map((e,f)=>{let p=c[f]??{},m=n.flat?void 0:p.series,h=m?{...n,series:m.map(e=>n.series[e])}:n,g=m&&o?{...o,series:m.map(e=>o.series[e])}:o,_={data:h,area:r,padding:s,layerIndex:f,coordinates:t.coordinates,measureText:i,axes:{x:p.x&&d.get(p.x)||a.x,y:p.y&&d.get(p.y)||a.y,all:a.all},normalized:g,seriesIndexes:m,labels:l,measureStyle:u};return{layer:e,context:_,nodes:e.compose(_).map(e=>lt(e,f))}}),p=f.flatMap(({layer:e,context:t})=>e.refine?[{refine:e.refine.bind(e),context:t}]:[]),m=e=>p.reduce((e,{refine:t,context:n})=>{let r=t(e,n);return r?z(r,{key:e.key,children:e.children}):e},e),h=[];for(let{nodes:t}of f)for(let n of t){let t=X(n,t=>t.role===void 0?void 0:e.transform(`compose`,p.length>0?m(t):t));t&&h.push(t)}return h}function yt(e,t,n,r){let i=B(`svg`,{width:r.width,height:r.height,viewBox:t.viewBox?`0 0 ${t.viewBox.width} ${t.viewBox.height}`:void 0},t.className),a=n.length?z(i,{children:n}):i;return ft(e.transform(`scene`,{scene:a}),`scene`).scene}function bt(e,t,n,r,i=`resolve`){let a=i===`layout`&&r,o=a?r.config:pt(e,t),s=a?r.data:ht(e,o),c=_t(e,o,n.width,n.height),l=o.axes?.bind?.(o.layers,s)??[],{axes:u={},normalized:d=void 0}=o.axes?.create(s,c.area,l,o.layers)??{},{className:f}=o,p=e=>f&&e?(t,n)=>e(t,{rootClass:f,...n}):e,m=p(n.measureText),h=p(n.measureStyle);return{config:o,data:s,layout:c,axes:u,normalized:d,scene:yt(e,o,vt(e,o,s,c.area,m,u,d,c.padding,l,o.labels??n.labels??`html`,h),n.rootSize??{width:o.width??c.width,height:o.height??c.height})}}let xt=.85,Z=(e,t={})=>{let n=t.fontSize??12;return{width:e.length*n*.6,height:n*1.2,fontSize:n}};function St(e,t,n){let i=t.indexOf(`:`),a=i>0?t.slice(0,i):``;t===`style`?R(e,String(n)):a&&a!==`xmlns`&&r[a]?e.setAttributeNS(r[a],t,String(n)):e.setAttribute(t,String(n))}function Ct(e,t,n,i=!1){let a=e.createElementNS(i?r.xhtml:r.svg,t.name);t.classes.length&&a.setAttribute(`class`,t.classes.join(` `));for(let[e,n]of Object.entries(t.attrs))St(a,e,n);t.content&&a.appendChild(e.createTextNode(t.content));let o=i||t.name===`foreignObject`;for(let r of t.children)a.appendChild(Ct(e,r,n,o));return n.set(t,a),a}function wt(e){Array.from(e.querySelectorAll(`svg`)).filter(e=>e.getAttributeNS(r.xmlns,`ct`)).forEach(e=>e.remove())}function Tt(e,t,n,i){let a=e.createElementNS(r.svg,`svg`);R(a,`position: absolute; visibility: hidden; width: 0; height: 0;`),n.rootClass&&a.setAttribute(`class`,n.rootClass);let o=e.createElementNS(r.svg,t);n.classes?.length&&o.setAttribute(`class`,n.classes.join(` `)),a.appendChild(o),(n.container??e.body).appendChild(a);try{return i(o)}finally{a.remove()}}function Et(e){return(t,n={})=>Tt(e,`text`,n,r=>{if(n.fontSize&&r.setAttribute(`font-size`,String(n.fontSize)),r.textContent=t,typeof r.getBBox!=`function`)return Z(t,n);let i=r.getBBox(),a=parseFloat(e.defaultView?.getComputedStyle(r).fontSize??``);return i.width||i.height?{width:i.width,height:i.height,...a>0&&{fontSize:a}}:Z(t,n)})}function Dt(){return{labels:`html`,render(e,t){let n=t.ownerDocument,i=/* @__PURE__ */ new WeakMap,a=Ct(n,e,i);return a.setAttributeNS(r.xmlns,`xmlns:ct`,r.ct),wt(t),t.appendChild(a),{svg:a,elementOf:e=>i.get(e),remove:()=>a.remove()}},measureText(e,t){let n=t?.container?.ownerDocument??globalThis.document;return n?Et(n)(e,t):Z(e,t)},measureStyle(e,t={}){let n=t.container?.ownerDocument??globalThis.document,r=n?.defaultView;return r&&Tt(n,`path`,t,t=>r.getComputedStyle(t).getPropertyValue(e))||void 0}}}function Ot(e){let t=e.map(e=>e.chartType??e.type);return t.includes(`bar`)?`ct-chart-bar`:t.includes(`donut`)?`ct-chart-donut`:t.includes(`pie`)?`ct-chart-pie`:`ct-chart-line`}function kt(e){return e.className===void 0?{...e,className:Ot(e.layers)}:e}function At(e,t){return[e,t]}let Q=e=>e,jt=/* @__PURE__ */ new Set([`resolve`,`prepare`,`layout`,`compose`,`scene`,`render`,`mount`]),Mt=/* @__PURE__ */ new Set([`data`,`optionsChanged`,`draw`,`created`,`animationBegin`,`animationEnd`]),Nt=/* @__PURE__ */ new Set;function Pt(e){console.warn(e)}function Ft(e){return e.map(e=>{let[t,n]=Array.isArray(e)?e:[e];if(typeof t==`function`)throw Error(`Chartist: the plugin "${t.name||`anonymous`}" is a 1.x plugin (a plain function). chart() and the preset functions accept only v2 plugins; convert it with fromLegacyPlugin() from chartist/compat.`);return[t,n]})}let It=/* @__PURE__ */ new WeakMap,Lt=()=>({owner:`user`});function Rt(e,t,n){let r=e.owner;e.owner=t;try{n()}finally{e.owner=r}}function zt(e,t){let n=It.get(e);n?Rt(n,`user`,t):t()}function Bt(e,t=[],n,r){It.set(e,r);let i=Ft(t);for(let[e]of i)e.provides?.forEach(e=>n.add(e));for(let[t,n]of i)Rt(r,`plugin`,()=>t.install(e,n))}function Vt(e,t={}){for(let[n,r]of Object.entries(t))r&&Q(e).on(n,r)}function Ht(e,t,n,r){return{on:((i,a)=>(Mt.has(i)&&!n.has(i)&&!Nt.has(i)&&(Nt.add(i),Pt(`Chartist: "${i}" is a 1.x event. v2 charts emit it only with the compat plugin: add compat from chartist/compat to plugins (see the migration guide).`)),e.on(i,a,r.owner),t())),off:((n,r)=>(e.off(n,r),t())),emit(t,n){if(jt.has(t))throw Error(`Chartist: "${t}" is a phase event; plugins can't emit phase events`);e.notify(t,n)}}}function Ut(e){if(typeof e==`number`)return e;let t=e?.match(/^\s*(\d+(?:\.\d+)?)(?:px)?\s*$/);return t?Number(t[1]):void 0}function Wt(e){let t=typeof e==`string`?document.querySelector(e):e;if(!t)throw Error(`Target element ${typeof e==`string`?`"${e}"`:``} is not found`);return t}function Gt(e,t){let n=Wt(e),r=ot(),i=Lt(),a=t.renderer??Dt(),o=a.measureText,s=!1,c=(e,t)=>(s=!0,o?o(e,{container:n,...t}):Z(e,t)),l=a.measureStyle,u=l&&((e,t)=>l(e,{container:n,...t})),d=t,f=t,p,m,h,g,_=!1,v=!0,y=/* @__PURE__ */ new Set,b=n.ownerDocument.defaultView,x=n.ownerDocument.fonts,S=()=>{!_&&m&&s&&A(`layout`)},C,w=!1;function T(){C?.removeAttribute(`viewBox`),C=void 0,w&&!f.viewBox&&m&&h?.elementOf&&(C=h.elementOf(m.scene),C?.setAttribute(`viewBox`,`0 0 ${m.layout.width} ${m.layout.height}`))}let E=()=>{w=!0,T()},D=()=>{w=!1,T()};function O(){let e=String(f.width??`100%`),t=String(f.height??`100%`),r=n.ownerDocument.createElementNS(`http://www.w3.org/2000/svg`,`svg`);r.setAttribute(`width`,e),r.setAttribute(`height`,t);let i=e=>typeof e==`number`?`px`:``;R(r,`width: ${e}${i(f.width)}; height: ${t}${i(f.height)};`),n.appendChild(r);let a={width:r.clientWidth,height:r.clientHeight};return r.remove(),a}function k(){let e=O();return{width:f.viewBox?.width||e.width||(Ut(f.width)??n.clientWidth),height:f.viewBox?.height||e.height||(Ut(f.height)??n.clientHeight)}}function A(e){let{width:t,height:i}=k();s=!1,m=bt(r,kt(f),{width:t,height:i,measureText:c,measureStyle:u,labels:a.labels??`html`,rootSize:{width:f.width??`100%`,height:f.height??`100%`}},m,e);let{scene:o}=m;h=a.render(o,n),w&&T(),r.notify(`render`,{scene:o,output:h});let l=h.elementOf??(()=>void 0);r.notify(`mount`,{scene:o,output:h,elementOf:l})}function j(){let e=d.responsive?.entries;f=p?p.matching.reduce((t,n)=>({...t,...e[n][1]}),d):d}function M(){let e=f;j(),P.emit(`responsive`,{previousConfig:e,currentConfig:f}),A(`resolve`)}function N(){p?.stop(),p=d.responsive?.watch(n,()=>{_||M()}),j()}let P={container:n,update(e){return d={...d,...e},`responsive`in e?N():j(),A(`resolve`),P},detach(){return v=!1,b?.removeEventListener(`beforeprint`,E),b?.removeEventListener(`afterprint`,D),D(),g?.disconnect(),g=void 0,x?.removeEventListener(`loadingdone`,S),p?.stop(),p=void 0,P},destroy(){_||(_=!0,P.detach(),h?.remove?.(),r.clear())},...Ht(r,()=>P,y,i)};x?.addEventListener(`loadingdone`,S),b?.addEventListener(`beforeprint`,E),b?.addEventListener(`afterprint`,D);let F=b?.ResizeObserver??globalThis.ResizeObserver;return F!==void 0&&(g=new F(()=>{if(_||!m)return;if(p?.check()){M();return}let{width:e,height:t}=k();(e!==m.layout.width||t!==m.layout.height)&&A(`layout`)}),g.observe(n)),Bt(P,t.plugins,y,i),Vt(P,t.on),v?N():j(),A(`resolve`),P}let Kt={x:{pos:`x`,len:`width`,counterPos:`y`,counterLen:`height`,dir:`horizontal`},y:{pos:`y`,len:`height`,counterPos:`x`,counterLen:`width`,dir:`vertical`}};function qt(e,t){let{area:n,padding:r,classNames:i}=t,a=Kt[e.dimension],o=t.options??(e.dimension===`x`?t.axisX:t.axisY),s=t.place,c=e.ticks.map((t,n)=>e.project(t,n)),l=e.ticks.map(o.labelTransform),u=e.dimension===`x`?n.y2:n.x1,d=e.dimension===`x`?n.height:n.width,f=[],p=[];return c.forEach((m,h)=>{let g=l[h],_=h+1<c.length?c[h+1]-m:Math.max(e.length-m,e.length/e.ticks.length);if(g!==``&&S(g))return;let v,y={x:0,y:0};if(s)({position:v,labelOffset:y}=s(e,m,_,o,n));else if(e.dimension===`x`){let e=t.axisX;v=n.x1+m,y.x=e.labelOffset.x,y.y=e.position===`start`?r.top+e.labelOffset.y+5:n.y1+e.labelOffset.y+5}else{let e=t.axisY;v=n.y1-m,y.y=e.labelOffset.y-_,y.x=e.position===`start`?r.left+e.labelOffset.x:n.x2+e.labelOffset.x+10}if(o.showGrid){let t={[`${a.pos}1`]:v,[`${a.pos}2`]:v,[`${a.counterPos}1`]:u,[`${a.counterPos}2`]:u+d};f.push(B(`line`,t,`${i.grid} ${i[a.dir]}`,{role:`grid`,ctx:{axis:e,index:h,...t}}))}if(o.showLabel){let n={[a.pos]:v+y[a.pos],[a.counterPos]:y[a.counterPos],[a.len]:_,[a.counterLen]:Math.max(0,o.offset-10)},r=t.atStart??o.position===`start`,s=[i.label,i[a.dir],r?i.start:i.end].join(` `),c={kind:`axis`,axis:e,index:h,text:g,...n};if(t.svgLabel){let i=t.svgLabel(String(g),n,s,e.dimension,r);i&&p.push(z(i,{role:`label`,ctx:c}));return}let l=B(`span`,{style:`${a.len}: ${Math.round(n[a.len])}px; ${a.counterLen}: ${Math.round(n[a.counterLen])}px;`},s).text(String(g));p.push(B(`foreignObject`,{style:`overflow: visible;`,...n},``,{role:`label`,ctx:c}).append(l))}}),{grids:f,labels:p}}function Jt(e,t){return B(`rect`,{x:e.x1,y:e.y2,width:e.width,height:e.height},t,{role:`gridBackground`})}function Yt(e){return e.labelTransform??e.labelInterpolationFnc??(e=>e)}function Xt(e,t,n){return t===`x`?{vertical:n?`bottom`:`top`,horizontal:e===`bar`?`middle`:`start`}:{vertical:e===`horizontalBar`?`middle`:`bottom`,horizontal:n?`end`:`start`}}function Zt(e,t,n){let r=[],i=``;for(let a of e.split(/\s+/).filter(Boolean)){let e=i?`${i} ${a}`:a;i&&n(e)>t?(r.push(i),i=a):i=e}return i&&r.push(i),r}function Qt(e,t,n={}){return(r,i,a,o,s)=>{let c=a.split(` `),l=t=>e(t,{classes:c}),u=Zt(r,Math.round(i.width),e=>l(e).width);if(!u.length)return;let d=l(u[0]),f=d.fontSize??d.height/1.2,p={...Xt(t,o,s),...n},m=u.length*f,h=p.vertical===`top`?i.y:p.vertical===`middle`?i.y+(i.height-m)/2:i.y+i.height-m,g=p.horizontal===`start`?i.x:p.horizontal===`middle`?i.x+i.width/2:i.x+i.width,_=e=>Math.round(e*100)/100;return z(B(`text`,{x:_(g),y:_(h+xt*f),"text-anchor":p.horizontal},a),{children:u.map((e,t)=>B(`tspan`,{x:_(g),y:_(h+(t+xt)*f)}).text(e))})}}function $t(e){return Object.freeze({type:`container`,query:e})}function en(e){return typeof e==`object`&&!!e&&e.type===`container`}let tn=!1;function nn(){tn||(tn=!0,console.warn(`Chartist: container() needs Element.matchContainer(); load the match-container polyfill. Container entries are ignored.`))}let rn=(e,t)=>e.length===t.length&&e.every((e,n)=>e===t[n]);function an(e,t,n,r=!1){let i=t?.ownerDocument.defaultView??(typeof window<`u`?window:void 0),a,o=e.map(([e])=>{if(!en(e))return i?.matchMedia?.(e);if(!t)return;let n=t.ownerDocument.createElement(`span`);if(typeof n.matchContainer!=`function`)nn();else{a||(a=t.appendChild(n),a.className=`ct-probe`,a.setAttribute(`aria-hidden`,`true`),a.style.cssText=`position:absolute;width:0;height:0;overflow:hidden`);try{return a.matchContainer(e.query)}catch(t){throw a.remove(),Error(`Chartist: invalid container condition "${e.query}": ${t.message}`)}}}),s=()=>o.flatMap((e,t)=>e?.matches?[t]:[]),c={matching:s(),check(){let e=s();return!rn(e,c.matching)&&(c.matching=e,!0)},stop(){o.forEach(e=>e?.removeEventListener?.(`change`,l)),d?.disconnect(),a?.remove()}};function l(){c.check()&&n()}o.forEach(e=>e?.addEventListener?.(`change`,l));let u=i?.ResizeObserver??globalThis.ResizeObserver,d=r&&a&&u!==void 0?new u(l):void 0;return d&&t&&d.observe(t),c}function on(e){return{entries:e,watch:(t,n)=>an(e,t,n)}}function sn(e,t,n,r){return n.reduce((e,n)=>r(e,t[n][1]),e)}let cn=e=>({...e,labelTransform:Yt(e)});function ln(e,t,n){return{svgLabel:n,area:t.area,padding:t.padding,axisX:cn(e.axisX),axisY:cn(e.axisY),classNames:e.classNames}}function un(e,t){return z(B(`g`,{},e),{children:t})}function dn(e,t=[`x`,`y`]){return{type:`grid`,coordinates:[`cartesian`],compose(n){let r=t.flatMap(t=>{let r=n.axes[t];return r?qt(r,ln(e,n)).grids:[]});return e.showGridBackground&&r.unshift(Jt(n.area,e.classNames.gridBackground)),[un(e.classNames.gridGroup,r)]}}}function fn(e,t=[`x`,`y`]){return{type:`labels`,coordinates:[`cartesian`],compose(n){return[un(e.classNames.labelGroup,t.flatMap(t=>{let r=n.axes[t];return r?qt(r,ln(e,n,n.labels===`svg`?Qt(n.measureText,e.labelKind??`line`,e[t===`x`?`axisX`:`axisY`].labelAlign):void 0)).labels:[]}))]}}}function pn(e){return{...e,compose:t=>[un(``,[...e.compose(t)])]}}let mn=Symbol.for(`chartist.presetState`);function hn(e,t){return{name:`preset-root-style`,install(n){Object.defineProperty(n,mn,{value:t}),n.on(`scene`,({scene:t})=>{let{width:n=`100%`,height:r=`100%`}=e();return{scene:t.attr({style:`width: ${n}; height: ${r};`})}})}}}function gn(e,t,n){let r=h({},e.defaults,n),{plugins:i,on:a}=n??{};return{...e.config({...t,labels:t.labels||[],series:t.series||[]},r),plugins:i,on:a}}function _n(e,t,n,r={},i,a=r.plugins){let o=n,s=h({},e.defaults,r),c=an(i??[],(typeof t==`string`?document.querySelector(t):t)??void 0,()=>v(),!0),l=e=>sn(h({},e),i,c.matching,(e,t)=>h({},e,t)),u=l(s),d=e=>({...e,preset:p}),f={get handle(){return y},setData(e){e.labels=e.labels||[],e.series=e.series||[],o=e},setOptions(t,n=!1){s=h({},n?s:e.defaults,t),u=l(s)},render(){_.update(d(e.config(o,u)))},options:()=>u,data:()=>o},p={kind:e.kind,get options(){return u},get data(){return o},update(e,t,n){e&&f.setData(e),t&&f.setOptions(t,n),f.render()},detach:()=>{m?y.detach():g=!0}},m=!1,g=!1,_=Gt(t,{...d(e.config(o,u)),plugins:[hn(()=>u,p),...a??[]],on:r.on});function v(){let e=u;u=l(s),_.emit(`responsive`,{previousOptions:e,currentOptions:u}),f.render()}let y={container:_.container,update(e){return e.data&&(o=e.data),_.update(e),y},setOptions(e,t){return f.setOptions(e,!t?.replace),f.render(),y},detach(){return c.stop(),_.detach(),y},destroy(){y.detach(),_.destroy()},emit:(e,t)=>Q(_).emit(e,t),on:((e,t)=>(_.on(e,t),y)),off:((e,t)=>(_.off(e,t),y))};return m=!0,g&&y.detach(),f}function vn(e){let t=tt();return{kind:`step`,create:n=>t.create({...n,options:{...n.options,ticks:n.labels,stretch:e}})}}function yn(e){let{axisX:t,axisY:n}=e;return{x:{...t,type:t.type??vn(e.fullWidth)},y:n.type===void 0?{...n,type:nt(),high:x(e.high)?e.high:n.high,low:x(e.low)?e.low:n.low,referenceValue:n.referenceValue??e.referenceValue}:{...n,type:n.type},reverseData:e.reverseData}}let bn={kind:`line`,defaults:it,config(e,t){let n=t,r=n,{below:i=[],above:a=[]}=n.layers??{};return{data:e,axes:Qe(yn(n)),padding:n.chartPadding,width:n.width,height:n.height,viewBox:n.viewBox,className:n.classNames.chart,labels:n.labels,layers:[dn(r),...i,pn(Ve({lineSmooth:n.lineSmooth,showPoint:n.showPoint,showLine:n.showLine,showArea:n.showArea,areaBase:n.areaBase,overrides:n.series,reverseData:n.reverseData,classNames:n.classNames})),...a,fn(r)]}}};function xn(e,t={}){return gn(bn,e,t)}function Sn(e,t,n={},r,i){return _n(bn,e,t,n,r,i??n.plugins)}function Cn(e,t,n={},r){return Sn(e,t,n,r).handle}let wn=/* @__PURE__ */ new Set,Tn=/* @__PURE__ */ new Set([`resolve`,`prepare`,`layout`,`compose`,`scene`,`render`,`mount`]);function En(e,t){let n=e.find(e=>typeof e?.legacyPlugin==`function`);return e.flatMap(e=>{let[r,i]=Array.isArray(e)?e:[e];return typeof r==`function`?n?[n.legacyPlugin(r,i,t)]:(wn.has(r)||(wn.add(r),console.warn(`Chartist: the plugin "${r.name||`anonymous`}" looks like a 1.x plugin (a plain function) and was skipped. 1.x plugins run only with the compat plugin: add compat from chartist/compat to plugins.`)),[]):[e]})}var Dn=class extends ye{data;chartOptions;chartResponsiveOptions;controller;installing;queued=[];onWindowResize=()=>this.update();detached=!1;wildcards=/* @__PURE__ */ new Map;constructor(e,t,n,r,i){super(e,t,n,h({},n,r),i),this.data=t,this.chartOptions=r,this.chartResponsiveOptions=i,Object.defineProperty(this,"eventEmitter",{value:{on:(e,t)=>this.on(e,t),off:(e,t)=>this.off(e,t),emit:(e,t)=>this.controller&&Q(this.controller.handle).emit(e,t)}})}initialize(){this.initializeTimeoutId=null;let e=this.queued.splice(0),t={name:`chart-listeners`,install:t=>{this.installing=t,zt(t,()=>e.forEach(([e,t])=>this.on(e,t)))}},n={name:`chart-fields`,install:e=>void e.on(`resolve`,({config:e})=>e.labels?{config:{...e,labels:void 0}}:void 0).on(`mount`,()=>{this.controller&&(this.data=this.controller.data(),this.options=this.controller.options())})};this.container.ownerDocument.defaultView?.addEventListener(`resize`,this.onWindowResize),this.controller=this.createController(this.container,this.data,this.chartOptions,this.chartResponsiveOptions?.filter(([e])=>typeof e==`string`),[t,n,...En(this.chartOptions?.plugins??[],this)]),this.installing=void 0,this.detached&&this.controller.handle.detach()}createChart(){}update(e,t,n=!1){return e&&(this.data=e),t&&(this.chartOptions=h({},n?this.chartOptions:{},t)),this.controller&&(e&&this.controller.setData(e),t&&this.controller.setOptions(t,n),this.controller.render()),this}detach(){return super.detach(),this.detached=!0,this.container.ownerDocument.defaultView?.removeEventListener(`resize`,this.onWindowResize),this.controller?.handle.detach(),this}on(e,t){let n=this.controller?.handle??this.installing;if(!n)this.queued.push([e,t]);else if(e===`*`){let e=t,r=(t,n)=>{Tn.has(t)||e(t,n)};this.wildcards.set(e,r),n.on(`*`,r)}else Q(n).on(e,t);return this}off(e,t){let n=this.controller?.handle??this.installing;if(n){let r=e===`*`&&t?this.wildcards.get(t):t;Q(n).off(e,r)}else{let n=this.queued.findIndex(([n,r])=>n===e&&(!t||r===t));t&&n>=0?this.queued.splice(n,1):t||this.queued.splice(0,this.queued.length,...this.queued.filter(([t])=>t!==e))}return this}};function On(e,t,n){if(b(e,`name`)&&e.name&&t.series?.[e.name]){let r=(t?.series[e.name])[n];return r===void 0?t[n]:r}return t[n]}var kn=class extends Dn{constructor(e,t,n,r){super(e,t,it,n,r)}createController(e,t,n,r,i){return Sn(e,t,n,r,i)}};function An(e,t){let n=typeof e==`object`&&e?e[t]:e;return x(n)?Number(n):0}function jn(e,t,n=!1){let r=[],i=[],a=1/0,o=-1/0;for(let s of e)s.forEach((e,s)=>{let c=An(e,t),l=n&&c<0?i:r;l[s]=(l[s]??0)+c,a=Math.min(a,l[s]),o=Math.max(o,l[s])});return a<=o?{low:a,high:o}:void 0}function Mn(e){return{name:e.name,className:e.className,meta:e.meta,data:e.values}}function Nn(e={}){let t={series:`ct-series`,bar:`ct-bar`,...e.classNames},n=!!e.horizontalBars,r=e.seriesBarDistance??15,i=e.offset??0,a=e.stackMode??`accumulate`,o=e.stackBars&&a!==`overlap`&&a!==!0;return{type:`bar`,coordinates:[`cartesian`],axes:{x:e.x,y:e.y},series:e.series,extent({normalized:e,axes:t}){let r=n?t.x:t.y,i=o&&r!==void 0?jn(e.series,n?`x`:`y`,a===`accumulate-relative`):void 0;return r!==void 0&&i?{[r]:i}:{}},compose({data:o,area:c,axes:l,normalized:u,seriesIndexes:d}){let f=n?l.x:l.y,p=n?l.y:l.x;if(!f||!p||!u)throw Error(`Layer "bar" needs an x and a y axis`);let m=n?`y`:`x`,h=n?`x`:`y`,g=u.series,_=o.flat?[...o.series[0].values]:o.series.map(Mn),v=_.map((e,t)=>t);e.reverseData&&v.reverse();let y=n?c.x1+f.project(0):c.y1-f.project(0),S=a===`accumulate`,C=a===`accumulate-relative`,w=[],T=[],D=w;if(d&&e.reverseData)throw Error(`Layer "bar": a series selection can't be combined with reverseData`);return v.map((o,l)=>{let u=d?.[o]??l,v=_[o],O=l-(_.length-1)/2,k;k=e.distributeSeries&&!e.stackBars?p.length/g.length/2:e.distributeSeries&&e.stackBars?p.length/2:p.length/g[l].length/2;let A=b(v,`name`)&&v.name,j=b(v,`className`)&&v.className,M=b(v,`meta`)?v.meta:void 0,N=[];return g[l].forEach((o,s)=>{let d=b(o,`x`)&&o.x,_=b(o,`y`)&&o.y,A=e.distributeSeries&&!e.stackBars?l:e.distributeSeries&&e.stackBars?0:s,j=g[l],M=n?{x:c.x1+f.project(d||0,s,j),y:c.y1-p.project(_||0,A,j)}:{x:c.x1+p.project(d||0,A,j),y:c.y1-f.project(_||0,s,j)};p.kind===`step`&&(p.stretch||(M[m]+=k*(n?-1:1)),M[m]+=e.stackBars||e.distributeSeries?0:O*r*(n?-1:1)),M[m]+=i,C&&(D=Number(n?d:_)<0?T:w);let P=D[s]||y;if(D[s]=P-(y-M[h]),o===void 0)return;let F={[`${m}1`]:M[m],[`${m}2`]:M[m]};e.stackBars&&(S||C||!a)?(F[`${h}1`]=P,F[`${h}2`]=D[s]):(F[`${h}1`]=y,F[`${h}2`]=M[h]),F.x1=Math.min(Math.max(F.x1,c.x1),c.x2),F.x2=Math.min(Math.max(F.x2,c.x1),c.x2),F.y1=Math.min(Math.max(F.y1,c.y2),c.y1),F.y2=Math.min(Math.max(F.y2,c.y2),c.y1);let I=E(v,s);N.push(B(`line`,{...F,"ct:value":[d,_].filter(x).join(`,`),"ct:meta":L(I)},t.bar,{role:`bar`,ctx:{series:v,seriesIndex:u,valueIndex:s,value:o,meta:I,...F}}))}),z(B(`g`,{"ct:series-name":A||void 0,"ct:meta":M?L(M):void 0},`${t.series} ${j||`${t.series}-${s(u)}`}`,{role:`series`,ctx:{series:v,seriesIndex:u,meta:M}}),{children:N})})}}}let Pn={axisX:{offset:30,position:`end`,labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:g,scaleMinSpace:30,onlyInteger:!1},axisY:{offset:40,position:`start`,labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:g,scaleMinSpace:20,onlyInteger:!1},width:void 0,height:void 0,high:void 0,low:void 0,referenceValue:0,chartPadding:{top:15,right:15,bottom:5,left:10},seriesBarDistance:15,stackBars:!1,stackMode:`accumulate`,horizontalBars:!1,distributeSeries:!1,reverseData:!1,showGridBackground:!1,classNames:{chart:`ct-chart-bar`,horizontalBars:`ct-horizontal-bars`,label:`ct-label`,labelGroup:`ct-labels`,series:`ct-series`,bar:`ct-bar`,grid:`ct-grid`,gridGroup:`ct-grids`,gridBackground:`ct-grid-background`,vertical:`ct-vertical`,horizontal:`ct-horizontal`,start:`ct-start`,end:`ct-end`}};function Fn(e,t){let n=e.horizontalBars?`x`:`y`,r=t?Ge(t)?Ke(t):t:nt();return{kind:r.kind,create(t){let i=M(t.series,e,n,t.extent),a=j({high:typeof e.high==`number`?e.high:i.high,low:typeof e.low==`number`?e.low:i.low});return r.create({...t,options:{...t.options,highLow:a,referenceValue:0}})}}}function In(e){let t=tt();return{kind:`step`,create:n=>t.create({...n,options:{ticks:e.distributeSeries&&e.stackBars?n.labels.slice(0,1):n.labels}})}}function Ln(e){let t=e.horizontalBars,n=t?e.axisX:e.axisY,r=t?e.axisY:e.axisX,i={...n,type:Fn(e,n.type)},a={...r,type:r.type??In(e)};return{x:t?i:a,y:t?a:i,reverseData:e.reverseData,normalize:{multi:t?`x`:`y`,distributed:!0}}}let Rn={kind:`bar`,defaults:Pn,config(e,t){let n=t,r=n,i=n.horizontalBars?[`y`,`x`]:[`x`,`y`],a=Nn({horizontalBars:n.horizontalBars,stackBars:n.stackBars,stackMode:n.stackMode,seriesBarDistance:n.seriesBarDistance,distributeSeries:n.distributeSeries,reverseData:n.reverseData,classNames:n.classNames}),o=n.stackMode===`overlap`?Nn({horizontalBars:n.horizontalBars,stackBars:n.stackBars}):a,s={...pn(a),extent:o.extent},{below:c=[],above:l=[]}=n.layers??{};return{data:e,axes:Qe(Ln(n)),padding:n.chartPadding,width:n.width,height:n.height,viewBox:n.viewBox,className:n.classNames.chart+(n.horizontalBars?` ${n.classNames.horizontalBars}`:``),labels:n.labels,layers:[dn(r,i),...c,s,...l,fn({...r,labelKind:n.horizontalBars?`horizontalBar`:`bar`},i)]}}};function zn(e,t={}){return gn(Rn,e,t)}function Bn(e,t,n={},r,i){return _n(Rn,e,t,n,r,i??n.plugins)}function Vn(e,t,n={},r){return Bn(e,t,n,r).handle}var Hn=class extends Dn{constructor(e,t,n,r){super(e,t,Pn,n,r)}createController(e,t,n,r,i){return Bn(e,t,n,r,i)}};function Un(e,t,n){let r=t.x>e.x;return r&&n===`explode`||!r&&n===`implode`?`start`:r&&n===`implode`||!r&&n===`explode`?`end`:`middle`}function Wn(e,t,n,r){e.y>t.y-n&&e.y<t.y+n&&e.x>t.x-r*n&&e.x<t.x+r*n&&(e.y-=n,e.x-=n,Wn(e,t,n,r))}function Gn(e,t){let n=e?.(`stroke-width`,{classes:t.split(` `)});return n&&/^[\d.]+px$/.test(n)?parseFloat(n):void 0}let Kn={series:`ct-series`,slicePie:`ct-slice-pie`,sliceDonut:`ct-slice-donut`,label:`ct-label`},qn=1.2;function Jn(e,t,n,r,i){let a=e.split(`
|
|
2
|
-
`),o={role:`label`,ctx:i};if(a.length===1)return B(`text`,{dx:t.x,dy:t.y,"text-anchor":n},r,o).text(e);let s=Math.round(-(a.length-1)*qn*50)/100;return z(B(`text`,{x:t.x,y:t.y,"text-anchor":n},r,o),{children:a.map((e,n)=>B(`tspan`,{x:t.x,dy:`${n?qn:s}em`}).text(e))})}function Yn(e={}){let t={...Kn,...e.classNames},n=Yt(e);return{type:`pie`,chartType:e.donut?`donut`:`pie`,coordinates:[`polar`],compose({data:r,area:i,measureStyle:a}){let c=r.flat?[...r.series[0].values]:r.series.map(e=>({name:e.name,className:e.className,meta:e.meta,value:e.values[0]})),l=N({labels:r.labels,series:c}),u=l.series,d=l.labels,f=[],m=e.startAngle??0,h=Math.min(i.width/2,i.height/2),g=e.total||u.reduce(v,0),_=o(e.donutWidth??(e.donut?Gn(a,t.sliceDonut):void 0)??60);_.unit===`%`&&(_.value*=h/100),h-=e.donut?_.value/2:0;let y;y=e.labelPosition===`center`?0:e.labelPosition===`outside`?e.donut?h+_.value/2:h:e.donut?h:h/2,e.labelOffset&&(y+=e.labelOffset);let x={x:i.x1+i.width/2,y:i.y2+i.height/2},C=c.filter(e=>b(e,`value`)?e.value!==0:e!==0).length===1,w=[],T=[];return c.forEach((r,i)=>{if(u[i]===0&&e.ignoreEmptyValues){w.push(B(`g`));return}let a=b(r,`name`)&&r.name,o=b(r,`className`)&&r.className,l=b(r,`meta`)?r.meta:void 0,v=g>0?m+u[i]/g*360:0,E=Math.max(0,m-(i===0||C?0:.2)),D=v-m>=359.99;v-E>=359.99&&(v=E+359.99);let O=p(x.x,x.y,h,E),k=new U(!e.donut);if(D){let e=p(x.x,x.y,h,E+180);k.move(O.x,O.y).arc(h,h,0,0,0,e.x,e.y)}else{let e=p(x.x,x.y,h,v);k.move(e.x,e.y)}k.arc(h,h,0,Number(!D&&v-m>180),0,O.x,O.y),e.donut||k.line(x.x,x.y);let A=B(`path`,{d:k.stringify(),"ct:value":u[i],"ct:meta":L(l),style:e.donut&&e.donutWidth!==void 0?`stroke-width: ${_.value}px`:void 0},e.donut?t.sliceDonut:t.slicePie,{role:`slice`,ctx:{value:u[i],totalDataSum:g,index:i,seriesIndex:i,valueIndex:0,meta:l,series:r,path:k.clone(),center:x,radius:h,startAngle:m,endAngle:v}});if(w.push(z(B(`g`,{"ct:series-name":a||void 0},`${t.series} ${o||`${t.series}-${s(i)}`}`,{role:`series`,ctx:{seriesIndex:i,series:r,meta:l}}),{children:[A]})),e.showLabel??!0){let a=c.length===1?{x:x.x,y:x.y}:p(x.x,x.y,y,m+(v-m)/2),o=d&&!S(d[i])?d[i]:u[i],s=n(o,i);if(s||s===0){let n=String(s);if(e.preventOverlappingLabelOffset){let t=n.length;f.forEach(n=>Wn(a,n,e.preventOverlappingLabelOffset,t)),f.push(a)}T.push(Jn(n,a,Un(x,a,e.labelDirection??`neutral`),t.label,{kind:`pie`,index:i,seriesIndex:i,valueIndex:0,text:n,series:r,meta:l,x:a.x,y:a.y}))}}m=v}),e.showLabel??!0?[...w,z(B(`g`),{children:T})]:w}}}let Xn={width:void 0,height:void 0,chartPadding:{top:5,right:5,bottom:5,left:5},classNames:{chartPie:`ct-chart-pie`,chartDonut:`ct-chart-donut`,series:`ct-series`,slicePie:`ct-slice-pie`,sliceDonut:`ct-slice-donut`,label:`ct-label`},startAngle:0,total:void 0,donut:!1,showLabel:!0,labelOffset:0,labelPosition:`inside`,labelInterpolationFnc:g,labelDirection:`neutral`,ignoreEmptyValues:!1,preventOverlappingLabelOffset:0},Zn={kind:`pie`,defaults:Xn,config(e,t){let n=t,{below:r=[],above:i=[]}=t.layers??{};return{data:e,coordinates:`polar`,padding:n.chartPadding,width:n.width,height:n.height,viewBox:n.viewBox,className:n.donut?n.classNames.chartDonut:n.classNames.chartPie,layers:[...r,Yn({startAngle:n.startAngle,total:n.total,donut:n.donut,donutWidth:n.donutWidth,showLabel:n.showLabel,labelOffset:n.labelOffset,labelPosition:n.labelPosition,labelTransform:n.labelTransform,labelInterpolationFnc:n.labelInterpolationFnc,labelDirection:n.labelDirection,ignoreEmptyValues:n.ignoreEmptyValues,preventOverlappingLabelOffset:n.preventOverlappingLabelOffset,classNames:n.classNames}),...i]}}};function Qn(e,t={}){return gn(Zn,e,t)}function $n(e,t,n={},r,i){return _n(Zn,e,t,n,r,i??n.plugins)}function er(e,t,n={},r){return $n(e,t,n,r).handle}var tr=class extends Dn{constructor(e,t,n,r){super(e,t,Xn,n,r)}moveLabel(e,t,n,r){Wn(e,t,n,r)}createController(e,t,n,r,i){return $n(e,t,n,r,i)}},nr=class extends Y{bounds;range;constructor(e,t,n,r){let i=r.highLow||M(t,r,e.pos),a=m(n[e.rectEnd]-n[e.rectStart],i,r.scaleMinSpace||20,r.onlyInteger),o={min:a.min,max:a.max};super(e,n,a.values),this.bounds=a,this.range=o}projectValue(e){let t=Number(A(e,this.units.pos));return this.axisLength*(t-this.bounds.min)/this.bounds.range}},rr=class extends Y{range;constructor(e,t,n,r){let i=r.highLow||M(t,r,e.pos),a=r.divisor||1,o=(r.ticks||_(a+1,e=>i.low+(i.high-i.low)/a*e)).sort((e,t)=>Number(e)-Number(t)),s={min:i.low,max:i.high};super(e,n,o),this.range=s}projectValue(e){let t=Number(A(e,this.units.pos));return this.axisLength*(t-this.range.min)/(this.range.max-this.range.min)}},ir=class extends Y{stepLength;stretch;constructor(e,t,n,r){let i=r.ticks||[];super(e,n,i);let a=Math.max(1,i.length-+!!r.stretch);this.stepLength=this.axisLength/a,this.stretch=!!r.stretch}projectValue(e,t){return this.stepLength*t}};function ar(e){let t={divisor:2,fillHoles:!1,...e},n=1/Math.max(1,t.divisor);return function(e,r){let i=new U,a=0,o=0,s;for(let c=0;c<e.length;c+=2){let l=e[c],u=e[c+1],d=(l-a)*n,f=r[c/2];A(f.value)===void 0?t.fillHoles||(a=o=0,s=void 0):(s===void 0?i.move(l,u,!1,f):i.curve(a+d,o,l-d,u,l,u,!1,f),a=l,o=u,s=f)}return i}}function or(e){let t={postpone:!0,fillHoles:!1,...e};return function(e,n){let r=new U,i=0,a=0,o;for(let s=0;s<e.length;s+=2){let c=e[s],l=e[s+1],u=n[s/2];A(u.value)===void 0?t.fillHoles||(i=a=0,o=void 0):(o===void 0?r.move(c,l,!1,u):(t.postpone?r.line(c,a,!1,o):r.line(i,l,!1,u),r.line(c,l,!1,u)),i=c,a=l,o=u)}return r}}function sr(e){let t={tension:1,fillHoles:!1,...e},n=Math.min(1,Math.max(0,t.tension)),r=1-n;return function e(i,a){let o=ne(i,a,{fillHoles:t.fillHoles});if(!o.length)return W()([],[]);if(o.length>1)return U.join(o.map(t=>e(t.pathCoordinates,t.valueData)));{if(i=o[0].pathCoordinates,a=o[0].valueData,i.length<=4)return W()(i,a);let e=new U().move(i[0],i[1],!1,a[0]);for(let t=0,o=i.length;o-2>t;t+=2){let s=[{x:+i[t-2],y:+i[t-1]},{x:+i[t],y:+i[t+1]},{x:+i[t+2],y:+i[t+3]},{x:+i[t+4],y:+i[t+5]}];o-4===t?s[3]=s[2]:t||(s[0]={x:+i[t],y:+i[t+1]}),e.curve(n*(-s[0].x+6*s[1].x+s[2].x)/6+r*s[2].x,n*(-s[0].y+6*s[1].y+s[2].y)/6+r*s[2].y,n*(s[1].x+6*s[2].x-s[3].x)/6+r*s[2].x,n*(s[1].y+6*s[2].y-s[3].y)/6+r*s[2].y,s[2].x,s[2].y,!1,a[(t+2)/2])}return e}}}var cr=/* @__PURE__ */ n({cardinal:()=>sr,monotoneCubic:()=>Ne,none:()=>W,simple:()=>ar,step:()=>or});let lr=[`#d70206`,`#f05b4f`,`#f4c63d`,`#d17905`,`#453d3f`,`#59922b`,`#0544d3`,`#6b0392`,`#e6805e`,`#dda458`,`#eacf7d`,`#86797d`,`#b2c326`,`#6188e2`,`#a748ca`],ur=e=>String(e).replace(/[&<>"']/g,e=>i[e]),dr=`A-Z_:a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD`,fr=RegExp(`^[${dr}][${dr}\\-.0-9\\u00B7\\u0300-\\u036F\\u203F\\u2040]*$`);function pr(e,t){if(!fr.test(e))throw Error(`Chartist: "${e}" is not a valid ${t} name`);return e}function mr(e,t){let n=[];t===`root`?n.push(`xmlns="${r.svg}"`,`xmlns:ct="${r.ct}"`):t===`html-root`&&n.push(`xmlns="${r.xhtml}"`),e.classes.length&&n.push(`class="${ur(e.classes.join(` `))}"`);for(let[t,r]of Object.entries(e.attrs))t!==`xmlns`&&n.push(`${pr(t,`attribute`)}="${ur(r)}"`);return n.length?` ${n.join(` `)}`:``}function hr(e,t){let n=`<${pr(e.name,`element`)}${mr(e,t)}`,r=e.name===`foreignObject`?`html-root`:`other`,i=(e.content===void 0?``:ur(e.content))+e.children.map(e=>hr(e,r)).join(``);return i?`${n}>${i}</${e.name}>`:`${n}/>`}function gr(e){return hr(e,`root`)}function _r(e){throw Error(`Chartist: ${e}() is not available in toScene()`)}function vr(e,t){let n=ot(),r=/* @__PURE__ */ new Set,i=Lt(),a={update:()=>_r(`update`),detach:()=>_r(`detach`),destroy:()=>_r(`destroy`),...Ht(n,()=>a,r,i)};return Bt(a,e.plugins,r,i),Vt(a,e.on),bt(n,kt(e),{width:t.width,height:t.height,measureText:t.measureText??Z,labels:t.labels??`svg`}).scene}let yr={band:`ct-band`,area:`ct-band-area`,inBand:`ct-in-band`,outBand:`ct-out-band`};function br(e){return typeof e==`number`||xr(e)?void 0:typeof e==`string`?e:e.series}function xr(e){return Array.isArray(e)}function Sr(e){return e.map(e=>x(e)?{y:Number(e)}:e&&typeof e==`object`?e:void 0)}function $(e){let t=typeof e==`object`&&e?e.y:e;return x(t)?Number(t):void 0}function Cr(e){return typeof e==`object`&&e?e.x:void 0}function wr(e,t){let{data:n,seriesIndexes:r}=t;return typeof e==`string`?n.series.findIndex(t=>t.name===e):r?r.indexOf(e):e}function Tr(e,t){let n=wr(e,t);return t.seriesIndexes?.[n]??n}function Er(e,t,n=e=>e){let r=t.normalized?.series??[],i=e=>r[wr(e,t)]??[];if(e.series){let t=e.series.map(i);return{constant:!1,length:Math.max(0,...t.map(e=>e.length)),at(e){let n=t.map(t=>t[e]).filter(e=>$(e)!==void 0);if(n.length===0)return;let r=n.map(e=>$(e));return{x:Cr(n[0]),low:Math.min(...r),high:Math.max(...r)}}}}let a=e=>{if(e!==void 0&&xr(e))return{values:Sr(e)};let t=e===void 0?void 0:br(e);return t===void 0?{value:n(e)}:{values:i(t)}},o=a(e.low),s=a(e.high),c=[o,s].flatMap(e=>`values`in e?[e.values.length]:[]);return{constant:c.length===0,length:Math.max(0,...c),at(e){let t=`values`in o?o.values[e]:void 0,n=`values`in s?s.values[e]:void 0,r=`value`in o?o.value:$(t),i=`value`in s?s.value:$(n);if(r!==void 0&&i!==void 0)return{x:Cr(t)??Cr(n),low:r,high:i}}}}function Dr(e){if(typeof e==`object`&&e){let{x:t,y:n}=e;return x(n)?Number(n):x(t)?Number(t):void 0}return x(e)?Number(e):void 0}function Or(e,t){if(e===void 0)return;if(xr(e))return{values:Sr(e).map($)};let n=br(e);return n===void 0?{value:e}:{seriesIndex:Tr(n,t)}}function kr(e){let t=e.low!==void 0||e.high!==void 0;if(e.series&&t)throw Error(`Layer "band": series can't be combined with low and high`);if(!e.series&&(e.low===void 0||e.high===void 0))throw Error(`Layer "band": the band needs low and high, or series`);let n={...yr,...e.classNames},r=e.series?void 0:[e.low,e.high].flatMap(e=>{let t=e===void 0?void 0:br(e);return t===void 0?[]:[t]}),i=e.series?[]:[e.low,e.high].flatMap(e=>typeof e==`number`?[e]:e!==void 0&&xr(e)?Sr(e).flatMap(e=>{let t=$(e);return t===void 0?[]:[t]}):[]),a={type:`band`,coordinates:[`cartesian`],axes:{x:e.x,y:e.y},series:e.series??r,extent({axes:e}){return e.y!==void 0&&i.length>0?{[e.y]:{low:Math.min(...i),high:Math.max(...i)}}:{}},compose(t){let{area:r,axes:i}=t,{x:a,y:o}=i;if(!a||!o||!t.normalized)throw Error(`Layer "band" needs an x and a y axis`);let s=o.range,c=Er(e,t,e=>s?Math.min(Math.max(e,s.min),s.max):e),l;if(c.constant){let{low:e,high:t}=c.at(0),n=r.y1-o.project(e),i=r.y1-o.project(t);l=[new U(!0).move(r.x1,i).line(r.x2,i).line(r.x2,n).line(r.x1,n)]}else{let t=[],n=[];for(let e=0;e<c.length;e++){let r=c.at(e);t.push(r&&{x:r.x,y:r.high}),n.push(r&&{x:r.x,y:r.low})}let i=Fe(a,e.align),s=Pe(e.lineSmooth??!0),u=e=>Ie(e,{x:a,y:o},r,i,s).splitByCommand(`M`).filter(e=>e.pathElements.length>1),d=u(n);l=u(t).flatMap((e,t)=>{let n=d[t];if(!n||n.pathElements.length!==e.pathElements.length)return[];let r=Le(n),i=r.pathElements[0];return r.position(0).remove(1).line(i.x,i.y,!1,i.data),[U.join([e,r],!0)]})}let u=e.series?{series:e.series.map(e=>Tr(e,t))}:{low:Or(e.low,t),high:Or(e.high,t)},d=l.map(e=>B(`path`,{d:e.stringify()},n.area,{role:`band`,ctx:{...u,path:e.clone()}}));return[z(B(`g`,{},e.className?`${n.band} ${e.className}`:n.band),{children:d})]}};return e.mark?{...a,refine(t,r){if(t.role!==`point`&&t.role!==`bar`)return;let i=Dr(t.ctx.value),a=Er(e,r).at(t.ctx.valueIndex);if(i===void 0||!a)return;let o=i>=Math.min(a.low,a.high)&&i<=Math.max(a.low,a.high);return t.addClass(o?n.inBand:n.outBand)}}:a}let Ar={line:`ct-target-line`,label:`ct-target-label`};function jr(e){let{value:t,label:n,className:r}=e;if(!Number.isFinite(t))throw Error(`Layer "targetLine" needs a value`);let i={...Ar,...e.classNames},a=e.labelPosition===`start`;return{type:`targetLine`,coordinates:[`cartesian`],series:[],extent({axes:n}){let r=e.axis??n.y;return r===void 0?{}:{[r]:{low:t,high:t}}},compose({area:o,axes:s,measureText:c}){let l=s.all??[],u=e.axis===void 0?l.find(e=>e.dimension===`y`):l.find(t=>t.id===e.axis);if(!u)throw Error(e.axis===void 0?`Layer "targetLine" needs a y axis`:`Chartist: unknown axis "${e.axis}" in layer "targetLine"`);let d=u.dimension===`y`,f=u.project(t,t);if(!Number.isFinite(f)||f<-1e-9||f>u.length+1e-9)return[];let p=d?{x1:o.x1,y1:o.y1-f,x2:o.x2,y2:o.y1-f}:{x1:o.x1+f,y1:o.y2,x2:o.x1+f,y2:o.y1},m=r?` ${r}`:``,h=B(`line`,p,`${i.line}${m}`,{role:`targetLine`,ctx:{axis:u,value:t,...n!==void 0&&{label:n},...p}});if(n===void 0||n===``)return[h];let g=`${i.label}${m}`,_;if(d)_={x:a?o.x1+4:o.x2-4,y:p.y1-4,anchor:a?`start`:`end`};else{let e=c(n,{classes:g.split(` `)}).fontSize??12;_={x:p.x1+4,y:a?o.y1-4:o.y2+4+xt*e,anchor:`start`}}return[h,B(`text`,{x:_.x,y:_.y,"text-anchor":_.anchor},g,{role:`targetLabel`,ctx:{axis:u,value:t,text:n,x:_.x,y:_.y}}).text(n)]}}}let Mr={series:`ct-series`,line:`ct-trend-line`};function Nr(e,t){let n=[],r=[];if(e.forEach((e,i)=>{let a=D(e)?void 0:A(e,`y`),o=t?i:A(e,`x`);typeof o==`number`&&Number.isFinite(o)&&Number.isFinite(a)&&(n.push(o),r.push(a))}),n.length<2)return;let i=e=>e.reduce((e,t)=>e+t,0)/e.length,a=i(n),o=i(r),s=0,c=0;if(n.forEach((e,t)=>{s+=(e-a)*(r[t]-o),c+=(e-a)**2}),c===0)return;let l=s/c;return{slope:l,intercept:o-l*a,x1:Math.min(...n),x2:Math.max(...n)}}function Pr(e){let t=e.filter(e=>!D(e));return t.length>0&&t.every(e=>typeof A(e,`x`)==`number`)}function Fr(e={}){let t={...Mr,...e.classNames};return{type:`trendLine`,coordinates:[`cartesian`],axes:{x:e.x,y:e.y},series:e.series,extent({normalized:e,axes:t}){if(t.y===void 0)return{};let n=e.series.flatMap(e=>{let t=Nr(e,!Pr(e));return t?[t.slope*t.x1+t.intercept,t.slope*t.x2+t.intercept]:[]});return n.length>0?{[t.y]:{low:Math.min(...n),high:Math.max(...n)}}:{}},compose({data:n,area:r,axes:i,normalized:a,seriesIndexes:o}){let{x:c,y:l}=i;if(!c||!l||!a)throw Error(`Layer "trendLine" needs an x and a y axis`);let u=c.kind===`step`,d=Fe(c,e.align);return n.series.flatMap((e,n)=>{let i=Nr(a.series[n],u);if(!i)return[];let f=o?.[n]??n,{slope:p,intercept:m}=i,h=e=>({x:r.x1+d+c.project(e,e),y:r.y1-l.project(p*e+m)}),g=h(i.x1),_=h(i.x2),v={x1:g.x,y1:g.y,x2:_.x,y2:_.y},y={series:{name:e.name,className:e.className,meta:e.meta,data:e.values},seriesIndex:f,meta:e.meta};return[z(B(`g`,{},`${t.series} ${e.className||`${t.series}-${s(f)}`}`,{role:`series`,ctx:y}),{children:[B(`line`,v,t.line,{role:`trendLine`,ctx:{seriesIndex:f,slope:p,intercept:m,...v}})]})]})}}}let Ir={grid:`ct-grid`,label:`ct-label`,horizontal:`ct-horizontal`,vertical:`ct-vertical`,start:`ct-start`,end:`ct-end`,gridGroup:`ct-grids`,labelGroup:`ct-labels`,gridBackground:`ct-grid-background`};function Lr(e){let t=e.options;return{...t,offset:t.offset??0,position:e.side===`top`||e.side===`left`?`start`:`end`,labelOffset:t.labelOffset??{x:0,y:0},showLabel:t.showLabel??!0,showGrid:t.showGrid??!0,labelTransform:Yt(t)}}function Rr(e,t){let n=e.axes.all??[];return t?t.map(e=>{let t=n.find(t=>t.id===e);if(!t)throw Error(`Chartist: unknown axis "${e}" in an axis layer`);return t}):n}let zr=(e,t)=>(n,r,i,a,o)=>n.dimension===`x`?{position:o.x1+r,labelOffset:{x:a.labelOffset.x,y:e===`top`?o.y2-t-a.offset+a.labelOffset.y+5:o.y1+t+a.labelOffset.y+5}}:{position:o.y1-r,labelOffset:{x:e===`left`?o.x1-t-a.offset+a.labelOffset.x:o.x2+t+a.labelOffset.x+10,y:a.labelOffset.y-i}};function Br(e,t,n,r){return qt(e,{svgLabel:r,area:t.area,padding:t.padding,classNames:n,options:Lr(e),place:zr(e.side,e.inset),atStart:e.side===`top`||e.side===`left`})}function Vr(e={}){let t={...Ir,...e.classNames};return{type:`axisGrid`,coordinates:[`cartesian`],series:[],compose(n){let r=Rr(n,e.axes).flatMap(e=>Br(e,n,t).grids);return e.background&&r.unshift(Jt(n.area,t.gridBackground)),[z(B(`g`,{},t.gridGroup),{children:r})]}}}function Hr(e={}){let t={...Ir,...e.classNames};return{type:`axisLabels`,coordinates:[`cartesian`],series:[],compose(n){let r=(e.labels??n.labels)===`svg`;return[z(B(`g`,{},t.labelGroup),{children:Rr(n,e.axes).flatMap(i=>Br(i,n,t,r?Qt(n.measureText,`line`,{...e.align,...i.options.labelAlign}):void 0).labels)})]}}}e.AutoScaleAxis=nr,e.Axis=Y,e.BarChart=Hn,e.BaseChart=ye,e.EPSILON=c,e.EventEmitter=_e,e.FixedScaleAxis=rr,Object.defineProperty(e,"Interpolation",{enumerable:!0,get:function(){return cr}}),e.LineChart=kn,e.PieChart=tr,e.StepAxis=ir,e.Svg=le,e.SvgList=ie,e.SvgPath=U,e.alphaNumerate=s,e.autoScaleAxis=nt,e.axisGrid=Vr,e.axisLabels=Hr,e.axisUnits=J,e.band=kr,e.bar=Nn,e.barChart=Vn,e.barChartConfig=zn,e.cartesianAxes=$e,e.chart=Gt,e.container=$t,e.createChartRect=fe,e.createGrid=pe,e.createGridBackground=me,e.createLabel=he,e.createSvg=ue,e.deserialize=re,e.determineAnchorPosition=Un,e.domRenderer=Dt,e.each=T,e.easings=ae,e.ensureUnit=a,e.escapingMap=i,e.estimateText=Z,e.extend=h,e.findAll=ct,e.fixedScaleAxis=rt,e.getBounds=m,e.getHighLow=M,e.getMetaData=E,e.getMultiValue=A,e.getNumberOrUndefined=C,e.getSeriesOption=On,e.isArrayOfArrays=w,e.isArrayOfSeries=O,e.isDataHoleValue=D,e.isFalseyButZero=S,e.isMultiValue=k,e.isNumeric=x,e.line=Ve,e.lineChart=Cn,e.lineChartConfig=xn,e.mapNodes=X,e.namespaces=r,e.node=B,e.noop=g,e.normalizeData=N,e.normalizePadding=de,e.optionsProvider=ge,e.orderOfMagnitude=l,e.pie=Yn,e.pieChart=er,e.pieChartConfig=Qn,e.polarToCartesian=p,e.precision=8,e.projectLength=u,e.quantity=o,e.renderToString=gr,e.responsive=on,e.rho=f,e.roundWithPrecision=d,e.safeHasProperty=b,e.serialMap=y,e.serialize=L,e.seriesColors=lr,e.splitIntoSegments=ne,e.stepAxis=tt,e.sum=v,e.targetLine=jr,e.textAscent=xt,e.times=_,e.toScene=vr,e.trendLine=Fr,e.withOptions=At});
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports):typeof define==`function`&&define.amd?define([`exports`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.Chartist={}))})(this,function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=Object.defineProperty,n=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r};let r={svg:`http://www.w3.org/2000/svg`,xmlns:`http://www.w3.org/2000/xmlns/`,xhtml:`http://www.w3.org/1999/xhtml`,xlink:`http://www.w3.org/1999/xlink`,ct:`http://gionkunz.github.com/chartist-js/ct`},i={"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`};function a(e,t){return typeof e==`number`?e+t:e}function o(e){if(typeof e==`string`){let t=/^(\d+)\s*(.*)$/g.exec(e);return{value:t?+t[1]:0,unit:t?.[2]||void 0}}return{value:Number(e)}}function s(e){return String.fromCharCode(97+e%26)}let c=2221e-19;function l(e){return Math.floor(Math.log(Math.abs(e))/Math.LN10)}function u(e,t,n){return t/n.range*e}function d(e,t){let n=10**(t??8);return Math.round(e*n)/n}function f(e){if(e===1||!Number.isFinite(e))return e;function t(e,t){for(let n=0;n<1e3&&Number.isFinite(e)&&t!==0;n++){let n=e%t;if(n===0)return t;e=t,t=n}return NaN}function n(e){return e*e+1}let r=2,i=2,a;if(e%2==0)return 2;do r=n(r)%e,i=n(n(i))%e,a=t(Math.abs(r-i),e);while(a===1);return a}function p(e,t,n,r){let i=(r-90)*Math.PI/180;return{x:e+n*Math.cos(i),y:t+n*Math.sin(i)}}function m(e,t,n,r=!1){let i={high:t.high,low:t.low,valueRange:0,oom:0,step:0,min:0,max:0,range:0,numberOfSteps:0,values:[]};i.valueRange=i.high-i.low,i.oom=l(i.valueRange),i.step=10**i.oom,i.min=Math.floor(i.low/i.step)*i.step,i.max=Math.ceil(i.high/i.step)*i.step,i.range=i.max-i.min,i.numberOfSteps=Math.round(i.range/i.step);let a=u(e,i.step,i)<n,o=r?f(i.range):0;if(r&&u(e,1,i)>=n)i.step=1;else if(r&&o<i.step&&u(e,o,i)>=n)i.step=o;else{let t=0;for(;;){if(a&&u(e,i.step,i)<=n)i.step*=2;else if(!a&&u(e,i.step/2,i)>=n){if(i.step/=2,r&&i.step%1!=0){i.step*=2;break}}else break;if(t++>1e3)throw Error(`Exceeded maximum number of iterations while optimizing scale step!`)}}i.step=Math.max(i.step,c);function s(e,t){return e===(e+=t)&&(e*=1+(t>0?c:-2221e-19)),e}let p=i.min,m=i.max;for(;p+i.step<=i.low;)p=s(p,i.step);for(;m-i.step>=i.high;)m=s(m,-i.step);i.min=p,i.max=m,i.range=i.max-i.min;let h=[];for(let e=i.min;e<=i.max;e=s(e,i.step)){let t=d(e);t!==h[h.length-1]&&h.push(t)}return i.values=h,i}function h(e={},...t){for(let n=0;n<t.length;n++){let r=t[n],i=Object.getPrototypeOf(e);for(let t in r){if(i!==null&&t in i)continue;let n=r[t];if(typeof n==`object`&&n&&!Array.isArray(n)){let r=e[t];e[t]=h(typeof r==`object`&&r?r:{},n)}else e[t]=n}}return e}let g=e=>e;function _(e,t){return Array.from({length:e},t?(e,n)=>t(n):()=>void 0)}let v=(e,t)=>e+(t||0),y=(e,t)=>_(Math.max(...e.map(e=>e.length)),n=>t(...e.map(e=>e[n])));function b(e,t){return typeof e==`object`&&!!e&&Reflect.has(e,t)}function x(e){return e!==null&&isFinite(e)}function S(e){return!e&&e!==0}function C(e){return x(e)?Number(e):void 0}function w(e){return Array.isArray(e)?e.every(Array.isArray):!1}function T(e,t,n=!1){let r=0;e[n?`reduceRight`:`reduce`]((e,n,i)=>t(n,r++,i),void 0)}function E(e,t){let n=Array.isArray(e)?e[t]:b(e,`data`)?e.data[t]:null;return b(n,`meta`)?n.meta:void 0}function D(e){return e==null||typeof e==`number`&&isNaN(e)}function O(e){return Array.isArray(e)&&e.every(e=>Array.isArray(e)||b(e,`data`))}function k(e){return typeof e==`object`&&!!e&&(Reflect.has(e,`x`)||Reflect.has(e,`y`))}function A(e,t=`y`){return k(e)&&b(e,t)?C(e[t]):C(e)}function j(e){let{high:t,low:n}=e;return t>n?{high:t,low:n}:n===0?{high:1,low:n}:n<0?{high:0,low:n}:t>0?{high:t,low:0}:{high:1,low:0}}function M(e,t,n,r){t={...t,...n?n===`x`?t.axisX:t.axisY:{}};let i={high:t.high===void 0?-Number.MAX_VALUE:+t.high,low:t.low===void 0?Number.MAX_VALUE:+t.low},a=t.high===void 0,o=t.low===void 0;function s(e){if(!D(e)){if(Array.isArray(e))for(let t=0;t<e.length;t++)s(e[t]);else{let t=Number(n&&b(e,n)?e[n]:e);a&&t>i.high&&(i.high=t),o&&t<i.low&&(i.low=t)}}}return(a||o)&&s(e),r&&(a&&(i.high=Math.max(r.high,i.high)),o&&(i.low=Math.min(r.low,i.low))),(t.referenceValue||t.referenceValue===0)&&(a&&(i.high=Math.max(t.referenceValue,i.high)),o&&(i.low=Math.min(t.referenceValue,i.low))),j(i)}function N(e,t=!1,n,r){let i,a={labels:(e.labels||[]).slice(),series:R(e.series,n,r)},o=a.labels.length;return w(a.series)?(i=Math.max(o,...a.series.map(e=>e.length)),a.series.forEach(e=>{e.push(..._(Math.max(0,i-e.length)))})):i=a.series.length,a.labels.push(..._(Math.max(0,i-o),()=>``)),t&&P(a),a}function P(e){e.labels?.reverse(),e.series.reverse();for(let t of e.series)b(t,`data`)?t.data.reverse():Array.isArray(t)&&t.reverse()}function F(e,t){let n,r;if(typeof e!=`object`){let i=C(e);t===`x`?n=i:r=i}else b(e,`x`)&&(n=C(e.x)),b(e,`y`)&&(r=C(e.y));if(n!==void 0||r!==void 0)return{x:n,y:r}}function I(e,t){if(!D(e))return t?F(e,t):C(e)}function L(e,t){return Array.isArray(e)?e.map(e=>b(e,`value`)?I(e.value,t):I(e,t)):L(e.data,t)}function R(e,t,n){if(O(e))return e.map(e=>L(e,t));let r=L(e,t);return n?r.map(e=>[e]):r}function z(e,t,n){let r={increasingX:!1,fillHoles:!1,...n},i=[],a=!0;for(let n=0;n<e.length;n+=2)A(t[n/2].value)===void 0?r.fillHoles||(a=!0):(r.increasingX&&n>=2&&e[n]<=e[n-2]&&(a=!0),a&&=(i.push({pathCoordinates:[],valueData:[]}),!1),i[i.length-1].pathCoordinates.push(e[n],e[n+1]),i[i.length-1].valueData.push(t[n/2]));return i}function B(e){let t=``;return e==null?e:(t=typeof e==`number`?``+e:typeof e==`object`?JSON.stringify({data:e}):String(e),Object.keys(i).reduce((e,t)=>e.replaceAll(t,i[t]),t))}function ee(e){if(typeof e!=`string`)return e;if(e===`NaN`)return NaN;e=Object.keys(i).reduce((e,t)=>e.replaceAll(i[t],t),e);let t=e;if(typeof e==`string`)try{t=JSON.parse(e),t=t.data===void 0?t:t.data}catch{}return t}function te(e,t){let{style:n}=e;n?n.cssText=t:e.setAttribute(`style`,t)}var ne=class{svgElements=[];constructor(e){for(let t=0;t<e.length;t++)this.svgElements.push(new he(e[t]))}call(e,t){return this.svgElements.forEach(n=>Reflect.apply(n[e],n,t)),this}attr(...e){return this.call(`attr`,e)}elem(...e){return this.call(`elem`,e)}root(...e){return this.call(`root`,e)}getNode(...e){return this.call(`getNode`,e)}foreignObject(...e){return this.call(`foreignObject`,e)}text(...e){return this.call(`text`,e)}empty(...e){return this.call(`empty`,e)}remove(...e){return this.call(`remove`,e)}addClass(...e){return this.call(`addClass`,e)}removeClass(...e){return this.call(`removeClass`,e)}removeAllClasses(...e){return this.call(`removeAllClasses`,e)}animate(...e){return this.call(`animate`,e)}};let V={easeInSine:[.47,0,.745,.715],easeOutSine:[.39,.575,.565,1],easeInOutSine:[.445,.05,.55,.95],easeInQuad:[.55,.085,.68,.53],easeOutQuad:[.25,.46,.45,.94],easeInOutQuad:[.455,.03,.515,.955],easeInCubic:[.55,.055,.675,.19],easeOutCubic:[.215,.61,.355,1],easeInOutCubic:[.645,.045,.355,1],easeInQuart:[.895,.03,.685,.22],easeOutQuart:[.165,.84,.44,1],easeInOutQuart:[.77,0,.175,1],easeInQuint:[.755,.05,.855,.06],easeOutQuint:[.23,1,.32,1],easeInOutQuint:[.86,0,.07,1],easeInExpo:[.95,.05,.795,.035],easeOutExpo:[.19,1,.22,1],easeInOutExpo:[1,0,0,1],easeInCirc:[.6,.04,.98,.335],easeOutCirc:[.075,.82,.165,1],easeInOutCirc:[.785,.135,.15,.86],easeInBack:[.6,-.28,.735,.045],easeOutBack:[.175,.885,.32,1.275],easeInOutBack:[.68,-.55,.265,1.55]},re={linear:[0,0,1,1],ease:[.25,.1,.25,1],"ease-in":[.42,0,1,1],"ease-out":[0,0,.58,1],"ease-in-out":[.42,0,.58,1]},H=/-?(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?/gi;function ie(e){let t=e.trim();if(re[t])return re[t];if(V[t])return V[t];let n=t.startsWith(`cubic-bezier(`)?t.match(H):null;return n?.length===4?n.map(Number):void 0}function ae([e,t,n,r]){let i=(e,t,n)=>3*e*n*(1-n)**2+3*t*n**2*(1-n)+n**3;return a=>{let o=0,s=1,c=a;for(let t=0;t<30;t++){let t=i(e,n,c);if(Math.abs(t-a)<1e-6)break;t<a?o=c:s=c,c=(o+s)/2}return i(t,r,c)}}function oe(e){let t=Math.max(1,Math.round(Number(e.match(H)?.[0]??1))),n=e.match(/(jump-)?(start|end|none|both)\s*\)/)?.[2]??`end`,r=n===`none`?t-1:n===`both`?t+1:t,i=+(n===`start`||n===`both`);return e=>Math.min(1,(Math.min(Math.floor(e*t),t-1)+i)/Math.max(1,r))}function se(e){let t=e.slice(e.indexOf(`(`)+1,e.lastIndexOf(`)`)).split(`,`).map(e=>e.trim().split(/\s+/).map(parseFloat)),n=t.map(([e])=>e),r=t.map(([,e],n)=>e===void 0||Number.isNaN(e)?n/Math.max(1,t.length-1):e/100);return e=>{let t=1;for(;t<r.length-1&&e>r[t];)t++;let i=r[t]-r[t-1]||1;return n[t-1]+(n[t]-n[t-1])*(e-r[t-1])/i}}function ce(e){if(typeof e!=`string`)return ae(e);let t=e.trim();return t.startsWith(`steps(`)?oe(t):t.startsWith(`linear(`)?se(t):ae(ie(t)??re.ease)}function le(e){let t=typeof e==`string`?ie(e):e;return t?.length===4&&t.every(e=>e>=0&&e<=1)?t.join(` `):void 0}function ue(e,t){let n=t>600?Math.min(40,Math.max(12,Math.round(t/50))):12,r=ce(e);return Array.from({length:n},(e,t)=>{let i=t/(n-1);return t===0?0:t===n-1?1:r(i)})}function de(e,t,n){let r=e.match(H)??[],i=t.match(H)??[];if(r.length!==i.length||e.replace(H,`#`)!==t.replace(H,`#`))return n<.5?e:t;let a=0;return t.replace(H,()=>{let e=Number(r[a]),t=Number(i[a++]);return String(+(e+(t-e)*n).toFixed(4))})}let fe=Symbol.for(`chartist.animationEmitter`);function pe(e){for(let t=e;t;t=t.parentElement){let e=t[fe];if(e)return e}}function me(e,t,n,r=!1,i){let{easing:s,...c}=n,l={},u,d;if(s&&(u=Array.isArray(s)?s:V[s]??s),c.begin=a(c.begin,`ms`),c.dur=a(c.dur,`ms`),u){let e=le(u);if(e)c.calcMode=`spline`,c.keySplines=e,c.keyTimes=`0;1`;else if(c.from!==void 0&&c.to!==void 0){let e=o(c.dur),t=ue(u,e.unit===`s`?e.value*1e3:e.value);c.calcMode=String(u).trim().startsWith(`steps(`)?`discrete`:`linear`,c.values=t.map(e=>de(String(c.from),String(c.to),e)).join(`;`),c.keyTimes=t.map((e,n)=>+(n/(t.length-1)).toFixed(4)).join(`;`)}}r&&(c.fill=`freeze`,l[t]=c.from,e.attr(l),d=o(c.begin||0).value,c.begin=`indefinite`);let f=e.elem(`animate`,{attributeName:t,...c});r&&setTimeout(()=>{try{f._node.beginElement()}catch{l[t]=c.to,e.attr(l),f.remove()}},d);let p=f.getNode();i&&p.addEventListener(`beginEvent`,()=>i.emit(`animationBegin`,{element:e,animate:p,params:n})),p.addEventListener(`endEvent`,()=>{i&&i.emit(`animationEnd`,{element:e,animate:p,params:n}),r&&(l[t]=c.to,e.attr(l),f.remove())})}var he=class e{static Easing=V;_node;constructor(e,t,n,i,a=!1){typeof e==`string`?(this._node=(i?._node.ownerDocument??document).createElementNS(r.svg,e),e===`svg`&&this.attr({"xmlns:ct":r.ct})):this._node=e,t&&this.attr(t),n&&this.addClass(n),i&&(a&&i._node.firstChild?i._node.insertBefore(this._node,i._node.firstChild):i._node.appendChild(this._node))}attr(e,t){return typeof e==`string`?t?this._node.getAttributeNS(t,e):this._node.getAttribute(e):(Object.keys(e).forEach(t=>{if(e[t]!==void 0){if(t===`style`)te(this._node,String(e[t]));else if(t.indexOf(`:`)!==-1){let n=t.split(`:`);this._node.setAttributeNS(r[n[0]],t,String(e[t]))}else this._node.setAttribute(t,String(e[t]))}}),this)}elem(t,n,r,i=!1){return new e(t,n,r,this,i)}parent(){let t=this._node.parentNode;return t?.nodeType===1&&t.namespaceURI===r.svg?new e(t):null}root(){let t=this._node;for(;t.nodeName!==`svg`&&t.parentElement;)t=t.parentElement;return new e(t)}querySelector(t){let n=this._node.querySelector(t);return n?new e(n):null}querySelectorAll(e){return new ne(this._node.querySelectorAll(e))}getNode(){return this._node}foreignObject(e,t,n,r=!1){let i;if(typeof e==`string`){let t=this._node.ownerDocument.createElement(`div`);t.innerHTML=e,i=t.firstChild}else i=e;let a=this.elem(`foreignObject`,t,n,r);return a._node.appendChild(i),a}text(e){return this._node.appendChild(this._node.ownerDocument.createTextNode(e)),this}empty(){for(;this._node.firstChild;)this._node.removeChild(this._node.firstChild);return this}remove(){let e=this.parent();return this._node.parentNode?.removeChild(this._node),e}replace(e){return this._node.parentNode?.replaceChild(e._node,this._node),e}append(e,t=!1){return t&&this._node.firstChild?this._node.insertBefore(e._node,this._node.firstChild):this._node.appendChild(e._node),this}classes(){let e=this._node.getAttribute(`class`);return e?e.trim().split(/\s+/):[]}addClass(e){return this._node.setAttribute(`class`,this.classes().concat(e.trim().split(/\s+/)).filter(function(e,t,n){return n.indexOf(e)===t}).join(` `)),this}removeClass(e){let t=e.trim().split(/\s+/);return this._node.setAttribute(`class`,this.classes().filter(e=>t.indexOf(e)===-1).join(` `)),this}removeAllClasses(){return this._node.setAttribute(`class`,``),this}height(){return this._node.clientHeight}width(){return this._node.clientWidth}animate(e,t=!0,n){let r=n??pe(this._node);return Object.keys(e).forEach(n=>{let i=e[n];Array.isArray(i)?i.forEach(e=>me(this,n,e,!1,r)):me(this,n,i,t,r)}),this}};function ge(e,t=`100%`,n=`100%`,i,a){if(!e)throw Error(`Container element is not found`);Array.from(e.querySelectorAll(`svg`)).filter(e=>e.getAttributeNS(r.xmlns,`ct`)).forEach(t=>e.removeChild(t));let o=new he(`svg`).attr({width:t,height:n}).attr({style:`width: ${t}; height: ${n};`});return i&&o.addClass(i),a&&o.attr({viewBox:`0 0 ${a.width} ${a.height}`}),e.appendChild(o.getNode()),o}function _e(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:e===void 0?{top:0,right:0,bottom:0,left:0}:{top:typeof e.top==`number`?e.top:0,right:typeof e.right==`number`?e.right:0,bottom:typeof e.bottom==`number`?e.bottom:0,left:typeof e.left==`number`?e.left:0}}function ve(e,t){let n=!!(t.axisX||t.axisY),r=t.axisY?.offset||0,i=t.axisX?.offset||0,a=t.axisY?.position,s=t.axisX?.position,c=t.viewBox?.width||e.width()||o(t.width).value||0,l=t.viewBox?.height||e.height()||o(t.height).value||0,u=_e(t.chartPadding);c=Math.max(c,r+u.left+u.right),l=Math.max(l,i+u.top+u.bottom);let d={x1:0,x2:0,y1:0,y2:0,padding:u,width(){return this.x2-this.x1},height(){return this.y1-this.y2}};return n?(s===`start`?(d.y2=u.top+i,d.y1=Math.max(l-u.bottom,d.y2+1)):(d.y2=u.top,d.y1=Math.max(l-u.bottom-i,d.y2+1)),a===`start`?(d.x1=u.left+r,d.x2=Math.max(c-u.right,d.x1+1)):(d.x1=u.left,d.x2=Math.max(c-u.right-r,d.x1+1))):(d.x1=u.left,d.x2=Math.max(c-u.right,d.x1+1),d.y2=u.top,d.y1=Math.max(l-u.bottom,d.y2+1)),d}function ye(e,t,n,r,i,a,o,s){let c={[`${n.units.pos}1`]:e,[`${n.units.pos}2`]:e,[`${n.counterUnits.pos}1`]:r,[`${n.counterUnits.pos}2`]:r+i},l=a.elem(`line`,c,o.join(` `));s.emit(`draw`,{type:`grid`,axis:n,index:t,group:a,element:l,...c})}function be(e,t,n,r){let i=e.elem(`rect`,{x:t.x1,y:t.y2,width:t.width(),height:t.height()},n,!0);r.emit(`draw`,{type:`gridBackground`,group:e,element:i})}function xe(e,t,n,r,i,a,o,s,c,l){let u={[i.units.pos]:e+o[i.units.pos],[i.counterUnits.pos]:o[i.counterUnits.pos],[i.units.len]:t,[i.counterUnits.len]:Math.max(0,a-10)},d=Math.round(u[i.units.len]),f=Math.round(u[i.counterUnits.len]),p=s.getNode().ownerDocument.createElement(`span`);p.className=c.join(` `),p.style[i.units.len]=d+`px`,p.style[i.counterUnits.len]=f+`px`,p.textContent=String(r);let m=s.foreignObject(p,{style:`overflow: visible;`,...u});l.emit(`draw`,{type:`label`,axis:i,index:n,group:s,element:m,text:r,...u})}function Se(e,t,n){let r,i=[];function a(i){let a=r;r=h({},e),t&&t.forEach(e=>{window.matchMedia(e[0]).matches&&(r=h({},r,e[1]))}),n&&i&&n.emit(`optionsChanged`,{previousOptions:a,currentOptions:r})}function o(){i.forEach(e=>e.removeEventListener(`change`,a))}if(window.matchMedia)t&&t.forEach(e=>{let t=window.matchMedia(e[0]);t.addEventListener(`change`,a),i.push(t)});else throw Error(`window.matchMedia not found! Make sure you're using a polyfill.`);return a(),{removeMediaQueryListeners:o,getCurrentOptions(){return r}}}var Ce=class{listeners=/* @__PURE__ */ new Map;allListeners=/* @__PURE__ */ new Set;on(e,t){let{allListeners:n,listeners:r}=this;e===`*`?n.add(t):(r.has(e)||r.set(e,/* @__PURE__ */ new Set),r.get(e).add(t))}off(e,t){let{allListeners:n,listeners:r}=this;if(e===`*`)t?n.delete(t):n.clear();else if(r.has(e)){let n=r.get(e);t?n.delete(t):n.clear(),n.size||r.delete(e)}}emit(e,t){let{allListeners:n,listeners:r}=this;r.has(e)&&r.get(e).forEach(e=>e(t)),n.forEach(n=>n(e,t))}};let we=/* @__PURE__ */ new WeakMap;var Te=class{data;defaultOptions;options;responsiveOptions;svg;container;eventEmitter=new Ce;resizeListener=()=>this.update();initializeTimeoutId=null;optionsProvider;constructor(e,t,n,r,i){this.data=t,this.defaultOptions=n,this.options=r,this.responsiveOptions=i;let a=typeof e==`string`?document.querySelector(e):e;if(!a)throw Error(`Target element ${typeof e==`string`?`"${e}"`:``} is not found`);this.container=a;let o=we.get(a);o&&o.detach(),we.set(a,this),this.initializeTimeoutId=setTimeout(()=>this.initialize(),0)}update(e,t,n=!1){return e&&(this.data=e||{},this.data.labels=this.data.labels||[],this.data.series=this.data.series||[],this.eventEmitter.emit(`data`,{type:`update`,data:this.data})),t&&(this.options=h({},n?this.options:this.defaultOptions,t),this.initializeTimeoutId||(this.optionsProvider?.removeMediaQueryListeners(),this.optionsProvider=Se(this.options,this.responsiveOptions,this.eventEmitter))),!this.initializeTimeoutId&&this.optionsProvider&&this.createChart(this.optionsProvider.getCurrentOptions()),this}detach(){return this.initializeTimeoutId?clearTimeout(this.initializeTimeoutId):(this.container.ownerDocument.defaultView?.removeEventListener(`resize`,this.resizeListener),this.optionsProvider?.removeMediaQueryListeners()),we.delete(this.container),this}on(e,t){return this.eventEmitter.on(e,t),this}off(e,t){return this.eventEmitter.off(e,t),this}initialize(){this.container.ownerDocument.defaultView?.addEventListener(`resize`,this.resizeListener),this.optionsProvider=Se(this.options,this.responsiveOptions,this.eventEmitter),this.eventEmitter.on(`optionsChanged`,()=>this.update()),this.options.plugins&&this.options.plugins.forEach(e=>{Array.isArray(e)?e[0](this,e[1]):typeof e==`function`&&e(this)}),this.eventEmitter.emit(`data`,{type:`initial`,data:this.data}),this.createChart(this.optionsProvider.getCurrentOptions()),this.initializeTimeoutId=null}};let Ee=e=>e.split(/\s+/).filter(Boolean),De={attr(e){let t={...this.attrs};for(let[n,r]of Object.entries(e))r==null?delete t[n]:t[n]=r;return U(this,{attrs:t})},addClass(e){let t=Ee(e).filter((e,t,n)=>!this.classes.includes(e)&&n.indexOf(e)===t);return t.length?U(this,{classes:[...this.classes,...t]}):this},removeClass(e){let t=Ee(e);return U(this,{classes:this.classes.filter(e=>!t.includes(e))})},append(e,t=!1){return U(this,{children:t?[e,...this.children]:[...this.children,e]})},remove(e){return U(this,{children:this.children.filter(t=>t!==e)})},replace(e,t){return U(this,{children:this.children.map(n=>n===e?t:n)})},text(e){return U(this,{content:e})},empty(){return U(this,{children:[],content:void 0})}};function Oe(e){let t=Object.create(De);for(let[n,r]of Object.entries(e))r!==void 0&&(t[n]=r);return t}function U(e,t){return Oe({...e,...t})}function W(e,t={},n=``,r={}){let i={};for(let[e,n]of Object.entries(t))n!=null&&(i[e]=n);return Oe({name:e,attrs:i,classes:[...new Set(Ee(n))],children:[],...r})}let ke={m:[`x`,`y`],l:[`x`,`y`],h:[`x`],v:[`y`],c:[`x1`,`y1`,`x2`,`y2`,`x`,`y`],s:[`x2`,`y2`,`x`,`y`],q:[`x1`,`y1`,`x`,`y`],t:[`x`,`y`],a:[`rx`,`ry`,`xAr`,`lAf`,`sf`,`x`,`y`],z:[]},Ae={x:`x`,x1:`x`,x2:`x`,rx:`x`,y:`y`,y1:`y`,y2:`y`,ry:`y`},je={x:`x`,x1:`x`,x2:`x`,y:`y`,y1:`y`,y2:`y`},Me={accuracy:3},Ne=/[MmZzLlHhVvCcSsQqTtAa]/y,Pe=/[-+]?(?:\d+\.?\d*|\.\d+)(?:[eE][-+]?\d+)?/y,Fe=/[01]/y,G=/[\s,]*/y;function Ie(e){let t=0,n=n=>{G.lastIndex=t,G.exec(e),n.lastIndex=G.lastIndex;let r=n.exec(e);return r&&(t=n.lastIndex),r?.[0]},r=()=>{throw Error(`Invalid SVG path at position ${t}: "${e.slice(t,t+20)}"`)},i=[],a=n(Ne)??(e.trim()?r():void 0);for(;a;){let o=ke[a.toLowerCase()],s={};for(let e of o){let t=n(e===`lAf`||e===`sf`?Fe:Pe);s[e]=t===void 0?r():+t}i.push({command:a,...s});let c=n(Ne);if(c)a=c;else{if(G.lastIndex=t,G.exec(e),t=G.lastIndex,t>=e.length)break;o.length===0&&r(),Pe.lastIndex=t,Pe.test(e)||r(),a=a===`M`?`L`:a===`m`?`l`:a}}return i}function K(e,t,n,r,i,a){let o={command:i?e.toLowerCase():e.toUpperCase(),...t,...a?{data:a}:{}};n.splice(r,0,o)}function Le(e,t){e.forEach((n,r)=>{ke[n.command.toLowerCase()].forEach((i,a)=>{t(n,i,r,a,e)})})}var q=class e{close;static join(t,n=!1,r){let i=new e(n,r);for(let e=0;e<t.length;e++){let n=t[e];for(let e=0;e<n.pathElements.length;e++)i.pathElements.push({...n.pathElements[e]})}return i.pos=i.pathElements.length,i}pathElements=[];pos=0;options;constructor(e=!1,t){this.close=e,this.options={...Me,...t}}position(e){return e===void 0?this.pos:(this.pos=Math.max(0,Math.min(this.pathElements.length,e)),this)}remove(e){return this.pathElements.splice(this.pos,e),this}move(e,t,n=!1,r){return K(`M`,{x:+e,y:+t},this.pathElements,this.pos++,n,r),this}line(e,t,n=!1,r){return K(`L`,{x:+e,y:+t},this.pathElements,this.pos++,n,r),this}curve(e,t,n,r,i,a,o=!1,s){return K(`C`,{x1:+e,y1:+t,x2:+n,y2:+r,x:+i,y:+a},this.pathElements,this.pos++,o,s),this}arc(e,t,n,r,i,a,o,s=!1,c){return K(`A`,{rx:e,ry:t,xAr:n,lAf:r,sf:i,x:a,y:o},this.pathElements,this.pos++,s,c),this}parse(e){let t=Ie(e);return t.at(-1)?.command.toUpperCase()===`Z`&&t.pop(),this.pathElements.splice(this.pos,0,...t),this.pos+=t.length,this}stringify(){let{accuracy:e}=this.options,t=10**(e||0);return this.pathElements.reduce((n,r)=>{let i=ke[r.command.toLowerCase()].map(n=>{let i=r[n];return typeof e==`number`?Math.round(i*t)/t:i});return n+r.command+i.join(`,`)},``)+(this.close?`Z`:``)}scale(e,t){return Le(this.pathElements,(n,r)=>{let i=Ae[r];i&&(n[r]*=i===`x`?e:t)}),this}translate(e,t){return Le(this.pathElements,(n,r)=>{let i=je[r];i&&(n[r]+=i===`x`?e:t)}),this}transform(e){return Le(this.pathElements,(t,n,r,i,a)=>{let o=e(t,n,r,i,a);(o||o===0)&&(t[n]=o)}),this}clone(t=!1){let n=new e(t||this.close);return n.pos=this.pos,n.pathElements=this.pathElements.slice().map(e=>({...e})),n.options={...this.options},n}splitByCommand(t){let n=t.toUpperCase(),r=[[]];return this.pathElements.forEach(e=>{e.command.toUpperCase()===n&&r[r.length-1].length!==0&&r.push([]),r[r.length-1].push({...e})}),r.map((t,n)=>{let i=new e(this.close&&n===r.length-1,this.options);return i.pathElements=t,i.pos=t.length,i})}};function J(e){let t={fillHoles:!1,...e};return function(e,n){let r=new q,i=!0;for(let a=0;a<e.length;a+=2){let o=e[a],s=e[a+1],c=n[a/2];A(c.value)===void 0?t.fillHoles||(i=!0):(i?r.move(o,s,!1,c):r.line(o,s,!1,c),i=!1)}return r}}function Re(e){let{pathCoordinates:t,valueData:n}=e,r=[],i=0;for(let e=0;e<t.length;e+=2){let a=e>=2?t[e]-t[e-2]:0,o=Math.sign(a);e===0||o===0||i!==0&&o!==i?(r.push({pathCoordinates:[],valueData:[]}),i=0):i=o;let s=r[r.length-1];s.pathCoordinates.push(t[e],t[e+1]),s.valueData.push(n[e/2])}return r}function ze(e){let t={fillHoles:!1,...e};return function e(n,r){let i=z(n,r,{fillHoles:t.fillHoles}).flatMap(Re);if(!i.length)return J()([],[]);if(i.length>1)return q.join(i.map(t=>e(t.pathCoordinates,t.valueData)));{if(n=i[0].pathCoordinates,r=i[0].valueData,n.length<=4)return J()(n,r);let e=[],t=[],a=n.length/2,o=[],s=[],c=[],l=[];for(let r=0;r<a;r++)e[r]=n[r*2],t[r]=n[r*2+1];for(let n=0;n<a-1;n++)c[n]=t[n+1]-t[n],l[n]=e[n+1]-e[n],s[n]=c[n]/l[n];o[0]=s[0],o[a-1]=s[a-2];for(let e=1;e<a-1;e++)s[e]===0||s[e-1]===0||s[e-1]>0!=s[e]>0?o[e]=0:(o[e]=3*(l[e-1]+l[e])/((2*l[e]+l[e-1])/s[e-1]+(l[e]+2*l[e-1])/s[e]),isFinite(o[e])||(o[e]=0));let u=new q().move(e[0],t[0],!1,r[0]);for(let n=0;n<a-1;n++)u.curve(e[n]+l[n]/3,t[n]+o[n]*l[n]/3,e[n+1]-l[n]/3,t[n+1]-o[n+1]*l[n]/3,e[n+1],t[n+1],!1,r[n+1]);return u}}}function Be(e){return typeof e==`function`?e:e?ze():J()}function Ve(e,t){return t===`center`&&e.kind===`step`&&!e.stretch?(e.step??0)/2:0}function He(e,t,n,r,i,a=()=>void 0){let o=[],s=[];return e.forEach((i,c)=>{o.push(n.x1+r+t.x.project(i,c,e),n.y1-t.y.project(i,c,e)),s.push({value:i,valueIndex:c,meta:a(c)})}),i(o,s)}function Ue(e){let t=new q,n=e.pathElements;for(let e=n.length-1;e>=0;e--){let r=n[e],i=n[e-1];if((e===n.length-1||n[e+1].command===`M`)&&t.move(r.x,r.y,!1,r.data),r.command!==`M`&&i){if(r.command===`C`){let e=r;t.curve(e.x2,e.y2,e.x1,e.y1,i.x,i.y,!1,i.data)}else if(r.command===`L`)t.line(i.x,i.y,!1,i.data);else throw Error(`Chartist: can't reverse a path with "${r.command}" commands`)}}return t}let We={lineSmooth:!0,showPoint:!0,showLine:!0,showArea:!1,areaBase:0},Ge={series:`ct-series`,line:`ct-line`,point:`ct-point`,area:`ct-area`};function Ke(e){return{name:e.name,className:e.className,meta:e.meta,data:e.values}}function Y(e,t,n){let r=t[n]??We[n];if(b(e,`name`)&&e.name&&t.overrides?.[e.name]){let i=t.overrides[e.name][n];return i===void 0?r:i}return r}function qe(e={}){let t={...Ge,...e.classNames};return{type:`line`,coordinates:[`cartesian`],axes:{x:e.x,y:e.y},series:e.series,compose({data:n,area:r,axes:i,normalized:a,seriesIndexes:o}){let{x:c,y:l}=i;if(!c||!l||!a)throw Error(`Layer "line" needs an x and a y axis`);if(o&&e.reverseData)throw Error(`Layer "line": a series selection can't be combined with reverseData`);let u=Ve(c,e.align),d=n.series.map((e,t)=>t);return e.reverseData&&d.reverse(),d.map((i,d)=>{let f=o?.[i]??d,p=Ke(n.series[i]),m=a.series[d],h=b(p,`name`)&&p.name,g=b(p,`className`)&&p.className,_=b(p,`meta`)?p.meta:void 0,v=Be(Y(p,e,`lineSmooth`)),y=He(m,{x:c,y:l},r,u,v,e=>E(p,e)),S={series:p,seriesIndex:f,meta:_},C=[];if(Y(p,e,`showPoint`)&&(C=y.pathElements.map(e=>{let{data:n}=e,r=n?.value,i=b(r,`x`)?r.x:void 0,a=b(r,`y`)?r.y:void 0;return W(`line`,{x1:e.x,y1:e.y,x2:e.x+.01,y2:e.y,...n&&{"ct:value":[i,a].filter(x).join(`,`),"ct:meta":B(n.meta)}},t.point,{role:`point`,ctx:{...S,valueIndex:n?.valueIndex||0,value:r,meta:n?.meta,x:e.x,y:e.y}})})),Y(p,e,`showLine`)&&(C=[W(`path`,{d:y.stringify()},t.line,{role:`line`,ctx:{...S,values:m,path:y.clone(),smoothing:v}}),...C]),Y(p,e,`showArea`)&&l.range){let n=Math.max(Math.min(Y(p,e,`areaBase`),l.range.max),l.range.min),i=r.y1-l.project(n);y.splitByCommand(`M`).filter(e=>e.pathElements.length>1).map(e=>{let t=e.pathElements[0],n=e.pathElements[e.pathElements.length-1];return e.clone(!0).position(0).remove(1).move(t.x,i).line(t.x,t.y,!1,t.data).position(e.pathElements.length+1).line(n.x,i)}).forEach(e=>{C=[W(`path`,{d:e.stringify()},t.area,{role:`area`,ctx:{...S,values:m,path:e.clone(),smoothing:v}}),...C]})}return U(W(`g`,{"ct:series-name":h||void 0,"ct:meta":_?B(_):void 0},`${t.series} ${g||`${t.series}-${s(f)}`}`,{role:`series`,ctx:S}),{children:C})})}}}let Je=e=>e===`top`||e===`bottom`?`x`:`y`;function Ye(e){if(e.axes)return e.axes;let t=[];return e.x&&t.push({...e.x,id:`x`,side:e.x.position===`start`?`top`:`bottom`}),e.y&&t.push({...e.y,id:`y`,side:e.y.position===`end`?`right`:`left`}),t}function Xe(e){let t={top:0,bottom:0,left:0,right:0};return e.map(e=>{let n=t[e.side];return t[e.side]+=e.offset||0,n})}function Ze(e,t){return e===`x`?t.x2-t.x1:t.y1-t.y2}function Qe(e,t,n,r){let i=Array.isArray(r)?r:Ye(r),a={top:0,bottom:0,left:0,right:0};for(let e of i)a[e.side]+=e.offset||0;let o=Math.max(e,a.left+a.right+n.left+n.right),s=Math.max(t,a.top+a.bottom+n.top+n.bottom),c=n.top+a.top,l=Math.max(s-n.bottom-a.bottom,c+1),u=n.left+a.left,d=Math.max(o-n.right-a.right,u+1);return{width:o,height:s,area:{x1:u,y1:l,x2:d,y2:c,width:d-u,height:l-c}}}let X={x:{pos:`x`,len:`width`,dir:`horizontal`,rectStart:`x1`,rectEnd:`x2`,rectOffset:`y2`},y:{pos:`y`,len:`height`,dir:`vertical`,rectStart:`y2`,rectEnd:`y1`,rectOffset:`x1`}};var $e=class{units;chartRect;ticks;counterUnits;range;axisLength;gridOffset;constructor(e,t,n){this.units=e,this.chartRect=t,this.ticks=n,this.counterUnits=e===X.x?X.y:X.x,this.axisLength=t[this.units.rectEnd]-t[this.units.rectStart],this.gridOffset=t[this.units.rectOffset]}createGridAndLabels(e,t,n,r){let i=this.units.pos===`x`?n.axisX:n.axisY,a=this.ticks.map((e,t)=>this.projectValue(e,t)),o=this.ticks.map(i.labelInterpolationFnc);a.forEach((s,c)=>{let l=o[c],u={x:0,y:0},d;d=c+1<a.length?a[c+1]-s:Math.max(this.axisLength-s,this.axisLength/this.ticks.length),!(l!==``&&S(l))&&(this.units.pos===`x`?(s=this.chartRect.x1+s,u.x=n.axisX.labelOffset.x,u.y=n.axisX.position===`start`?this.chartRect.padding.top+n.axisX.labelOffset.y+5:this.chartRect.y1+n.axisX.labelOffset.y+5):(s=this.chartRect.y1-s,u.y=n.axisY.labelOffset.y-d,u.x=n.axisY.position===`start`?this.chartRect.padding.left+n.axisY.labelOffset.x:this.chartRect.x2+n.axisY.labelOffset.x+10),i.showGrid&&ye(s,c,this,this.gridOffset,this.chartRect[this.counterUnits.len](),e,[n.classNames.grid,n.classNames[this.units.dir]],r),i.showLabel&&xe(s,d,c,l,this,i.offset,u,t,[n.classNames.label,n.classNames[this.units.dir],i.position===`start`?n.classNames[i.position]:n.classNames.end],r))})}};function et(e){return typeof e==`function`&&typeof e.prototype?.projectValue==`function`}function tt(e){return{kind:`legacy`,create({dimension:t,series:n,area:r,options:i,extent:a}){let o={x1:r.x1,x2:r.x2,y1:r.y1,y2:r.y2,padding:{top:0,right:0,bottom:0,left:0},width:()=>r.x2-r.x1,height:()=>r.y1-r.y2},s=a&&!i.highLow?{...i,highLow:M(n,i,t,a)}:i,c=new e(X[t],n,o,s);return{dimension:t,kind:typeof c.stretch==`boolean`?`step`:`legacy`,stretch:c.stretch,step:c.stepLength,ticks:c.ticks,range:c.range,length:Ze(t,r),project:(e,t,n)=>c.projectValue(e,t,n)}}}}function nt(e,t,n){let r=t=>e.find(e=>Je(e.side)===t)?.id,i=new Set(e.map(e=>e.id));return t.map(e=>{for(let t of[e.axes?.x,e.axes?.y])if(t!==void 0&&!i.has(t))throw Error(`Chartist: unknown axis "${t}" in layer "${e.type}"`);let t=e.series?.map(t=>{let r=typeof t==`number`?t:n.series.findIndex(e=>e.name===t);if(r<0||r>=n.series.length)throw Error(`Chartist: unknown series ${JSON.stringify(t)} in layer "${e.type}"`);return r});return{x:e.axes?.x??r(`x`),y:e.axes?.y??r(`y`),series:t}})}function rt(e,t){let n=Array.from({length:t},(e,t)=>t),r=/* @__PURE__ */ new Map;for(let t of e)if(t.series?.length!==0)for(let e of[t.x,t.y]){if(e===void 0)continue;let i=r.get(e)??/* @__PURE__ */ new Set;(t.series??n).forEach(e=>i.add(e)),r.set(e,i)}return new Map([...r].map(([e,t])=>[e,[...t].sort((e,t)=>e-t)]))}function it(e,t=!1,n={}){let r={labels:e.labels,series:e.series.map(e=>({name:e.name,className:e.className,meta:e.meta,data:e.values}))},i=N(e.flat?{labels:e.labels,series:e.series[0].values}:r,t,n.multi??!0,n.distributed);return{labels:i.labels,series:i.series}}function at(e,t,n,r,i){let a=t=>e.find(e=>Je(e.side)===t)?.id,o=/* @__PURE__ */ new Map;return t.forEach((e,t)=>{if(!e.extent)return;let s=n[t]??{},c=r.flat?void 0:s.series,l=e.extent({normalized:c?{...i,series:c.map(e=>i.series[e])}:i,axes:{x:s.x??a(`x`),y:s.y??a(`y`)}});for(let[e,t]of Object.entries(l??{})){let n=o.get(e);o.set(e,n?{low:Math.min(n.low,t.low),high:Math.max(n.high,t.high)}:t)}}),o}function ot(e,t,n,r,i,a){let{type:o,id:s,side:c,...l}=e;return{...(et(o)?tt(o):o).create({dimension:Je(c),series:n,labels:r.labels,area:i,options:l,...a&&{extent:a}}),id:s,side:c,inset:t,options:l}}function st(e,t){let n=Ye(e),r=Xe(n);return{config:e,definitions:n,area:(e,t,r)=>Qe(e,t,r,n),create(i,a,o,s){let c=o&&t?.(o,i.series.length),l=it(i,e.reverseData,e.normalize),u=s?at(n,s,o??[],i,l):void 0,d=l.series,f=n.map((e,t)=>{let n=c?.get(e.id),o=n&&!i.flat?n.map(e=>d[e]):d;return ot(e,r[t],o,l,a,u?.get(e.id))});return{normalized:l,axes:{x:f.find(e=>e.dimension===`x`),y:f.find(e=>e.dimension===`y`),all:f}}}}}function ct(e,t={}){let n=(e,t)=>({...e,offset:e.offset??(t===`x`?30:40)}),r=Array.isArray(e)?{...t,axes:e}:{...t,...e},i=st(r.axes?{...r,axes:r.axes.map(e=>n(e,Je(e.side)))}:{...r,x:r.x&&n(r.x,`x`),y:r.y&&n(r.y,`y`)},rt),a=/* @__PURE__ */ new Set;for(let{id:e}of i.definitions){if(a.has(e))throw Error(`Chartist: the axis id "${e}" is used twice`);a.add(e)}return{...i,bind:(e,t)=>nt(i.definitions,e,t)}}let lt=(e,t)=>Number(A(e,t));function ut(){return{kind:`step`,create({dimension:e,area:t,labels:n,options:r}){let i=r.ticks??[...n],a=Ze(e,t),o=a/Math.max(1,i.length-+!!r.stretch);return{dimension:e,kind:`step`,stretch:!!r.stretch,step:o,ticks:i,length:a,project:(e,t=0)=>o*t}}}}function dt(){return{kind:`autoScale`,create({dimension:e,series:t,area:n,options:r,extent:i}){let a=Ze(e,n),o=m(a,r.highLow||M(t,r,e,i),r.scaleMinSpace||20,r.onlyInteger);return{dimension:e,kind:`autoScale`,ticks:o.values,range:{min:o.min,max:o.max},length:a,project:t=>a*(lt(t,e)-o.min)/o.range}}}}function ft(){return{kind:`fixedScale`,create({dimension:e,series:t,area:n,options:r,extent:i}){let a=Ze(e,n),o=r.highLow||M(t,r,e,i),s=r.divisor||1,c=(r.ticks||_(s+1,e=>o.low+(o.high-o.low)/s*e)).sort((e,t)=>Number(e)-Number(t)),l={min:o.low,max:o.high};return{dimension:e,kind:`fixedScale`,ticks:c,range:l,length:a,project:t=>a*(lt(t,e)-l.min)/(l.max-l.min)}}}}let pt={axisX:{offset:30,position:`end`,labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:g,type:void 0},axisY:{offset:40,position:`start`,labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:g,type:void 0,scaleMinSpace:20,onlyInteger:!1},width:void 0,height:void 0,showLine:!0,showPoint:!0,showArea:!1,areaBase:0,lineSmooth:!0,showGridBackground:!1,low:void 0,high:void 0,chartPadding:{top:15,right:15,bottom:5,left:10},fullWidth:!1,reverseData:!1,classNames:{chart:`ct-chart-line`,label:`ct-label`,labelGroup:`ct-labels`,series:`ct-series`,line:`ct-line`,point:`ct-point`,area:`ct-area`,grid:`ct-grid`,gridGroup:`ct-grids`,gridBackground:`ct-grid-background`,vertical:`ct-vertical`,horizontal:`ct-horizontal`,start:`ct-start`,end:`ct-end`}};function mt(e,t){return e.filter(e=>t?e.listener!==t:e.owner!==`user`)}function ht(){let e=/* @__PURE__ */ new Map,t=[];function n(e,n){t.forEach(({listener:t})=>t(e,n))}return{on(n,r,i=`user`){n===`*`?t=[...t,{listener:r,owner:i}]:e.set(n,[...e.get(n)??[],{listener:r,owner:i}])},off(n,r){n===`*`?t=mt(t,r):e.set(n,mt(e.get(n)??[],r))},transform(t,r){let i=r;for(let{listener:n}of e.get(t)??[]){let e=n(i);if(e===null){i=null;break}e!==void 0&&(i=e)}return n(t,i),i},notify(t,r){let i=(e.get(t)??[]).map(({listener:e})=>e(r));return n(t,r),i},clear(){e.clear(),t=[]}}}function gt(e,t){return(t.role===void 0||e.role===t.role)&&(t.key===void 0||e.key===t.key)&&(t.seriesIndex===void 0||e.ctx?.seriesIndex===t.seriesIndex)&&(t.valueIndex===void 0||e.ctx?.valueIndex===t.valueIndex)}function _t(e,t={}){let n=[],r=e=>{gt(e,t)&&n.push(e),e.children.forEach(r)};return r(e),n}function vt(e,t){let n=e.children,r=!1,i=[];for(let e of n){let n=vt(e,t);n!==e&&(r=!0),n&&i.push(n)}r&&(n=i);let a=r?U(e,{children:n}):e,o=t(a);return o===void 0?a:o}function yt(e,t){return vt(e,e=>{let n=e.ctx?.seriesIndex;if(e.key!==void 0||n===void 0)return;let r=e.ctx?.valueIndex;return U(e,{key:r===void 0?`${t}/${n}`:`${t}/${n}/${r}`})})}let bt={top:15,right:15,bottom:5,left:10};function xt(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:{...bt,...e}}function St(e,t){if(e==null)throw Error(`Chartist: a "${t}" listener returned null`);return e}function Ct(e,t){let n={data:t.data,layers:t.layers,coordinates:t.coordinates??`cartesian`,padding:xt(t.padding),axes:t.axes,width:t.width,height:t.height,viewBox:t.viewBox,className:t.className,labels:t.labels,preset:t.preset},r=St(e.transform(`resolve`,{config:n}),`resolve`).config;for(let e of r.layers)if(!e.coordinates.includes(r.coordinates))throw Error(`Layer "${e.type}" does not support ${r.coordinates} coordinates`);return r}function wt(e){if(Array.isArray(e))return{values:e};if(e&&typeof e==`object`&&`data`in e){let{data:t,name:n,className:r,meta:i}=e;return{name:n,className:r,meta:i,values:t}}return{values:[e]}}function Tt(e,t){let{labels:n=[],series:r}=t.data,i=r.every(e=>!Array.isArray(e)&&!(e&&typeof e==`object`&&`data`in e))&&r.length?{labels:n,series:[{values:r}],flat:!0}:{labels:n,series:r.map(wt)};return St(e.transform(`prepare`,{data:i}),`prepare`).data}function Et(e){let{area:t}=e;if(![e.width,e.height,t.x1,t.x2,t.y1,t.y2,t.width,t.height].every(Number.isFinite)||t.width<0||t.height<0)throw Error(`Chartist: invalid layout after the "layout" phase (area ${JSON.stringify(t)})`)}function Dt(e,t,n,r){let{padding:i}=t,a;if(t.axes)a={...t.axes.area(n,r,i),padding:i};else{let e=Math.max(n,i.left+i.right),t=Math.max(r,i.top+i.bottom),o=i.left,s=i.top,c=Math.max(e-i.right,o+1),l=Math.max(t-i.bottom,s+1);a={width:e,height:t,padding:i,area:{x1:o,y1:l,x2:c,y2:s,width:c-o,height:l-s}}}let o=St(e.transform(`layout`,a),`layout`);return Et(o),o}function Ot(e,t,n,r,i,a={},o,s=t.padding,c=[],l=`html`,u,d=[]){let f=new Map((a.all??[]).map(e=>[e.id,e])),p=t.layers.map((e,p)=>{let m=c[p]??{},h=n.flat?void 0:m.series,g=h?{...n,series:h.map(e=>n.series[e])}:n,_=h&&o?{...o,series:h.map(e=>o.series[e])}:o,v={data:g,area:r,padding:s,layerIndex:p,coordinates:t.coordinates,measureText:i,axes:{x:m.x&&f.get(m.x)||a.x,y:m.y&&f.get(m.y)||a.y,all:a.all},normalized:_,seriesIndexes:h,labels:l,measureStyle:u},y=e.compose(v).map(e=>yt(e,p));return d.push({nodes:[],context:v}),{layer:e,context:v,nodes:y,layerIndex:p}}),m=p.flatMap(({layer:e,context:t})=>e.refine?[{refine:e.refine.bind(e),context:t}]:[]),h=e=>m.reduce((e,{refine:t,context:n})=>{let r=t(e,n);return r?U(r,{key:e.key,children:e.children}):e},e),g=[];for(let{nodes:t,layerIndex:n}of p)for(let r of t){let t=vt(r,t=>t.role===void 0?void 0:e.transform(`compose`,m.length>0?h(t):t));t&&(d[n].nodes.push(t),g.push(t))}return g}function kt(e,t,n,r){let i=W(`svg`,{width:r.width,height:r.height,viewBox:t.viewBox?`0 0 ${t.viewBox.width} ${t.viewBox.height}`:void 0},t.className),a=n.length?U(i,{children:n}):i;return St(e.transform(`scene`,{scene:a}),`scene`).scene}function At(e,t,n,r,i=`resolve`){let a=i===`layout`&&r,o=a?r.config:Ct(e,t),s=a?r.data:Tt(e,o),c=Dt(e,o,n.width,n.height),l=o.axes?.bind?.(o.layers,s)??[],{axes:u={},normalized:d=void 0}=o.axes?.create(s,c.area,l,o.layers)??{},{className:f}=o,p=e=>f&&e?(t,n)=>e(t,{rootClass:f,...n}):e,m=[],h=p(n.measureText),g=p(n.measureStyle);return{config:o,data:s,layout:c,axes:u,normalized:d,scene:kt(e,o,Ot(e,o,s,c.area,h,u,d,c.padding,l,o.labels??n.labels??`html`,g,m),n.rootSize??{width:o.width??c.width,height:o.height??c.height}),drawn:m}}let jt=.85,Z=(e,t={})=>{let n=t.fontSize??12;return{width:e.length*n*.6,height:n*1.2,fontSize:n}};function Mt(e,t,n){let i=t.indexOf(`:`),a=i>0?t.slice(0,i):``;t===`style`?te(e,String(n)):a&&a!==`xmlns`&&r[a]?e.setAttributeNS(r[a],t,String(n)):e.setAttribute(t,String(n))}function Nt(e,t,n={}){let{html:i=!1,created:a}=n,o=t.createElementNS(i?r.xhtml:r.svg,e.name);e.classes.length&&o.setAttribute(`class`,e.classes.join(` `));for(let[t,n]of Object.entries(e.attrs))Mt(o,t,n);e.content&&o.appendChild(t.createTextNode(e.content));let s=i||e.name!==`foreignObject`?n:{...n,html:!0};for(let n of e.children)o.appendChild(Nt(n,t,s));return a?.(e,o),o}function Pt(e){Array.from(e.querySelectorAll(`svg`)).filter(e=>e.getAttributeNS(r.xmlns,`ct`)).forEach(e=>e.remove())}function Ft(e,t,n,i){let a=e.createElementNS(r.svg,`svg`);te(a,`position: absolute; visibility: hidden; width: 0; height: 0;`),n.rootClass&&a.setAttribute(`class`,n.rootClass);let o=e.createElementNS(r.svg,t);n.classes?.length&&o.setAttribute(`class`,n.classes.join(` `)),a.appendChild(o),(n.container??e.body).appendChild(a);try{return i(o)}finally{a.remove()}}function It(e){return(t,n={})=>Ft(e,`text`,n,r=>{if(n.fontSize&&r.setAttribute(`font-size`,String(n.fontSize)),r.textContent=t,typeof r.getBBox!=`function`)return Z(t,n);let i=r.getBBox(),a=parseFloat(e.defaultView?.getComputedStyle(r).fontSize??``);return i.width||i.height?{width:i.width,height:i.height,...a>0&&{fontSize:a}}:Z(t,n)})}function Lt(){return{labels:`html`,render(e,t){let n=t.ownerDocument,i=/* @__PURE__ */ new WeakMap,a=Nt(e,n,{created:(e,t)=>i.set(e,t)});return a.setAttributeNS(r.xmlns,`xmlns:ct`,r.ct),Pt(t),t.appendChild(a),{svg:a,elementOf:e=>i.get(e),remove:()=>a.remove()}},measureText(e,t){let n=t?.container?.ownerDocument??globalThis.document;return n?It(n)(e,t):Z(e,t)},measureStyle(e,t={}){let n=t.container?.ownerDocument??globalThis.document,r=n?.defaultView;return r&&Ft(n,`path`,t,t=>r.getComputedStyle(t).getPropertyValue(e))||void 0}}}function Rt(e,t,n){n.push({op:t,node:e}),e.children.forEach(e=>Rt(e,t,n))}function zt(e,t){let n=[];return e&&Rt(e,`remove`,n),Rt(t,`add`,n),n}let Bt=Symbol.for(`chartist.replacesOutput`),Vt=e=>e[Bt]===!0;function Ht(e){let t=e.map(e=>e.chartType??e.type);return t.includes(`bar`)?`ct-chart-bar`:t.includes(`donut`)?`ct-chart-donut`:t.includes(`pie`)?`ct-chart-pie`:`ct-chart-line`}function Ut(e){return e.className===void 0?{...e,className:Ht(e.layers)}:e}function Wt(e,t){return[e,t]}let Q=e=>e,Gt=/* @__PURE__ */ new Set([`resolve`,`prepare`,`layout`,`compose`,`scene`,`render`,`mount`]),Kt=/* @__PURE__ */ new Set([`data`,`optionsChanged`,`draw`,`created`,`animationBegin`,`animationEnd`]),qt=/* @__PURE__ */ new Set;function Jt(e){console.warn(e)}function Yt(e){return e.map(e=>{let[t,n]=Array.isArray(e)?e:[e];if(typeof t==`function`)throw Error(`Chartist: the plugin "${t.name||`anonymous`}" is a 1.x plugin (a plain function). chart() and the preset functions accept only v2 plugins; convert it with fromLegacyPlugin() from chartist/compat.`);return[t,n]})}let Xt=/* @__PURE__ */ new WeakMap,Zt=()=>({owner:`user`});function Qt(e,t,n){let r=e.owner;e.owner=t;try{n()}finally{e.owner=r}}function $t(e,t){let n=Xt.get(e);n?Qt(n,`user`,t):t()}function en(e,t=[],n,r){Xt.set(e,r);let i=Yt(t);for(let[e]of i)e.provides?.forEach(e=>n.add(e));let a=[];for(let[t,n]of i)Qt(r,`plugin`,()=>{let r=t.install(e,n);typeof r==`function`&&a.push(r)});return{plugins:i.map(([e])=>e),cleanups:a}}function tn(e){let t=[];for(let n of e)try{n()}catch(e){t.push(e)}if(t.length)throw t[0]}function nn(e,t={}){for(let[n,r]of Object.entries(t))r&&Q(e).on(n,r)}function rn(e,t,n,r){return{on:((i,a)=>(Kt.has(i)&&!n.has(i)&&!qt.has(i)&&(qt.add(i),Jt(`Chartist: "${i}" is a 1.x event. v2 charts emit it only with the compat plugin: add compat from chartist/compat to plugins (see the migration guide).`)),e.on(i,a,r.owner),t())),off:((n,r)=>(e.off(n,r),t())),emit(t,n){if(Gt.has(t))throw Error(`Chartist: "${t}" is a phase event; plugins can't emit phase events`);e.notify(t,n)}}}function an(e){if(typeof e==`number`)return e;let t=e?.match(/^\s*(\d+(?:\.\d+)?)(?:px)?\s*$/);return t?Number(t[1]):void 0}function on(e){let t=typeof e==`string`?document.querySelector(e):e;if(!t)throw Error(`Target element ${typeof e==`string`?`"${e}"`:``} is not found`);return t}function sn(e,t){let n=on(e),r=ht(),i=Zt(),a=t.renderer??Lt(),o=a.measureText,s=!1,c=(e,t)=>(s=!0,o?o(e,{container:n,...t}):Z(e,t)),l=a.measureStyle,u=l&&((e,t)=>l(e,{container:n,...t})),d=t,f=t,p,m,h,g=[],_={plugins:[],cleanups:[]},v,y,b=!1,x=!0,S=/* @__PURE__ */ new Set,C=n.ownerDocument.defaultView,w=n.ownerDocument.fonts,T=()=>{!b&&m&&s&&P(`layout`,`fonts`)},E,D=!1;function O(){E?.removeAttribute(`viewBox`),E=void 0,D&&!f.viewBox&&m&&h?.elementOf&&(E=h.elementOf(m.scene),E?.setAttribute(`viewBox`,`0 0 ${m.layout.width} ${m.layout.height}`))}let k=()=>{D=!0,O()},A=()=>{D=!1,O()};function j(){let e=String(f.width??`100%`),t=String(f.height??`100%`),r=n.ownerDocument.createElementNS(`http://www.w3.org/2000/svg`,`svg`);r.setAttribute(`width`,e),r.setAttribute(`height`,t);let i=e=>typeof e==`number`?`px`:``;te(r,`width: ${e}${i(f.width)}; height: ${t}${i(f.height)};`),n.appendChild(r);let a={width:r.clientWidth,height:r.clientHeight};return r.remove(),a}function M(){let e=j();return{width:f.viewBox?.width||e.width||(an(f.width)??n.clientWidth),height:f.viewBox?.height||e.height||(an(f.height)??n.clientHeight)}}function N(e,t,n){for(let r of _.plugins){let i=r.keyframes?.(e,t,n);if(i)return i}if(!m)return;if(!v){let e=/* @__PURE__ */ new WeakMap,t=(n,r)=>{e.set(n,r),n.children.forEach(e=>t(e,r))};m.drawn.forEach(({nodes:e},n)=>e.forEach(e=>t(e,n))),v=e}let r=v.get(t);return r===void 0?void 0:m.config.layers[r].keyframes?.(e,t,m.drawn[r].context,n)}function P(e,t){let{width:i,height:o}=M();s=!1;let l=m,d=h;m=At(r,Ut(f),{width:i,height:o,measureText:c,measureStyle:u,labels:a.labels??`html`,rootSize:{width:f.width??`100%`,height:f.height??`100%`}},m,e);let{scene:p}=m;v=void 0;let _=g;g=[],tn(_);let y=l&&d&&!Vt(R)?{previous:d,previousScene:l.scene,cause:t,labels:m.data.labels,previousLabels:l.data.labels,keyframes:N}:void 0,b=a.render(p,n,y);h=b,D&&O();let x={scene:p,output:b,cause:t,changes:y&&b.patched&&b.changes?b.changes:zt(l?.scene,p),previous:l?.scene};r.notify(`render`,x);let S=e=>b.elementOf?.(e)??d?.elementOf?.(e);g=r.notify(`mount`,{...x,elementOf:S,animation:b.animation}).filter(e=>typeof e==`function`)}function F(){let e=d.responsive?.entries;f=p?p.matching.reduce((t,n)=>({...t,...e[n][1]}),d):d}function I(){let e=f;F(),R.emit(`responsive`,{previousConfig:e,currentConfig:f}),P(`resolve`,`responsive`)}function L(){p?.stop(),p=d.responsive?.watch(n,()=>{b||I()}),F()}let R={container:n,update(e){return d={...d,...e},`responsive`in e?L():F(),P(`resolve`,`update`),R},detach(){return x=!1,C?.removeEventListener(`beforeprint`,k),C?.removeEventListener(`afterprint`,A),A(),y?.disconnect(),y=void 0,w?.removeEventListener(`loadingdone`,T),p?.stop(),p=void 0,R},destroy(){if(b)return;b=!0,R.detach();let e=g;g=[];try{tn(e)}finally{h?.remove?.(),r.clear(),tn([..._.cleanups].reverse())}},...rn(r,()=>R,S,i)};w?.addEventListener(`loadingdone`,T),C?.addEventListener(`beforeprint`,k),C?.addEventListener(`afterprint`,A);let z=C?.ResizeObserver??globalThis.ResizeObserver;return z!==void 0&&(y=new z(()=>{if(b||!m)return;if(p?.check()){I();return}let{width:e,height:t}=M();(e!==m.layout.width||t!==m.layout.height)&&P(`layout`,`resize`)}),y.observe(n)),_=en(R,t.plugins,S,i),nn(R,t.on),x?L():F(),P(`resolve`,`create`),R}let cn={x:{pos:`x`,len:`width`,counterPos:`y`,counterLen:`height`,dir:`horizontal`},y:{pos:`y`,len:`height`,counterPos:`x`,counterLen:`width`,dir:`vertical`}};function ln(e,t){let{area:n,padding:r,classNames:i}=t,a=cn[e.dimension],o=t.options??(e.dimension===`x`?t.axisX:t.axisY),s=t.place,c=e.ticks.map((t,n)=>e.project(t,n)),l=e.ticks.map(o.labelTransform),u=e.dimension===`x`?n.y2:n.x1,d=e.dimension===`x`?n.height:n.width,f=[],p=[];return c.forEach((m,h)=>{let g=l[h],_=h+1<c.length?c[h+1]-m:Math.max(e.length-m,e.length/e.ticks.length);if(g!==``&&S(g))return;let v,y={x:0,y:0};if(s)({position:v,labelOffset:y}=s(e,m,_,o,n));else if(e.dimension===`x`){let e=t.axisX;v=n.x1+m,y.x=e.labelOffset.x,y.y=e.position===`start`?r.top+e.labelOffset.y+5:n.y1+e.labelOffset.y+5}else{let e=t.axisY;v=n.y1-m,y.y=e.labelOffset.y-_,y.x=e.position===`start`?r.left+e.labelOffset.x:n.x2+e.labelOffset.x+10}if(o.showGrid){let t={[`${a.pos}1`]:v,[`${a.pos}2`]:v,[`${a.counterPos}1`]:u,[`${a.counterPos}2`]:u+d};f.push(W(`line`,t,`${i.grid} ${i[a.dir]}`,{role:`grid`,ctx:{axis:e,index:h,...t}}))}if(o.showLabel){let n={[a.pos]:v+y[a.pos],[a.counterPos]:y[a.counterPos],[a.len]:_,[a.counterLen]:Math.max(0,o.offset-10)},r=t.atStart??o.position===`start`,s=[i.label,i[a.dir],r?i.start:i.end].join(` `),c={kind:`axis`,axis:e,index:h,text:g,...n};if(t.svgLabel){let i=t.svgLabel(String(g),n,s,e.dimension,r);i&&p.push(U(i,{role:`label`,ctx:c}));return}let l=W(`span`,{style:`${a.len}: ${Math.round(n[a.len])}px; ${a.counterLen}: ${Math.round(n[a.counterLen])}px;`},s).text(String(g));p.push(W(`foreignObject`,{style:`overflow: visible;`,...n},``,{role:`label`,ctx:c}).append(l))}}),{grids:f,labels:p}}function un(e,t){return W(`rect`,{x:e.x1,y:e.y2,width:e.width,height:e.height},t,{role:`gridBackground`})}function dn(e){return e.labelTransform??e.labelInterpolationFnc??(e=>e)}function fn(e,t,n){return t===`x`?{vertical:n?`bottom`:`top`,horizontal:e===`bar`?`middle`:`start`}:{vertical:e===`horizontalBar`?`middle`:`bottom`,horizontal:n?`end`:`start`}}function pn(e,t,n){let r=[],i=``;for(let a of e.split(/\s+/).filter(Boolean)){let e=i?`${i} ${a}`:a;i&&n(e)>t?(r.push(i),i=a):i=e}return i&&r.push(i),r}function mn(e,t,n={}){return(r,i,a,o,s)=>{let c=a.split(` `),l=t=>e(t,{classes:c}),u=pn(r,Math.round(i.width),e=>l(e).width);if(!u.length)return;let d=l(u[0]),f=d.fontSize??d.height/1.2,p={...fn(t,o,s),...n},m=u.length*f,h=p.vertical===`top`?i.y:p.vertical===`middle`?i.y+(i.height-m)/2:i.y+i.height-m,g=p.horizontal===`start`?i.x:p.horizontal===`middle`?i.x+i.width/2:i.x+i.width,_=e=>Math.round(e*100)/100;return U(W(`text`,{x:_(g),y:_(h+jt*f),"text-anchor":p.horizontal},a),{children:u.map((e,t)=>W(`tspan`,{x:_(g),y:_(h+(t+jt)*f)}).text(e))})}}function hn(e){return Object.freeze({type:`container`,query:e})}function gn(e){return typeof e==`object`&&!!e&&e.type===`container`}let _n=!1;function vn(){_n||(_n=!0,console.warn(`Chartist: container() needs Element.matchContainer(); load the match-container polyfill. Container entries are ignored.`))}let yn=(e,t)=>e.length===t.length&&e.every((e,n)=>e===t[n]);function bn(e,t,n,r=!1){let i=t?.ownerDocument.defaultView??(typeof window<`u`?window:void 0),a,o=e.map(([e])=>{if(!gn(e))return i?.matchMedia?.(e);if(!t)return;let n=t.ownerDocument.createElement(`span`);if(typeof n.matchContainer!=`function`)vn();else{a||(a=t.appendChild(n),a.className=`ct-probe`,a.setAttribute(`aria-hidden`,`true`),a.style.cssText=`position:absolute;width:0;height:0;overflow:hidden`);try{return a.matchContainer(e.query)}catch(t){throw a.remove(),Error(`Chartist: invalid container condition "${e.query}": ${t.message}`)}}}),s=()=>o.flatMap((e,t)=>e?.matches?[t]:[]),c={matching:s(),check(){let e=s();return!yn(e,c.matching)&&(c.matching=e,!0)},stop(){o.forEach(e=>e?.removeEventListener?.(`change`,l)),d?.disconnect(),a?.remove()}};function l(){c.check()&&n()}o.forEach(e=>e?.addEventListener?.(`change`,l));let u=i?.ResizeObserver??globalThis.ResizeObserver,d=r&&a&&u!==void 0?new u(l):void 0;return d&&t&&d.observe(t),c}function xn(e){return{entries:e,watch:(t,n)=>bn(e,t,n)}}function Sn(e,t,n,r){return n.reduce((e,n)=>r(e,t[n][1]),e)}let Cn=e=>({...e,labelTransform:dn(e)});function wn(e,t,n){return{svgLabel:n,area:t.area,padding:t.padding,axisX:Cn(e.axisX),axisY:Cn(e.axisY),classNames:e.classNames}}function Tn(e,t){return U(W(`g`,{},e),{children:t})}function En(e,t=[`x`,`y`]){return{type:`grid`,coordinates:[`cartesian`],compose(n){let r=t.flatMap(t=>{let r=n.axes[t];return r?ln(r,wn(e,n)).grids:[]});return e.showGridBackground&&r.unshift(un(n.area,e.classNames.gridBackground)),[Tn(e.classNames.gridGroup,r)]}}}function Dn(e,t=[`x`,`y`]){return{type:`labels`,coordinates:[`cartesian`],compose(n){return[Tn(e.classNames.labelGroup,t.flatMap(t=>{let r=n.axes[t];return r?ln(r,wn(e,n,n.labels===`svg`?mn(n.measureText,e.labelKind??`line`,e[t===`x`?`axisX`:`axisY`].labelAlign):void 0)).labels:[]}))]}}}function On(e){return{...e,compose:t=>[Tn(``,[...e.compose(t)])]}}let kn=Symbol.for(`chartist.presetState`);function An(e,t){return{name:`preset-root-style`,install(n){Object.defineProperty(n,kn,{value:t}),n.on(`scene`,({scene:t})=>{let{width:n=`100%`,height:r=`100%`}=e();return{scene:t.attr({style:`width: ${n}; height: ${r};`})}})}}}function jn(e,t,n){let r=h({},e.defaults,n),{plugins:i,on:a,renderer:o}=n??{};return{...e.config({...t,labels:t.labels||[],series:t.series||[]},r),plugins:i,on:a,...o&&{renderer:o}}}function Mn(e,t,n,r={},i,a=r.plugins){let o=n,s=h({},e.defaults,r),c=bn(i??[],(typeof t==`string`?document.querySelector(t):t)??void 0,()=>v(),!0),l=e=>Sn(h({},e),i,c.matching,(e,t)=>h({},e,t)),u=l(s),d=e=>({...e,preset:p}),f={get handle(){return y},setData(e){e.labels=e.labels||[],e.series=e.series||[],o=e},setOptions(t,n=!1){s=h({},n?s:e.defaults,t),u=l(s)},render(){_.update(d(e.config(o,u)))},options:()=>u,data:()=>o},p={kind:e.kind,get options(){return u},get data(){return o},update(e,t,n){e&&f.setData(e),t&&f.setOptions(t,n),f.render()},detach:()=>{m?y.detach():g=!0}},m=!1,g=!1,_=sn(t,{...d(e.config(o,u)),plugins:[An(()=>u,p),...a??[]],on:r.on,renderer:r.renderer});function v(){let e=u;u=l(s),_.emit(`responsive`,{previousOptions:e,currentOptions:u}),f.render()}let y={container:_.container,update(e){return e.data&&(o=e.data),_.update(e),y},setOptions(e,t){return f.setOptions(e,!t?.replace),f.render(),y},detach(){return c.stop(),_.detach(),y},destroy(){y.detach(),_.destroy()},emit:(e,t)=>Q(_).emit(e,t),on:((e,t)=>(_.on(e,t),y)),off:((e,t)=>(_.off(e,t),y))};return m=!0,g&&y.detach(),f}function Nn(e){let t=ut();return{kind:`step`,create:n=>t.create({...n,options:{...n.options,ticks:n.labels,stretch:e}})}}function Pn(e){let{axisX:t,axisY:n}=e;return{x:{...t,type:t.type??Nn(e.fullWidth)},y:n.type===void 0?{...n,type:dt(),high:x(e.high)?e.high:n.high,low:x(e.low)?e.low:n.low,referenceValue:n.referenceValue??e.referenceValue}:{...n,type:n.type},reverseData:e.reverseData}}let Fn={kind:`line`,defaults:pt,config(e,t){let n=t,r=n,{below:i=[],above:a=[]}=n.layers??{};return{data:e,axes:st(Pn(n)),padding:n.chartPadding,width:n.width,height:n.height,viewBox:n.viewBox,className:n.classNames.chart,labels:n.labels,layers:[En(r),...i,On(qe({lineSmooth:n.lineSmooth,showPoint:n.showPoint,showLine:n.showLine,showArea:n.showArea,areaBase:n.areaBase,overrides:n.series,reverseData:n.reverseData,classNames:n.classNames})),...a,Dn(r)]}}};function In(e,t={}){return jn(Fn,e,t)}function Ln(e,t,n={},r,i){return Mn(Fn,e,t,n,r,i??n.plugins)}function Rn(e,t,n={},r){return Ln(e,t,n,r).handle}let zn=/* @__PURE__ */ new Set,Bn=/* @__PURE__ */ new Set([`resolve`,`prepare`,`layout`,`compose`,`scene`,`render`,`mount`]);function Vn(e,t){let n=e.find(e=>typeof e?.legacyPlugin==`function`);return e.flatMap(e=>{let[r,i]=Array.isArray(e)?e:[e];return typeof r==`function`?n?[n.legacyPlugin(r,i,t)]:(zn.has(r)||(zn.add(r),console.warn(`Chartist: the plugin "${r.name||`anonymous`}" looks like a 1.x plugin (a plain function) and was skipped. 1.x plugins run only with the compat plugin: add compat from chartist/compat to plugins.`)),[]):[e]})}var Hn=class extends Te{data;chartOptions;chartResponsiveOptions;controller;installing;queued=[];onWindowResize=()=>this.update();detached=!1;wildcards=/* @__PURE__ */ new Map;constructor(e,t,n,r,i){super(e,t,n,h({},n,r),i),this.data=t,this.chartOptions=r,this.chartResponsiveOptions=i,Object.defineProperty(this,"eventEmitter",{value:{on:(e,t)=>this.on(e,t),off:(e,t)=>this.off(e,t),emit:(e,t)=>this.controller&&Q(this.controller.handle).emit(e,t)}})}initialize(){this.initializeTimeoutId=null;let e=this.queued.splice(0),t={name:`chart-listeners`,install:t=>{this.installing=t,t[Bt]=!0,$t(t,()=>e.forEach(([e,t])=>this.on(e,t)))}},n={name:`chart-fields`,install:e=>void e.on(`resolve`,({config:e})=>e.labels?{config:{...e,labels:void 0}}:void 0).on(`mount`,()=>{this.controller&&(this.data=this.controller.data(),this.options=this.controller.options())})};this.container.ownerDocument.defaultView?.addEventListener(`resize`,this.onWindowResize),this.controller=this.createController(this.container,this.data,this.chartOptions,this.chartResponsiveOptions?.filter(([e])=>typeof e==`string`),[t,n,...Vn(this.chartOptions?.plugins??[],this)]),this.installing=void 0,this.detached&&this.controller.handle.detach()}createChart(){}update(e,t,n=!1){return e&&(this.data=e),t&&(this.chartOptions=h({},n?this.chartOptions:{},t)),this.controller&&(e&&this.controller.setData(e),t&&this.controller.setOptions(t,n),this.controller.render()),this}detach(){return super.detach(),this.detached=!0,this.container.ownerDocument.defaultView?.removeEventListener(`resize`,this.onWindowResize),this.controller?.handle.detach(),this}on(e,t){let n=this.controller?.handle??this.installing;if(!n)this.queued.push([e,t]);else if(e===`*`){let e=t,r=(t,n)=>{Bn.has(t)||e(t,n)};this.wildcards.set(e,r),n.on(`*`,r)}else Q(n).on(e,t);return this}off(e,t){let n=this.controller?.handle??this.installing;if(n){let r=e===`*`&&t?this.wildcards.get(t):t;Q(n).off(e,r)}else{let n=this.queued.findIndex(([n,r])=>n===e&&(!t||r===t));t&&n>=0?this.queued.splice(n,1):t||this.queued.splice(0,this.queued.length,...this.queued.filter(([t])=>t!==e))}return this}};function Un(e,t,n){if(b(e,`name`)&&e.name&&t.series?.[e.name]){let r=(t?.series[e.name])[n];return r===void 0?t[n]:r}return t[n]}var Wn=class extends Hn{constructor(e,t,n,r){super(e,t,pt,n,r)}createController(e,t,n,r,i){return Ln(e,t,n,r,i)}};function Gn(e,t){let n=typeof e==`object`&&e?e[t]:e;return x(n)?Number(n):0}function Kn(e,t,n=!1){let r=[],i=[],a=1/0,o=-1/0;for(let s of e)s.forEach((e,s)=>{let c=Gn(e,t),l=n&&c<0?i:r;l[s]=(l[s]??0)+c,a=Math.min(a,l[s]),o=Math.max(o,l[s])});return a<=o?{low:a,high:o}:void 0}function qn(e){return{name:e.name,className:e.className,meta:e.meta,data:e.values}}function Jn(e={}){let t={series:`ct-series`,bar:`ct-bar`,...e.classNames},n=!!e.horizontalBars,r=e.seriesBarDistance??15,i=e.offset??0,a=e.stackMode??`accumulate`,o=e.stackBars&&a!==`overlap`&&a!==!0;return{type:`bar`,coordinates:[`cartesian`],axes:{x:e.x,y:e.y},series:e.series,extent({normalized:e,axes:t}){let r=n?t.x:t.y,i=o&&r!==void 0?Kn(e.series,n?`x`:`y`,a===`accumulate-relative`):void 0;return r!==void 0&&i?{[r]:i}:{}},compose({data:o,area:c,axes:l,normalized:u,seriesIndexes:d}){let f=n?l.x:l.y,p=n?l.y:l.x;if(!f||!p||!u)throw Error(`Layer "bar" needs an x and a y axis`);let m=n?`y`:`x`,h=n?`x`:`y`,g=u.series,_=o.flat?[...o.series[0].values]:o.series.map(qn),v=_.map((e,t)=>t);e.reverseData&&v.reverse();let y=n?c.x1+f.project(0):c.y1-f.project(0),S=a===`accumulate`,C=a===`accumulate-relative`,w=[],T=[],D=w;if(d&&e.reverseData)throw Error(`Layer "bar": a series selection can't be combined with reverseData`);return v.map((o,l)=>{let u=d?.[o]??l,v=_[o],O=l-(_.length-1)/2,k;k=e.distributeSeries&&!e.stackBars?p.length/g.length/2:e.distributeSeries&&e.stackBars?p.length/2:p.length/g[l].length/2;let A=b(v,`name`)&&v.name,j=b(v,`className`)&&v.className,M=b(v,`meta`)?v.meta:void 0,N=[];return g[l].forEach((o,s)=>{let d=b(o,`x`)&&o.x,_=b(o,`y`)&&o.y,A=e.distributeSeries&&!e.stackBars?l:e.distributeSeries&&e.stackBars?0:s,j=g[l],M=n?{x:c.x1+f.project(d||0,s,j),y:c.y1-p.project(_||0,A,j)}:{x:c.x1+p.project(d||0,A,j),y:c.y1-f.project(_||0,s,j)};p.kind===`step`&&(p.stretch||(M[m]+=k*(n?-1:1)),M[m]+=e.stackBars||e.distributeSeries?0:O*r*(n?-1:1)),M[m]+=i,C&&(D=Number(n?d:_)<0?T:w);let P=D[s]||y;if(D[s]=P-(y-M[h]),o===void 0)return;let F={[`${m}1`]:M[m],[`${m}2`]:M[m]};e.stackBars&&(S||C||!a)?(F[`${h}1`]=P,F[`${h}2`]=D[s]):(F[`${h}1`]=y,F[`${h}2`]=M[h]),F.x1=Math.min(Math.max(F.x1,c.x1),c.x2),F.x2=Math.min(Math.max(F.x2,c.x1),c.x2),F.y1=Math.min(Math.max(F.y1,c.y2),c.y1),F.y2=Math.min(Math.max(F.y2,c.y2),c.y1);let I=E(v,s);N.push(W(`line`,{...F,"ct:value":[d,_].filter(x).join(`,`),"ct:meta":B(I)},t.bar,{role:`bar`,ctx:{series:v,seriesIndex:u,valueIndex:s,value:o,meta:I,...F}}))}),U(W(`g`,{"ct:series-name":A||void 0,"ct:meta":M?B(M):void 0},`${t.series} ${j||`${t.series}-${s(u)}`}`,{role:`series`,ctx:{series:v,seriesIndex:u,meta:M}}),{children:N})})}}}let Yn={axisX:{offset:30,position:`end`,labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:g,scaleMinSpace:30,onlyInteger:!1},axisY:{offset:40,position:`start`,labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:g,scaleMinSpace:20,onlyInteger:!1},width:void 0,height:void 0,high:void 0,low:void 0,referenceValue:0,chartPadding:{top:15,right:15,bottom:5,left:10},seriesBarDistance:15,stackBars:!1,stackMode:`accumulate`,horizontalBars:!1,distributeSeries:!1,reverseData:!1,showGridBackground:!1,classNames:{chart:`ct-chart-bar`,horizontalBars:`ct-horizontal-bars`,label:`ct-label`,labelGroup:`ct-labels`,series:`ct-series`,bar:`ct-bar`,grid:`ct-grid`,gridGroup:`ct-grids`,gridBackground:`ct-grid-background`,vertical:`ct-vertical`,horizontal:`ct-horizontal`,start:`ct-start`,end:`ct-end`}};function Xn(e,t){let n=e.horizontalBars?`x`:`y`,r=t?et(t)?tt(t):t:dt();return{kind:r.kind,create(t){let i=M(t.series,e,n,t.extent),a=j({high:typeof e.high==`number`?e.high:i.high,low:typeof e.low==`number`?e.low:i.low});return r.create({...t,options:{...t.options,highLow:a,referenceValue:0}})}}}function Zn(e){let t=ut();return{kind:`step`,create:n=>t.create({...n,options:{ticks:e.distributeSeries&&e.stackBars?n.labels.slice(0,1):n.labels}})}}function Qn(e){let t=e.horizontalBars,n=t?e.axisX:e.axisY,r=t?e.axisY:e.axisX,i={...n,type:Xn(e,n.type)},a={...r,type:r.type??Zn(e)};return{x:t?i:a,y:t?a:i,reverseData:e.reverseData,normalize:{multi:t?`x`:`y`,distributed:!0}}}let $n={kind:`bar`,defaults:Yn,config(e,t){let n=t,r=n,i=n.horizontalBars?[`y`,`x`]:[`x`,`y`],a=Jn({horizontalBars:n.horizontalBars,stackBars:n.stackBars,stackMode:n.stackMode,seriesBarDistance:n.seriesBarDistance,distributeSeries:n.distributeSeries,reverseData:n.reverseData,classNames:n.classNames}),o=n.stackMode===`overlap`?Jn({horizontalBars:n.horizontalBars,stackBars:n.stackBars}):a,s={...On(a),extent:o.extent},{below:c=[],above:l=[]}=n.layers??{};return{data:e,axes:st(Qn(n)),padding:n.chartPadding,width:n.width,height:n.height,viewBox:n.viewBox,className:n.classNames.chart+(n.horizontalBars?` ${n.classNames.horizontalBars}`:``),labels:n.labels,layers:[En(r,i),...c,s,...l,Dn({...r,labelKind:n.horizontalBars?`horizontalBar`:`bar`},i)]}}};function er(e,t={}){return jn($n,e,t)}function tr(e,t,n={},r,i){return Mn($n,e,t,n,r,i??n.plugins)}function nr(e,t,n={},r){return tr(e,t,n,r).handle}var rr=class extends Hn{constructor(e,t,n,r){super(e,t,Yn,n,r)}createController(e,t,n,r,i){return tr(e,t,n,r,i)}};function ir(e,t,n){let r=t.x>e.x;return r&&n===`explode`||!r&&n===`implode`?`start`:r&&n===`implode`||!r&&n===`explode`?`end`:`middle`}function ar(e,t,n,r){e.y>t.y-n&&e.y<t.y+n&&e.x>t.x-r*n&&e.x<t.x+r*n&&(e.y-=n,e.x-=n,ar(e,t,n,r))}function or(e,t){let n=e?.(`stroke-width`,{classes:t.split(` `)});return n&&/^[\d.]+px$/.test(n)?parseFloat(n):void 0}let sr={series:`ct-series`,slicePie:`ct-slice-pie`,sliceDonut:`ct-slice-donut`,label:`ct-label`},cr=1.2;function lr(e,t,n,r,i){let a=e.split(`
|
|
2
|
+
`),o={role:`label`,ctx:i};if(a.length===1)return W(`text`,{dx:t.x,dy:t.y,"text-anchor":n},r,o).text(e);let s=Math.round(-(a.length-1)*cr*50)/100;return U(W(`text`,{x:t.x,y:t.y,"text-anchor":n},r,o),{children:a.map((e,n)=>W(`tspan`,{x:t.x,dy:`${n?cr:s}em`}).text(e))})}function ur(e={}){let t={...sr,...e.classNames},n=dn(e);return{type:`pie`,chartType:e.donut?`donut`:`pie`,coordinates:[`polar`],compose({data:r,area:i,measureStyle:a}){let c=r.flat?[...r.series[0].values]:r.series.map(e=>({name:e.name,className:e.className,meta:e.meta,value:e.values[0]})),l=N({labels:r.labels,series:c}),u=l.series,d=l.labels,f=[],m=e.startAngle??0,h=Math.min(i.width/2,i.height/2),g=e.total||u.reduce(v,0),_=o(e.donutWidth??(e.donut?or(a,t.sliceDonut):void 0)??60);_.unit===`%`&&(_.value*=h/100),h-=e.donut?_.value/2:0;let y;y=e.labelPosition===`center`?0:e.labelPosition===`outside`?e.donut?h+_.value/2:h:e.donut?h:h/2,e.labelOffset&&(y+=e.labelOffset);let x={x:i.x1+i.width/2,y:i.y2+i.height/2},C=c.filter(e=>b(e,`value`)?e.value!==0:e!==0).length===1,w=[],T=[];return c.forEach((r,i)=>{if(u[i]===0&&e.ignoreEmptyValues){w.push(W(`g`));return}let a=b(r,`name`)&&r.name,o=b(r,`className`)&&r.className,l=b(r,`meta`)?r.meta:void 0,v=g>0?m+u[i]/g*360:0,E=Math.max(0,m-(i===0||C?0:.2)),D=v-m>=359.99;v-E>=359.99&&(v=E+359.99);let O=p(x.x,x.y,h,E),k=new q(!e.donut);if(D){let e=p(x.x,x.y,h,E+180);k.move(O.x,O.y).arc(h,h,0,0,0,e.x,e.y)}else{let e=p(x.x,x.y,h,v);k.move(e.x,e.y)}k.arc(h,h,0,Number(!D&&v-m>180),0,O.x,O.y),e.donut||k.line(x.x,x.y);let A=W(`path`,{d:k.stringify(),"ct:value":u[i],"ct:meta":B(l),style:e.donut&&e.donutWidth!==void 0?`stroke-width: ${_.value}px`:void 0},e.donut?t.sliceDonut:t.slicePie,{role:`slice`,ctx:{value:u[i],totalDataSum:g,index:i,seriesIndex:i,valueIndex:0,meta:l,series:r,path:k.clone(),center:x,radius:h,startAngle:m,endAngle:v}});if(w.push(U(W(`g`,{"ct:series-name":a||void 0},`${t.series} ${o||`${t.series}-${s(i)}`}`,{role:`series`,ctx:{seriesIndex:i,series:r,meta:l}}),{children:[A]})),e.showLabel??!0){let a=c.length===1?{x:x.x,y:x.y}:p(x.x,x.y,y,m+(v-m)/2),o=d&&!S(d[i])?d[i]:u[i],s=n(o,i);if(s||s===0){let n=String(s);if(e.preventOverlappingLabelOffset){let t=n.length;f.forEach(n=>ar(a,n,e.preventOverlappingLabelOffset,t)),f.push(a)}T.push(lr(n,a,ir(x,a,e.labelDirection??`neutral`),t.label,{kind:`pie`,index:i,seriesIndex:i,valueIndex:0,text:n,series:r,meta:l,x:a.x,y:a.y}))}}m=v}),e.showLabel??!0?[...w,U(W(`g`),{children:T})]:w}}}let dr={width:void 0,height:void 0,chartPadding:{top:5,right:5,bottom:5,left:5},classNames:{chartPie:`ct-chart-pie`,chartDonut:`ct-chart-donut`,series:`ct-series`,slicePie:`ct-slice-pie`,sliceDonut:`ct-slice-donut`,label:`ct-label`},startAngle:0,total:void 0,donut:!1,showLabel:!0,labelOffset:0,labelPosition:`inside`,labelInterpolationFnc:g,labelDirection:`neutral`,ignoreEmptyValues:!1,preventOverlappingLabelOffset:0},fr={kind:`pie`,defaults:dr,config(e,t){let n=t,{below:r=[],above:i=[]}=t.layers??{};return{data:e,coordinates:`polar`,padding:n.chartPadding,width:n.width,height:n.height,viewBox:n.viewBox,className:n.donut?n.classNames.chartDonut:n.classNames.chartPie,layers:[...r,ur({startAngle:n.startAngle,total:n.total,donut:n.donut,donutWidth:n.donutWidth,showLabel:n.showLabel,labelOffset:n.labelOffset,labelPosition:n.labelPosition,labelTransform:n.labelTransform,labelInterpolationFnc:n.labelInterpolationFnc,labelDirection:n.labelDirection,ignoreEmptyValues:n.ignoreEmptyValues,preventOverlappingLabelOffset:n.preventOverlappingLabelOffset,classNames:n.classNames}),...i]}}};function pr(e,t={}){return jn(fr,e,t)}function mr(e,t,n={},r,i){return Mn(fr,e,t,n,r,i??n.plugins)}function hr(e,t,n={},r){return mr(e,t,n,r).handle}var gr=class extends Hn{constructor(e,t,n,r){super(e,t,dr,n,r)}moveLabel(e,t,n,r){ar(e,t,n,r)}createController(e,t,n,r,i){return mr(e,t,n,r,i)}},_r=class extends $e{bounds;range;constructor(e,t,n,r){let i=r.highLow||M(t,r,e.pos),a=m(n[e.rectEnd]-n[e.rectStart],i,r.scaleMinSpace||20,r.onlyInteger),o={min:a.min,max:a.max};super(e,n,a.values),this.bounds=a,this.range=o}projectValue(e){let t=Number(A(e,this.units.pos));return this.axisLength*(t-this.bounds.min)/this.bounds.range}},vr=class extends $e{range;constructor(e,t,n,r){let i=r.highLow||M(t,r,e.pos),a=r.divisor||1,o=(r.ticks||_(a+1,e=>i.low+(i.high-i.low)/a*e)).sort((e,t)=>Number(e)-Number(t)),s={min:i.low,max:i.high};super(e,n,o),this.range=s}projectValue(e){let t=Number(A(e,this.units.pos));return this.axisLength*(t-this.range.min)/(this.range.max-this.range.min)}},yr=class extends $e{stepLength;stretch;constructor(e,t,n,r){let i=r.ticks||[];super(e,n,i);let a=Math.max(1,i.length-+!!r.stretch);this.stepLength=this.axisLength/a,this.stretch=!!r.stretch}projectValue(e,t){return this.stepLength*t}};function br(e){let t={divisor:2,fillHoles:!1,...e},n=1/Math.max(1,t.divisor);return function(e,r){let i=new q,a=0,o=0,s;for(let c=0;c<e.length;c+=2){let l=e[c],u=e[c+1],d=(l-a)*n,f=r[c/2];A(f.value)===void 0?t.fillHoles||(a=o=0,s=void 0):(s===void 0?i.move(l,u,!1,f):i.curve(a+d,o,l-d,u,l,u,!1,f),a=l,o=u,s=f)}return i}}function xr(e){let t={postpone:!0,fillHoles:!1,...e};return function(e,n){let r=new q,i=0,a=0,o;for(let s=0;s<e.length;s+=2){let c=e[s],l=e[s+1],u=n[s/2];A(u.value)===void 0?t.fillHoles||(i=a=0,o=void 0):(o===void 0?r.move(c,l,!1,u):(t.postpone?r.line(c,a,!1,o):r.line(i,l,!1,u),r.line(c,l,!1,u)),i=c,a=l,o=u)}return r}}function Sr(e){let t={tension:1,fillHoles:!1,...e},n=Math.min(1,Math.max(0,t.tension)),r=1-n;return function e(i,a){let o=z(i,a,{fillHoles:t.fillHoles});if(!o.length)return J()([],[]);if(o.length>1)return q.join(o.map(t=>e(t.pathCoordinates,t.valueData)));{if(i=o[0].pathCoordinates,a=o[0].valueData,i.length<=4)return J()(i,a);let e=new q().move(i[0],i[1],!1,a[0]);for(let t=0,o=i.length;o-2>t;t+=2){let s=[{x:+i[t-2],y:+i[t-1]},{x:+i[t],y:+i[t+1]},{x:+i[t+2],y:+i[t+3]},{x:+i[t+4],y:+i[t+5]}];o-4===t?s[3]=s[2]:t||(s[0]={x:+i[t],y:+i[t+1]}),e.curve(n*(-s[0].x+6*s[1].x+s[2].x)/6+r*s[2].x,n*(-s[0].y+6*s[1].y+s[2].y)/6+r*s[2].y,n*(s[1].x+6*s[2].x-s[3].x)/6+r*s[2].x,n*(s[1].y+6*s[2].y-s[3].y)/6+r*s[2].y,s[2].x,s[2].y,!1,a[(t+2)/2])}return e}}}var Cr=/* @__PURE__ */ n({cardinal:()=>Sr,monotoneCubic:()=>ze,none:()=>J,simple:()=>br,step:()=>xr});let wr=[`#d70206`,`#f05b4f`,`#f4c63d`,`#d17905`,`#453d3f`,`#59922b`,`#0544d3`,`#6b0392`,`#e6805e`,`#dda458`,`#eacf7d`,`#86797d`,`#b2c326`,`#6188e2`,`#a748ca`],Tr=e=>String(e).replace(/[&<>"']/g,e=>i[e]),Er=`A-Z_:a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD`,Dr=RegExp(`^[${Er}][${Er}\\-.0-9\\u00B7\\u0300-\\u036F\\u203F\\u2040]*$`);function Or(e,t){if(!Dr.test(e))throw Error(`Chartist: "${e}" is not a valid ${t} name`);return e}function kr(e,t){let n=[];t===`root`?n.push(`xmlns="${r.svg}"`,`xmlns:ct="${r.ct}"`):t===`html-root`&&n.push(`xmlns="${r.xhtml}"`),e.classes.length&&n.push(`class="${Tr(e.classes.join(` `))}"`);for(let[t,r]of Object.entries(e.attrs))t!==`xmlns`&&n.push(`${Or(t,`attribute`)}="${Tr(r)}"`);return n.length?` ${n.join(` `)}`:``}function Ar(e,t){let n=`<${Or(e.name,`element`)}${kr(e,t)}`,r=e.name===`foreignObject`?`html-root`:`other`,i=(e.content===void 0?``:Tr(e.content))+e.children.map(e=>Ar(e,r)).join(``);return i?`${n}>${i}</${e.name}>`:`${n}/>`}function jr(e){return Ar(e,`root`)}function Mr(e){throw Error(`Chartist: ${e}() is not available in toScene()`)}function Nr(e,t){let n=ht(),r=/* @__PURE__ */ new Set,i=Zt(),a={update:()=>Mr(`update`),detach:()=>Mr(`detach`),destroy:()=>Mr(`destroy`),...rn(n,()=>a,r,i)};return en(a,e.plugins,r,i),nn(a,e.on),At(n,Ut(e),{width:t.width,height:t.height,measureText:t.measureText??Z,labels:t.labels??`svg`}).scene}let Pr={band:`ct-band`,area:`ct-band-area`,inBand:`ct-in-band`,outBand:`ct-out-band`};function Fr(e){return typeof e==`number`||Ir(e)?void 0:typeof e==`string`?e:e.series}function Ir(e){return Array.isArray(e)}function Lr(e){return e.map(e=>x(e)?{y:Number(e)}:e&&typeof e==`object`?e:void 0)}function $(e){let t=typeof e==`object`&&e?e.y:e;return x(t)?Number(t):void 0}function Rr(e){return typeof e==`object`&&e?e.x:void 0}function zr(e,t){let{data:n,seriesIndexes:r}=t;return typeof e==`string`?n.series.findIndex(t=>t.name===e):r?r.indexOf(e):e}function Br(e,t){let n=zr(e,t);return t.seriesIndexes?.[n]??n}function Vr(e,t,n=e=>e){let r=t.normalized?.series??[],i=e=>r[zr(e,t)]??[];if(e.series){let t=e.series.map(i);return{constant:!1,length:Math.max(0,...t.map(e=>e.length)),at(e){let n=t.map(t=>t[e]).filter(e=>$(e)!==void 0);if(n.length===0)return;let r=n.map(e=>$(e));return{x:Rr(n[0]),low:Math.min(...r),high:Math.max(...r)}}}}let a=e=>{if(e!==void 0&&Ir(e))return{values:Lr(e)};let t=e===void 0?void 0:Fr(e);return t===void 0?{value:n(e)}:{values:i(t)}},o=a(e.low),s=a(e.high),c=[o,s].flatMap(e=>`values`in e?[e.values.length]:[]);return{constant:c.length===0,length:Math.max(0,...c),at(e){let t=`values`in o?o.values[e]:void 0,n=`values`in s?s.values[e]:void 0,r=`value`in o?o.value:$(t),i=`value`in s?s.value:$(n);if(r!==void 0&&i!==void 0)return{x:Rr(t)??Rr(n),low:r,high:i}}}}function Hr(e){if(typeof e==`object`&&e){let{x:t,y:n}=e;return x(n)?Number(n):x(t)?Number(t):void 0}return x(e)?Number(e):void 0}function Ur(e,t){if(e===void 0)return;if(Ir(e))return{values:Lr(e).map($)};let n=Fr(e);return n===void 0?{value:e}:{seriesIndex:Br(n,t)}}function Wr(e){let t=e.low!==void 0||e.high!==void 0;if(e.series&&t)throw Error(`Layer "band": series can't be combined with low and high`);if(!e.series&&(e.low===void 0||e.high===void 0))throw Error(`Layer "band": the band needs low and high, or series`);let n={...Pr,...e.classNames},r=e.series?void 0:[e.low,e.high].flatMap(e=>{let t=e===void 0?void 0:Fr(e);return t===void 0?[]:[t]}),i=e.series?[]:[e.low,e.high].flatMap(e=>typeof e==`number`?[e]:e!==void 0&&Ir(e)?Lr(e).flatMap(e=>{let t=$(e);return t===void 0?[]:[t]}):[]),a={type:`band`,coordinates:[`cartesian`],axes:{x:e.x,y:e.y},series:e.series??r,extent({axes:e}){return e.y!==void 0&&i.length>0?{[e.y]:{low:Math.min(...i),high:Math.max(...i)}}:{}},compose(t){let{area:r,axes:i}=t,{x:a,y:o}=i;if(!a||!o||!t.normalized)throw Error(`Layer "band" needs an x and a y axis`);let s=o.range,c=Vr(e,t,e=>s?Math.min(Math.max(e,s.min),s.max):e),l,u=Be(e.lineSmooth??!0);if(c.constant){let{low:e,high:t}=c.at(0),n=r.y1-o.project(e),i=r.y1-o.project(t);l=[new q(!0).move(r.x1,i).line(r.x2,i).line(r.x2,n).line(r.x1,n)]}else{let t=[],n=[];for(let e=0;e<c.length;e++){let r=c.at(e);t.push(r&&{x:r.x,y:r.high}),n.push(r&&{x:r.x,y:r.low})}let i=Ve(a,e.align),s=e=>He(e,{x:a,y:o},r,i,u).splitByCommand(`M`).filter(e=>e.pathElements.length>1),d=s(n);l=s(t).flatMap((e,t)=>{let n=d[t];if(!n||n.pathElements.length!==e.pathElements.length)return[];let r=Ue(n),i=r.pathElements[0];return r.position(0).remove(1).line(i.x,i.y,!1,i.data),[q.join([e,r],!0)]})}let d=e.series?{series:e.series.map(e=>Br(e,t))}:{low:Ur(e.low,t),high:Ur(e.high,t)},f=l.map(e=>W(`path`,{d:e.stringify()},n.area,{role:`band`,ctx:{...d,path:e.clone(),smoothing:u}}));return[U(W(`g`,{},e.className?`${n.band} ${e.className}`:n.band),{children:f})]}};return e.mark?{...a,refine(t,r){if(t.role!==`point`&&t.role!==`bar`)return;let i=Hr(t.ctx.value),a=Vr(e,r).at(t.ctx.valueIndex);if(i===void 0||!a)return;let o=i>=Math.min(a.low,a.high)&&i<=Math.max(a.low,a.high);return t.addClass(o?n.inBand:n.outBand)}}:a}let Gr={line:`ct-target-line`,label:`ct-target-label`};function Kr(e){let{value:t,label:n,className:r}=e;if(!Number.isFinite(t))throw Error(`Layer "targetLine" needs a value`);let i={...Gr,...e.classNames},a=e.labelPosition===`start`;return{type:`targetLine`,coordinates:[`cartesian`],series:[],extent({axes:n}){let r=e.axis??n.y;return r===void 0?{}:{[r]:{low:t,high:t}}},compose({area:o,axes:s,measureText:c}){let l=s.all??[],u=e.axis===void 0?l.find(e=>e.dimension===`y`):l.find(t=>t.id===e.axis);if(!u)throw Error(e.axis===void 0?`Layer "targetLine" needs a y axis`:`Chartist: unknown axis "${e.axis}" in layer "targetLine"`);let d=u.dimension===`y`,f=u.project(t,t);if(!Number.isFinite(f)||f<-1e-9||f>u.length+1e-9)return[];let p=d?{x1:o.x1,y1:o.y1-f,x2:o.x2,y2:o.y1-f}:{x1:o.x1+f,y1:o.y2,x2:o.x1+f,y2:o.y1},m=r?` ${r}`:``,h=W(`line`,p,`${i.line}${m}`,{role:`targetLine`,ctx:{axis:u,value:t,...n!==void 0&&{label:n},...p}});if(n===void 0||n===``)return[h];let g=`${i.label}${m}`,_;if(d)_={x:a?o.x1+4:o.x2-4,y:p.y1-4,anchor:a?`start`:`end`};else{let e=c(n,{classes:g.split(` `)}).fontSize??12;_={x:p.x1+4,y:a?o.y1-4:o.y2+4+jt*e,anchor:`start`}}return[h,W(`text`,{x:_.x,y:_.y,"text-anchor":_.anchor},g,{role:`targetLabel`,ctx:{axis:u,value:t,text:n,x:_.x,y:_.y}}).text(n)]}}}let qr={series:`ct-series`,line:`ct-trend-line`};function Jr(e,t){let n=[],r=[];if(e.forEach((e,i)=>{let a=D(e)?void 0:A(e,`y`),o=t?i:A(e,`x`);typeof o==`number`&&Number.isFinite(o)&&Number.isFinite(a)&&(n.push(o),r.push(a))}),n.length<2)return;let i=e=>e.reduce((e,t)=>e+t,0)/e.length,a=i(n),o=i(r),s=0,c=0;if(n.forEach((e,t)=>{s+=(e-a)*(r[t]-o),c+=(e-a)**2}),c===0)return;let l=s/c;return{slope:l,intercept:o-l*a,x1:Math.min(...n),x2:Math.max(...n)}}function Yr(e){let t=e.filter(e=>!D(e));return t.length>0&&t.every(e=>typeof A(e,`x`)==`number`)}function Xr(e={}){let t={...qr,...e.classNames};return{type:`trendLine`,coordinates:[`cartesian`],axes:{x:e.x,y:e.y},series:e.series,extent({normalized:e,axes:t}){if(t.y===void 0)return{};let n=e.series.flatMap(e=>{let t=Jr(e,!Yr(e));return t?[t.slope*t.x1+t.intercept,t.slope*t.x2+t.intercept]:[]});return n.length>0?{[t.y]:{low:Math.min(...n),high:Math.max(...n)}}:{}},compose({data:n,area:r,axes:i,normalized:a,seriesIndexes:o}){let{x:c,y:l}=i;if(!c||!l||!a)throw Error(`Layer "trendLine" needs an x and a y axis`);let u=c.kind===`step`,d=Ve(c,e.align);return n.series.flatMap((e,n)=>{let i=Jr(a.series[n],u);if(!i)return[];let f=o?.[n]??n,{slope:p,intercept:m}=i,h=e=>({x:r.x1+d+c.project(e,e),y:r.y1-l.project(p*e+m)}),g=h(i.x1),_=h(i.x2),v={x1:g.x,y1:g.y,x2:_.x,y2:_.y},y={series:{name:e.name,className:e.className,meta:e.meta,data:e.values},seriesIndex:f,meta:e.meta};return[U(W(`g`,{},`${t.series} ${e.className||`${t.series}-${s(f)}`}`,{role:`series`,ctx:y}),{children:[W(`line`,v,t.line,{role:`trendLine`,ctx:{seriesIndex:f,slope:p,intercept:m,...v}})]})]})}}}let Zr={grid:`ct-grid`,label:`ct-label`,horizontal:`ct-horizontal`,vertical:`ct-vertical`,start:`ct-start`,end:`ct-end`,gridGroup:`ct-grids`,labelGroup:`ct-labels`,gridBackground:`ct-grid-background`};function Qr(e){let t=e.options;return{...t,offset:t.offset??0,position:e.side===`top`||e.side===`left`?`start`:`end`,labelOffset:t.labelOffset??{x:0,y:0},showLabel:t.showLabel??!0,showGrid:t.showGrid??!0,labelTransform:dn(t)}}function $r(e,t){let n=e.axes.all??[];return t?t.map(e=>{let t=n.find(t=>t.id===e);if(!t)throw Error(`Chartist: unknown axis "${e}" in an axis layer`);return t}):n}let ei=(e,t)=>(n,r,i,a,o)=>n.dimension===`x`?{position:o.x1+r,labelOffset:{x:a.labelOffset.x,y:e===`top`?o.y2-t-a.offset+a.labelOffset.y+5:o.y1+t+a.labelOffset.y+5}}:{position:o.y1-r,labelOffset:{x:e===`left`?o.x1-t-a.offset+a.labelOffset.x:o.x2+t+a.labelOffset.x+10,y:a.labelOffset.y-i}};function ti(e,t,n,r){return ln(e,{svgLabel:r,area:t.area,padding:t.padding,classNames:n,options:Qr(e),place:ei(e.side,e.inset),atStart:e.side===`top`||e.side===`left`})}function ni(e={}){let t={...Zr,...e.classNames};return{type:`axisGrid`,coordinates:[`cartesian`],series:[],compose(n){let r=$r(n,e.axes).flatMap(e=>ti(e,n,t).grids);return e.background&&r.unshift(un(n.area,t.gridBackground)),[U(W(`g`,{},t.gridGroup),{children:r})]}}}function ri(e={}){let t={...Zr,...e.classNames};return{type:`axisLabels`,coordinates:[`cartesian`],series:[],compose(n){let r=(e.labels??n.labels)===`svg`;return[U(W(`g`,{},t.labelGroup),{children:$r(n,e.axes).flatMap(i=>ti(i,n,t,r?mn(n.measureText,`line`,{...e.align,...i.options.labelAlign}):void 0).labels)})]}}}e.AutoScaleAxis=_r,e.Axis=$e,e.BarChart=rr,e.BaseChart=Te,e.EPSILON=c,e.EventEmitter=Ce,e.FixedScaleAxis=vr,Object.defineProperty(e,"Interpolation",{enumerable:!0,get:function(){return Cr}}),e.LineChart=Wn,e.PieChart=gr,e.StepAxis=yr,e.Svg=he,e.SvgList=ne,e.SvgPath=q,e.alphaNumerate=s,e.applyAttribute=Mt,e.autoScaleAxis=dt,e.axisGrid=ni,e.axisLabels=ri,e.axisUnits=X,e.band=Wr,e.bar=Jn,e.barChart=nr,e.barChartConfig=er,e.cartesianAxes=ct,e.chart=sn,e.container=hn,e.createChartRect=ve,e.createGrid=ye,e.createGridBackground=be,e.createLabel=xe,e.createSvg=ge,e.deserialize=ee,e.determineAnchorPosition=ir,e.domRenderer=Lt,e.each=T,e.easings=V,e.ensureUnit=a,e.escapingMap=i,e.estimateText=Z,e.extend=h,e.findAll=_t,e.fixedScaleAxis=ft,e.getBounds=m,e.getHighLow=M,e.getMetaData=E,e.getMultiValue=A,e.getNumberOrUndefined=C,e.getSeriesOption=Un,e.isArrayOfArrays=w,e.isArrayOfSeries=O,e.isDataHoleValue=D,e.isFalseyButZero=S,e.isMultiValue=k,e.isNumeric=x,e.keySplinesOf=le,e.line=qe,e.lineChart=Rn,e.lineChartConfig=In,e.mapNodes=vt,e.namespaces=r,e.node=W,e.noop=g,e.normalizeData=N,e.normalizePadding=_e,e.optionsProvider=Se,e.orderOfMagnitude=l,e.pie=ur,e.pieChart=hr,e.pieChartConfig=pr,e.polarToCartesian=p,e.precision=8,e.projectLength=u,e.quantity=o,e.renderElement=Nt,e.renderToString=jr,e.responsive=xn,e.rho=f,e.roundWithPrecision=d,e.safeHasProperty=b,e.sampleEasing=ue,e.serialMap=y,e.serialize=B,e.seriesColors=wr,e.splitIntoSegments=z,e.stepAxis=ut,e.sum=v,e.targetLine=Kr,e.textAscent=jt,e.times=_,e.toScene=Nr,e.trendLine=Xr,e.withOptions=Wt});
|
|
3
3
|
//# sourceMappingURL=index.umd.js.map
|