chartist 1.4.0 → 2.0.0-rc.1

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.
Files changed (138) hide show
  1. package/README.md +45 -101
  2. package/dist/_settings.scss +1 -89
  3. package/dist/chartist.min.css +2 -0
  4. package/dist/chartist.min.js +2 -0
  5. package/dist/compat.cjs +588 -0
  6. package/dist/compat.cjs.map +1 -0
  7. package/dist/compat.d.cts +119 -0
  8. package/dist/compat.d.ts +118 -0
  9. package/dist/compat.js +567 -0
  10. package/dist/compat.js.map +1 -0
  11. package/dist/compat.min.js +2 -0
  12. package/dist/compat.min.js.map +1 -0
  13. package/dist/compat.umd.js +2 -0
  14. package/dist/compat.umd.js.map +1 -0
  15. package/dist/index.cjs +5592 -3484
  16. package/dist/index.cjs.map +1 -1
  17. package/dist/index.css +749 -2
  18. package/dist/index.css.map +1 -1
  19. package/dist/index.d.cts +4897 -0
  20. package/dist/index.d.ts +4896 -8
  21. package/dist/index.js +5562 -3479
  22. package/dist/index.js.map +1 -1
  23. package/dist/index.min.css +2 -0
  24. package/dist/index.min.css.map +1 -0
  25. package/dist/index.min.js +2 -0
  26. package/dist/index.min.js.map +1 -0
  27. package/dist/index.scss +1 -204
  28. package/dist/index.umd.js +2 -2
  29. package/dist/index.umd.js.map +1 -1
  30. package/dist/scss/_settings.scss +125 -0
  31. package/dist/scss/index.scss +254 -0
  32. package/dist/scss/themes/accessible.scss +53 -0
  33. package/dist/themes/accessible.css +34 -0
  34. package/dist/themes/accessible.min.css +1 -0
  35. package/package.json +238 -12
  36. package/dist/axes/AutoScaleAxis.d.ts +0 -12
  37. package/dist/axes/AutoScaleAxis.d.ts.map +0 -1
  38. package/dist/axes/Axis.d.ts +0 -40
  39. package/dist/axes/Axis.d.ts.map +0 -1
  40. package/dist/axes/FixedScaleAxis.d.ts +0 -11
  41. package/dist/axes/FixedScaleAxis.d.ts.map +0 -1
  42. package/dist/axes/StepAxis.d.ts +0 -9
  43. package/dist/axes/StepAxis.d.ts.map +0 -1
  44. package/dist/axes/index.d.ts +0 -6
  45. package/dist/axes/index.d.ts.map +0 -1
  46. package/dist/axes/types.d.ts +0 -5
  47. package/dist/axes/types.d.ts.map +0 -1
  48. package/dist/charts/BarChart/BarChart.d.ts +0 -50
  49. package/dist/charts/BarChart/BarChart.d.ts.map +0 -1
  50. package/dist/charts/BarChart/BarChart.types.d.ts +0 -66
  51. package/dist/charts/BarChart/BarChart.types.d.ts.map +0 -1
  52. package/dist/charts/BarChart/index.d.ts +0 -3
  53. package/dist/charts/BarChart/index.d.ts.map +0 -1
  54. package/dist/charts/BaseChart.d.ts +0 -47
  55. package/dist/charts/BaseChart.d.ts.map +0 -1
  56. package/dist/charts/LineChart/LineChart.d.ts +0 -97
  57. package/dist/charts/LineChart/LineChart.d.ts.map +0 -1
  58. package/dist/charts/LineChart/LineChart.types.d.ts +0 -83
  59. package/dist/charts/LineChart/LineChart.types.d.ts.map +0 -1
  60. package/dist/charts/LineChart/index.d.ts +0 -3
  61. package/dist/charts/LineChart/index.d.ts.map +0 -1
  62. package/dist/charts/PieChart/PieChart.d.ts +0 -101
  63. package/dist/charts/PieChart/PieChart.d.ts.map +0 -1
  64. package/dist/charts/PieChart/PieChart.types.d.ts +0 -95
  65. package/dist/charts/PieChart/PieChart.types.d.ts.map +0 -1
  66. package/dist/charts/PieChart/index.d.ts +0 -3
  67. package/dist/charts/PieChart/index.d.ts.map +0 -1
  68. package/dist/charts/index.d.ts +0 -6
  69. package/dist/charts/index.d.ts.map +0 -1
  70. package/dist/charts/types.d.ts +0 -11
  71. package/dist/charts/types.d.ts.map +0 -1
  72. package/dist/core/constants.d.ts +0 -13
  73. package/dist/core/constants.d.ts.map +0 -1
  74. package/dist/core/creation.d.ts +0 -61
  75. package/dist/core/creation.d.ts.map +0 -1
  76. package/dist/core/data/bounds.d.ts +0 -14
  77. package/dist/core/data/bounds.d.ts.map +0 -1
  78. package/dist/core/data/data.d.ts +0 -23
  79. package/dist/core/data/data.d.ts.map +0 -1
  80. package/dist/core/data/highLow.d.ts +0 -13
  81. package/dist/core/data/highLow.d.ts.map +0 -1
  82. package/dist/core/data/index.d.ts +0 -7
  83. package/dist/core/data/index.d.ts.map +0 -1
  84. package/dist/core/data/normalize.d.ts +0 -11
  85. package/dist/core/data/normalize.d.ts.map +0 -1
  86. package/dist/core/data/segments.d.ts +0 -29
  87. package/dist/core/data/segments.d.ts.map +0 -1
  88. package/dist/core/data/serialize.d.ts +0 -12
  89. package/dist/core/data/serialize.d.ts.map +0 -1
  90. package/dist/core/index.d.ts +0 -8
  91. package/dist/core/index.d.ts.map +0 -1
  92. package/dist/core/lang.d.ts +0 -23
  93. package/dist/core/lang.d.ts.map +0 -1
  94. package/dist/core/math.d.ts +0 -42
  95. package/dist/core/math.d.ts.map +0 -1
  96. package/dist/core/optionsProvider.d.ts +0 -15
  97. package/dist/core/optionsProvider.d.ts.map +0 -1
  98. package/dist/core/types.d.ts +0 -266
  99. package/dist/core/types.d.ts.map +0 -1
  100. package/dist/event/EventEmitter.d.ts +0 -27
  101. package/dist/event/EventEmitter.d.ts.map +0 -1
  102. package/dist/event/index.d.ts +0 -2
  103. package/dist/event/index.d.ts.map +0 -1
  104. package/dist/index.d.ts.map +0 -1
  105. package/dist/interpolation/cardinal.d.ts +0 -30
  106. package/dist/interpolation/cardinal.d.ts.map +0 -1
  107. package/dist/interpolation/index.d.ts +0 -6
  108. package/dist/interpolation/index.d.ts.map +0 -1
  109. package/dist/interpolation/monotoneCubic.d.ts +0 -30
  110. package/dist/interpolation/monotoneCubic.d.ts.map +0 -1
  111. package/dist/interpolation/none.d.ts +0 -22
  112. package/dist/interpolation/none.d.ts.map +0 -1
  113. package/dist/interpolation/simple.d.ts +0 -30
  114. package/dist/interpolation/simple.d.ts.map +0 -1
  115. package/dist/interpolation/step.d.ts +0 -26
  116. package/dist/interpolation/step.d.ts.map +0 -1
  117. package/dist/svg/Svg.d.ts +0 -201
  118. package/dist/svg/Svg.d.ts.map +0 -1
  119. package/dist/svg/SvgList.d.ts +0 -31
  120. package/dist/svg/SvgList.d.ts.map +0 -1
  121. package/dist/svg/SvgPath.d.ts +0 -125
  122. package/dist/svg/SvgPath.d.ts.map +0 -1
  123. package/dist/svg/animation.d.ts +0 -37
  124. package/dist/svg/animation.d.ts.map +0 -1
  125. package/dist/svg/index.d.ts +0 -6
  126. package/dist/svg/index.d.ts.map +0 -1
  127. package/dist/svg/types.d.ts +0 -55
  128. package/dist/svg/types.d.ts.map +0 -1
  129. package/dist/utils/extend.d.ts +0 -10
  130. package/dist/utils/extend.d.ts.map +0 -1
  131. package/dist/utils/functional.d.ts +0 -31
  132. package/dist/utils/functional.d.ts.map +0 -1
  133. package/dist/utils/index.d.ts +0 -5
  134. package/dist/utils/index.d.ts.map +0 -1
  135. package/dist/utils/types.d.ts +0 -7
  136. package/dist/utils/types.d.ts.map +0 -1
  137. package/dist/utils/utils.d.ts +0 -31
  138. package/dist/utils/utils.d.ts.map +0 -1
package/dist/index.scss CHANGED
@@ -1,204 +1 @@
1
- @import "settings";
2
-
3
- @mixin ct-responsive-svg-container($width: 100%, $ratio: $ct-container-ratio) {
4
- display: block;
5
- position: relative;
6
- width: $width;
7
-
8
- &:before {
9
- display: block;
10
- float: left;
11
- content: "";
12
- width: 0;
13
- height: 0;
14
- padding-bottom: $ratio * 100%;
15
- }
16
-
17
- &:after {
18
- content: "";
19
- display: table;
20
- clear: both;
21
- }
22
-
23
- > svg {
24
- display: block;
25
- position: absolute;
26
- top: 0;
27
- left: 0;
28
- }
29
- }
30
-
31
- @mixin ct-align-justify($ct-text-align: $ct-text-align, $ct-text-justify: $ct-text-justify) {
32
- align-items: $ct-text-align;
33
- justify-content: $ct-text-justify;
34
- // Fallback to text-align for non-flex browsers
35
- @if ($ct-text-justify == 'flex-start') {
36
- text-align: left;
37
- } @else if ($ct-text-justify == 'flex-end') {
38
- text-align: right;
39
- } @else {
40
- text-align: center;
41
- }
42
- }
43
-
44
- @mixin ct-chart-label($ct-text-color: $ct-text-color, $ct-text-size: $ct-text-size, $ct-text-line-height: $ct-text-line-height) {
45
- fill: $ct-text-color;
46
- color: $ct-text-color;
47
- font-size: $ct-text-size;
48
- line-height: $ct-text-line-height;
49
- }
50
-
51
- @mixin ct-chart-grid($ct-grid-color: $ct-grid-color, $ct-grid-width: $ct-grid-width, $ct-grid-dasharray: $ct-grid-dasharray) {
52
- stroke: $ct-grid-color;
53
- stroke-width: $ct-grid-width;
54
-
55
- @if ($ct-grid-dasharray) {
56
- stroke-dasharray: $ct-grid-dasharray;
57
- }
58
- }
59
-
60
- @mixin ct-chart-point($ct-point-size: $ct-point-size, $ct-point-shape: $ct-point-shape) {
61
- stroke-width: $ct-point-size;
62
- stroke-linecap: $ct-point-shape;
63
- }
64
-
65
- @mixin ct-chart-line($ct-line-width: $ct-line-width, $ct-line-dasharray: $ct-line-dasharray) {
66
- fill: none;
67
- stroke-width: $ct-line-width;
68
-
69
- @if ($ct-line-dasharray) {
70
- stroke-dasharray: $ct-line-dasharray;
71
- }
72
- }
73
-
74
- @mixin ct-chart-area($ct-area-opacity: $ct-area-opacity) {
75
- stroke: none;
76
- fill-opacity: $ct-area-opacity;
77
- }
78
-
79
- @mixin ct-chart-bar($ct-bar-width: $ct-bar-width) {
80
- fill: none;
81
- stroke-width: $ct-bar-width;
82
- }
83
-
84
- @mixin ct-chart-donut($ct-donut-width: $ct-donut-width) {
85
- fill: none;
86
- stroke-width: $ct-donut-width;
87
- }
88
-
89
- @mixin ct-chart-series-color($color) {
90
- .#{$ct-class-point}, .#{$ct-class-line}, .#{$ct-class-bar}, .#{$ct-class-slice-donut} {
91
- stroke: $color;
92
- }
93
-
94
- .#{$ct-class-slice-pie}, .#{$ct-class-area} {
95
- fill: $color;
96
- }
97
- }
98
-
99
- @mixin ct-chart($ct-container-ratio: $ct-container-ratio, $ct-text-color: $ct-text-color, $ct-text-size: $ct-text-size, $ct-grid-color: $ct-grid-color, $ct-grid-width: $ct-grid-width, $ct-grid-dasharray: $ct-grid-dasharray, $ct-point-size: $ct-point-size, $ct-point-shape: $ct-point-shape, $ct-line-width: $ct-line-width, $ct-bar-width: $ct-bar-width, $ct-donut-width: $ct-donut-width, $ct-series-names: $ct-series-names, $ct-series-colors: $ct-series-colors) {
100
-
101
- .#{$ct-class-label} {
102
- @include ct-chart-label($ct-text-color, $ct-text-size);
103
- }
104
-
105
- .#{$ct-class-chart-line} .#{$ct-class-label},
106
- .#{$ct-class-chart-bar} .#{$ct-class-label} {
107
- display: flex;
108
- }
109
-
110
- .#{$ct-class-chart-pie} .#{$ct-class-label},
111
- .#{$ct-class-chart-donut} .#{$ct-class-label} {
112
- dominant-baseline: central;
113
- }
114
-
115
- .#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-start} {
116
- @include ct-align-justify(flex-end, flex-start);
117
- }
118
-
119
- .#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-end} {
120
- @include ct-align-justify(flex-start, flex-start);
121
- }
122
-
123
- .#{$ct-class-label}.#{$ct-class-vertical}.#{$ct-class-start} {
124
- @include ct-align-justify(flex-end, flex-end);
125
- }
126
-
127
- .#{$ct-class-label}.#{$ct-class-vertical}.#{$ct-class-end} {
128
- @include ct-align-justify(flex-end, flex-start);
129
- }
130
-
131
- .#{$ct-class-chart-bar} .#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-start} {
132
- @include ct-align-justify(flex-end, center);
133
- }
134
-
135
- .#{$ct-class-chart-bar} .#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-end} {
136
- @include ct-align-justify(flex-start, center);
137
- }
138
-
139
- .#{$ct-class-chart-bar}.#{$ct-class-horizontal-bars} .#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-start} {
140
- @include ct-align-justify(flex-end, flex-start);
141
- }
142
-
143
- .#{$ct-class-chart-bar}.#{$ct-class-horizontal-bars} .#{$ct-class-label}.#{$ct-class-horizontal}.#{$ct-class-end} {
144
- @include ct-align-justify(flex-start, flex-start);
145
- }
146
-
147
- .#{$ct-class-chart-bar}.#{$ct-class-horizontal-bars} .#{$ct-class-label}.#{$ct-class-vertical}.#{$ct-class-start} {
148
- @include ct-align-justify(center, flex-end);
149
- }
150
-
151
- .#{$ct-class-chart-bar}.#{$ct-class-horizontal-bars} .#{$ct-class-label}.#{$ct-class-vertical}.#{$ct-class-end} {
152
- @include ct-align-justify(center, flex-start);
153
- }
154
-
155
- .#{$ct-class-grid} {
156
- @include ct-chart-grid($ct-grid-color, $ct-grid-width, $ct-grid-dasharray);
157
- }
158
-
159
- .#{$ct-class-grid-background} {
160
- fill: $ct-grid-background-fill;
161
- }
162
-
163
- .#{$ct-class-point} {
164
- @include ct-chart-point($ct-point-size, $ct-point-shape);
165
- }
166
-
167
- .#{$ct-class-line} {
168
- @include ct-chart-line($ct-line-width);
169
- }
170
-
171
- .#{$ct-class-area} {
172
- @include ct-chart-area();
173
- }
174
-
175
- .#{$ct-class-bar} {
176
- @include ct-chart-bar($ct-bar-width);
177
- }
178
-
179
- .#{$ct-class-slice-donut} {
180
- @include ct-chart-donut($ct-donut-width);
181
- }
182
-
183
- @if $ct-include-colored-series {
184
- @for $i from 0 to length($ct-series-names) {
185
- .#{$ct-class-series}-#{nth($ct-series-names, $i + 1)} {
186
- $color: nth($ct-series-colors, $i + 1);
187
-
188
- @include ct-chart-series-color($color);
189
- }
190
- }
191
- }
192
- }
193
-
194
- @if $ct-include-classes {
195
- @include ct-chart();
196
-
197
- @if $ct-include-alternative-responsive-containers {
198
- @for $i from 0 to length($ct-scales-names) {
199
- .#{nth($ct-scales-names, $i + 1)} {
200
- @include ct-responsive-svg-container($ratio: nth($ct-scales, $i + 1));
201
- }
202
- }
203
- }
204
- }
1
+ @import "scss/index";
package/dist/index.umd.js CHANGED
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Chartist={})}(this,(function(e){"use strict";const t={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"},s={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#039;"};function i(e,t){return"number"==typeof e?e+t:e}function n(e){if("string"==typeof e){const t=/^(\d+)\s*(.*)$/g.exec(e);return{value:t?+t[1]:0,unit:(null==t?void 0:t[2])||void 0}}return{value:Number(e)}}function r(e){return String.fromCharCode(97+e%26)}const a=2221e-19;function o(e){return Math.floor(Math.log(Math.abs(e))/Math.LN10)}function l(e,t,s){return t/s.range*e}function h(e,t){const s=Math.pow(10,t||8);return Math.round(e*s)/s}function c(e){if(1===e)return e;function t(e,s){return e%s==0?s:t(s,e%s)}function s(e){return e*e+1}let i,n=2,r=2;if(e%2==0)return 2;do{n=s(n)%e,r=s(s(r))%e,i=t(Math.abs(n-r),e)}while(1===i);return i}function u(e,t,s,i){const n=(i-90)*Math.PI/180;return{x:e+s*Math.cos(n),y:t+s*Math.sin(n)}}function d(e,t,s){let i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const n={high:t.high,low:t.low,valueRange:0,oom:0,step:0,min:0,max:0,range:0,numberOfSteps:0,values:[]};n.valueRange=n.high-n.low,n.oom=o(n.valueRange),n.step=Math.pow(10,n.oom),n.min=Math.floor(n.low/n.step)*n.step,n.max=Math.ceil(n.high/n.step)*n.step,n.range=n.max-n.min,n.numberOfSteps=Math.round(n.range/n.step);const r=l(e,n.step,n),u=r<s,d=i?c(n.range):0;if(i&&l(e,1,n)>=s)n.step=1;else if(i&&d<n.step&&l(e,d,n)>=s)n.step=d;else{let t=0;for(;;){if(u&&l(e,n.step,n)<=s)n.step*=2;else{if(u||!(l(e,n.step/2,n)>=s))break;if(n.step/=2,i&&n.step%1!=0){n.step*=2;break}}if(t++>1e3)throw new Error("Exceeded maximum number of iterations while optimizing scale step!")}}function m(e,t){return e===(e+=t)&&(e*=1+(t>0?a:-a)),e}n.step=Math.max(n.step,a);let p=n.min,f=n.max;for(;p+n.step<=n.low;)p=m(p,n.step);for(;f-n.step>=n.high;)f=m(f,-n.step);n.min=p,n.max=f,n.range=n.max-n.min;const g=[];for(let e=n.min;e<=n.max;e=m(e,n.step)){const t=h(e);t!==g[g.length-1]&&g.push(t)}return n.values=g,n}function m(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(var t=arguments.length,s=new Array(t>1?t-1:0),i=1;i<t;i++)s[i-1]=arguments[i];for(let t=0;t<s.length;t++){const i=s[t],n=Object.getPrototypeOf(e);for(const t in i){if(null!==n&&t in n)continue;const s=i[t];e[t]="object"!=typeof s||null===s||s instanceof Array?s:m(e[t],s)}}return e}const p=e=>e;function f(e,t){return Array.from({length:e},t?(e,s)=>t(s):()=>{})}const g=(e,t)=>e+(t||0),x=(e,t)=>f(Math.max(...e.map((e=>e.length))),(s=>t(...e.map((e=>e[s])))));function v(e,t){return null!==e&&"object"==typeof e&&Reflect.has(e,t)}function y(e){return null!==e&&isFinite(e)}function w(e){return!e&&0!==e}function b(e){return y(e)?Number(e):void 0}function E(e){return!!Array.isArray(e)&&e.every(Array.isArray)}function A(e,t){let s=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=0;e[s?"reduceRight":"reduce"](((e,s,n)=>t(s,i++,n)),void 0)}function M(e,t){const s=Array.isArray(e)?e[t]:v(e,"data")?e.data[t]:null;return v(s,"meta")?s.meta:void 0}function N(e){return null==e||"number"==typeof e&&isNaN(e)}function C(e){return Array.isArray(e)&&e.every((e=>Array.isArray(e)||v(e,"data")))}function O(e){return"object"==typeof e&&null!==e&&(Reflect.has(e,"x")||Reflect.has(e,"y"))}function L(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"y";return O(e)&&v(e,t)?b(e[t]):b(e)}function S(e,t,s){const i={high:void 0===(t={...t,...s?"x"===s?t.axisX:t.axisY:{}}).high?-Number.MAX_VALUE:+t.high,low:void 0===t.low?Number.MAX_VALUE:+t.low},n=void 0===t.high,r=void 0===t.low;return(n||r)&&function e(t){if(!N(t))if(Array.isArray(t))for(let s=0;s<t.length;s++)e(t[s]);else{const e=Number(s&&v(t,s)?t[s]:t);n&&e>i.high&&(i.high=e),r&&e<i.low&&(i.low=e)}}(e),(t.referenceValue||0===t.referenceValue)&&(i.high=Math.max(t.referenceValue,i.high),i.low=Math.min(t.referenceValue,i.low)),i.high<=i.low&&(0===i.low?i.high=1:i.low<0?i.high=0:(i.high>0||(i.high=1),i.low=0)),i}function k(e){let t,s=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2?arguments[2]:void 0,n=arguments.length>3?arguments[3]:void 0;const r={labels:(e.labels||[]).slice(),series:z(e.series,i,n)},a=r.labels.length;return E(r.series)?(t=Math.max(a,...r.series.map((e=>e.length))),r.series.forEach((e=>{e.push(...f(Math.max(0,t-e.length)))}))):t=r.series.length,r.labels.push(...f(Math.max(0,t-a),(()=>""))),s&&B(r),r}function B(e){var t;null===(t=e.labels)||void 0===t||t.reverse(),e.series.reverse();for(const t of e.series)v(t,"data")?t.data.reverse():Array.isArray(t)&&t.reverse()}function _(e,t){if(!N(e))return t?function(e,t){let s,i;if("object"!=typeof e){const n=b(e);"x"===t?s=n:i=n}else v(e,"x")&&(s=b(e.x)),v(e,"y")&&(i=b(e.y));if(void 0!==s||void 0!==i)return{x:s,y:i}}(e,t):b(e)}function j(e,t){return Array.isArray(e)?e.map((e=>v(e,"value")?_(e.value,t):_(e,t))):j(e.data,t)}function z(e,t,s){if(C(e))return e.map((e=>j(e,t)));const i=j(e,t);return s?i.map((e=>[e])):i}function I(e,t,s){const i={increasingX:!1,fillHoles:!1,...s},n=[];let r=!0;for(let s=0;s<e.length;s+=2)void 0===L(t[s/2].value)?i.fillHoles||(r=!0):(i.increasingX&&s>=2&&e[s]<=e[s-2]&&(r=!0),r&&(n.push({pathCoordinates:[],valueData:[]}),r=!1),n[n.length-1].pathCoordinates.push(e[s],e[s+1]),n[n.length-1].valueData.push(t[s/2]));return n}function P(e){let t="";return null==e?e:(t="number"==typeof e?""+e:"object"==typeof e?JSON.stringify({data:e}):String(e),Object.keys(s).reduce(((e,t)=>e.replaceAll(t,s[t])),t))}class X{call(e,t){return this.svgElements.forEach((s=>Reflect.apply(s[e],s,t))),this}attr(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.call("attr",t)}elem(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.call("elem",t)}root(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.call("root",t)}getNode(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.call("getNode",t)}foreignObject(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.call("foreignObject",t)}text(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.call("text",t)}empty(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.call("empty",t)}remove(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.call("remove",t)}addClass(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.call("addClass",t)}removeClass(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.call("removeClass",t)}removeAllClasses(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.call("removeAllClasses",t)}animate(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.call("animate",t)}constructor(e){this.svgElements=[];for(let t=0;t<e.length;t++)this.svgElements.push(new R(e[t]))}}const 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]};function Y(e,t,s){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],a=arguments.length>4?arguments[4]:void 0;const{easing:o,...l}=s,h={};let c,u;o&&(c=Array.isArray(o)?o:V[o]),l.begin=i(l.begin,"ms"),l.dur=i(l.dur,"ms"),c&&(l.calcMode="spline",l.keySplines=c.join(" "),l.keyTimes="0;1"),r&&(l.fill="freeze",h[t]=l.from,e.attr(h),u=n(l.begin||0).value,l.begin="indefinite");const d=e.elem("animate",{attributeName:t,...l});r&&setTimeout((()=>{try{d._node.beginElement()}catch(s){h[t]=l.to,e.attr(h),d.remove()}}),u);const m=d.getNode();a&&m.addEventListener("beginEvent",(()=>a.emit("animationBegin",{element:e,animate:m,params:s}))),m.addEventListener("endEvent",(()=>{a&&a.emit("animationEnd",{element:e,animate:m,params:s}),r&&(h[t]=l.to,e.attr(h),d.remove())}))}class R{attr(e,s){return"string"==typeof e?s?this._node.getAttributeNS(s,e):this._node.getAttribute(e):(Object.keys(e).forEach((s=>{if(void 0!==e[s])if(-1!==s.indexOf(":")){const i=s.split(":");this._node.setAttributeNS(t[i[0]],s,String(e[s]))}else this._node.setAttribute(s,String(e[s]))})),this)}elem(e,t,s){return new R(e,t,s,this,arguments.length>3&&void 0!==arguments[3]&&arguments[3])}parent(){return this._node.parentNode instanceof SVGElement?new R(this._node.parentNode):null}root(){let e=this._node;for(;"svg"!==e.nodeName&&e.parentElement;)e=e.parentElement;return new R(e)}querySelector(e){const t=this._node.querySelector(e);return t?new R(t):null}querySelectorAll(e){const t=this._node.querySelectorAll(e);return new X(t)}getNode(){return this._node}foreignObject(e,s,i){let n,r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if("string"==typeof e){const t=document.createElement("div");t.innerHTML=e,n=t.firstChild}else n=e;n instanceof Element&&n.setAttribute("xmlns",t.xmlns);const a=this.elem("foreignObject",s,i,r);return a._node.appendChild(n),a}text(e){return this._node.appendChild(document.createTextNode(e)),this}empty(){for(;this._node.firstChild;)this._node.removeChild(this._node.firstChild);return this}remove(){var e;return null===(e=this._node.parentNode)||void 0===e||e.removeChild(this._node),this.parent()}replace(e){var t;return null===(t=this._node.parentNode)||void 0===t||t.replaceChild(e._node,this._node),e}append(e){return arguments.length>1&&void 0!==arguments[1]&&arguments[1]&&this._node.firstChild?this._node.insertBefore(e._node,this._node.firstChild):this._node.appendChild(e._node),this}classes(){const 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,s){return s.indexOf(e)===t})).join(" ")),this}removeClass(e){const t=e.trim().split(/\s+/);return this._node.setAttribute("class",this.classes().filter((e=>-1===t.indexOf(e))).join(" ")),this}removeAllClasses(){return this._node.setAttribute("class",""),this}height(){return this._node.clientHeight}width(){return this._node.clientWidth}animate(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],s=arguments.length>2?arguments[2]:void 0;return Object.keys(e).forEach((i=>{const n=e[i];Array.isArray(n)?n.forEach((e=>Y(this,i,e,!1,s))):Y(this,i,n,t,s)})),this}constructor(e,s,i,n,r=!1){e instanceof Element?this._node=e:(this._node=document.createElementNS(t.svg,e),"svg"===e&&this.attr({"xmlns:ct":t.ct})),s&&this.attr(s),i&&this.addClass(i),n&&(r&&n._node.firstChild?n._node.insertBefore(this._node,n._node.firstChild):n._node.appendChild(this._node))}}function G(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"100%",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"100%",n=arguments.length>3?arguments[3]:void 0;if(!e)throw new Error("Container element is not found");Array.from(e.querySelectorAll("svg")).filter((e=>e.getAttributeNS(t.xmlns,"ct"))).forEach((t=>e.removeChild(t)));const r=new R("svg").attr({width:s,height:i}).attr({style:"width: ".concat(s,"; height: ").concat(i,";")});return n&&r.addClass(n),e.appendChild(r.getNode()),r}function D(e){return"number"==typeof e?{top:e,right:e,bottom:e,left:e}:void 0===e?{top:0,right:0,bottom:0,left:0}:{top:"number"==typeof e.top?e.top:0,right:"number"==typeof e.right?e.right:0,bottom:"number"==typeof e.bottom?e.bottom:0,left:"number"==typeof e.left?e.left:0}}function U(e,t){var s,i,r,a;const o=Boolean(t.axisX||t.axisY),l=(null===(s=t.axisY)||void 0===s?void 0:s.offset)||0,h=(null===(i=t.axisX)||void 0===i?void 0:i.offset)||0,c=null===(r=t.axisY)||void 0===r?void 0:r.position,u=null===(a=t.axisX)||void 0===a?void 0:a.position;let d=e.width()||n(t.width).value||0,m=e.height()||n(t.height).value||0;const p=D(t.chartPadding);d=Math.max(d,l+p.left+p.right),m=Math.max(m,h+p.top+p.bottom);const f={x1:0,x2:0,y1:0,y2:0,padding:p,width(){return this.x2-this.x1},height(){return this.y1-this.y2}};return o?("start"===u?(f.y2=p.top+h,f.y1=Math.max(m-p.bottom,f.y2+1)):(f.y2=p.top,f.y1=Math.max(m-p.bottom-h,f.y2+1)),"start"===c?(f.x1=p.left+l,f.x2=Math.max(d-p.right,f.x1+1)):(f.x1=p.left,f.x2=Math.max(d-p.right-l,f.x1+1))):(f.x1=p.left,f.x2=Math.max(d-p.right,f.x1+1),f.y2=p.top,f.y1=Math.max(m-p.bottom,f.y2+1)),f}function H(e,t,s,i,n,r,a,o){const l={["".concat(s.units.pos,"1")]:e,["".concat(s.units.pos,"2")]:e,["".concat(s.counterUnits.pos,"1")]:i,["".concat(s.counterUnits.pos,"2")]:i+n},h=r.elem("line",l,a.join(" "));o.emit("draw",{type:"grid",axis:s,index:t,group:r,element:h,...l})}function T(e,t,s,i){const n=e.elem("rect",{x:t.x1,y:t.y2,width:t.width(),height:t.height()},s,!0);i.emit("draw",{type:"gridBackground",group:e,element:n})}function Q(e,t,s,i,n,r,a,o,l,h){const c={[n.units.pos]:e+a[n.units.pos],[n.counterUnits.pos]:a[n.counterUnits.pos],[n.units.len]:t,[n.counterUnits.len]:Math.max(0,r-10)},u=Math.round(c[n.units.len]),d=Math.round(c[n.counterUnits.len]),m=document.createElement("span");m.className=l.join(" "),m.style[n.units.len]=u+"px",m.style[n.counterUnits.len]=d+"px",m.textContent=String(i);const p=o.foreignObject(m,{style:"overflow: visible;",...c});h.emit("draw",{type:"label",axis:n,index:s,group:o,element:p,text:i,...c})}function F(e,t,s){let i;const n=[];function r(n){const r=i;i=m({},e),t&&t.forEach((e=>{window.matchMedia(e[0]).matches&&(i=m({},i,e[1]))})),s&&n&&s.emit("optionsChanged",{previousOptions:r,currentOptions:i})}if(!window.matchMedia)throw new Error("window.matchMedia not found! Make sure you're using a polyfill.");return t&&t.forEach((e=>{const t=window.matchMedia(e[0]);t.addEventListener("change",r),n.push(t)})),r(),{removeMediaQueryListeners:function(){n.forEach((e=>e.removeEventListener("change",r)))},getCurrentOptions:()=>i}}R.Easing=V;const q={m:["x","y"],l:["x","y"],c:["x1","y1","x2","y2","x","y"],a:["rx","ry","xAr","lAf","sf","x","y"]},W={accuracy:3};function Z(e,t,s,i,n,r){const a={command:n?e.toLowerCase():e.toUpperCase(),...t,...r?{data:r}:{}};s.splice(i,0,a)}function $(e,t){e.forEach(((s,i)=>{q[s.command.toLowerCase()].forEach(((n,r)=>{t(s,n,i,r,e)}))}))}class J{static join(e){const t=new J(arguments.length>1&&void 0!==arguments[1]&&arguments[1],arguments.length>2?arguments[2]:void 0);for(let s=0;s<e.length;s++){const i=e[s];for(let e=0;e<i.pathElements.length;e++)t.pathElements.push(i.pathElements[e])}return t}position(e){return void 0!==e?(this.pos=Math.max(0,Math.min(this.pathElements.length,e)),this):this.pos}remove(e){return this.pathElements.splice(this.pos,e),this}move(e,t){let s=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0;return Z("M",{x:+e,y:+t},this.pathElements,this.pos++,s,i),this}line(e,t){let s=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0;return Z("L",{x:+e,y:+t},this.pathElements,this.pos++,s,i),this}curve(e,t,s,i,n,r){let a=arguments.length>6&&void 0!==arguments[6]&&arguments[6],o=arguments.length>7?arguments[7]:void 0;return Z("C",{x1:+e,y1:+t,x2:+s,y2:+i,x:+n,y:+r},this.pathElements,this.pos++,a,o),this}arc(e,t,s,i,n,r,a){let o=arguments.length>7&&void 0!==arguments[7]&&arguments[7],l=arguments.length>8?arguments[8]:void 0;return Z("A",{rx:e,ry:t,xAr:s,lAf:i,sf:n,x:r,y:a},this.pathElements,this.pos++,o,l),this}parse(e){const t=e.replace(/([A-Za-z])(-?[0-9])/g,"$1 $2").replace(/([0-9])([A-Za-z])/g,"$1 $2").split(/[\s,]+/).reduce(((e,t)=>(t.match(/[A-Za-z]/)&&e.push([]),e[e.length-1].push(t),e)),[]);"Z"===t[t.length-1][0].toUpperCase()&&t.pop();const s=t.map((e=>{const t=e.shift(),s=q[t.toLowerCase()];return{command:t,...s.reduce(((t,s,i)=>(t[s]=+e[i],t)),{})}}));return this.pathElements.splice(this.pos,0,...s),this.pos+=s.length,this}stringify(){const e=Math.pow(10,this.options.accuracy);return this.pathElements.reduce(((t,s)=>{const i=q[s.command.toLowerCase()].map((t=>{const i=s[t];return this.options.accuracy?Math.round(i*e)/e:i}));return t+s.command+i.join(",")}),"")+(this.close?"Z":"")}scale(e,t){return $(this.pathElements,((s,i)=>{s[i]*="x"===i[0]?e:t})),this}translate(e,t){return $(this.pathElements,((s,i)=>{s[i]+="x"===i[0]?e:t})),this}transform(e){return $(this.pathElements,((t,s,i,n,r)=>{const a=e(t,s,i,n,r);(a||0===a)&&(t[s]=a)})),this}clone(){const e=new J(arguments.length>0&&void 0!==arguments[0]&&arguments[0]||this.close);return e.pos=this.pos,e.pathElements=this.pathElements.slice().map((e=>({...e}))),e.options={...this.options},e}splitByCommand(e){const t=[new J];return this.pathElements.forEach((s=>{s.command===e.toUpperCase()&&0!==t[t.length-1].pathElements.length&&t.push(new J),t[t.length-1].pathElements.push(s)})),t}constructor(e=!1,t){this.close=e,this.pathElements=[],this.pos=0,this.options={...W,...t}}}function K(e){const t={fillHoles:!1,...e};return function(e,s){const i=new J;let n=!0;for(let r=0;r<e.length;r+=2){const a=e[r],o=e[r+1],l=s[r/2];void 0!==L(l.value)?(n?i.move(a,o,!1,l):i.line(a,o,!1,l),n=!1):t.fillHoles||(n=!0)}return i}}function ee(e){const t={fillHoles:!1,...e};return function e(s,i){const n=I(s,i,{fillHoles:t.fillHoles,increasingX:!0});if(n.length){if(n.length>1)return J.join(n.map((t=>e(t.pathCoordinates,t.valueData))));{if(s=n[0].pathCoordinates,i=n[0].valueData,s.length<=4)return K()(s,i);const e=[],t=[],r=s.length/2,a=[],o=[],l=[],h=[];for(let i=0;i<r;i++)e[i]=s[2*i],t[i]=s[2*i+1];for(let s=0;s<r-1;s++)l[s]=t[s+1]-t[s],h[s]=e[s+1]-e[s],o[s]=l[s]/h[s];a[0]=o[0],a[r-1]=o[r-2];for(let e=1;e<r-1;e++)0===o[e]||0===o[e-1]||o[e-1]>0!=o[e]>0?a[e]=0:(a[e]=3*(h[e-1]+h[e])/((2*h[e]+h[e-1])/o[e-1]+(h[e]+2*h[e-1])/o[e]),isFinite(a[e])||(a[e]=0));const c=(new J).move(e[0],t[0],!1,i[0]);for(let s=0;s<r-1;s++)c.curve(e[s]+h[s]/3,t[s]+a[s]*h[s]/3,e[s+1]-h[s]/3,t[s+1]-a[s+1]*h[s]/3,e[s+1],t[s+1],!1,i[s+1]);return c}}return K()([],[])}}var te=Object.freeze({__proto__:null,none:K,simple:function(e){const t={divisor:2,fillHoles:!1,...e},s=1/Math.max(1,t.divisor);return function(e,i){const n=new J;let r,a=0,o=0;for(let l=0;l<e.length;l+=2){const h=e[l],c=e[l+1],u=(h-a)*s,d=i[l/2];void 0!==d.value?(void 0===r?n.move(h,c,!1,d):n.curve(a+u,o,h-u,c,h,c,!1,d),a=h,o=c,r=d):t.fillHoles||(a=o=0,r=void 0)}return n}},step:function(e){const t={postpone:!0,fillHoles:!1,...e};return function(e,s){const i=new J;let n,r=0,a=0;for(let o=0;o<e.length;o+=2){const l=e[o],h=e[o+1],c=s[o/2];void 0!==c.value?(void 0===n?i.move(l,h,!1,c):(t.postpone?i.line(l,a,!1,n):i.line(r,h,!1,c),i.line(l,h,!1,c)),r=l,a=h,n=c):t.fillHoles||(r=a=0,n=void 0)}return i}},cardinal:function(e){const t={tension:1,fillHoles:!1,...e},s=Math.min(1,Math.max(0,t.tension)),i=1-s;return function e(n,r){const a=I(n,r,{fillHoles:t.fillHoles});if(a.length){if(a.length>1)return J.join(a.map((t=>e(t.pathCoordinates,t.valueData))));{if(n=a[0].pathCoordinates,r=a[0].valueData,n.length<=4)return K()(n,r);const e=(new J).move(n[0],n[1],!1,r[0]),t=!1;for(let a=0,o=n.length;o-2*Number(!t)>a;a+=2){const t=[{x:+n[a-2],y:+n[a-1]},{x:+n[a],y:+n[a+1]},{x:+n[a+2],y:+n[a+3]},{x:+n[a+4],y:+n[a+5]}];o-4===a?t[3]=t[2]:a||(t[0]={x:+n[a],y:+n[a+1]}),e.curve(s*(-t[0].x+6*t[1].x+t[2].x)/6+i*t[2].x,s*(-t[0].y+6*t[1].y+t[2].y)/6+i*t[2].y,s*(t[1].x+6*t[2].x-t[3].x)/6+i*t[2].x,s*(t[1].y+6*t[2].y-t[3].y)/6+i*t[2].y,t[2].x,t[2].y,!1,r[(a+2)/2])}return e}}return K()([],[])}},monotoneCubic:ee});class se{on(e,t){const{allListeners:s,listeners:i}=this;"*"===e?s.add(t):(i.has(e)||i.set(e,new Set),i.get(e).add(t))}off(e,t){const{allListeners:s,listeners:i}=this;if("*"===e)t?s.delete(t):s.clear();else if(i.has(e)){const s=i.get(e);t?s.delete(t):s.clear(),s.size||i.delete(e)}}emit(e,t){const{allListeners:s,listeners:i}=this;i.has(e)&&i.get(e).forEach((e=>e(t))),s.forEach((s=>s(e,t)))}constructor(){this.listeners=new Map,this.allListeners=new Set}}const ie=new WeakMap;class ne{update(e,t){let s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];var i;(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=m({},s?this.options:this.defaultOptions,t),this.initializeTimeoutId||(null===(i=this.optionsProvider)||void 0===i||i.removeMediaQueryListeners(),this.optionsProvider=F(this.options,this.responsiveOptions,this.eventEmitter)));return!this.initializeTimeoutId&&this.optionsProvider&&this.createChart(this.optionsProvider.getCurrentOptions()),this}detach(){var e;this.initializeTimeoutId?window.clearTimeout(this.initializeTimeoutId):(window.removeEventListener("resize",this.resizeListener),null===(e=this.optionsProvider)||void 0===e||e.removeMediaQueryListeners());return ie.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(){window.addEventListener("resize",this.resizeListener),this.optionsProvider=F(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]):e(this)})),this.eventEmitter.emit("data",{type:"initial",data:this.data}),this.createChart(this.optionsProvider.getCurrentOptions()),this.initializeTimeoutId=null}constructor(e,t,s,i,n){this.data=t,this.defaultOptions=s,this.options=i,this.responsiveOptions=n,this.eventEmitter=new se,this.resizeListener=()=>this.update(),this.initializeTimeoutId=setTimeout((()=>this.initialize()),0);const r="string"==typeof e?document.querySelector(e):e;if(!r)throw new Error("Target element ".concat("string"==typeof e?'"'.concat(e,'"'):""," is not found"));this.container=r;const a=ie.get(r);a&&a.detach(),ie.set(r,this)}}const re={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"}};class ae{createGridAndLabels(e,t,s,i){const n="x"===this.units.pos?s.axisX:s.axisY,r=this.ticks.map(((e,t)=>this.projectValue(e,t))),a=this.ticks.map(n.labelInterpolationFnc);r.forEach(((o,l)=>{const h=a[l],c={x:0,y:0};let u;u=r[l+1]?r[l+1]-o:Math.max(this.axisLength-o,this.axisLength/this.ticks.length),""!==h&&w(h)||("x"===this.units.pos?(o=this.chartRect.x1+o,c.x=s.axisX.labelOffset.x,"start"===s.axisX.position?c.y=this.chartRect.padding.top+s.axisX.labelOffset.y+5:c.y=this.chartRect.y1+s.axisX.labelOffset.y+5):(o=this.chartRect.y1-o,c.y=s.axisY.labelOffset.y-u,"start"===s.axisY.position?c.x=this.chartRect.padding.left+s.axisY.labelOffset.x:c.x=this.chartRect.x2+s.axisY.labelOffset.x+10),n.showGrid&&H(o,l,this,this.gridOffset,this.chartRect[this.counterUnits.len](),e,[s.classNames.grid,s.classNames[this.units.dir]],i),n.showLabel&&Q(o,u,l,h,this,n.offset,c,t,[s.classNames.label,s.classNames[this.units.dir],"start"===n.position?s.classNames[n.position]:s.classNames.end],i))}))}constructor(e,t,s){this.units=e,this.chartRect=t,this.ticks=s,this.counterUnits=e===re.x?re.y:re.x,this.axisLength=t[this.units.rectEnd]-t[this.units.rectStart],this.gridOffset=t[this.units.rectOffset]}}class oe extends ae{projectValue(e){const t=Number(L(e,this.units.pos));return this.axisLength*(t-this.bounds.min)/this.bounds.range}constructor(e,t,s,i){const n=i.highLow||S(t,i,e.pos),r=d(s[e.rectEnd]-s[e.rectStart],n,i.scaleMinSpace||20,i.onlyInteger),a={min:r.min,max:r.max};super(e,s,r.values),this.bounds=r,this.range=a}}class le extends ae{projectValue(e,t){return this.stepLength*t}constructor(e,t,s,i){const n=i.ticks||[];super(e,s,n);const r=Math.max(1,n.length-(i.stretch?1:0));this.stepLength=this.axisLength/r,this.stretch=Boolean(i.stretch)}}function he(e,t,s){var i;if(v(e,"name")&&e.name&&(null===(i=t.series)||void 0===i?void 0:i[e.name])){const i=(null==t?void 0:t.series[e.name])[s];return void 0===i?t[s]:i}return t[s]}const ce={axisX:{offset:30,position:"end",labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:p,type:void 0},axisY:{offset:40,position:"start",labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:p,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"}};const ue={axisX:{offset:30,position:"end",labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:p,scaleMinSpace:30,onlyInteger:!1},axisY:{offset:40,position:"start",labelOffset:{x:0,y:0},showLabel:!0,showGrid:!0,labelInterpolationFnc:p,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"}};const de={width:void 0,height:void 0,chartPadding: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,donutWidth:60,showLabel:!0,labelOffset:0,labelPosition:"inside",labelInterpolationFnc:p,labelDirection:"neutral",ignoreEmptyValues:!1,preventOverlappingLabelOffset:0};function me(e,t,s){const i=t.x>e.x;return i&&"explode"===s||!i&&"implode"===s?"start":i&&"implode"===s||!i&&"explode"===s?"end":"middle"}e.AutoScaleAxis=oe,e.Axis=ae,e.BarChart=class extends ne{createChart(e){const{data:t}=this,s=k(t,e.reverseData,e.horizontalBars?"x":"y",!0),i=G(this.container,e.width,e.height,e.classNames.chart+(e.horizontalBars?" "+e.classNames.horizontalBars:"")),n=e.stackBars&&!0!==e.stackMode&&s.series.length?S([(a=s.series,x(a,(function(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return Array.from(t).reduce(((e,t)=>({x:e.x+(v(t,"x")?t.x:0),y:e.y+(v(t,"y")?t.y:0)})),{x:0,y:0})})))],e,e.horizontalBars?"x":"y"):S(s.series,e,e.horizontalBars?"x":"y");var a;this.svg=i;const o=i.elem("g").addClass(e.classNames.gridGroup),l=i.elem("g"),h=i.elem("g").addClass(e.classNames.labelGroup);"number"==typeof e.high&&(n.high=e.high),"number"==typeof e.low&&(n.low=e.low);const c=U(i,e);let u;const d=e.distributeSeries&&e.stackBars?s.labels.slice(0,1):s.labels;let m,p,f;e.horizontalBars?(u=p=void 0===e.axisX.type?new oe(re.x,s.series,c,{...e.axisX,highLow:n,referenceValue:0}):new e.axisX.type(re.x,s.series,c,{...e.axisX,highLow:n,referenceValue:0}),m=f=void 0===e.axisY.type?new le(re.y,s.series,c,{ticks:d}):new e.axisY.type(re.y,s.series,c,e.axisY)):(m=p=void 0===e.axisX.type?new le(re.x,s.series,c,{ticks:d}):new e.axisX.type(re.x,s.series,c,e.axisX),u=f=void 0===e.axisY.type?new oe(re.y,s.series,c,{...e.axisY,highLow:n,referenceValue:0}):new e.axisY.type(re.y,s.series,c,{...e.axisY,highLow:n,referenceValue:0}));const g=e.horizontalBars?c.x1+u.projectValue(0):c.y1-u.projectValue(0),w="accumulate"===e.stackMode,b="accumulate-relative"===e.stackMode,E=[],N=[];let C=E;m.createGridAndLabels(o,h,e,this.eventEmitter),u.createGridAndLabels(o,h,e,this.eventEmitter),e.showGridBackground&&T(o,c,e.classNames.gridBackground,this.eventEmitter),A(t.series,((i,n)=>{const a=n-(t.series.length-1)/2;let o;o=e.distributeSeries&&!e.stackBars?m.axisLength/s.series.length/2:e.distributeSeries&&e.stackBars?m.axisLength/2:m.axisLength/s.series[n].length/2;const h=l.elem("g"),d=v(i,"name")&&i.name,x=v(i,"className")&&i.className,A=v(i,"meta")?i.meta:void 0;d&&h.attr({"ct:series-name":d}),A&&h.attr({"ct:meta":P(A)}),h.addClass([e.classNames.series,x||"".concat(e.classNames.series,"-").concat(r(n))].join(" ")),s.series[n].forEach(((t,r)=>{const l=v(t,"x")&&t.x,d=v(t,"y")&&t.y;let x,A;x=e.distributeSeries&&!e.stackBars?n:e.distributeSeries&&e.stackBars?0:r,A=e.horizontalBars?{x:c.x1+u.projectValue(l||0,r,s.series[n]),y:c.y1-m.projectValue(d||0,x,s.series[n])}:{x:c.x1+m.projectValue(l||0,x,s.series[n]),y:c.y1-u.projectValue(d||0,r,s.series[n])},m instanceof le&&(m.stretch||(A[m.units.pos]+=o*(e.horizontalBars?-1:1)),A[m.units.pos]+=e.stackBars||e.distributeSeries?0:a*e.seriesBarDistance*(e.horizontalBars?-1:1)),b&&(C=d>=0||l>=0?E:N);const O=C[r]||g;if(C[r]=O-(g-A[m.counterUnits.pos]),void 0===t)return;const L={["".concat(m.units.pos,"1")]:A[m.units.pos],["".concat(m.units.pos,"2")]:A[m.units.pos]};e.stackBars&&(w||b||!e.stackMode)?(L["".concat(m.counterUnits.pos,"1")]=O,L["".concat(m.counterUnits.pos,"2")]=C[r]):(L["".concat(m.counterUnits.pos,"1")]=g,L["".concat(m.counterUnits.pos,"2")]=A[m.counterUnits.pos]),L.x1=Math.min(Math.max(L.x1,c.x1),c.x2),L.x2=Math.min(Math.max(L.x2,c.x1),c.x2),L.y1=Math.min(Math.max(L.y1,c.y2),c.y1),L.y2=Math.min(Math.max(L.y2,c.y2),c.y1);const S=M(i,r),k=h.elem("line",L,e.classNames.bar).attr({"ct:value":[l,d].filter(y).join(","),"ct:meta":P(S)});this.eventEmitter.emit("draw",{type:"bar",value:t,index:r,meta:S,series:i,seriesIndex:n,axisX:p,axisY:f,chartRect:c,group:h,element:k,...L})}))}),e.reverseData),this.eventEmitter.emit("created",{chartRect:c,axisX:p,axisY:f,svg:i,options:e})}constructor(e,t,s,i){super(e,t,ue,m({},ue,s),i),this.data=t}},e.BaseChart=ne,e.EPSILON=a,e.EventEmitter=se,e.FixedScaleAxis=class extends ae{projectValue(e){const t=Number(L(e,this.units.pos));return this.axisLength*(t-this.range.min)/(this.range.max-this.range.min)}constructor(e,t,s,i){const n=i.highLow||S(t,i,e.pos),r=i.divisor||1,a=(i.ticks||f(r,(e=>n.low+(n.high-n.low)/r*e))).sort(((e,t)=>Number(e)-Number(t))),o={min:n.low,max:n.high};super(e,s,a),this.range=o}},e.Interpolation=te,e.LineChart=class extends ne{createChart(e){const{data:t}=this,s=k(t,e.reverseData,!0),i=G(this.container,e.width,e.height,e.classNames.chart);this.svg=i;const n=i.elem("g").addClass(e.classNames.gridGroup),a=i.elem("g"),o=i.elem("g").addClass(e.classNames.labelGroup),l=U(i,e);let h,c;h=void 0===e.axisX.type?new le(re.x,s.series,l,{...e.axisX,ticks:s.labels,stretch:e.fullWidth}):new e.axisX.type(re.x,s.series,l,e.axisX),c=void 0===e.axisY.type?new oe(re.y,s.series,l,{...e.axisY,high:y(e.high)?e.high:e.axisY.high,low:y(e.low)?e.low:e.axisY.low}):new e.axisY.type(re.y,s.series,l,e.axisY),h.createGridAndLabels(n,o,e,this.eventEmitter),c.createGridAndLabels(n,o,e,this.eventEmitter),e.showGridBackground&&T(n,l,e.classNames.gridBackground,this.eventEmitter),A(t.series,((t,i)=>{const n=a.elem("g"),o=v(t,"name")&&t.name,u=v(t,"className")&&t.className,d=v(t,"meta")?t.meta:void 0;o&&n.attr({"ct:series-name":o}),d&&n.attr({"ct:meta":P(d)}),n.addClass([e.classNames.series,u||"".concat(e.classNames.series,"-").concat(r(i))].join(" "));const m=[],p=[];s.series[i].forEach(((e,n)=>{const r={x:l.x1+h.projectValue(e,n,s.series[i]),y:l.y1-c.projectValue(e,n,s.series[i])};m.push(r.x,r.y),p.push({value:e,valueIndex:n,meta:M(t,n)})}));const f={lineSmooth:he(t,e,"lineSmooth"),showPoint:he(t,e,"showPoint"),showLine:he(t,e,"showLine"),showArea:he(t,e,"showArea"),areaBase:he(t,e,"areaBase")};let g;g="function"==typeof f.lineSmooth?f.lineSmooth:f.lineSmooth?ee():K();const x=g(m,p);if(f.showPoint&&x.pathElements.forEach((s=>{const{data:r}=s,a=n.elem("line",{x1:s.x,y1:s.y,x2:s.x+.01,y2:s.y},e.classNames.point);if(r){let e,t;v(r.value,"x")&&(e=r.value.x),v(r.value,"y")&&(t=r.value.y),a.attr({"ct:value":[e,t].filter(y).join(","),"ct:meta":P(r.meta)})}this.eventEmitter.emit("draw",{type:"point",value:null==r?void 0:r.value,index:(null==r?void 0:r.valueIndex)||0,meta:null==r?void 0:r.meta,series:t,seriesIndex:i,axisX:h,axisY:c,group:n,element:a,x:s.x,y:s.y,chartRect:l})})),f.showLine){const r=n.elem("path",{d:x.stringify()},e.classNames.line,!0);this.eventEmitter.emit("draw",{type:"line",values:s.series[i],path:x.clone(),chartRect:l,index:i,series:t,seriesIndex:i,meta:d,axisX:h,axisY:c,group:n,element:r})}if(f.showArea&&c.range){const r=Math.max(Math.min(f.areaBase,c.range.max),c.range.min),a=l.y1-c.projectValue(r);x.splitByCommand("M").filter((e=>e.pathElements.length>1)).map((e=>{const t=e.pathElements[0],s=e.pathElements[e.pathElements.length-1];return e.clone(!0).position(0).remove(1).move(t.x,a).line(t.x,t.y).position(e.pathElements.length+1).line(s.x,a)})).forEach((r=>{const a=n.elem("path",{d:r.stringify()},e.classNames.area,!0);this.eventEmitter.emit("draw",{type:"area",values:s.series[i],path:r.clone(),series:t,seriesIndex:i,axisX:h,axisY:c,chartRect:l,index:i,group:n,element:a,meta:d})}))}}),e.reverseData),this.eventEmitter.emit("created",{chartRect:l,axisX:h,axisY:c,svg:i,options:e})}constructor(e,t,s,i){super(e,t,ce,m({},ce,s),i),this.data=t}},e.PieChart=class extends ne{moveLabel(e,t,s,i){e.y>t.y-s&&e.y<t.y+s&&e.x>t.x-i*s&&e.x<t.x+i*s&&(e.y-=s,e.x-=s,this.moveLabel(e,t,s,i))}createChart(e){const{data:t}=this,s=k(t),i=[];let a;const o=[];let l,h=e.startAngle;const c=G(this.container,e.width,e.height,e.donut?e.classNames.chartDonut:e.classNames.chartPie);this.svg=c;const d=U(c,e);let m=Math.min(d.width()/2,d.height()/2);const p=e.total||s.series.reduce(g,0),f=n(e.donutWidth);"%"===f.unit&&(f.value*=m/100),m-=e.donut?f.value/2:0,l="outside"===e.labelPosition||e.donut?m:"center"===e.labelPosition?0:m/2,e.labelOffset&&(l+=e.labelOffset);const x={x:d.x1+d.width()/2,y:d.y2+d.height()/2},y=1===t.series.filter((e=>v(e,"value")?0!==e.value:0!==e)).length;t.series.forEach(((e,t)=>i[t]=c.elem("g"))),e.showLabel&&(a=c.elem("g")),t.series.forEach(((n,c)=>{var g,b;if(0===s.series[c]&&e.ignoreEmptyValues)return;const E=v(n,"name")&&n.name,A=v(n,"className")&&n.className,M=v(n,"meta")?n.meta:void 0;E&&i[c].attr({"ct:series-name":E}),i[c].addClass([null===(g=e.classNames)||void 0===g?void 0:g.series,A||"".concat(null===(b=e.classNames)||void 0===b?void 0:b.series,"-").concat(r(c))].join(" "));let N=p>0?h+s.series[c]/p*360:0;const C=Math.max(0,h-(0===c||y?0:.2));N-C>=359.99&&(N=C+359.99);const O=u(x.x,x.y,m,C),L=u(x.x,x.y,m,N),S=new J(!e.donut).move(L.x,L.y).arc(m,m,0,Number(N-h>180),0,O.x,O.y);e.donut||S.line(x.x,x.y);const k=i[c].elem("path",{d:S.stringify()},e.donut?e.classNames.sliceDonut:e.classNames.slicePie);if(k.attr({"ct:value":s.series[c],"ct:meta":P(M)}),e.donut&&k.attr({style:"stroke-width: "+f.value+"px"}),this.eventEmitter.emit("draw",{type:"slice",value:s.series[c],totalDataSum:p,index:c,meta:M,series:n,group:i[c],element:k,path:S.clone(),center:x,radius:m,startAngle:h,endAngle:N,chartRect:d}),e.showLabel){let i,r;i=1===t.series.length?{x:x.x,y:x.y}:u(x.x,x.y,l,h+(N-h)/2),r=s.labels&&!w(s.labels[c])?s.labels[c]:s.series[c];const m=e.labelInterpolationFnc(r,c);if(m||0===m){if(e.preventOverlappingLabelOffset){const t=e.preventOverlappingLabelOffset,n=String(s.labels[c]).length;o.forEach((e=>{this.moveLabel(i,e,t,n)})),o.push(i)}const t=a.elem("text",{dx:i.x,dy:i.y,"text-anchor":me(x,i,e.labelDirection)},e.classNames.label).text(String(m));this.eventEmitter.emit("draw",{type:"label",index:c,group:a,element:t,text:""+m,chartRect:d,series:n,meta:M,...i})}}h=N})),this.eventEmitter.emit("created",{chartRect:d,svg:c,options:e})}constructor(e,t,s,i){super(e,t,de,m({},de,s),i),this.data=t}},e.StepAxis=le,e.Svg=R,e.SvgList=X,e.SvgPath=J,e.alphaNumerate=r,e.axisUnits=re,e.createChartRect=U,e.createGrid=H,e.createGridBackground=T,e.createLabel=Q,e.createSvg=G,e.deserialize=function(e){if("string"!=typeof e)return e;if("NaN"===e)return NaN;let t=e=Object.keys(s).reduce(((e,t)=>e.replaceAll(s[t],t)),e);if("string"==typeof e)try{t=JSON.parse(e),t=void 0!==t.data?t.data:t}catch(e){}return t},e.determineAnchorPosition=me,e.each=A,e.easings=V,e.ensureUnit=i,e.escapingMap=s,e.extend=m,e.getBounds=d,e.getHighLow=S,e.getMetaData=M,e.getMultiValue=L,e.getNumberOrUndefined=b,e.getSeriesOption=he,e.isArrayOfArrays=E,e.isArrayOfSeries=C,e.isDataHoleValue=N,e.isFalseyButZero=w,e.isMultiValue=O,e.isNumeric=y,e.namespaces=t,e.noop=p,e.normalizeData=k,e.normalizePadding=D,e.optionsProvider=F,e.orderOfMagnitude=o,e.polarToCartesian=u,e.precision=8,e.projectLength=l,e.quantity=n,e.rho=c,e.roundWithPrecision=h,e.safeHasProperty=v,e.serialMap=x,e.serialize=P,e.splitIntoSegments=I,e.sum=g,e.times=f,Object.defineProperty(e,"__esModule",{value:!0})}));
2
- //# sourceMappingURL=index.umd.js.map
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={"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`,"'":`&#039;`};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)return e;function t(e,n){return e%n===0?n:t(n,e%n)}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];e[t]=typeof n==`object`&&n&&!(n instanceof Array)?h(e[t],n):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,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))),i.high<=i.low&&(i.low===0?i.high=1:i.low<0?i.high=0:(i.high>0||(i.high=1),i.low=0)),i}function M(e,t=!1,n,r){let i,a={labels:(e.labels||[]).slice(),series:ne(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&&ee(a),a}function ee(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 N(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 P(e,t){if(!D(e))return t?N(e,t):C(e)}function te(e,t){return Array.isArray(e)?e.map(e=>b(e,`value`)?P(e.value,t):P(e,t)):te(e.data,t)}function ne(e,t,n){if(O(e))return e.map(e=>te(e,t));let r=te(e,t);return n?r.map(e=>[e]):r}function F(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 I(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}var ie=class{svgElements=[];constructor(e){for(let t=0;t<e.length;t++)this.svgElements.push(new L(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 L=class e{static Easing=ae;_node;constructor(e,t,n,i,a=!1){e instanceof Element?this._node=e:(this._node=(i?._node.ownerDocument??document).createElementNS(r.svg,e),e===`svg`&&this.attr({"xmlns:ct":r.ct})),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.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(){return this._node.parentNode instanceof SVGElement?new e(this._node.parentNode):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,i=!1){let a;if(typeof e==`string`){let t=this._node.ownerDocument.createElement(`div`);t.innerHTML=e,a=t.firstChild}else a=e;a instanceof Element&&a.setAttribute(`xmlns`,r.xmlns);let o=this.elem(`foreignObject`,t,n,i);return o._node.appendChild(a),o}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 le(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 L(`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 ue(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 de(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=ue(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 fe(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 pe(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 me(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=document.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 R(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 he=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 ge=/* @__PURE__ */ new WeakMap;var _e=class{data;defaultOptions;options;responsiveOptions;svg;container;eventEmitter=new he;resizeListener=()=>this.update();initializeTimeoutId=setTimeout(()=>this.initialize(),0);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=ge.get(a);o&&o.detach(),ge.set(a,this)}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=R(this.options,this.responsiveOptions,this.eventEmitter))),!this.initializeTimeoutId&&this.optionsProvider&&this.createChart(this.optionsProvider.getCurrentOptions()),this}detach(){return this.initializeTimeoutId?clearTimeout(this.initializeTimeoutId):(window.removeEventListener(`resize`,this.resizeListener),this.optionsProvider?.removeMediaQueryListeners()),ge.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(){window.addEventListener(`resize`,this.resizeListener),this.optionsProvider=R(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 ve={m:[`x`,`y`],l:[`x`,`y`],c:[`x1`,`y1`,`x2`,`y2`,`x`,`y`],a:[`rx`,`ry`,`xAr`,`lAf`,`sf`,`x`,`y`]},ye={accuracy:3};function z(e,t,n,r,i,a){let o={command:i?e.toLowerCase():e.toUpperCase(),...t,...a?{data:a}:{}};n.splice(r,0,o)}function be(e,t){e.forEach((n,r)=>{ve[n.command.toLowerCase()].forEach((i,a)=>{t(n,i,r,a,e)})})}var B=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}pathElements=[];pos=0;options;constructor(e=!1,t){this.close=e,this.options={...ye,...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 z(`M`,{x:+e,y:+t},this.pathElements,this.pos++,n,r),this}line(e,t,n=!1,r){return z(`L`,{x:+e,y:+t},this.pathElements,this.pos++,n,r),this}curve(e,t,n,r,i,a,o=!1,s){return z(`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 z(`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=e.replace(/([A-Za-z])(-?[0-9])/g,`$1 $2`).replace(/([0-9])([A-Za-z])/g,`$1 $2`).split(/[\s,]+/).reduce((e,t)=>(t.match(/[A-Za-z]/)&&e.push([]),e[e.length-1].push(t),e),[]);t[t.length-1][0].toUpperCase()===`Z`&&t.pop();let n=t.map(e=>{let t=e.shift();return{command:t,...ve[t.toLowerCase()].reduce((t,n,r)=>(t[n]=+e[r],t),{})}});return this.pathElements.splice(this.pos,0,...n),this.pos+=n.length,this}stringify(){let e=10**this.options.accuracy;return this.pathElements.reduce((t,n)=>{let r=ve[n.command.toLowerCase()].map(t=>{let r=n[t];return this.options.accuracy?Math.round(r*e)/e:r});return t+n.command+r.join(`,`)},``)+(this.close?`Z`:``)}scale(e,t){return be(this.pathElements,(n,r)=>{n[r]*=r[0]===`x`?e:t}),this}translate(e,t){return be(this.pathElements,(n,r)=>{n[r]+=r[0]===`x`?e:t}),this}transform(e){return be(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=[new e];return this.pathElements.forEach(r=>{r.command===t.toUpperCase()&&n[n.length-1].pathElements.length!==0&&n.push(new e),n[n.length-1].pathElements.push(r)}),n}};function V(e){let t={fillHoles:!1,...e};return function(e,n){let r=new B,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 xe(e){let t={fillHoles:!1,...e};return function e(n,r){let i=F(n,r,{fillHoles:t.fillHoles,increasingX:!0});if(!i.length)return V()([],[]);if(i.length>1)return B.join(i.map(t=>e(t.pathCoordinates,t.valueData)));{if(n=i[0].pathCoordinates,r=i[0].valueData,n.length<=4)return V()(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 B().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}}}let Se=e=>e.split(/\s+/).filter(Boolean),Ce={attr(e){let t={...this.attrs};for(let[n,r]of Object.entries(e))r==null?delete t[n]:t[n]=r;return H(this,{attrs:t})},addClass(e){let t=Se(e).filter((e,t,n)=>!this.classes.includes(e)&&n.indexOf(e)===t);return t.length?H(this,{classes:[...this.classes,...t]}):this},removeClass(e){let t=Se(e);return H(this,{classes:this.classes.filter(e=>!t.includes(e))})},append(e,t=!1){return H(this,{children:t?[e,...this.children]:[...this.children,e]})},remove(e){return H(this,{children:this.children.filter(t=>t!==e)})},replace(e,t){return H(this,{children:this.children.map(n=>n===e?t:n)})},text(e){return H(this,{content:e})},empty(){return H(this,{children:[],content:void 0})}};function we(e){let t=Object.create(Ce);for(let[n,r]of Object.entries(e))r!==void 0&&(t[n]=r);return t}function H(e,t){return we({...e,...t})}function U(e,t={},n=``,r={}){let i={};for(let[e,n]of Object.entries(t))n!=null&&(i[e]=n);return we({name:e,attrs:i,classes:[...new Set(Se(n))],children:[],...r})}let Te={lineSmooth:!0,showPoint:!0,showLine:!0,showArea:!1,areaBase:0},Ee={series:`ct-series`,line:`ct-line`,point:`ct-point`,area:`ct-area`};function De(e){return{name:e.name,className:e.className,meta:e.meta,data:e.values}}function W(e,t,n){let r=t[n]??Te[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 Oe(e={}){let t={...Ee,...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=e.align===`center`&&c.kind===`step`&&!c.stretch?(c.step??0)/2:0,d=n.series.map((e,t)=>t);return e.reverseData&&d.reverse(),d.map((i,d)=>{let f=o?.[i]??d,p=De(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=[],y=[];m.forEach((e,t)=>{v.push(r.x1+u+c.project(e,t,m),r.y1-l.project(e,t,m)),y.push({value:e,valueIndex:t,meta:E(p,t)})});let S=W(p,e,`lineSmooth`),C=(typeof S==`function`?S:S?xe():V())(v,y),w={series:p,seriesIndex:f,meta:_},T=[];if(W(p,e,`showPoint`)&&(T=C.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 U(`line`,{x1:e.x,y1:e.y,x2:e.x+.01,y2:e.y,...n&&{"ct:value":[i,a].filter(x).join(`,`),"ct:meta":I(n.meta)}},t.point,{role:`point`,ctx:{...w,valueIndex:n?.valueIndex||0,value:r,meta:n?.meta,x:e.x,y:e.y}})})),W(p,e,`showLine`)&&(T=[U(`path`,{d:C.stringify()},t.line,{role:`line`,ctx:{...w,values:m,path:C.clone()}}),...T]),W(p,e,`showArea`)&&l.range){let n=Math.max(Math.min(W(p,e,`areaBase`),l.range.max),l.range.min),i=r.y1-l.project(n);C.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=>{T=[U(`path`,{d:e.stringify()},t.area,{role:`area`,ctx:{...w,values:m,path:e.clone()}}),...T]})}return H(U(`g`,{"ct:series-name":h||void 0,"ct:meta":_?I(_):void 0},`${t.series} ${g||`${t.series}-${s(f)}`}`,{role:`series`,ctx:w}),{children:T})})}}}let G=e=>e===`top`||e===`bottom`?`x`:`y`;function ke(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 Ae(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 K(e,t){return e===`x`?t.x2-t.x1:t.y1-t.y2}function je(e,t,n,r){let i=Array.isArray(r)?r:ke(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 q={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 J=class{units;chartRect;ticks;counterUnits;range;axisLength;gridOffset;constructor(e,t,n){this.units=e,this.chartRect=t,this.ticks=n,this.counterUnits=e===q.x?q.y:q.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=a[c+1]?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&&fe(s,c,this,this.gridOffset,this.chartRect[this.counterUnits.len](),e,[n.classNames.grid,n.classNames[this.units.dir]],r),i.showLabel&&me(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 Me(e){return typeof e==`function`&&typeof e.prototype?.projectValue==`function`}function Ne(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:j(n,i,t,a)}:i,c=new e(q[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:K(t,r),project:(e,t,n)=>c.projectValue(e,t,n)}}}}function Pe(e,t,n){let r=t=>e.find(e=>G(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 Fe(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 Ie(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=M(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 Le(e,t,n,r,i){let a=t=>e.find(e=>G(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 Re(e,t,n,r,i,a){let{type:o,id:s,side:c,...l}=e;return{...(Me(o)?Ne(o):o).create({dimension:G(c),series:n,labels:r.labels,area:i,options:l,...a&&{extent:a}}),id:s,side:c,inset:t,options:l}}function ze(e,t){let n=ke(e),r=Ae(n);return{config:e,definitions:n,area:(e,t,r)=>je(e,t,r,n),create(i,a,o,s){let c=o&&t?.(o,i.series.length),l=Ie(i,e.reverseData,e.normalize),u=s?Le(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 Re(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 Be(e,t={}){let n=(e,t)=>({...e,offset:e.offset??(t===`x`?30:40)}),r=Array.isArray(e)?{...t,axes:e}:{...t,...e},i=ze(r.axes?{...r,axes:r.axes.map(e=>n(e,G(e.side)))}:{...r,x:r.x&&n(r.x,`x`),y:r.y&&n(r.y,`y`)},Fe),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)=>Pe(i.definitions,e,t)}}let Ve=(e,t)=>Number(A(e,t));function He(){return{kind:`step`,create({dimension:e,area:t,labels:n,options:r}){let i=r.ticks??[...n],a=K(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 Ue(){return{kind:`autoScale`,create({dimension:e,series:t,area:n,options:r,extent:i}){let a=K(e,n),o=m(a,r.highLow||j(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*(Ve(t,e)-o.min)/o.range}}}}function We(){return{kind:`fixedScale`,create({dimension:e,series:t,area:n,options:r,extent:i}){let a=K(e,n),o=r.highLow||j(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*(Ve(t,e)-l.min)/(l.max-l.min)}}}}let Ge={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 Ke(e,t){return e.filter(e=>t?e.listener!==t:e.owner!==`user`)}function qe(){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=Ke(t,r):e.set(n,Ke(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 Je(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 Ye(e,t={}){let n=[],r=e=>{Je(e,t)&&n.push(e),e.children.forEach(r)};return r(e),n}function Y(e,t){let n=e.children,r=!1,i=[];for(let e of n){let n=Y(e,t);n!==e&&(r=!0),n&&i.push(n)}r&&(n=i);let a=r?H(e,{children:n}):e,o=t(a);return o===void 0?a:o}function Xe(e,t){return Y(e,e=>{let n=e.ctx?.seriesIndex;if(e.key!==void 0||n===void 0)return;let r=e.ctx?.valueIndex;return H(e,{key:r===void 0?`${t}/${n}`:`${t}/${n}/${r}`})})}let Ze={top:15,right:15,bottom:5,left:10};function Qe(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:{...Ze,...e}}function X(e,t){if(e==null)throw Error(`Chartist: a "${t}" listener returned null`);return e}function $e(e,t){let n={data:t.data,layers:t.layers,coordinates:t.coordinates??`cartesian`,padding:Qe(t.padding),axes:t.axes,width:t.width,height:t.height,viewBox:t.viewBox,className:t.className,labels:t.labels,preset:t.preset},r=X(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 et(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(et)};return X(e.transform(`prepare`,{data:i}),`prepare`).data}function nt(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 rt(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=X(e.transform(`layout`,a),`layout`);return nt(o),o}function it(e,t,n,r,i,a={},o,s=t.padding,c=[],l=`html`){let u=[],d=new Map((a.all??[]).map(e=>[e.id,e]));return t.layers.forEach((f,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=f.compose({data:g,area:r,padding:s,layerIndex:p,coordinates:t.coordinates,measureText:i,axes:{x:m.x&&d.get(m.x)||a.x,y:m.y&&d.get(m.y)||a.y,all:a.all},normalized:_,seriesIndexes:h,labels:l});for(let t of v){let n=Y(Xe(t,p),t=>t.role===void 0?void 0:e.transform(`compose`,t));n&&u.push(n)}}),u}function at(e,t,n,r){let i=U(`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?H(i,{children:n}):i;return X(e.transform(`scene`,{scene:a}),`scene`).scene}function ot(e,t,n,r,i=`resolve`){let a=i===`layout`&&r,o=a?r.config:$e(e,t),s=a?r.data:tt(e,o),c=rt(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=f?(e,t)=>n.measureText(e,{rootClass:f,...t}):n.measureText;return{config:o,data:s,layout:c,axes:u,normalized:d,scene:at(e,o,it(e,o,s,c.area,p,u,d,c.padding,l,o.labels??n.labels??`html`),n.rootSize??{width:o.width??c.width,height:o.height??c.height})}}let 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):``;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 lt(e){Array.from(e.querySelectorAll(`svg`)).filter(e=>e.getAttributeNS(r.xmlns,`ct`)).forEach(e=>e.remove())}function ut(e){return(t,n={})=>{let i=e.createElementNS(r.svg,`svg`);i.setAttribute(`style`,`position: absolute; visibility: hidden; width: 0; height: 0;`),n.rootClass&&i.setAttribute(`class`,n.rootClass);let a=e.createElementNS(r.svg,`text`);n.classes?.length&&a.setAttribute(`class`,n.classes.join(` `)),n.fontSize&&a.setAttribute(`font-size`,String(n.fontSize)),a.textContent=t,i.appendChild(a),(n.container??e.body).appendChild(i);try{if(typeof a.getBBox!=`function`)return Z(t,n);let r=a.getBBox(),i=parseFloat(e.defaultView?.getComputedStyle(a).fontSize??``);return r.width||r.height?{width:r.width,height:r.height,...i>0&&{fontSize:i}}:Z(t,n)}finally{i.remove()}}}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),lt(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?ut(n)(e,t):Z(e,t)}}}function ft(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 pt(e){return e.className===void 0?{...e,className:ft(e.layers)}:e}function mt(e,t){return[e,t]}let Q=e=>e,ht=/* @__PURE__ */ new Set([`resolve`,`prepare`,`layout`,`compose`,`scene`,`render`,`mount`]),gt=/* @__PURE__ */ new Set([`data`,`optionsChanged`,`draw`,`created`,`animationBegin`,`animationEnd`]),_t=/* @__PURE__ */ new Set;function vt(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 bt=/* @__PURE__ */ new WeakMap,xt=()=>({owner:`user`});function St(e,t,n){let r=e.owner;e.owner=t;try{n()}finally{e.owner=r}}function Ct(e,t){let n=bt.get(e);n?St(n,`user`,t):t()}function wt(e,t=[],n,r){bt.set(e,r);let i=yt(t);for(let[e]of i)e.provides?.forEach(e=>n.add(e));for(let[t,n]of i)St(r,`plugin`,()=>t.install(e,n))}function Tt(e,t={}){for(let[n,r]of Object.entries(t))r&&Q(e).on(n,r)}function Et(e,t,n,r){return{on:((i,a)=>(gt.has(i)&&!n.has(i)&&!_t.has(i)&&(_t.add(i),vt(`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(ht.has(t))throw Error(`Chartist: "${t}" is a phase event; plugins can't emit phase events`);e.notify(t,n)}}}function Dt(e){if(typeof e==`number`)return e;let t=e?.match(/^\s*(\d+(?:\.\d+)?)(?:px)?\s*$/);return t?Number(t[1]):void 0}function Ot(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 kt(e,t){let n=Ot(e),r=qe(),i=xt(),a=t.renderer??dt(),o=a.measureText,s=!1,c=(e,t)=>(s=!0,o?o(e,{container:n,...t}):Z(e,t)),l=t,u=t,d,f,p,m,h=!1,g=/* @__PURE__ */ new Set,_=n.ownerDocument.fonts,v=()=>{!h&&f&&s&&x(`layout`)};function y(){let e=String(u.width??`100%`),t=String(u.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.setAttribute(`style`,`width: ${e}${i(u.width)}; height: ${t}${i(u.height)};`),n.appendChild(r);let a={width:r.clientWidth,height:r.clientHeight};return r.remove(),a}function b(){let e=y();return{width:u.viewBox?.width||e.width||(Dt(u.width)??n.clientWidth),height:u.viewBox?.height||e.height||(Dt(u.height)??n.clientHeight)}}function x(e){let{width:t,height:i}=b();s=!1,f=ot(r,pt(u),{width:t,height:i,measureText:c,labels:a.labels??`html`,rootSize:{width:u.width??`100%`,height:u.height??`100%`}},f,e);let{scene:o}=f;p=a.render(o,n),r.notify(`render`,{scene:o,output:p});let l=p.elementOf??(()=>void 0);r.notify(`mount`,{scene:o,output:p,elementOf:l})}function S(){let e=l.responsive?.entries;u=d?d.matching.reduce((t,n)=>({...t,...e[n][1]}),l):l}function C(){let e=u;S(),T.emit(`responsive`,{previousConfig:e,currentConfig:u}),x(`resolve`)}function w(){d?.stop(),d=l.responsive?.watch(n,()=>{h||C()}),S()}let T={container:n,update(e){return l={...l,...e},`responsive`in e?w():S(),x(`resolve`),T},detach(){return m?.disconnect(),m=void 0,_?.removeEventListener(`loadingdone`,v),d?.stop(),d=void 0,T},destroy(){h||(h=!0,T.detach(),p?.remove?.(),r.clear())},...Et(r,()=>T,g,i)};return wt(T,t.plugins,g,i),Tt(T,t.on),w(),x(`resolve`),_?.addEventListener(`loadingdone`,v),typeof ResizeObserver<`u`&&(m=new ResizeObserver(()=>{if(h||!f)return;if(d?.check()){C();return}let{width:e,height:t}=b();(e!==f.layout.width||t!==f.layout.height)&&x(`layout`)}),m.observe(n)),T}let At={x:{pos:`x`,len:`width`,counterPos:`y`,counterLen:`height`,dir:`horizontal`},y:{pos:`y`,len:`height`,counterPos:`x`,counterLen:`width`,dir:`vertical`}};function jt(e,t){let{area:n,padding:i,classNames:a}=t,o=At[e.dimension],s=t.options??(e.dimension===`x`?t.axisX:t.axisY),c=t.place,l=e.ticks.map((t,n)=>e.project(t,n)),u=e.ticks.map(s.labelInterpolationFnc),d=e.dimension===`x`?n.y2:n.x1,f=e.dimension===`x`?n.height:n.width,p=[],m=[];return l.forEach((h,g)=>{let _=u[g],v=l[g+1]?l[g+1]-h:Math.max(e.length-h,e.length/e.ticks.length);if(_!==``&&S(_))return;let y,b={x:0,y:0};if(c)({position:y,labelOffset:b}=c(e,h,v,s,n));else if(e.dimension===`x`){let e=t.axisX;y=n.x1+h,b.x=e.labelOffset.x,b.y=e.position===`start`?i.top+e.labelOffset.y+5:n.y1+e.labelOffset.y+5}else{let e=t.axisY;y=n.y1-h,b.y=e.labelOffset.y-v,b.x=e.position===`start`?i.left+e.labelOffset.x:n.x2+e.labelOffset.x+10}if(s.showGrid){let t={[`${o.pos}1`]:y,[`${o.pos}2`]:y,[`${o.counterPos}1`]:d,[`${o.counterPos}2`]:d+f};p.push(U(`line`,t,`${a.grid} ${a[o.dir]}`,{role:`grid`,ctx:{axis:e,index:g,...t}}))}if(s.showLabel){let n={[o.pos]:y+b[o.pos],[o.counterPos]:b[o.counterPos],[o.len]:v,[o.counterLen]:Math.max(0,s.offset-10)},i=t.atStart??s.position===`start`,c=[a.label,a[o.dir],i?a.start:a.end].join(` `),l={kind:`axis`,axis:e,index:g,text:_,...n};if(t.svgLabel){let r=t.svgLabel(String(_),n,c,e.dimension,i);r&&m.push(H(r,{role:`label`,ctx:l}));return}let u=U(`span`,{style:`${o.len}: ${Math.round(n[o.len])}px; ${o.counterLen}: ${Math.round(n[o.counterLen])}px;`,xmlns:r.xmlns},c).text(String(_));m.push(U(`foreignObject`,{style:`overflow: visible;`,...n},``,{role:`label`,ctx:l}).append(u))}}),{grids:p,labels:m}}function Mt(e,t){return U(`rect`,{x:e.x1,y:e.y2,width:e.width,height:e.height},t,{role:`gridBackground`})}function Nt(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 Pt(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}let Ft=.85;function It(e,t,n={}){return(r,i,a,o,s)=>{let c=a.split(` `),l=t=>e(t,{classes:c}),u=Pt(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={...Nt(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 H(U(`text`,{x:_(g),y:_(h+Ft*f),"text-anchor":p.horizontal},a),{children:u.map((e,t)=>U(`tspan`,{x:_(g),y:_(h+(t+Ft)*f)}).text(e))})}}function Lt(e){return Object.freeze({type:`container`,query:e})}function Rt(e){return typeof e==`object`&&!!e&&e.type===`container`}let zt=!1;function Bt(){zt||(zt=!0,console.warn(`Chartist: container() needs Element.matchContainer(); load the match-container polyfill. Container entries are ignored.`))}let Vt=(e,t)=>e.length===t.length&&e.every((e,n)=>e===t[n]);function Ht(e,t,n,r=!1){let i=typeof window<`u`?window:void 0,a,o=e.map(([e])=>{if(!Rt(e))return i?.matchMedia?.(e);if(!t)return;let n=t.ownerDocument.createElement(`span`);if(typeof n.matchContainer!=`function`)Bt();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!Vt(e,c.matching)&&(c.matching=e,!0)},stop(){o.forEach(e=>e?.removeEventListener?.(`change`,l)),u?.disconnect(),a?.remove()}};function l(){c.check()&&n()}o.forEach(e=>e?.addEventListener?.(`change`,l));let u=r&&a&&typeof ResizeObserver<`u`?new ResizeObserver(l):void 0;return u&&t&&u.observe(t),c}function Ut(e){return{entries:e,watch:(t,n)=>Ht(e,t,n)}}function Wt(e,t,n,r){return n.reduce((e,n)=>r(e,t[n][1]),e)}function Gt(e,t,n){return{svgLabel:n,area:t.area,padding:t.padding,axisX:e.axisX,axisY:e.axisY,classNames:e.classNames}}function $(e,t){return H(U(`g`,{},e),{children:t})}function Kt(e,t=[`x`,`y`]){return{type:`grid`,coordinates:[`cartesian`],compose(n){let r=t.flatMap(t=>{let r=n.axes[t];return r?jt(r,Gt(e,n)).grids:[]});return e.showGridBackground&&r.unshift(Mt(n.area,e.classNames.gridBackground)),[$(e.classNames.gridGroup,r)]}}}function qt(e,t=[`x`,`y`]){return{type:`labels`,coordinates:[`cartesian`],compose(n){let r=n.labels===`svg`?It(n.measureText,e.labelKind??`line`):void 0;return[$(e.classNames.labelGroup,t.flatMap(t=>{let i=n.axes[t];return i?jt(i,Gt(e,n,r)).labels:[]}))]}}}function Jt(e){return{...e,compose:t=>[$(``,[...e.compose(t)])]}}let Yt=Symbol.for(`chartist.presetState`);function Xt(e,t){return{name:`preset-root-style`,install(n){Object.defineProperty(n,Yt,{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 Zt(e,t,n,r={},i,a=r.plugins){let o=n,s=h({},e.defaults,r),c=Ht(i??[],(typeof t==`string`?document.querySelector(t):t)??void 0,()=>g(),!0),l=e=>Wt(h({},e),i,c.matching,(e,t)=>h({},e,t)),u=l(s),d=e=>({...e,preset:p}),f={get handle(){return _},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(){m.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:()=>_.detach()},m=kt(t,{...d(e.config(o,u)),plugins:[Xt(()=>u,p),...a??[]],on:r.on});function g(){let e=u;u=l(s),m.emit(`responsive`,{previousOptions:e,currentOptions:u}),f.render()}let _={container:m.container,update(e){return e.data&&(o=e.data),m.update(e),_},setOptions(e,t){return f.setOptions(e,!t?.replace),f.render(),_},detach(){return c.stop(),m.detach(),_},destroy(){_.detach(),m.destroy()},emit:(e,t)=>Q(m).emit(e,t),on:((e,t)=>(m.on(e,t),_)),off:((e,t)=>(m.off(e,t),_))};return f}function Qt(e){let t=He();return{kind:`step`,create:n=>t.create({...n,options:{...n.options,ticks:n.labels,stretch:e}})}}function $t(e){let{axisX:t,axisY:n}=e;return{x:{...t,type:t.type??Qt(e.fullWidth)},y:n.type===void 0?{...n,type:Ue(),high:x(e.high)?e.high:n.high,low:x(e.low)?e.low:n.low}:{...n,type:n.type},reverseData:e.reverseData}}let en={kind:`line`,defaults:Ge,config(e,t){let n=t,r=n;return{data:e,axes:ze($t(n)),padding:n.chartPadding,width:n.width,height:n.height,viewBox:n.viewBox,className:n.classNames.chart,labels:n.labels,layers:[Kt(r),Jt(Oe({lineSmooth:n.lineSmooth,showPoint:n.showPoint,showLine:n.showLine,showArea:n.showArea,areaBase:n.areaBase,overrides:n.series,reverseData:n.reverseData,classNames:n.classNames})),qt(r)]}}};function tn(e,t,n={},r,i){return Zt(en,e,t,n,r,i??n.plugins)}function nn(e,t,n={},r){return tn(e,t,n,r).handle}let rn=/* @__PURE__ */ new Set,an=/* @__PURE__ */ new Set([`resolve`,`prepare`,`layout`,`compose`,`scene`,`render`,`mount`]);function on(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)]:(rn.has(r)||(rn.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 sn=class extends _e{data;chartOptions;chartResponsiveOptions;controller;installing;queued=[];onWindowResize=()=>this.update();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,Ct(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.controller=this.createController(this.container,this.data,this.chartOptions,this.chartResponsiveOptions?.filter(([e])=>typeof e==`string`),[t,n,...on(this.chartOptions?.plugins??[],this)]),this.installing=void 0,window.addEventListener(`resize`,this.onWindowResize)}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(),window.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)=>{an.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 cn(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 ln=class extends sn{constructor(e,t,n,r){super(e,t,Ge,n,r)}createController(e,t,n,r,i){return tn(e,t,n,r,i)}};function un(e,t){let n=typeof e==`object`&&e?e[t]:e;return x(n)?Number(n):0}function dn(e,t,n=!1){let r=[],i=[],a=1/0,o=-1/0;for(let s of e)s.forEach((e,s)=>{let c=un(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 fn(e){return{name:e.name,className:e.className,meta:e.meta,data:e.values}}function pn(e={}){let t={series:`ct-series`,bar:`ct-bar`,...e.classNames},n=!!e.horizontalBars,r=e.seriesBarDistance??15,i=e.stackMode??`accumulate`,a=e.stackBars&&i!==`overlap`&&i!==!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,o=a&&r!==void 0?dn(e.series,n?`x`:`y`,i===`accumulate-relative`):void 0;return r!==void 0&&o?{[r]:o}:{}},compose({data:a,area:o,axes:c,normalized:l,seriesIndexes:u}){let d=n?c.x:c.y,f=n?c.y:c.x;if(!d||!f||!l)throw Error(`Layer "bar" needs an x and a y axis`);let p=n?`y`:`x`,m=n?`x`:`y`,h=l.series,g=a.flat?[...a.series[0].values]:a.series.map(fn),_=g.map((e,t)=>t);e.reverseData&&_.reverse();let v=n?o.x1+d.project(0):o.y1-d.project(0),y=i===`accumulate`,S=i===`accumulate-relative`,C=[],w=[],T=C;if(u&&e.reverseData)throw Error(`Layer "bar": a series selection can't be combined with reverseData`);return _.map((a,c)=>{let l=u?.[a]??c,_=g[a],D=c-(g.length-1)/2,O;O=e.distributeSeries&&!e.stackBars?f.length/h.length/2:e.distributeSeries&&e.stackBars?f.length/2:f.length/h[c].length/2;let k=b(_,`name`)&&_.name,A=b(_,`className`)&&_.className,j=b(_,`meta`)?_.meta:void 0,M=[];return h[c].forEach((a,s)=>{let u=b(a,`x`)&&a.x,g=b(a,`y`)&&a.y,k=e.distributeSeries&&!e.stackBars?c:e.distributeSeries&&e.stackBars?0:s,A=h[c],j=n?{x:o.x1+d.project(u||0,s,A),y:o.y1-f.project(g||0,k,A)}:{x:o.x1+f.project(u||0,k,A),y:o.y1-d.project(g||0,s,A)};f.kind===`step`&&(f.stretch||(j[p]+=O*(n?-1:1)),j[p]+=e.stackBars||e.distributeSeries?0:D*r*(n?-1:1)),S&&(T=Number(n?u:g)<0?w:C);let ee=T[s]||v;if(T[s]=ee-(v-j[m]),a===void 0)return;let N={[`${p}1`]:j[p],[`${p}2`]:j[p]};e.stackBars&&(y||S||!i)?(N[`${m}1`]=ee,N[`${m}2`]=T[s]):(N[`${m}1`]=v,N[`${m}2`]=j[m]),N.x1=Math.min(Math.max(N.x1,o.x1),o.x2),N.x2=Math.min(Math.max(N.x2,o.x1),o.x2),N.y1=Math.min(Math.max(N.y1,o.y2),o.y1),N.y2=Math.min(Math.max(N.y2,o.y2),o.y1);let P=E(_,s);M.push(U(`line`,{...N,"ct:value":[u,g].filter(x).join(`,`),"ct:meta":I(P)},t.bar,{role:`bar`,ctx:{series:_,seriesIndex:l,valueIndex:s,value:a,meta:P,...N}}))}),H(U(`g`,{"ct:series-name":k||void 0,"ct:meta":j?I(j):void 0},`${t.series} ${A||`${t.series}-${s(l)}`}`,{role:`series`,ctx:{series:_,seriesIndex:l,meta:j}}),{children:M})})}}}let mn={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 hn(e,t){let n=e.horizontalBars?`x`:`y`,r=t?Me(t)?Ne(t):t:Ue();return{kind:r.kind,create(t){let i=j(t.series,e,n,t.extent);return typeof e.high==`number`&&(i.high=e.high),typeof e.low==`number`&&(i.low=e.low),r.create({...t,options:{...t.options,highLow:i,referenceValue:0}})}}}function gn(e){let t=He();return{kind:`step`,create:n=>t.create({...n,options:{ticks:e.distributeSeries&&e.stackBars?n.labels.slice(0,1):n.labels}})}}function _n(e){let t=e.horizontalBars,n=t?e.axisX:e.axisY,r=t?e.axisY:e.axisX,i={...n,type:hn(e,n.type)},a={...r,type:r.type??gn(e)};return{x:t?i:a,y:t?a:i,reverseData:e.reverseData,normalize:{multi:t?`x`:`y`,distributed:!0}}}let vn={kind:`bar`,defaults:mn,config(e,t){let n=t,r=n,i=n.horizontalBars?[`y`,`x`]:[`x`,`y`],a=pn({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`?pn({horizontalBars:n.horizontalBars,stackBars:n.stackBars}):a,s={...Jt(a),extent:o.extent};return{data:e,axes:ze(_n(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:[Kt(r,i),s,qt({...r,labelKind:n.horizontalBars?`horizontalBar`:`bar`},i)]}}};function yn(e,t,n={},r,i){return Zt(vn,e,t,n,r,i??n.plugins)}function bn(e,t,n={},r){return yn(e,t,n,r).handle}var xn=class extends sn{constructor(e,t,n,r){super(e,t,mn,n,r)}createController(e,t,n,r,i){return yn(e,t,n,r,i)}};function Sn(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 Cn(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,Cn(e,t,n,r))}let wn={series:`ct-series`,slicePie:`ct-slice-pie`,sliceDonut:`ct-slice-donut`,label:`ct-label`};function Tn(e={}){let t={...wn,...e.classNames},n=e.labelInterpolationFnc??(e=>e);return{type:`pie`,chartType:e.donut?`donut`:`pie`,coordinates:[`polar`],compose({data:r,area:i}){let a=r.flat?[...r.series[0].values]:r.series.map(e=>({name:e.name,className:e.className,meta:e.meta,value:e.values[0]})),c=M({labels:r.labels,series:a}),l=c.series,u=c.labels,d=[],f=e.startAngle??0,m=Math.min(i.width/2,i.height/2),h=e.total||l.reduce(v,0),g=o(e.donutWidth??60);g.unit===`%`&&(g.value*=m/100),m-=e.donut?g.value/2:0;let _;_=e.labelPosition===`center`?0:e.labelPosition===`outside`?e.donut?m+g.value/2:m:e.donut?m:m/2,e.labelOffset&&(_+=e.labelOffset);let y={x:i.x1+i.width/2,y:i.y2+i.height/2},x=a.filter(e=>b(e,`value`)?e.value!==0:e!==0).length===1,C=[],w=[];return a.forEach((r,i)=>{if(l[i]===0&&e.ignoreEmptyValues){C.push(U(`g`));return}let o=b(r,`name`)&&r.name,c=b(r,`className`)&&r.className,v=b(r,`meta`)?r.meta:void 0,T=h>0?f+l[i]/h*360:0,E=Math.max(0,f-(i===0||x?0:.2));T-E>=359.99&&(T=E+359.99);let D=p(y.x,y.y,m,E),O=p(y.x,y.y,m,T),k=new B(!e.donut).move(O.x,O.y).arc(m,m,0,Number(T-f>180),0,D.x,D.y);e.donut||k.line(y.x,y.y);let A=U(`path`,{d:k.stringify(),"ct:value":l[i],"ct:meta":I(v),style:e.donut&&e.donutWidth!==void 0?`stroke-width: ${g.value}px`:void 0},e.donut?t.sliceDonut:t.slicePie,{role:`slice`,ctx:{value:l[i],totalDataSum:h,index:i,seriesIndex:i,valueIndex:0,meta:v,series:r,path:k.clone(),center:y,radius:m,startAngle:f,endAngle:T}});if(C.push(H(U(`g`,{"ct:series-name":o||void 0},`${t.series} ${c||`${t.series}-${s(i)}`}`,{role:`series`,ctx:{seriesIndex:i,series:r,meta:v}}),{children:[A]})),e.showLabel??!0){let o=a.length===1?{x:y.x,y:y.y}:p(y.x,y.y,_,f+(T-f)/2),s=u&&!S(u[i])?u[i]:l[i],c=n(s,i);if(c||c===0){let n=String(c);if(e.preventOverlappingLabelOffset){let t=n.length;d.forEach(n=>Cn(o,n,e.preventOverlappingLabelOffset,t)),d.push(o)}w.push(U(`text`,{dx:o.x,dy:o.y,"text-anchor":Sn(y,o,e.labelDirection??`neutral`)},t.label,{role:`label`,ctx:{kind:`pie`,index:i,seriesIndex:i,valueIndex:0,text:n,series:r,meta:v,x:o.x,y:o.y}}).text(n))}}f=T}),e.showLabel??!0?[...C,H(U(`g`),{children:w})]:C}}}let En={width:void 0,height:void 0,chartPadding: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},Dn={kind:`pie`,defaults:En,config(e,t){let n=t;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:[Tn({startAngle:n.startAngle,total:n.total,donut:n.donut,donutWidth:n.donutWidth,showLabel:n.showLabel,labelOffset:n.labelOffset,labelPosition:n.labelPosition,labelInterpolationFnc:n.labelInterpolationFnc,labelDirection:n.labelDirection,ignoreEmptyValues:n.ignoreEmptyValues,preventOverlappingLabelOffset:n.preventOverlappingLabelOffset,classNames:n.classNames})]}}};function On(e,t,n={},r,i){return Zt(Dn,e,t,n,r,i??n.plugins)}function kn(e,t,n={},r){return On(e,t,n,r).handle}var An=class extends sn{constructor(e,t,n,r){super(e,t,En,n,r)}moveLabel(e,t,n,r){Cn(e,t,n,r)}createController(e,t,n,r,i){return On(e,t,n,r,i)}},jn=class extends J{bounds;range;constructor(e,t,n,r){let i=r.highLow||j(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}},Mn=class extends J{range;constructor(e,t,n,r){let i=r.highLow||j(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)}},Nn=class extends J{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 Pn(e){let t={divisor:2,fillHoles:!1,...e},n=1/Math.max(1,t.divisor);return function(e,r){let i=new B,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];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 Fn(e){let t={postpone:!0,fillHoles:!1,...e};return function(e,n){let r=new B,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];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 In(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=F(i,a,{fillHoles:t.fillHoles});if(!o.length)return V()([],[]);if(o.length>1)return B.join(o.map(t=>e(t.pathCoordinates,t.valueData)));{if(i=o[0].pathCoordinates,a=o[0].valueData,i.length<=4)return V()(i,a);let e=new B().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 Ln=/* @__PURE__ */ n({cardinal:()=>In,monotoneCubic:()=>xe,none:()=>V,simple:()=>Pn,step:()=>Fn});let Rn=e=>String(e).replace(/[&<>"']/g,e=>i[e]);function zn(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="${Rn(e.classes.join(` `))}"`);for(let[t,r]of Object.entries(e.attrs))t!==`xmlns`&&n.push(`${t}="${Rn(r)}"`);return n.length?` ${n.join(` `)}`:``}function Bn(e,t){let n=`<${e.name}${zn(e,t)}`,r=e.name===`foreignObject`?`html-root`:`other`,i=(e.content===void 0?``:Rn(e.content))+e.children.map(e=>Bn(e,r)).join(``);return i?`${n}>${i}</${e.name}>`:`${n}/>`}function Vn(e){return Bn(e,`root`)}function Hn(e){throw Error(`Chartist: ${e}() is not available in toScene()`)}function Un(e,t){let n=qe(),r=/* @__PURE__ */ new Set,i=xt(),a={update:()=>Hn(`update`),detach:()=>Hn(`detach`),destroy:()=>Hn(`destroy`),...Et(n,()=>a,r,i)};return wt(a,e.plugins,r,i),Tt(a,e.on),ot(n,pt(e),{width:t.width,height:t.height,measureText:t.measureText??Z,labels:t.labels??`svg`}).scene}let Wn={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 Gn(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,labelInterpolationFnc:t.labelInterpolationFnc??(e=>e)}}function Kn(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 qn=(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 Jn(e,t,n,r){return jt(e,{svgLabel:r,area:t.area,padding:t.padding,classNames:n,options:Gn(e),place:qn(e.side,e.inset),atStart:e.side===`top`||e.side===`left`})}function Yn(e={}){let t={...Wn,...e.classNames};return{type:`axisGrid`,coordinates:[`cartesian`],series:[],compose(n){let r=Kn(n,e.axes).flatMap(e=>Jn(e,n,t).grids);return e.background&&r.unshift(Mt(n.area,t.gridBackground)),[H(U(`g`,{},t.gridGroup),{children:r})]}}}function Xn(e={}){let t={...Wn,...e.classNames};return{type:`axisLabels`,coordinates:[`cartesian`],series:[],compose(n){let r=(e.labels??n.labels)===`svg`?It(n.measureText,`line`,e.align):void 0;return[H(U(`g`,{},t.labelGroup),{children:Kn(n,e.axes).flatMap(e=>Jn(e,n,t,r).labels)})]}}}e.AutoScaleAxis=jn,e.Axis=J,e.BarChart=xn,e.BaseChart=_e,e.EPSILON=c,e.EventEmitter=he,e.FixedScaleAxis=Mn,Object.defineProperty(e,"Interpolation",{enumerable:!0,get:function(){return Ln}}),e.LineChart=ln,e.PieChart=An,e.StepAxis=Nn,e.Svg=L,e.SvgList=ie,e.SvgPath=B,e.alphaNumerate=s,e.autoScaleAxis=Ue,e.axisGrid=Yn,e.axisLabels=Xn,e.axisUnits=q,e.bar=pn,e.barChart=bn,e.cartesianAxes=Be,e.chart=kt,e.container=Lt,e.createChartRect=de,e.createGrid=fe,e.createGridBackground=pe,e.createLabel=me,e.createSvg=le,e.deserialize=re,e.determineAnchorPosition=Sn,e.domRenderer=dt,e.each=T,e.easings=ae,e.ensureUnit=a,e.escapingMap=i,e.estimateText=Z,e.extend=h,e.findAll=Ye,e.fixedScaleAxis=We,e.getBounds=m,e.getHighLow=j,e.getMetaData=E,e.getMultiValue=A,e.getNumberOrUndefined=C,e.getSeriesOption=cn,e.isArrayOfArrays=w,e.isArrayOfSeries=O,e.isDataHoleValue=D,e.isFalseyButZero=S,e.isMultiValue=k,e.isNumeric=x,e.line=Oe,e.lineChart=nn,e.mapNodes=Y,e.namespaces=r,e.node=U,e.noop=g,e.normalizeData=M,e.normalizePadding=ue,e.optionsProvider=R,e.orderOfMagnitude=l,e.pie=Tn,e.pieChart=kn,e.polarToCartesian=p,e.precision=8,e.projectLength=u,e.quantity=o,e.renderToString=Vn,e.responsive=Ut,e.rho=f,e.roundWithPrecision=d,e.safeHasProperty=b,e.serialMap=y,e.serialize=I,e.splitIntoSegments=F,e.stepAxis=He,e.sum=v,e.times=_,e.toScene=Un,e.withOptions=mt});
2
+ //# sourceMappingURL=index.umd.js.map