From 79f1a0a9e878b166c1e6c01a1bf5d718fe1e1bc7 Mon Sep 17 00:00:00 2001 From: stockiNail Date: Mon, 7 Aug 2023 20:16:20 +0200 Subject: [PATCH 1/5] Add clip option to scale configuration to allow unclipped scales (#11404) * Add clip option to scale configuration to allow unclipped scales * add images * fix cc * change name of function --- docs/axes/cartesian/_common.md | 1 + src/core/core.controller.js | 17 ++- src/core/core.scale.defaults.js | 2 + src/types/index.d.ts | 5 + .../stacked-boxes-max-index-without-clip.js | 115 ++++++++++++++++++ .../stacked-boxes-max-index-without-clip.png | Bin 0 -> 18361 bytes .../stacked-boxes-max-without-clip.js | 115 ++++++++++++++++++ .../stacked-boxes-max-without-clip.png | Bin 0 -> 26998 bytes 8 files changed, 249 insertions(+), 6 deletions(-) create mode 100644 test/fixtures/core.layouts/stacked-boxes-max-index-without-clip.js create mode 100644 test/fixtures/core.layouts/stacked-boxes-max-index-without-clip.png create mode 100644 test/fixtures/core.layouts/stacked-boxes-max-without-clip.js create mode 100644 test/fixtures/core.layouts/stacked-boxes-max-without-clip.png diff --git a/docs/axes/cartesian/_common.md b/docs/axes/cartesian/_common.md index 1050a85a2a6..b6b5a8e12f4 100644 --- a/docs/axes/cartesian/_common.md +++ b/docs/axes/cartesian/_common.md @@ -5,6 +5,7 @@ Namespace: `options.scales[scaleId]` | Name | Type | Default | Description | ---- | ---- | ------- | ----------- | `bounds` | `string` | `'ticks'` | Determines the scale bounds. [more...](./index.md#scale-bounds) +| `clip` | `boolean` | `true` | If true, clip the dataset drawing against the size of the scale instead of chart area | `position` | `string` \| `object` | | Position of the axis. [more...](./index.md#axis-position) | `stack` | `string` | | Stack group. Axes at the same `position` with same `stack` are stacked. | `stackWeight` | `number` | 1 | Weight of the scale in stack group. Used to determine the amount of allocated space for the scale within the group. diff --git a/src/core/core.controller.js b/src/core/core.controller.js index 2ba26c9f3ee..a54c5a03283 100644 --- a/src/core/core.controller.js +++ b/src/core/core.controller.js @@ -101,16 +101,21 @@ function determineLastEvent(e, lastEvent, inChartArea, isClick) { return e; } -function getDatasetArea(meta) { +function getSizeForArea(scale, chartArea, field) { + return scale.options.clip ? scale[field] : chartArea[field]; +} + +function getDatasetArea(meta, chartArea) { const {xScale, yScale} = meta; if (xScale && yScale) { return { - left: xScale.left, - right: xScale.right, - top: yScale.top, - bottom: yScale.bottom + left: getSizeForArea(xScale, chartArea, 'left'), + right: getSizeForArea(xScale, chartArea, 'right'), + top: getSizeForArea(yScale, chartArea, 'top'), + bottom: getSizeForArea(yScale, chartArea, 'bottom') }; } + return chartArea; } class Chart { @@ -796,7 +801,7 @@ class Chart { const ctx = this.ctx; const clip = meta._clip; const useClip = !clip.disabled; - const area = getDatasetArea(meta) || this.chartArea; + const area = getDatasetArea(meta, this.chartArea); const args = { meta, index: meta.index, diff --git a/src/core/core.scale.defaults.js b/src/core/core.scale.defaults.js index 85f9764ec0a..b6798e094b6 100644 --- a/src/core/core.scale.defaults.js +++ b/src/core/core.scale.defaults.js @@ -16,6 +16,8 @@ export function applyScaleDefaults(defaults) { */ bounds: 'ticks', + clip: true, + /** * Addition grace added to max and reduced from min data value. * @since 3.0.0 diff --git a/src/types/index.d.ts b/src/types/index.d.ts index 5cf2d0cc902..eeee5fa08e5 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -1171,6 +1171,11 @@ export interface CoreScaleOptions { * @default false */ reverse: boolean; + /** + * Clip the dataset drawing against the size of the scale instead of chart area. + * @default true + */ + clip: boolean; /** * The weight used to sort the axis. Higher weights are further away from the chart area. * @default true diff --git a/test/fixtures/core.layouts/stacked-boxes-max-index-without-clip.js b/test/fixtures/core.layouts/stacked-boxes-max-index-without-clip.js new file mode 100644 index 00000000000..8e2df9cd2a4 --- /dev/null +++ b/test/fixtures/core.layouts/stacked-boxes-max-index-without-clip.js @@ -0,0 +1,115 @@ +module.exports = { + config: { + type: 'line', + data: { + datasets: [ + {data: [{x: 5, y: 1}, {x: 10, y: 2}, {x: 5, y: 3}], borderColor: 'red'}, + {data: [{x: 5, y: 1}, {x: 10, y: 2}, {x: 5, y: 3}], yAxisID: 'y1', xAxisID: 'x1', borderColor: 'green'}, + {data: [{x: 5, y: 1}, {x: 10, y: 2}, {x: 5, y: 3}], yAxisID: 'y2', xAxisID: 'x2', borderColor: 'blue'}, + ], + labels: ['tick1', 'tick2', 'tick3'] + }, + options: { + plugins: false, + scales: { + x: { + type: 'linear', + position: 'bottom', + stack: '1', + offset: true, + clip: false, + bounds: 'data', + border: { + color: 'red' + }, + ticks: { + autoSkip: false, + maxRotation: 0, + count: 3 + }, + max: 7 + }, + x1: { + type: 'linear', + position: 'bottom', + stack: '1', + offset: true, + clip: false, + bounds: 'data', + border: { + color: 'green' + }, + ticks: { + autoSkip: false, + maxRotation: 0, + count: 3 + }, + max: 7 + }, + x2: { + type: 'linear', + position: 'bottom', + stack: '1', + offset: true, + clip: false, + bounds: 'data', + border: { + color: 'blue' + }, + ticks: { + autoSkip: false, + maxRotation: 0, + count: 3 + }, + max: 7 + }, + y: { + type: 'linear', + position: 'left', + stack: '1', + offset: true, + clip: false, + border: { + color: 'red' + }, + ticks: { + precision: 0 + } + }, + y1: { + type: 'linear', + position: 'left', + stack: '1', + offset: true, + clip: false, + border: { + color: 'green' + }, + ticks: { + precision: 0 + } + }, + y2: { + type: 'linear', + position: 'left', + stack: '1', + offset: true, + clip: false, + border: { + color: 'blue', + }, + ticks: { + precision: 0 + } + } + } + } + }, + options: { + spriteText: true, + canvas: { + height: 384, + width: 384 + } + } +}; diff --git a/test/fixtures/core.layouts/stacked-boxes-max-index-without-clip.png b/test/fixtures/core.layouts/stacked-boxes-max-index-without-clip.png new file mode 100644 index 0000000000000000000000000000000000000000..0f7d3290f5201929bb8e0993e79686671ab184c2 GIT binary patch literal 18361 zcmc({by!v1*Dk#Frb9qdq#LDC>DY)$N~nN{bSfa-wJ8BXKpJTbP>>GkEg&fyRFE#| z?vgrlzqHn>zqHl)V=Jy%Ub0u+(vLT*7C3U7_PFfPq)XW;W2rWaizPnx~`2quN?QKa~t#EQj=I< zCq$eWna1>7yODA*XrsrYXcR?{Ga{@)!+6WOb*w>G8Y%8HD|Yv->L)E7{ov|q3Fn1x zIIT>6Qe)m*w+SH})IF85s`EoODWBmJsprHhu~I~_(!Ahdt^Up7Z{dm#;{%7HYxJl9 z93uMx* z1(NiHgxHhHeUW}5uM%s92YD=m7dHxJ5-R3fUE(I(J~dr4REI?yXEq$o2qa0kTu%3x zrFCN!%fVxwcv+Q7g~(RFp|*@;GnLn=1p%t}-QBb>3NDi`NkaE4 zpD_H|TZ=keYhZF4alpetN+Y>1ruIwQJP8sRws;4H>ZhL0OaizhzF3N?d%Bf9pCekCa1d*Erqu4dR6K0NVy{_We#WeUUMDt= zPH%hxN$h)LC%9ky%|wHWkm|nc+3jN2$Az+2R-5&Pm*+03WAUL&7{qdbD&EW_Ae@!gW6Eb=(uQS&_!^N42! zJ38Px+4i)2WQu=xC(N0l$VaB<#E>>*s%uZT-%V&2@_yB!7yW1C7VNz68rBV`X{+#u zn(JO8!C#oB)kL~`jWQvt`Qni597{LSD0t?U;K9Mqx#cN`kzii+9j`a8B9>`^WuMi} z36V_7U5UogOBc>e;Mq1VUEAO^4ZePknvSh^6QuBxyQh2nN(jS(qQ z?lo6tP2icM z>p7GukrWIIR#5sAO{UiQa1gX|saP6VWoLnqB41*g8={18U!)^fNzUThD`@^_t(uUs4=? z2yGYB4l*P)H@?E0EN%@tJIR@8h*q8~9hO-iFZvx3~kX)~v}`HU<%Z`0zg5HN$83Qy{5K=MAlb%jQ_y~J~vv%8a%lC zbJQ~;O(Vr|$4_=EHf*r_$WUKD}0o zwV!^WFiVI;TF*LaLt!$?bFcIE;L)k^6WpX^e>f=j%gsm;# zt>+hm4No=`-G7F0*$6qsIi=3B4%8O-{L0P+%^}-)U`~M0*H7CT9zUTT zKOEZ|p+cMR0zJ3|AIPuAa8BMP+*Jtx_Tr z7}}Wak~N(;Y%rjsF>W{h$ud=QgDzaqb@~2W^-@7oxIq1UmVAgKKDS?H@%e-& zY_IK9`YUmiiX^;eab#4W`qSez$Dplm2kq+x&y|BY9>I$n>M ztnYc%Ic7q{qpd4rQ2f4C28q$~0XVv_8!&EL-(qz#<-M2;l1v9*N+>Om8+y~#?T&Tt z=PMrxWbvE=tOw`p5uat`xJOldC6FzcTS4@S6Oo-drx6yly8yMMgTO$8phSL~r8&gT zauzsPfG%Qg6%U1L3>`&?A~;HaoMmLU9 zU%{NQ$-g^xWkK`wXEQ&44I%wn$}Q7JqKu=Zdyoz#2q~B!Nn4R---z{A|178c@?+ zSrwaKRjyDHkr8$D$EWfL-)J13Cie3YI!_+`MvKZu)sWEr;p?XoA#1etgC{pLk0Hpb zzH3-2;yLub!d}>S;^`b@VE>#M9L7LGW zex#fP42EYDf>GSJ!fTDr_|9iarS@yZ;Hk@zL7!L5ahW+PEY`nSyCFU>!IYGl8w8T= z=8`qw$%-(ZOolxE#O1ZGCzYDSAk+MJUZurSryQI`^a$Y!^jJhemQ-FuDEj}l@sFbe3Ce>_Xl68O-#uB!sP z1TFVV-hEOhE@oTzEJ_kL4*6yLy0{p591;%mQ}n)I;_`J*&Q~x09m_x5$V`iInHuGXZvf;nt%$^V`m4mo#@9eUC-X50LJYpYfRE_cR@QgX`| zQO|-en_#esr_Mz;ke?0FocV4`1eDq&6;n5EN-ncGpsEE!xb_Zt(ndAZ!q>m42p9th znp=?2ry`t5VWt=&kD$I8x50czCa()%loWsLylu1Zi-f+B`L*p2O$7joP`!@+<*6Hx zJn(bFnedR+a>hk|YWLcCn3nyij)yMmnoRSxTwV}s&7I||r^t5#%a*;DTbM(LqoMVOUP z0`U8MIZ{LHqbc19&e;Z*@@>W3U8(?>jnJl4x8BUmExQ zs}tM)s4N;RhFx58eV>+&lHLMcTEFyU?@o2z9bHky-vj3Bmf}i#?ZyfD5h5Ejp81d+ zH1%E%>6sr!p+9(Gxx4Y&9}S}#e2MApg_xZ_9KyM`s)xO!%oCTePKWHNOxDJ0V^Mtg zh!U^pJrGz3GE|BmY(Er$^7MGMYT;$-tz#Isz}d@JTId7cU*?!dKlEqf!}HxRMCpoR z#aK)eJw@AOR^SfY$MSxNb>uE1*uHJ?em48NuIRQ zew~^<>@}!$*GOCuXV|V6_I@Fo{}L(QFGl?3egdn*QB>s>J(k^*H_$v5@2=eI8)s3L zVwrkq&Kb67fahuldwUzMCPr)J$F1QCkKVsW%cH4N8EyE3?P4V`P|{2P0O+3OMKt_} zFV(ydPOiK7w(S?~h&sPZ&@bp8%+I?5quf1L5oB7(eA2}OEijj7$+R@lqP9L7j-=oY`g-a1B(oVWYHVL=wJaJh=z{PGd4= zj`rm){Ej4;&}j%l=ig4=6#o4n@rd`I;E;rJKEXuczk>>=V47chx8vWz=>P2y7TB5O zB$r1?{ckx4g*sFIL7D;z7<5LX6@&J@M~EET`8w*a#4DwONpP46R4o~!4&P$v63dpn ze-jrF;eR5-%{L0t@==oZ_-*(Kmsf9l=%zZ|*~IiScX zv4iE??Bpk(13D2dPogR+fH!(+UFvfdC(S1ulI_qk5FsKr)FcK!_(O5bpTtOVvvU+* z8|0|oM;on4!sgGycQI-I#HYZ~j6smG+p3aRKRvT+U<;oa4rT~Zl54e7QYZUU^WWYO zEiNq;yDVvsICk<~kntA7VfHH$QnI>e;zp0$x&O8*_*3=v2NM1RU9^DpLqlw%qy3Ew zS1gDZ7Z-c#yxdZKb_bKh99S{Pjc8_M$ZhHYM3Y6bqUrDUm4tLkE&thWV(uEi^YV(m z30s|#1hqDU!rLpu{S3G-r96ax-}Yt5ZPG$a>>SUAQ*EG&7zJ1674+wNG3xPF^t|tj zUuwX}gQhLTWdVyKj!ZQ4r3HyNHHJk298>@toQYsZixp*?#ti$b7N$J);Y_dCaI>%^ zGWo{jXj`&jrJ7;3UymDm+)Us^&(R++6WO9f5>RkXyh$_&*oI@c9l*y}lHaFKIep(u zcrQC@b&$?_4_+jZ?UnrT+zQe49YSw{Q3pof2!+wd{l@e|Q-X0YE7FgComx@BxeDi8 zP54EO`QHoCTq)vcD}0v8>ysC#=RLsxY>>P9GRE&npXBii)N*S2br+)eWYp2uE}dt;=b9pF=W6jKX|mvuNz6X8=9fZD!$Uwt zEh*u82n8OEab^o*qsCyWFfwjt4I(75@^lIFt<2u0t;0O&!>Q6hgd zuE}i6`Lxttze5?IDk9)GM@9d|QHO=&=BH^wc3HFMT==rLuHJnLaQPn$-t+Qcfh)ya z-^CN>8}GeLLbpi@Y4UM5!E|PCy`TEgXIIXhMw~K}HmZ=5mptx0)~SKfUqCjGt2Lpe^hzY~W6ED!*^E>5Jk&u-UVk8Yp+ zfOw2^$CGV%bhV*8aRWQ+>hA~roff>bLkbU$^q3j2w3%(Gy79B{5w>56cEv_KmXgCR z`kcqT@?UZs96MzE08?1+Y`HW~G+1~;1{nR7xrF>qN zPM!vzPSF-dIIgBLLlX>cx{tBm3l6nLK7LaQ*A{IR$Yk+&);b1mlZgg+NI6Jki>KCB zcyQUQi)TN>#xuo0WK6QL6LtDE5MB@S z7Ghf>W;aqpQ7QWR#@8Li{5YFWhTxNW)#X6Nu(PQB8x=79(71*hMv#{%4_a?Rb zbOs*K$eJ_LZmlG|8^(a|k^xMoFMO;Y|#vtB=h(+e&VmLPH zAsfAI(}C*t+3u1XS@c>Lf*(M)Wo{I#EA(nj%@~q;g4HU1mI;l+KLg=kiI9nGrEZwH zAKey_92ok@tM&9nhemLXkPfYYrgqdBim?Y^?=R+(kPRBk?itljxGeed`?&3HL#YQI z{TJJ#x8Q)h9*%>%Ygp-Ll@Am!!eV%cFo1%{_oc7x-7HG{FBe+rqrYW^zb(W7+ zU_Bu^e{ZBkBIJ%IXLm2#63tn`9NR@yibgmJQpB(BQD;}1tQi7Bi2KVBN(U=`us{Z} zsKMB-1&?4KpOzQ-BFejz-#YK|u;j%wJ_Nig4zucjS%28ylYdYMxs$S(GrnT5DWP3$ z&)rO$oi+%brd2HQ%X-6uL4swJtbC`Z19+O9p)dK2F{}#@A8ef(r^{?>wl_!o%1t>} z2}=Ok1#l3_bstF)=Xz#uS(Vzp5y0#U4AqnBfzu$FQYnv?Qr@GaHWK#@S6ajual@M0 z054Rs`_Bu-RFE18@0llXhcdSb4f(o>gmbe;^(3racD_#a#8tGI>QI=`PZvHR78$!1 zMiCa|SDYIZsJt&QE@d%A7H9Al&;=M8ucDE2z+Q%*Uv|{2)LX&0+l^{^&Ps>*faNi; zIaCxKw}z+k!I}}UifRlSlttsfy8@#dK zNsj#W%hPfWofa+Y=rZ2}vmLH*Ib*uYXx;84iFN17|CN$Hh(c&(*VN?cx{BhB57xHG zQ&KM!UHc(|nRk&{JNaBYS4MNU--%OyKr5pcaiW3eJ04K9BShSgOY@?ek}D`0wite( z9-t+LvhO=Oi8n24QUewkHhvFYMz+3tie=x)%u%4ZzEpmfh*@ zyMvY+D|UV<@E(Z}!6f$UWfHsT&OOR64S|8_`m<-uexVFbPJcbqBqQkn6L}>dF@=-i zb@945-x@taULLEXvr|)3(|@$a?JnTMvfy77IHv5xWo+7Xnk|O8R|#9+zP~j!E)5Lp zoQ*{B#<0+9kc>~z}A|n`yX`Cvf|5+Vr|BZ+sb6#3^Zq$rRM$gB z0&nNG)(nJQwE0Z$9duEZB$Xy5|NdiE$i>CQeLgEh&~w}BXqrp*(>c+RiI{1zFW7?YH=g~66tz20#mrHE9dyr#fqY-#F^v<| zWkDi0lX$dr+gN^IPtSyEx)iNtnhP~ra!o3NNw$9D1Oo^}1~z*uG32nGF~xncxz<=i z4%{~haUD;lCs)buW|j&B31gR?>nx`DUJT2~q%U<~_I*~@Lt1GXSm=e#9oL6-zsB{$ z_g4y}ZXCjbuaE;*9OrE?EKLJxb705>Mn#njffW`dCE5Fo_TgOO#y%(mjM|JS zDN{T$bVr)er0Z|P0dB^`xtYoPQ6=6A4{SOO4;~oSfc!Fk9@TeWE8+fC;Rb zq&0xXAwMfPbk#yuT$W24LLEY*()+5e-5qjP@%IZO61nqQhZ{E261g9VjD^#EiZD9o z@qGZ#L-ENhMSf$^y}o&Gp4d_X;?4_&q@G|ZK0cmTw7l+3SvbRbrg`rDYK>eb`MMGQ z<#j$CEr#cCOZ{U!35=2}XkEN=#gCHa9E07CQA!_&j|Z17OZ!fmUQ)e11^95|kr@5f zKVeQ!RB~lHf6Di%eK&eg_)8luOjov!3=D&qtKjn&xcFRoTUMMWB`2ocU~G|M6|FmHrWKmEfArF? z9;mcpUr(Ua66^^Ua3#8EJB{sy4 zr^c`KbiAqTE~J|5_*!p2@~u2#3mgdg=3DoNjsmVBz=j)TrA&X9v>eVRbVJCP#H6U}R|Z4^JTo$Bs6v5V%b7wX5Y<$s7;#!6bw z9e$wCPTjyh-}v^+Wl#?35d*Q>p1!r+(vJ1Tx&XBlvD)0Ol{FnH>zk_2#p+=5LsB`$ z7x%oKT*G2+_AGujo*P#ln#+jSQNkFG1YR*-&&B=rX`5Z8M0uDqk@iV1lP?ObS_=mNH(0g3G1m2l`G)5U`zg89gVj2&NGZK7lZq?ei+F1QIy|#WlmG~ z0%UQ$Vi>yj*HWP=2oCNu@j4?46J#0&>VPQbfBL22Cgo=t%EZxROf#54-J9HIrvKRaM`V`fPG=Q(JzK_0p=$#rWYx1CU51p2ZV|ESA0$U!O z-{>0jkXgLqe}L>&J&!41QNYBuzFZM9X~rLM>Xt58phQwjgW}bBO*I%E!M&fPiW77L z{(jkf60eB+Gs#Z_d>vi2exL^(?-^54<6RTdO0Pdh5P9T0LHM~a40`DBnd;+Af}Wre z3ItABCSj%hsj{42Zq;Tr-p_3AWOGx>%TdPj5rx^rHPAA{glqUkE=z{CA*^d4~!+ zUzdcappMP4{1(%>YqI{jvJDkcB2_ z@y&(EWBYTApY@-VTd%7)Hw(sL4X9|-8R1|jldOE493mI*j5XABAEV`sc)B=mO5o3k{M0hZ)M3x;cm+D4gG{o7>v05iUDH!TZ@*jA&*)R7i|t{sVDhj-3ng z599e-Bv6XDNtrk}FuVxsxCbUM#i)w!MAzgpug75Y-w~;aI?y*sWW&i$VNDe3xsiu- zJ98xf*Rx+M3Eh_&mL{kIn7ZM24nyS;AXhz8Zmr#=bq`i7Ql@y0(Q_=Y;J&z+xxuV+ zA0!QwP_XG;EuauOwLHS}?=sJnvr6WtJ7m^@I3;nU>gg9S!{H!S*hpX?`8rc%Nkirn zRIHya-@b|ofp0=C+<1({6n#LP(u61@XUH^SFv7auMSP4R?ROC$q)h<>SQ=OUD#RyA zY>Rn!{vQ_3pPkEXb^b6mF z6w%dlCRtN8TI>NLGwJ`70I2Rj^eCkpmF*GFHE8CiY0{ZM{k;`C&s2xZ_m(FhrRwI` zYO!MPyC-4bfgE`fT8adAro9t~t|5Mx`9Hmvj{=0?f64}&{tqWHfYqZw<^?@|`uokn z?}jjXLCdiJ5c9P%{>OF#wZh-piGQ{o)cyW@aUMMv)At*!lQos7G}N!Qh;@u6&={kq zq2y+$30QvxmBBFrL~=|4sj-wt5&k_H$odj6SwWL-`D3d0d3pK;@*yNQ8+?yP&UoI( zfalfz&GQEIVR&9N?4FK}WVh57F|~j}#M7s^^xo^AJ}$gXv2SAu(SSDb=wgEkSk9Cv zpeW#=;9CV>AF?hKH*JmlOe9c?1i8^GkZFB9+U(po+Ullx2+?PrLv~g|b1v8-39u;& z6pv?yf-fGZhTg#>A9NH+K%ya_0||5a_ZR3d5h97Pw6wIS9zu)A(_s=Ddc4{b^UPy8 zlxU~_sWp~V?w;3cH=~%I$unt-kpBV@f@~5Xzrci`0Ul4slKU8T)dZ5c0;Kb?w z#(27p-smQLp5ljW2E6hM>_;kz>P75rzjN+Nt9>{K1?U{AIt|gKooT@*=q91zBwi%8 zymt4;5{^;%CL?Fw_xg2bjCAsy(jQ*eJd??HpM^yB$o`?%N_n)0|Mdd6Ba)~Bp16GO z;UW8axs$(T^ZGFqH-lG=gR+52p?mEaH#W!L3e+li7p#ilNww#F0Vm8XnUKCV?)*%3ZDjoI$ed_Yf*h!wgL zbtt5SjU4IN|62KGNskaw0ND%_eM%OweOW__h^fy%dC_pUN$$fcFEgGPN}h7M;h^q^ zS!jS{Wi%wy@$L)zWa3*l@qgZR;Tv(JYJG4zR@?sQ3z6%1^CSpQ`~`ymVlJh%Piy7k zrfOM>R7M9?D9VQTa1H)DzPQVkgED99!82Vx?rfTX#M=Ab$UDta-MA3&@QR}+krQjW z4T*`0#UMb-_wA(?_2l?<Oj3h!0KCf0*m-()?h#z)_M7jaHbw4Q)1ku?-55Gf?aeOah!QGxjBG*_-;Bl z*{=`_15`mwILvS^afHX?eQqZVJzKiW{)959*KDiR^ZUR#9pTr|JcL0c7>qQdwSdo= zVxG%g=ifyYf~`T(_)w>mlqa8%C2{`)TpZ6g>_`cO}>K(ePcTmp^&kVw=B4`~ELz;|8w^-R5z*@yvk3PX?vs^?3J47_ zZs!OC+dN|x-lFdG)>UNg(4zFOikn>>NY}g|VpcpWg+MiAo8ceMMnk9syG}y=c=i9nVz%?XbqzBkx=2GQVm6TNlJSOY_NW3pa{%^$Y1Ei)D%% zicc0E|1&p21Z>|!Risle#=B{7t^6Ennbb!6w!qO^4xFSW+e*zybKe zmsD+%fr>K%;xCK{zO%a|3$bvt#2Fd^DlCF`dQ8jmoIJtWculhEFc(6m-Czzs@^z<< zj^<=rUq#6*Iv&pm_=VYdPtmP*)5AOH9v72llRpXa@Sy_>4@kXjv)N@qt4-)Av>VX# z_<_joQ3LVo2!qefk7k*gG6RUMFLO|N|*u# z;Zy4?vgNiU%ySGg1qebg5#4~79=Lb380-zi?fcEfIk28I*eNQ?$c%;$$I1<+zs#Huf^h5?i%*hg*qBo4CK)17u_ zIR4cxw9+09b~rTm>&#fo?5*62F4!)bb}7-}^b_p1*c;Neza z)yFCBUdTS8z7A0giew{a97tV`%FT2VAk`$nPgN5EL?aG<3pjD{@u2C0)oM?n>$B&S zT(5Aph01`9A@lGZ9^a=q$Io?(p6e#~P|T%h4dSi)s-njd!CkWTc887Z@$a|@_1o$I&o^{`d> zaFAGeuuZOh;B^Y|P78`FZ6~+aw_mU&+AB?FFqDB~%cp0z9H($VdKESfKv?i{;2U6C zG3L*N9&;09oF;722YcERQTfaH+qfvoM|OKZ-JwUn!Jq+c;R?t)m`O0Seziw~(UgrC zqm0lxN}b-XJ=AW%+W%>Qg4kO(jtv%~zPuh^o>?;0Og)r`tuMh&XY!v(la@XoZf%-4 z!c(b_`Asg(z~&)^IpRshO?7@R>w_T@Bej;4x`_V6gD+;CZo7s7^*i0q;EQsoJ=#+_ zu`Mr1&Wcum?vVY(gD|#nGBx!tPj$m$J+gDy5BHvX70eitd5u>@0fIZkM%QsUr%V@4nSr(O-;2sh%0Ol`>Uc>gwIYw!90 zR}4zLuJWN7qiK`H15*_j=TS1${%Ld0_%ZPR_!h}pZD$hJv)VVr(V&FVwS@4@@=Hle z$SoDn%JfRxju$QNC2rv6UXA;g6cx%iqR)(NwRq2L`Lm5Bsfx$pvG@NFp``Y2mXUKg z)fyz|`@VM5nvlF;hxF&`C_n&N;F<3w${Zjf{8llK5%&=!?$4gWM&@E&Opiq98GKEK(Dqj#6TbsJ&?Pg^Z*G^m%+jVzudAK`-rabdeoiadFOoC-@(KzfscLz4MkfDc zc0|gFck+X&zZ-;m7m2RBwkWjJY5$zR6x8rX-9Kr{uYU!DR_>GE5C@A`Icb9ob7FFm zUTj&&O2XQ7#fwQDgTvd^U{S?6fjao0%v>H7z%c+y1y!B=#}8O@9?SxJ{4TJiuWI7k zF2bh(r2n7~0+X{-LV;?I$W`d+oOc;Jm@jQgw={(Ux}4NeC=4enUO(YaT1&G$bNisC z@t!E)GmwH$HWbO<#fv3Vl$K<5>?Mo6n<8`6`N`Xt(#otOcy$b-su22gd6LQ`^yZ^% zOxYl4U1L@`bp;i=i$WrS>4{o6HK=inXJ2!m1+3%OGh9vyC=*Qxi1;zoWb4%ziu=?= zc=qJtd)oW&bDs;EascVB%)D~yp7c|PX`93A`Zs6hrU0S^DH=B<6Ob3oirG?Tw(Im0 zM8CH*d7+rxvPMQt%PrI=nrHq+8k}*w$Yq`IlRyG|qL>_5&9}lG$oCNlk zGv>5n!-Sk@jS8bjmZrqy_?c+YTQNN(DlT z&(V)~E`1PN{W$du=t@ysL`bGI+@nLB%u^bq^)9YwA}j-rUrlbA-m08>yL#YBeiwTd z)}w!tOAi9nm*gu#-uw2nTLLdZ%3oEEa+83K`!If-a7Lwt4v->rJJk}q?j>6<=TRWr z4foWvKh>z4zC$gbFhVh~268 zpO54bAtT?VNT4dxP_?#*E>ELXDWg?!WPX*vb{`RH@%rgEs3B?>2N{1i4j5?cOF&9C z#8=Hu>*L&;W<)7TBE5#OXq3qKa87FJ?t796!cpd%PcyjHO7rjeo?wIdAn9*AN7Gq~j8kj>fCgWkbsGZb2#n$- z9lXQ5lMyjy^>=^f-;~a_RIFR52^HBKl)Z^tGf5aj3E@bQj4uLyGGi^O7Tbf85JC2! zr4w|MDyRY{uyIZg(;CDLeL#VtUUKvA?lr;~l=Ez{n<|Ke8Z6b1{`msrwf|%D4dA+k zG1TS%u7~I&@xA|_8A(9i)lV|mut(>XeZ4$HN#L){6*IifSwXJoGcVmF#U_mmWy-KK zmdO0WR*KsEkKCR3*)qfk@^SxaUApfwuL*!JF{?Cel)(nm_5_k+K-(q1#Qt%}u|#4M z^v}4zSwjvVSL>Z+FJS5jz`u2_N1=rc@hmpGrp|OVUzJPE|>t%1S@uftPZ8S3z!uVbh z9t6)}oV_OWvZVA51Vp51R6N>7peIU~dT-%79uSH1R(E~FcUvCtKSw7rQQ9rjH0HJT z9Q0)x7uM}w*VWbix{~+){pPaVIR*(zk?l;8CnNK`2DM_Hm1z<#jVvMbCc!>6t}Bir zc4N!GvkC^I;|YOWq1-OJ?vn+`VRE_?6-3n>oG8CoaD0 zflL^E>+>+Jj#2Neu8-3(D$kyjvWLFAoAa}7Z>$M)P>F^HHdlZKQ|%j>^SkG0g-iQI*++eol6{C9jz&LUbs_c-A~eRykh6jLTgDW zy(@FLd}R*wvN{?*yHop6Z`^ZPG=));l_eKGzt%mW9}MsYY20+D&IV;?aDSBSs53r4WRthxuKApC^St8%zO7~h7p9AFJXLY|{cT-)59_jYkuCJB%8!WNb?)=c($dNrJ zP)Xo*pqoU(u%4j>zE^I|b+JZ{N05O+`wsS9SZ4V3bIQdqD9T0+Qql{$yAE>-K+!N7i0D+9~u4CeAZ6;7q0L zt#^(YsP~cNuUQs$ULH6vP`e)BMMt;n1yr)B4pS|Y8?8)k$Cpo5etbx|wwnf4h)%5E z=D4RVa=b5BeDKDHN4h2hC~4eJkN5P?i!J89%3oi>*pPz3RrayhT+DS+v?iB$cuE`V zC09Q-y%>uL^<34m8GnnDSx`VC+_(-%_p=UexB4vxQ`;tG7^XcC)Dia()pEiG{G&=9 zSdtsf6kqFo4zq{7L2*+89IcDKdo|-#qay|SHPv!sZ*SA_1W2W^zg0~R03-v|X63eq z&3VY9DIKV`Po`u~u!L#sfzV~DgQw8>*hZdB>Srh$J?-ZCjX0GX$~Ss(eIJdZlds@` zO!vd#tY_D?{!E1^M(rXmkhjy*k{qv{p4ioHp(UTdV-v-b*?7S5^c-doG6}j11nDHB z9c1D7ab?DI-YL{btvv0jpZqcj4N+o0@lDTc(5@1^qI9;=jPq=_KEj+qv!wi(JEo10 zMgA$}s0D3KEUw!RUCYUM9fMDEvZo$4JU%&J zu*;G})VwH6=cH0B=VVq0V*oKhniE=Fo4pu@g)3&6;Ufarn!s}F{_9VP>o?;I?|;Rj z8t=f)BQ8E#)M;q+*&7WxJ?cI!vmkdG`REYI{sE}O5uD%NaB&DY39CMCI=T<+WrXqB z_J|)i0251wrxNvhb!%198gvFSW-$+D-ET!PK9>u`tuj5`B)56LLM^T9L4a7jQ~82T z;X3CNcH@WclfgGDb+L_r7uW~CF0jgZe5G58qLsldb*T*a3Yt-w$vvQ&%QS58#i+4I zlnS=Z<)bZs>2UshecpFTZ`^SX+oni8A-t0nJFJEYG%zMzvrdqtcmAftMKvm8%$4oj z&XM@BPR-*|%!RA*%#9?nZCx(3K?A`c2bjPr3_8JZE1N?wlXV?EuHJ)PRU zXJZwVlkWMRO{Q+Cpk{=zmqJ}?lGAVDJms*=d8F*gM%1caUKtVXto3+(-8Fd8LkC(Cven*_;uNH_#^Ofqd52_0m{1<+xLIbH0_q=#sxcwR~+%D+men9>a;uF=6AfN0X$hdXc+Z+OQ{co`BMb&iz`;_T!#&sOogRPtIo zrr_N3^$^*kEH=P9AFCBsB~IHl-MY51!WJd=1`KS=o1;T>H2s51bY&SVWZYJ0A)q(JegbM^bw>Dwbc z=MZ-e(m{OAse%$>W%8t2xi&KY+V-Id_D4Z>4aXv@4X3{O539cUc*TctEEErz7nHg#Omtn;HF!)vu_RV9^A(zeoec($$aoX4ZsO6!F|rOnDu zl_pKiVH6Atqe>~!>4;hL?3D+XAgMKWMP;i82}jC_Og?(m_3>OhWuRe;<>$K|HNwY0 zR;J8bQ+t+lT_E7i&1n}%xq!oLg-s>*Ch%n&GpTX}Jd>>=N5oWJp`_<1pAurY{^R!# q+pNnY;S(X`oo7E|LqNXoN2{w5q=ZPi9jF_sfx1VGY|-jy7?o(1OAiW zQ_}`~fIXf)mIsv&Fs_3@tRNLdIUQfKtt|X;CZ&lhB$d3p6`NTgG#`H3g69K|dZT;@ z5j61=tWj}DkpRZp+vEcI5H4V91S%jTAfQ+$P~Ocwq!D~{4TDlbdM_#_vb1Nly?yMC zw*m(Gj$Vy%`q^hUtOjNOJ>S~tJ0J)=Ao0bM#K{hhw~_T+D!Ke9g_8{)MA?H7AZY^N z|KLH{$oq4+xe83XY1?!d;LFV*EbYywBo5OL6dXn7)ofmCkA5&mhk?vl|NA8I!bJKCT?Fjua+j!hLanPtYkmnt!K}j{^pn3Ro(&p1nnBL4~Nqw z491Q~9;Dejy*?uQ#(e@QAGP#mh{{R-pWlM!s_#F+k?X5L{i2jcfM^1>#=<D)c% zOKMoDA^HV{x${FaP+!Z^v`Pd_s`U`+zw_I}UJXPB6&MvP$FItu(R5OJljAi?mdXb8XE%C4HYMM#|iW69_58-UKw?bUY*G+8yr_mlh^Aov{7^l z;8mqXBU?bU{@;mF_kvRq^45~ec>A$;lNrL;G9oT|<52BEXKAvxjwcw}?~sXf>XRyz z6G~QGADP1VXdyMR6}?ob6l#`xcl?RpaMXm#5IU{-W^`oXzhN7fT>SZ<_9+Zyo>pK` z4^gztX|ep?Knb$dFQNLjVN>Z4Dwm#L<;IMp)&QA-o^`$T;4YBYrC-`B;KW3dSgYB& zF|ycb$jFQ_GUI)$9Gs!~OomM+2W7lK$$;H5zy|o(JHLFvf|z*bjsLde zE0nptmB0V`_FU>$F2)2$kJ%qcQ26B`LkQ1Sb)8Zv&ehTj^gR8X4a^kJf@#i?6=dBV z%X>ZdY|C%uo&AD2c*H9YNKL3FelwS#P2n%hZL#DEj0}WJJhQ9Qlc6Wugb`b$_%um> zsEXGMoimMt4SnQ_AGK|rw?6R;+=>Tr?WVK8g==xVHSr`%{Ow=wsW``qmQiBaR|s*R zBsma}3~aliJGNTV+!poGbdlCmqQ^_4vX(5D$*e@@o6f)2Q8Ep8Fz@li@H<&?&}0}P z7;4`I1UL1hu+MoVjKp@Z7&v~eX$AqSj#`XR$inxtn&aLlm40lSJN-Bz>nSp*<6dC; zc&80nKkN4$P!$v;#n~pqRIv`FDBlO1&mUudWS9O3riNOq^u3Fv zy%!>NJRWMDASJx@FBl(yjUmZy7fe9#2AfLu_e^WBbcZRx-D%9N)wmw;7xVU9PL0>? z&HnCP8bjv#Zm zthO)_h84;08Q>yp02+^fj@{0kVs`EVfzVipREH z%u}*CuZ|5PNEsr|@LY%F3Vx?v5$2W?XO(*XnByfmz$U@QyNHypx*2B*5eyLuZA-f( zR&+GB9$Xl2N{{&S+G3aGgkWPKA0&>}xV}rq)5jMowmzTmB;cLs6g1O3--mTJ(4RsL z`{5!j$-PdhvbL+Uu52?A!LB0{-|qoP>Pq^}PXqK!U@!apER8MrRecg~kqN@j z0mz1=tQ4$`h@eV_IF6#Fd5iOo_CgGf!WDz2(yA^4(L#Y}UdfqgC%k`H0o0wqGT6(V z(^qC#O)KeJ2}iA%dFTXL>Vau|tZx zxF0JkW`s}3PLoA&BplG^A@%IIzLD4s0`#O~MgPH|%wV(M!Ry^?g#t_iYU6aUA^92f z=_%|c!TxSV^4odw$Ic|6ekQ+npKeosWn2~KP7u}J>ObWvzNAr-fZnjKbXW}$<^Rtn zO8lsFa=gl#591Fm+LT^>s!Abh2701Q%rm%YR_Q7IpKlD^*(QWMTNxr!$|HUHfM*U2 zMU!MDlh&*scU5}dD+GE$bD4pQ$qba#^>S-wAXHK~NxlcQ|Kn*m@>K{(_e4nJE^=D; zOEM(qf>(1~ef0!7L=wVckl5Aiho!83HOmQR0-B7NlGw&t}PLa zO;-4#J*O7(s3c+Rj##Ec8;HU20H+EmzZJjd2UcE7c>gy`q8FCm zlNN?%m0V}g%|1(i**ef;3*TFYHi#1s*|ol%1)B};yeIwmm0T*CeDTB!FoZv@6HGf| z2CC8vd~T`HgKY+J97e)H3}LzxuFOl(f{z0(^PmPU_mXt62;vy{UJSITvBK}g=|VX- zAK_lFmgcm>IX6r~j7yxYHUD}39nxY|MH-{uACLceweid7@;|TOY3M(6XuzATk+L7p zrHin26%P_S-Z6~jF9tcU7@r!?Y4%S*Vcds7SNW<|`q*EUVo~^1WxWkZzNZjw&}e?? zHG$Lr4SWy=*NJSpV(frX&X@k^6-3ACOZ(zE4YZ3J(ow)bK1l9Ula>U_3A}~P7Or86 zl8B>oaAIX^efT_Il}KNi%^e!`hswY$evnue;xfGcKX+3-)Y}7^^rG>c6KW|<&k0Hc z{lb_0CffL#<#@r!d!(X2urx@NW{MT&VM0;3ZHLa$33no5z%K_^*@p;;^{nEu28#f# zO|ouB$N_6YocJ8Qh0m)znXq!f+Xa*;1=%q?lq2D5<8!MF@8Nqg({wUmW!?R%%C2KC z*sOb}VZ#Io_JL8FMgEXVeclT? z{d!^731lTPae<->SgVL?h@|fSWd@1>MKBiYOV@#9etAEl5NweLHPVIiGe2t#&o$WU z@O8k!ai$FD=C=FuEd9TQ-J();Z=d*YVTBI|{wJ^mBs_@uIy~@o5e&s!_6<7J7H~Xpg9aUth(X0DQ73@8~+*yf)LK!T5Zjxql2x#F3Ol-dSC5qtE zS2AMCcSO=q@)WzOPIA7g228t=t^7SL7RlnGYs<$M zJ$(F&F9m*QLsUlp%l#7|Ui`B`=cX`?^u#0!r-%y`FSMrAdJ#?CK=4h-C>7PR$_KJ+ z2!1U(KC;LaP>%og_bJ=lnmELj$kk?#oy^s+ET7Kd=tLOv`RxxwxB8M1ZiTC*mqiL; zS~14!egB_`^%IZ`ShK6`C30!{oMm_v-Y-dtGxCoLb^JFUKvIcHk+;z=IT_M z+>d;TCseattFYPN*xX8sU4mM?7WQC{k{8yj>r)!Fo~tHQC<%?w%KQd{mDt$it=yRP zxV|ZziU}1I!P>O#5HrH2!{*|XrE(MgVI{_)Ep}l~b4M3g#GG|!Hc;Pvh7Puf7l=B< zl1UPR5z!5HuL{JU7m+cR)WQjL@Bb#2Eme8GBAhUo_<;uBuVWp@i_N`e$3p@vb7yn* z0FS~|BJ9OS-E%r{o6nD@*$s}Z7+Mhn!`4f0o~U-csg=?GfKIf%v`TM?4n8UO#a@$x3AGL|PapCAm1BtS0X}r&-hR z5H7ijy#tl~@%n24H9rv>WmI?t0gVLoua76QVuafByRG~DIhVA3RedjcK-z{$r?zmn z^`Ue&(&C7^)TWih3_{t{KuXK+KNO&vA4tUcr40S{{m)8jGg)aw1N_tk92_$G`#urb>wR>auk4fF^9eXVU- zSjnVG5Y%F4y5V9~=6b&E`VyhWUjL%?pK+99?`rth~$?8%68k9^iu=U(5BLdJ5 zCH>0^AnEH155I$ck%PVmgRVdC)>U@XI|_Pj=tPjvE#T&cKfOP3fc#zcZ%c0giIV{cGABg+p)J*-IBK^AUJh$G9?3N@oW^TH{6xgI}`D?#>~! zHi&`kZ3SogZxru;znzdjT4!-hRP?eF*bvLIfWRXH{%g>M7oL0l9j1#VbvIS|^+g(_NFynW_!&1w-xf4N~Dvw>Si6TjZ^=*h;2E~E>o&mM({Kg5?{Trp!3-1&L0-)M7!{VHGFwb54Ep$RkMZOxRB2X1P<{ zU++xs$rm?s&|9ueZ1whRnYo&6Eygoeg>ziSxS}C z(BbBqlGMS6=?2hs`fTKS-^4f7$bnbPakOkf1l2x)I8sNqK}r}52C`Ck@&mk&u@1!O zpXiPGoQ<~j7aX7hedVOI^-nWOPHU|Z9RbBIw!q2Eklor!%EzlU2Ch@xWgV{uc?N=y zXXnXh86JVu5ZB)-+`W5?JqN%P5f*TLezH6Gny>u3u}jM`E?Nd$-}nfaT*>G5WEO z)XRCk9L_Y8q+fZDJ-*?>1p~3JHw}E5sh4iVmo|c?38G#p`X24!+3txaAk`^lOFqbs zhte~qrU{QUr{E)KZe|@zNIl;>L&p~5?>QGtt|+tKU#umAxi$#U9r#cz-2+Vxa7mWu zZ&~ z!3$2ePDoNrH3CfIx&}WAz=_(>Ui(ae@;~$gPG92M@7J?p=P`nF{uX0vY3dz1Wc|?G z3)ADHo9@@JcB?_HwvisY)Q#?#>?>t$&Fae^nYp{9QI0QJtbZUJwIQiv26`xV*YjDK z#R1mpSITWLsV}jC)@`H6v)*a?bMO0`m6i1w%Xc99Ff=xxJca9EOoXqm;Z2Y{88Ec@kJnNd;#ad&F~OACWE=ICQ|j!;SD zbCaP0v07PO@88@;xKn?^OU~cxI>saTIBHglIY9+f!u(xr=dPS&gx}aTRrIpiNQL>L8oghljOYjcB9J zK+SN|ix1$&mGL_*KDIkA2#-U0UjNU83k?uftc zwhiQC-rEc!|0y8%t{J#1lP2rz(wBe4KC4>O)1rC2#|Ya{bS*W0icMybbF*%zXB{>q909fjSTEb! zKR8iZ$pW@=r7r~1iD@$CmiCdu`YW`opp*=s!@cRYc+)=~z&v+26rz}O*ef$y-dIu#j=W^E=%H=yUKN<5;mHP%XP`>0#znR% zS#s8&taqmo%eI&|tn*LNy`{R^kY>7>`p}YznZV%vu?H>%&SavVBlFpKk{d&1g`v-B zLJ{UVl5|W!g&awG((h}fVX>4z)ihj8zN0e3FzIj<@X|54Krn^s%BE%a_Q1^?Pa&kM z@IU4V(YH}|7K4iY00 zrX+m~+H#Sum(Vh^?2WwzLY#;Ex1`G4`rb^jNiS({N?wi1#L4i!|G&*_<5ivn|A z7SzrGrXg0JQR#m;cT!2rtq!_zh#ZD*faA~C?U?AW z9$U4DLC&Pf+B9(S{@s?MYZJaj+v6hD2P;uP??*mU@IeaSiU|RtU=VXpYWpT$Z}j(E z#Gg7(fM=~^<;lXg^iAc6yA~dELC)uNkkL3Xjmek2n1U?MOHodc3{+r@%VD`$!{u+F z4X{i@zIg`p`O42Smv2A?s?Nw`-G_{X2H$`l06J9kDl3?AU^@M!#)@%ugOz;A8W6De zbbZ}CV9nFipyK}F5`SCa(22FoJ?@eDZ!VjhuUNuVDdus}LWFkrmU1-R`)6&0ZP}22 zXw6wIK0|$zXIUX;poj>MLrW^I@F@+`nkB3WTd}h~A?ionq3PwSk(W!gl8%`10C2!D zbAt~%XHl9e3(cTQ3gM;l zQjbTx@mm}K#`J@`qpeBjv+1^)E{m(g8*Tu@&Eq0*?oZIgi&41Iyp3O=_9u-N7l(dk_+qU*;|D;2@ zQ_Zod50$d&d`RDd%BsHYZt$jJSGjtbLni)ME4!L?&>%OY(qu8wbyV63&5`|NE@NpL z*9jz9zKSh;DxYTYL(w#OQO#!N>p{k%Wq~~5cLv#_=@UN(z}1o`H3hr6jFsXh8xM;u zx*l5~K*d%M?B!DSNQJ3wsY9pt?1RKbm})%>?Q(xdhc@=4yEv7$+9s8c%3UEIl3 zGJ+=vI~`F3i;GDm%OU0vavng^(dfRY*PWsdD?w%yrYc<7OuT!0q7h|ZlY$X+~t3T2b%r39I zRq)>fq@48H1}tDvqNi#1!u9UfzKgn>kU`RI-X(X1KJ9kxL!IGMqk2 zE2q6jLWjAk1JE;hts|d>Wjk(xJz1#Z6#7mUKry*^usj23WG9OVQWmO7_9y#9_%}Q9vWR)3EwOfm|vj zluSIThdCg&gIp%_)$s)PVK^LMY2yV{Md0%~sWw3dpR{Vedinpc=BtpIPWZ+c6LYz{ zz9;6+#gE19n*!Sf5t>i1yO;(!7hAzg_b@HKdKm)4UdYIfq&2YHZP|9j3^!(8|yd>niU=(PiPi2O3w-CFu5^L;|UW>4#>f5TT8zm^%lGX*6RGXV$ zpN+kHU>^_Uf=0kVkkTP&@*Nhk1B!@rBJj?O+0-@>TW=udL4^9^gQp79+a?kZvF{C^ zUY-m#&3ANJzNlF>pS3VQ7b_Elo-w5qmi~hMuNGjkEF)NK$z}d=<@F=i(;m*N)<6)A zmS0L43z6d;&_*8S@?>@w7a-X))P_dHPy*8OmGyWn_rWd&2C`=iowxMtf(60^-YL{g z;=O1o=&@%~{g$ihc(I&?>AIe4m9RMYY>9@gRf|O-#WIAm<{9@-PL)PJJ%>(b9OnZ>;wwy3;mQ|CjX8ADZJx(|VC^fXw1#iYN zLOwvm{DG6VViCoz9oEF};n(x!W5M&sl}mqz^qqV9t$*?&_cJhEJD7@P%hR8-x4csf zS1aW~X1?>d#nNXpeydqdUw=I+1K@*sfn1lsMTQ%W$$(tidFV=Mynp9=rDUE1SA}_B z<%A#Uh#D?ym~(edX%yeYwl6UG2_mloPv;|9K1xGNeXeidlo$lFl+w9#u2){wV(52_ zc+H?WEXY+#e)0Vi*~#rlyKx8?4wX>6HlgT`#L|swrJ1qv{sH{K{?t;>k`mf3{zK`kpF1loPlzyIuJzDpmy@GknNfV0(4C9@T5YDzlQ%`=QRDV=dY^9Ox*3Z z8ZZ@^Vr@`6#{eMs{lh{yC;y*|+R-0f9}{5Nui!L#uPoI~+Qb**8R z-G7kg>VJNI8@stcU$ov_peC+xS87Z(EM^YYSU&{QxAa}bj#66c+KFe&AV4d@BYSc- z${(bzAOg6@e|)=P7Vo9U$ZB79vx;diHin^aNX3AAD^gbCswT7`mHGy2PL}|fy&Ioe zQLDj13aw|Agvq`f@M+wlvl8+b{DTyg@oWMJkT=0rrehwNIlxKa6a(3jC@*o5H2{)c zsb)_FF;s2iO^wlgpYIb|QYWno9fTx`a{%+c31B+>>Wxvi zdqA^~>fV0{-lSXj5)ex2OHcbL=V|L;{sL7n;S-7JcdXAPM}fQ=6+;5gW3)NpvWzcC z1!xExf+@hyj^IBJQ)39Q;cNm;t)%q?JUX3cq;h*1sQ-Qo2yEh8NU|}&cr+Q~yh<^> zqqNqod&T~6afA#hmwt`(AzfyLINchm4OI``SYfr{fs|Zk%kC2W!11x8rH`xa$zh0P zO1MESExZC@bkCkgwxPy?br1PcEuSnHDwud91EKSqEJyUpHDd&{Nqm7c=wU(2p1PNn z6Gs&cu>+?-jCVwDlqBO<*y*g=nx9#JwSQdU+4)*x6V^5iUdODMgBvV_KC3s0RDI>y zNO;gQ*6*!sx5mrNWudJm*kAP)htQXHT=atbTdn7wzCxz=9$mf*X&Bzo;G1gz5%Gg(_D{hf3V=myPHwi z2^k1RLcE9C%8*at`V8(Xs-Pe;lj6A9Cun7b%3oyS_Kd9DIWwKp+yna)Eon zVDN0wAP%KZa<72`AW6C*S0CaAIV{8!GFPVQAQ%yYLg;@d>-t~D9(Vgl{@mx>T_3yS zv1XUZX1?69?O|VGR@MH3B}ZvrQrh}HFrE{msuC`go-2PaOvK-UPUqj7Rzj1L?$y(P zbQ$d!qpHRf@V3g( zO35W((j8w27d^-;C{z%=QbDS)|HU_CA2LLo2^5a&c1q$V>Ss0JxD`1wD-2}!TVW3zb9YWx>e>l{$6!^=oXu=}oAqr|svhTDTuS}lIW@v= z8Swb+feG@&J2xE;pja6WgwRTO^8w^hvD zT8oWg9@A(fu8w7*emtgSv~)@NQFvTIPx78 zaP2vtNCYk|Q0F7R-sc;*oC0`+^Q{L#fD&kbInCUC_SMNf3pC0Il8YK~0pA(y{gS$7 zK$LFVn@auQnp{AfP(Yk^fHpTKF%z$e83%tFqD_XX`~1YFM|lTZYNRI~Xg!|nB6#=f zkyxE8d*1ett|cc^t*C7LGURM8xpEVEO1kQ5nrW$5uXa!C2ip!-jj*WWG@$K$Ei(iI zfb;h}*E9#jRvF18wkoZV*HF!mJH(=v!u(u>n?n)Xw?$ugjk{4`VPX`qr8QF)^n&+!G&yFMEJrPj*QCAY>?vrJ1scvh){jFPyX3|?n6CkLmCy0Q1L zASGD>F<^iK`U*#h$EUbXhJ4{hNn`w3+Cx?R905eY_1ik;ZJPdtIF1-&L07G@xRaY^ z=D#b;YK&FaOWFs!Q1-!(C80v>ah$*CYDFaIMv^pNfjqjKi@7pqJJbNZ4N3~zbwV0l zRkZ6y_h;h2p=-Vs`I)Pljrg=F`$P#c`mj^erGAQ7kU-{w#*8i~jnz$+q7K`q0@M&u zpoWlxH4B4uB>*0YFE;?Z#s+eM@adlV;K*Se*fsk7U~~e)Vy&Pfw+%+A-DT*OebfhC zNUj+?o`@TMkt8snQ6IlF&6$a=Z0fOplh95RagaN zlFIX}gr>5&5d+}?_-MV!zJm}9>RI-Cz>eh+D9zYV?o$vc!SG3|3B};Cys9?$b6`UPB0G%Q~;&aPO z%D;@!OSjZtPU7gey;{s}T02+rd@XhwEPR4pxIgldAsyI4i6Ij1C!*60fToh;FiI8r zn0KVZ3EaWKh%-NMYa|{P_Tu%y@0-BNC(je#sh!<|FjEx6VWlxNHWhw ze;aU#q~m~I^LM`Y&R&=84*(>(H^TnULPl6JD(|Q=8Y1vEOz4IA@9X2n?_<$(#|Va2EVeF*_@)K1}zV87$ZBS~S((}9;qY*OixtEr{ z^5q+x>Pg&7W^?}?U{$Sh>2H`EJ>wWI^}m8rh&#L?JF&JyuL_SF2%6UAA5FQCs_}N) zN-^w&2qwQ^tKL$C#3v96G6dcOS`TFnovb$lmzy~tO6-&N4fId{?+hW81S)GBgxolf z*W1)#uJVvS0!=rh0cLLx7vPi7JBln}rnT7dCz_ts5=o9q_S8I5~3`d8CD%^zRtD?ozDx91L;9$?wE9j zjKkd^(Bj709`%ng)Ud|i?`_EblBjk)`XV>sHrDkx%Jl*G&{m8~@B!ZN7N!dXc*mqd z`bZ3zFi=qGWDG&&8|E+JtQWreo=GIcq3bcUsZ^bfQBp?vV>Ehr+lg@0CI?Y zJz4y5QdzDnX54>Rhpvwl=|w|NZmwB%=}iPqHla%E5^i3ghkOE29U?V2=jv%UV|q+U z6yh6w1MND+R{^1RCy=jR!G)eDaNI6-j%7%$cTtg|TZuX~;G{LX@?W4j6+EILjg3Ui zy|mbL4YR;+tRHcm5$#yCjIk~@%t0}sWY%9IIW4B_6s$bp9f^4Y6MJbd!8eVwY#;iK z7I_o!Zz9CqglP`jtTbnJD&Yh6+G=%z6hRh(+~Q7_evxl2<2*7 zb74&;0JT8CqpE6aAo!+TLfa-~L9W1`z*u+hM3{eNc20jY)*ik9L?A~6M z3ZIHVvRI0)7$+9gTJ;hTV)kaB5>ZD#mF&H@;A$)9lB#XMG}FEUQy)on5|Q~tUn*1 z3yg}Yd*C?|BYzgvy7j$WRxeKVW$!U^@HX*S-UTCusX#}&Nv=Jr^N(ucQL9!@7E5Ao zE~^<@a}j*D2IWCFp#;aErK@simt6va z?tt0+eyhg;oL7ECRz>e12!_9I^sT6&#+v@b-277`e=Ilszy3*Q_}Zb2r0o)Bw& zodGm3*)wlk`3t763W-J8BS1w=eBlfu+945ew=apxGgE#r&PbhmAEjGwNCcot2HtQ8 zCLO0qB!k&a8$u#iY;UDnIkrw+K)vG|6H^Vy00MLfE-@C+mb{ZeN?)EGSyy$@s@~9r2zxshFPZ_+wVYNd~zWBV3}}+ZKMlbdLngZ1tAm8TlT3F!To<4=Su}$P+@C#8U%oxBiT0! zV`t~Uw}n*&Usa=>gcrghKz8%me)vUG1H^*&q@I;aEZ{F4tkL z$8Jk+9{+AbUORv_(HnKBchIh{wRX4A&(QqZw_kK4@!D8G#zj?w=%CHi+R)UD(in}@ zw_z9HGJlaiwa^aNCqJ<<(M`gwp;+mk8{|9Y`y4%y8rFt&qi!O>#_K=*=R;;!3QhDp z&K)-~T?b+RIpTDn@0(?s2{hA1ZOsP*67x@4k4WbLF2klT{a)4?RMTwHhYrlr`3j(DEpxcb|zT#u2F8Q51iEX4!m{a__?F8wj9Z0tG-K-}TWjF#G2z}G? zbaO}=SF1L_w>IiAZ|?GxY$XD(&9=4ah+MS;3K?UTquH!uBIWjy6!+6X8o~OfPew@D z>6q|he$#gRf;^3er|AV84X~19Z{Iq&+EqW46WtsY-)Wp+==E%w+aw(CCq{Xl)D5)l zr7qkg9aN4rlyxo!(MoV~h4}KForF;|QA6hPD;2Hqd1q2S}#U zZa<2hTgh;-TQ5kn%Zn4XIy+pS_d}5dLPX=930yBiyX2Wh${i1(xs>hHs&uV)Eed>t z>Lz~z%u0n3J`oxR2#^b(YPh%+F=~S+Pu1$*%Rad8ZaqNs06cM@Rdcsx8j1y{&Y{VN zidyxBlH*+;IRkz9ku=R&aBX3XM2Rw>3|wK}!@l=OL4b=QKjGl!UUW+-Yt|8{bg-sr zxuvhMN3amq|K;bROxSq^x0D6mXs9^kfW)gbJ4oOd{WOK?rD{{J=xnlEe1U@`;z#t1 zHfLAV05LXqXz4tZ&{6Bh{PlaDTWdwzm39!#APW2t%u1@Q2T;3X)}s*wO73B`O~hak z`hhpzzK#u>c5oX5YonSe0&FxK^|icAti0yRxfO^qz;Dr@E=L#yFAHU&o(WYN2{>|r zHkgd&*;`G~3GdJUI*|X{Httq{6Ue<&Drc@|0onauvsSoJ7e`Drq5qbmBe38y|G<7R zhv5z}WUc$LzQD({F`PtK=>o>9$e3qRa}Obv^1dnD4oCZh@4{6Uf88A2K+aa)vc3?j z_7)=%sg89@QWq(oxUR}0>?H3oW%whmtQ#y$cAFc;&9jV|eWJ-f^u_=*3?f{nQ_`p8 zl>5&9`eqVgzq6-w{+F1y&avfKFjL?cX4C`jnsMfxuchBc<|qYF>d}xpmi7P^4$(9Q z{ouFFXY!n5yO%GE zkEXr;P>+tq7#-p7jouLJlCOWCxZc2xx&v=8QmPH-Iq*tvs%s&yBpnG+9r5a-EOu21 ziQkcrF5al`b%`wJ+t+}mBL~`a>^JkMU|zAc*-fbJU>V225o0Uk8#MK&??3cX3U^Ku zu!f+9F}*IDeJ`%^%#C7}PjyP(6i?%uw|1Z*DyrZ7biS~QwiDYp{1-im9G?gD8wbFwt)~>V21My_yDg8QvR^wNJc0mK|8~tqOiWDmO;tt56 zIe&rOOd;i&;yC%HYD^3F_a?etxJ zNdT_?vGC{-FT*h5TxB%o`hBf|9LK!Bg}$>h3s_&c#;H(&KhXP=s%^mqq3lSjZpEAq zAg6gz%sXc!wUaR>{hWnOUY-%9B;swk*QkMo-L|i^cF=c zN+If*YmqlD_`H@tSF6!FwomT4bFLOk@}9c1rzRS&Ij*Vc0w>-OJej_T~Nj? zT-J9F91jN)0Lb9$F}y7HH#yw>XqNk<&#{})7HiV4NORpS;~F(6BdtB8L%M2@ZXns) zR}PeYTeai!WCT<)bu_oj?R5U-eTFZIZJRYx3g|{NP^?rI3y{Xo8$cJ%P;k^DUwDxDis&|JUOzGbdqKcS0)7fcM)DX9m-NJs3XB_uy9HK}`8ZMt$+=c8t*jQ%<^$NSRNo+uf!4D4kk*tO2P#hFC0} z1)c)s_a`*B+4bCpVtF@ViW2ut>;|!9X`Be3C<|O+ml{QC5XW*r-hyg?zOz$x?sj3H z6@Fm1yt};q#l_kydoD+BtMOiv%+;N-i9PHEU+x<9(BBmI!)rxF>gI*oPC1<;Hs3__ zi-Ge_?1I3wY8%c(@-nui_J|dnVO-_dqkL6Q?5p`of++1opvg^TtDnf5R>h7J2@JnQ zHygkKx`R{n16nd^0j{R%^jiQf*SLB0BgQErtYgS&lDB#+VjcSEGGWf9Rd3ooKpgy- zcA{EB6giEXNp`_yvT~jN;{~I=Pp{tRMDzHEdO?`jQ9R>-q?{#d)jcfcN$z z+l4ykNAh+RBf!2Zo}iwFdnT$_h3m<<$i3FEO4qX8ou4Kc3jn~`sKUsj13KRrF zlxlzOvxi0Av7jS4Q57{tKw=?VRW|Dc4o!ZNUg=^LNSHk3=kvc>fbGIv<}hwU`v^P^ zfPvEVw|@F)CAsN_^7pM@2qIY-SFGUAg6Z}=mpQFr#5qx=Q+B8AY+dqjmC!o!qNl$)r zx+E}%K-bQ{#+CULBO_th((o&Ae-$_PyDTul9E}>g17dNj!?j;dP0qK>OSZrMdAiLH zTAr2qz4cv%dg=Zd<~$VA1-Y^bY8m;ONR)G%|E(QPeB{F8zD2_H^xoz@?p|)6x6NKu zuuk)5pQH|YbKs~+2xdruyjNZ1Z%V*!OWNH!oe>JP&rCTWo0OyviOJX0;L?J6$!E9? zvC$4Xfw!a$b60aj|nFUAoN9uy_+~!jd8l zMe{z<`A(AycGJ8@m>Tr<-y5ap^EF z(VuERS$wn&-XeTa4g6F@s3jzSyDo`^VDf|zqVomg>0(7vZhVja9?|p3uP@xE>)n8n zBGf+HFM_Y4ISF`SH3#6a%1m)(3v4ut>2w(Q=E`otHGzE#YZ93mIq0VlJqNufGACkQ zAZ&!!GZ&CzygJf7Z6`(uT6GdgUmj|w8dybR0?>dmL;o)5N7a!r z`Uxbp=GH4Ua5eu#iQs|Q^hiR{z(z~u;^-Y}xBXQ5S%_~r`7fI9YL>}3uKSxJLaj?W zowQXVo7E2^UGGpCB-k2;co}A%^0(WUeLu@=uew)eGs0;;U98K}AKlz*&A(I{*!l57 zCVQUO?tVO#UrzPuD+4}J#9ict?)^V6u>KrmWiZr6sD;DgAix6kxLq~hG%*>xvo!g(go%~SHUbX52IwdUay3 z_`%2Rm8jNkiby_cE+o#(ms5^IaI*AA;yMjN23EAo7oBG;g=+07TH9~czK|CE!+g5< z^e&R}WRH_&pXhigsd)drFc2HjZ%Rrp<;n>uB5a)36Qi&rI`nbRonGj z9gXO(rf5GUlp(5{dTc>gV5P}R_kSw;@@Oi*Fx>APLylt}lUXuPk$KEK56P67BIA*e zDUJ{&kq(iWP-bP!bP$p`V;Rdl&mt%8R=<1KUH9I9?myPD*0;b zGzoVJAJ!&mwUd0Pu#UgpiQA?=y^@;_pdG15Il3wx`ppX z&`mzV#DwcrwnVi&3j{A@qHp_9=rR)-dz50e_~wU?ZtTABG0)gpU`Pe&k=V+NKeE%! z0EmN{mOI|8-}(o{;V-S_n87Vds(k;xjhLm)0ZUlIJ-dS0xlN-=H4T}L-Y*lJJ;q3_ zl8UuDGw2B359k1V9snj0{$cLV#P($`>E;bi$fUVpMEcE9ioW34(|9jI8uA?`wpP;X zrk0(6s3J8(7H=2FPbaqfezwe*U^WVy{#`zfX#5k_L|qbrn9K5qAHrd|q~-h7w&MY3 zv~Kg3-68u;RR(uEPsZk7p&mY%2Q?hdNw<(kHrQ_efuQljDdxIt=DL+b$ zu-<(Z>_)Gx=LX8(UCjNq1;kiAzRvXL>5T+dcPKQ}uit#g(z5M~p@;A^MlZU~Th<$b zG|BAwH@t&yv(Omul?jRP6?-tLQrX})<>Cdaz~U@O{2YVnD)uG9b|+J$XZAqdMMfXu z6hPoCPue?1b>_g$B`u=uD5Hz5bGm1I_4~z4H31uFJz?dcTZeP!-q;g(IbPo6$uFX3 z2AP*GyogW(ihaFy32Re6w-A4FmIA zrfHlePQPyGq$ZcvG&&ghmux#PtDGSxNW%gSJ*FLnse{vbpoJ=bGn(z^_Uo1iZ-%@a z8(YV3+L-Fcms-0INF`pfNwN(*MUgI|B!=hQIt=HUAIOC=UxBDh32cV0+7}VUB(f!V zDR@P9_+faM$;6O5!Dp?&w^_92uW%;J{&5$4kkt~-_cgQ*!(Bg_?}vxDFJ^jG(sFB! zv(~E4)!AUasw68{KI*4Y4d3~zPooZHDi7C=jism4q!bId!>*(eGL?=o5hdOnYp|%( z(lkf<>jN+YhU!xa$N9JjdWf4OaOU;k_nq_i$U*M;j*A*_Pste8AOq-2LPUS-?y?c1 zfSq5)wgvV^w`zuPtDNIrvt2LV`?)`Bs?hLrx)@&4VrkwjNpl1_d}i!kV428|y?Y7RjDfAV;P&}B6 z4d{}6|Hkd&A+r}Tp?{Ppu@aC~36m{OC9WKN3UHrTUcG1}_Jc1$O zaW1gPbWYG6C=f^I^)wIro=%mjiJ+nIUN4=!-H|R6hFh3LmiR{--j^P+>yJ9~JDSzY6S1(e?I5N}+lFEun-Fi+NBh9KSN; zy8bPa?$+K>kEU;*Z2^%|z{drCf_2A5`T}?sU*fx`cM2CctgF;Y8zAuTF=;DB>A&i+ zj2iR>S&F-bm39ib2RMP?g$^mMbv)*dFZcnztIG#~W+K*hQYb+sU!M}an-If@JgQHz zokXDD3*-W+-YKqv!WJ(7_tVw%=xK8wYjxW0n+u{Nw{BHV3xqhv`mxMc7!Ge@oZX2l zI-O^&`fW`_rFicg>!%RAMp9I?a~Qm1<8;?@>0TOwkBY^lu;iB5Mu>uM<$LwcuNr-o zFu7z-4Er+^toG8s)i%3lj53BvC49{;L#pvEHCZfU)Gf(57)%6=6T5E)sbaYZ?f#A- zzzPLS*Ej|H$%O*g%#fbsNHBcdr67H|-2fUh(mwIZ;#ruKL^9XFv&bI3!?U*+(=8s` zx$Zf8w?7>ga7r7)5MZ%w#tzAD);bzN=bqta(}^eG3+Wg#P@GC7nAOvMGBZk*|h6C|%O#)=%&vEw9hmr-ut^GwA4V=Y9G~faSOc!o;riBe&dq zs3%1%YU;sEI=jkauRiI)q~qx$km@ATRDo={j}VGKv%Y%{0z`ej&F%pyK{sYyVHhD`G6C_8r!Kn!hq$hC%0y3QGZ| z*m6u3un*(i{Ko;CB%k+iDKB0Tgv#U30$0nqllj4XujI`9yMm0L{IzCw2^Qi~Qj)kG*sv%5<21<7woz#no7?*fPp!54(!`oGr-yAW zkrG|#r&8!oXLym(9K7=@L_7_^Rsa!6WLZeQUTO!W#@iYSqqRKHxXbO@EC|fGck+hx z_itsY3??GRi9I(bZerVb(Xwr?;5sGje~+-II&u91M8NP^;9hgFlIIPzUI2pw3L%#J zx4;ns->$a7GQq-o9P&2rI)kX2*r_lf#nq7@EzyCrZ#xeQR-ek{`?Fsq44L2pBZn<- zZgLU9o%+(cM7uH5`}@`05TYKETt2GR!FaEyM(Xwt_C3;Uy*n!>zc2z1$$&SA1@o2z z1fJ?^dWc`u4_7s)0s&xnpY7=`{jfB;^(0iySC|G3YW}{-X*}A}hb5}|DU@I;_IR`R zB)_&7Z>l^pw}VTkQUK;jpih$c2IB72L*RvBD= z0u)K@apXE857$#DLEWahmw@w!m>qgCG{ERf1!^%NBR5?}tJM+v;Gj~G#>=dgK&t%} zMGQTJi~zYJbqAm_9-z2lig%jbcDowgGOElK1e2ma%F8%3hjDXR>2zKQP;UBC9|RQS z{vRKALP4gfol_4p*f?WyDc-!P(U%ewyHjAY7pRvV5(o`_nC7%wiiq)gD$Gs?03Bf> z;7{zQ=gkrhOGgIE0Yz&tO)18s#11(vjQ1M1h5BTZez<0<;Vc2^qCBj-lOX>@`v08Y z1|Jj$F|LR(uxr;Hl&I+^(c6#wde#DW;x^X=vxAow)(4)eZ<%?|=k7<%ezed~x|o*S z5{`>KH%*C8GTv2|s8$@Nv~)ye2QZe8Z<~<*Y7(FOFn8=G3)Dnt8}mFyQjNEu$>QxW z>xNwPZ47N?{42+&P~yCh=l$oxLh&+xcAp9NkJF^HWLj+d%7t$5Ko{`nS8HqaG2W}G zk=kwqN+Se@2e6wbG3Xx%x}lxx8R(+b(sM7YLFuniff4k07hG54X!6p2cTC?M5jJO# zZ>JFr=jwHvM>(v>Z=JKRg(_d26QVu^er5)2bZ`>It1W%dJ7qMX%q59n7$GvPdSqg0 zf@Qo)k3lpgo4fjUi#5qPcFz;q&zb=$1GzJN3d)No9GJl_TVHtX03mU*+h){bI*?y# zVb4w1op50cBC3_hZ`9pxKRo$=9a;LMTVFSX(s})Dw;8i$kwDoQSRGA4iz)1$}cjb+~Ku&9%s5hyBQ=_-URn1GBjaSmly!s-!Y^47c@WPD6lSWm_NC>sq6#6 z^JiJOVg+vl>#`we%42Uo9!TeHqPhKd#Ca2;yNQa-bh8ILM3uz(ojvzff?&cTJLU&J z8-Z!-R+zl_whBSo*lkK?)_Fqx!*geLVQmm20-T@?4rn3j4GT@)$%RUNk58^bOZ&p;ww%Y>B^uq!$(5`4AT>eR?p&=?5jsC!an$VhfMl^{z0n z`4Cb`P9twQ@f}LOiH0PZbjAOyItIdUYfl(syq8iVH5vv}2#uabJV^N&qhX;|cD_6k zYB`;+IA(FwN+De#vdHK|xUHz|9$8VtcXQ;#}DFQX?W%(0k%dPIrXC`(D;4*ZiI18GgLT z0GOfy;rHv1J|5Yaj_h@e_hM?4h8!|whLf|HTrT^EIDc@abd!H2z&9WQ3P+}ZWBLg= zrcsdG8E((Y@7o=#z?Ho9=Cf0#`#o0$K#^|#h&Dd(tTE+zc)BXDbCbp0Ppnf3Y&Xij zePJV`5-A{?PnwM}uq{=*9k@v)_4TY(;&Kr!4g{yNTMd_^KogKh%~XeE^ReEj)qOpo z+FAJF1gcpMiROd7)4pCH)VH4jyTxB@e+GZ!i!V09P2WWF`pYckE=js z5@ZV!SIy2q7t8fbg@;E+b8!qJcF>=bU;TN|=ey*%z1MT!;Do6=>8?IHkE~izVJhN3 zwK&d+PS_HWYh_<{2}(KE%(oStk|K;8qYD3Q$EyH5_k)ss{TyB#imf} z^d-;27s+|~!R;ig2r6}>!V6wS(c0>PFwOao`RSHFC-UEFGs`vM-wuE+cY!?G{>Fsa zX5+8v;+p9|-DHt4kZ#CmBa;a zvwbB?r2lC5nV!-5&K06-!jK-m(!!;+u`*WSrXvp4hx?SN9@Q2{q;>#O0KhizGS8PH z#u(B2uj`1C;7%i=yV8?`A*7u1f%HuGom0h1RN7C-}4;i+##7;RiK`tkxr zN7bcKBM{BGPH0ucJ|n0!qIL+6pNu+Cuk5M0`f7Hko%0J)$%Bv&-|iH5>YLOzc?3?8uLGeq07>Ah5nzgM;_#$Xcub*)#Q;eGW`H=*Vv+#=jX8sI${8M1-LY?sNF? z${i23S*;IJBA2FiV+>pCvEG5SZTNDQ)j3IXZmphwwT>Rj?UrDg+&SIwEkirteu|UF z+@`z5qDtk7ukJd20a**k7DTy6SEjsY4jp#(CCx$iJ4t(kK3f#fy*agwU?Y#W=vO^b5-jO4Y_GNrW+wv0Q;Gal&$g^)-LU`p z4#RU|^})c^w>eLWK+~fNnf!KHDQ6|m`qU`2YKf0hYz8mFoWbdKh!P5(&}kn+V(uN) z(H~87LBNB*YqLdPo+sVeLFaw%WxNQXlyTW2A1o*cc9(nxbj}<)%H!45`dO~bfXBIE z8g8xmPnORK350;R&xKWa{VbH&d~+byGn5Jj-Ffzwhm+$RC1ud#i46kW^s+hKtW zokWIZJ>KDjtjxls!muI{jP2{oY1(#K!QUf=@hO!yJ6-j{lg?-HqufLW|Kst80!d0;9i zD#*9oKgt1xr)1@y(;>3d_T_*uU@ zBqp9&y5*+J@*-{kJrg2YFi_oB1%#uBCwWbEyCuyn`S%^djhMG)Y|b4RzM!g|4D>=t zlyYD=kbgd+fiG1c2L<}yzaC4PH66g?`~|Fgp+ZpZ}6_rk73(1UQ0V!Y}CZ3 zExlEu_AWbnlAtc)WmxX;$5T9d0Yon8*s{0(CaB5T^-cvG0!ZC78-!9BBc@o6Z@7h) zp-d}Css})7ey>Ij7Zy2Dwl6fV$C6|L5ZxS^D0gn4VuH8EszGXkG<*VsQ_a7M)ymRG6UYQjC9(Gs)WB%?t5iCTqDT31x-Kv zWnG8c?fw9=9u+$sjP$v7>*E!I)ac{wj-2xMgdg6aqe>zRm{saXy#I@1x>Z(s0^OGq z6iFre$8n@RxZfN8XQsh;{`-R(3y&E+KLg&ManJea^)oGsv3PMR3sGcX)2rCizp86J>}iDVLYr7mc|*}0k@*nu zQt`1#Q#4`!k>XLHqM?}It(_G!22d#gc@Ds_P!wvsaz6>bC|0m*jHk{mhyXAtIb01TZg%bmY z?VR=t_%hK&6P!IX-Tf-hQwJwK!2!!;bo>0c6=5-i2rPYZn~bLIY+u^W`Lvu)V>$6WSdD+;KpyU*qy8 zpNsRTmXL0&=$~1`y(^Yg@v^5lem1w$-Vdlh{8>&*5C$S)mch{5__G7&F5?)!nSzJ1 zAq<@&{9QtJA^?xuk9soNI`kaq{xN;|H)W{<>)IVn|DW#T?z|V9c-Hw(LxY?zSsK^3 z@0bkB5txXXapt{#8Xukf=wgl&`_*=n7i?a3yg4b==1L`tmt$ zxS?P$Kitp=`uX$cvrnH?iOIe3I#9(XllT(w-<(UlC7c8mpJn@f-?w9lb&R2PxCfHWM^t}r0Ct6J(j?Vg?IM;&lj z9l7ij9U_!tGJ>tExD?i!H^IR=rbadY5nr0yqOZD(1?@TC^mu75r##!X8UAAarZ__KL^~9;a1XFDd*L_=*aW{KTj>Yz(os1haaAq zMCkmeH!6dKpQXFJtM#ag{g$6V(U2y^3iUue-V$f`Hwj9pv6ec7mKA?!i8lx;by#ja z(WDY1Hy%%M=0=#trCT0pT`(j_d*hM=#6#wp>&_5_AUXeyfdBQXE+S2QC9y}h$(0z{ z{>s!U|DMeaXM?j{e`BDuMV9tbz)y-IC&Z$y|# z+m)IZsa{uRcdVOgR3R(eP9E_P9v`k}kJ@kXn^sg#XP+QW6)Hr(yrzfYbYjUW7whj6 zMCkU*F~FWcch%$9VR!N7|GpPtD!Z==_Kh=oAF(_Y_IH9rXq!odVv#;<a@DX&4J*WS7Q}sHTLnh0uKAhA9;i|(-CS#E24$6cA zlBe$;QC1=%g0XL_z&RkQi|7A@xoV^Hpo@=phMd0wg4fWrZ&OXwC;QPz#XVdE*zMXI zM~O?^a666+&S+hw`yW-0QkJ;adp=OZjxv~oU_3lLS?lZWu3z6E0s;akqsX$}y!mu= zv~zi3e%{ch)_$lzx@#h=aZDy?YfeGBXXzY#MK{pk|sH-;)cI;h40F-@J*K zZVb|xX?mC|Wc{(cVhgZv6Rs<-vv1z2a#cH69dWd`b#ZyObFgL>cyd_sb2LW{>H6*c zm61~G)I=1FUs%|nJu5Slb)?whW#q%i$jA;rh_})fMef?@;DPP58dbl3Jq$L1ExjI2 z$X9dCeSARlWSm&Z!Xo7sT1!i-(s#}DwTv&Hp!G+L8ijlaZd@vGpU1i>*y7to3JN78 zoj{g;y3C7$f`ScQF;UTHbDeQR$9qeIyIMX)USp{*J-4`60K}ET zy_t%cfrsl_zH6gZ@`r4jJWmbTnC1NAB|InJekybs%CG*Q!oNm%5PB~a74G4#UKQ#IxqYojG%Soh=Ig)i#G z!IS|E_ms?CMTj4zPHWnEv4E&^b*u~}YpjtlUg<*3EbB*NjbN7YQu4sJ zq*P7ZfS3-mKg{t#<`K^Q878gLUb9LjPr&6i(bwNX76g@-sK;Ka^j^@u1aeULiF)ho zTq1`*c%bEVQBhHvnz1t5A|oAOEgt7{GGxk5)-^CF;5E)Sw6n|Ndt72(UwuK>gcho- zJ~`aT1v#uDzXyXkYQx1AVmfKJC0c%d1a{63Q<816ZzD84yhn@9$>F$s^{SD{m=vti zb%d`yzDTiLc%nb)jpR9dTFdA^)!l9SHnT+AdW${hRvJkLPmO<0#taF|Iz1SCGf(^%4>KE zYQ99QbC_4uI+icp+n3JS{S7GiefYsoUsQ}pEa7)l;bAFfKoafk^M}(70fpg9KPR5z zMBvH?FJ9ODYGw&I*r&q_nXy!4~lpc7ndgml?aT+#DGXmOH zMlukG9Rqn@ROqGt%p%lv>~UzZ8IzI{RvS31kUTj-nm}hr>w>3=G6a+a_6spFP^HPPM&pBO#1bXI=96 z_wT}o(0cByT>Yz8uQt|F>Y<3JD8_N)$@&Lne3RR)S8tV9PSliN0cWQCTM6Lpw%)tN zG>D#!j7ElNttjz}auk-=@5W(Nm{S)PfM#l^)-^ujhb zH9F(>uPS~rAfqk5pBghH{?^^A71kf*Re=KdGQ!2RKH+HCv|p!fNJ!JYKfir_6_^U% zZpRM*+N@#f7QYG8dl6x=E;MXiU0on)c$w~yfRON#Bx+h<$x@Cx{DshkkOy1S;^n-t zv35Rux$3dMGYu{5GdH?c&ESSRXC-L6>PLSDeH~`XT)zDJhI>8OAEE+08Z)CT&Kim* zP;xZ4MFdxtv^B?nj=~ctxL+S1t18#UaSaBtm*n3S&2-jR>}f(4jw@*X_lsE;AN+n! mR08ff1qEDrmYj2&m9=m>Juaq?9Q=?Hq@|{>TB>aK=zjoO&nhVZ literal 0 HcmV?d00001 From 132324f5b8cdd6965a308b2112a91e8aa3a22000 Mon Sep 17 00:00:00 2001 From: Bogdan Korshunov <49434029+bogdankorshunov@users.noreply.github.com> Date: Mon, 7 Aug 2023 23:16:32 +0500 Subject: [PATCH 2/5] BorderRadius of Bar Chart issue on Firefox 116 (#11435) Co-authored-by: bogdankorshunov --- src/helpers/helpers.canvas.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/helpers/helpers.canvas.ts b/src/helpers/helpers.canvas.ts index 5221c438c26..a959d1dea1d 100644 --- a/src/helpers/helpers.canvas.ts +++ b/src/helpers/helpers.canvas.ts @@ -498,7 +498,7 @@ export function addRoundedRectPath( const {x, y, w, h, radius} = rect; // top left arc - ctx.arc(x + radius.topLeft, y + radius.topLeft, radius.topLeft, -HALF_PI, PI, true); + ctx.arc(x + radius.topLeft, y + radius.topLeft, radius.topLeft, 1.5 * PI, PI, true); // line from top left to bottom left ctx.lineTo(x, y + h - radius.bottomLeft); From 4c200b257458c5224f686a97dd603ec973ccc47e Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Tue, 8 Aug 2023 00:12:44 +0200 Subject: [PATCH 3/5] Replace html extension with md extension for docs (#11439) * Replace html extension with md extension for docs * Revert some links * Commit saved files --- docs/axes/labelling.md | 2 +- docs/developers/index.md | 2 +- docs/general/colors.md | 2 +- docs/getting-started/usage.md | 22 +++++++++---------- docs/index.md | 10 ++++----- docs/samples/advanced/data-decimation.md | 6 ++--- docs/samples/advanced/derived-axis-type.md | 6 ++--- docs/samples/advanced/derived-chart-type.md | 4 ++-- docs/samples/advanced/linear-gradient.md | 12 +++++----- docs/samples/advanced/programmatic-events.md | 12 +++++----- docs/samples/advanced/progress-bar.md | 12 +++++----- docs/samples/advanced/radial-gradient.md | 4 ++-- docs/samples/animations/delay.md | 14 ++++++------ docs/samples/animations/drop.md | 16 +++++++------- docs/samples/animations/loop.md | 20 ++++++++--------- .../animations/progressive-line-easing.md | 18 +++++++-------- docs/samples/animations/progressive-line.md | 16 +++++++------- docs/samples/area/line-boundaries.md | 8 +++---- docs/samples/area/line-datasets.md | 8 +++---- docs/samples/area/line-drawtime.md | 10 ++++----- docs/samples/area/line-stacked.md | 8 +++---- docs/samples/area/radar.md | 10 ++++----- docs/samples/bar/border-radius.md | 6 ++--- docs/samples/bar/floating.md | 4 ++-- docs/samples/bar/horizontal.md | 4 ++-- docs/samples/bar/stacked-groups.md | 8 +++---- docs/samples/bar/stacked.md | 4 ++-- docs/samples/bar/vertical.md | 4 ++-- docs/samples/legend/events.md | 4 ++-- docs/samples/legend/html.md | 8 +++---- docs/samples/legend/point-style.md | 14 ++++++------ docs/samples/legend/position.md | 8 +++---- docs/samples/legend/title.md | 6 ++--- docs/samples/line/interpolation.md | 6 ++--- docs/samples/line/line.md | 4 ++-- docs/samples/line/multi-axis.md | 4 ++-- docs/samples/line/point-styling.md | 6 ++--- docs/samples/line/segments.md | 12 +++++----- docs/samples/line/stepped.md | 6 ++--- docs/samples/line/styling.md | 6 ++--- docs/samples/other-charts/bubble.md | 2 +- docs/samples/other-charts/combo-bar-line.md | 6 ++--- docs/samples/other-charts/doughnut.md | 2 +- docs/samples/other-charts/multi-series-pie.md | 6 ++--- docs/samples/other-charts/pie.md | 2 +- .../other-charts/polar-area-center-labels.md | 4 ++-- .../samples/other-charts/radar-skip-points.md | 4 ++-- docs/samples/other-charts/radar.md | 4 ++-- .../other-charts/scatter-multi-axis.md | 2 +- docs/samples/other-charts/scatter.md | 2 +- docs/samples/other-charts/stacked-bar-line.md | 8 +++---- docs/samples/plugins/chart-area-border.md | 6 ++--- docs/samples/plugins/doughnut-empty-state.md | 6 ++--- docs/samples/plugins/quadrants.md | 6 ++--- docs/samples/scale-options/center.md | 2 +- docs/samples/scale-options/grid.md | 14 ++++++------ docs/samples/scale-options/ticks.md | 14 ++++++------ docs/samples/scale-options/titles.md | 10 ++++----- .../scales/linear-min-max-suggested.md | 4 ++-- docs/samples/scales/linear-min-max.md | 4 ++-- docs/samples/scales/linear-step-size.md | 10 ++++----- docs/samples/scales/log.md | 6 ++--- docs/samples/scales/stacked.md | 4 ++-- docs/samples/scales/time-combo.md | 8 +++---- docs/samples/scales/time-line.md | 4 ++-- docs/samples/scales/time-max-span.md | 6 ++--- docs/samples/scriptable/bar.md | 10 ++++----- docs/samples/scriptable/bubble.md | 6 ++--- docs/samples/scriptable/line.md | 10 ++++----- docs/samples/scriptable/pie.md | 6 ++--- docs/samples/scriptable/polar.md | 4 ++-- docs/samples/scriptable/radar.md | 6 ++--- docs/samples/subtitle/basic.md | 8 +++---- docs/samples/title/alignment.md | 6 ++--- docs/samples/tooltip/content.md | 8 +++---- docs/samples/tooltip/html.md | 8 +++---- docs/samples/tooltip/interactions.md | 8 +++---- docs/samples/tooltip/point-style.md | 10 ++++----- docs/samples/tooltip/position.md | 10 ++++----- 79 files changed, 291 insertions(+), 291 deletions(-) diff --git a/docs/axes/labelling.md b/docs/axes/labelling.md index 134979ac301..98583e964fd 100644 --- a/docs/axes/labelling.md +++ b/docs/axes/labelling.md @@ -31,7 +31,7 @@ The call to the method is scoped to the scale. `this` inside the method is the s If the callback returns `null` or `undefined` the associated grid line will be hidden. :::tip -The [category axis](../axes/cartesian/category), which is the default x-axis for line and bar charts, uses the `index` as internal data format. For accessing the label, use `this.getLabelForValue(value)`. [API: getLabelForValue](../api/classes/Scale.html#getlabelforvalue) +The [category axis](../axes/cartesian/category), which is the default x-axis for line and bar charts, uses the `index` as internal data format. For accessing the label, use `this.getLabelForValue(value)`. [API: getLabelForValue](../api/classes/Scale.md#getlabelforvalue) ::: In the following example, every label of the Y-axis would be displayed with a dollar sign at the front. diff --git a/docs/developers/index.md b/docs/developers/index.md index c1df9ed0f50..d1e78e97a45 100644 --- a/docs/developers/index.md +++ b/docs/developers/index.md @@ -18,7 +18,7 @@ Latest builds are available for testing at: :::warning Warning -Development builds **must not** be used for production purposes or as replacement for a CDN. See [available CDNs](../getting-started/installation.html#cdn). +Development builds **must not** be used for production purposes or as replacement for a CDN. See [available CDNs](../getting-started/installation.md#cdn). ::: diff --git a/docs/general/colors.md b/docs/general/colors.md index 9d364fa7a5f..49f1b2cacf1 100644 --- a/docs/general/colors.md +++ b/docs/general/colors.md @@ -4,7 +4,7 @@ Charts support three color options: * for geometric elements, you can change *background* and *border* colors; * for textual elements, you can change the *font* color. -Also, you can change the whole [canvas background](../configuration/canvas-background.html). +Also, you can change the whole [canvas background](../configuration/canvas-background.md). ## Default colors diff --git a/docs/getting-started/usage.md b/docs/getting-started/usage.md index 3f26017e4da..d5add3b7ab8 100644 --- a/docs/getting-started/usage.md +++ b/docs/getting-started/usage.md @@ -49,7 +49,7 @@ Run `npm install`, `yarn install`, or `pnpm install` to install the dependencies ``` -As you can see, Chart.js requires minimal markup: a `canvas` tag with an `id` by which we’ll reference the chart later. By default, Chart.js charts are [responsive](../configuration/responsive.html) and take the whole enclosing container. So, we set the width of the `div` to control chart width. +As you can see, Chart.js requires minimal markup: a `canvas` tag with an `id` by which we’ll reference the chart later. By default, Chart.js charts are [responsive](../configuration/responsive.md) and take the whole enclosing container. So, we set the width of the `div` to control chart width. Lastly, let’s create the `src/acquisitions.js` file with the following contents: @@ -96,7 +96,7 @@ Time to run the example with `npm run dev`, `yarn dev`, or `pnpm dev` and naviga ![result](./usage-1.png) -With just a few lines of code, we’ve got a chart with a lot of features: a [legend](../configuration/legend.html), [grid lines](../samples/scale-options/grid.html), [ticks](../samples/scale-options/ticks.html), and [tooltips](../configuration/tooltip.html) shown on hover. Refresh the web page a few times to see that the chart is also [animated](../configuration/animations.html#animations). Try clicking on the “Acquisitions by year” label to see that you’re also able to toggle datasets visibility (especially useful when you have multiple datasets). +With just a few lines of code, we’ve got a chart with a lot of features: a [legend](../configuration/legend.md), [grid lines](../samples/scale-options/grid.md), [ticks](../samples/scale-options/ticks.md), and [tooltips](../configuration/tooltip.md) shown on hover. Refresh the web page a few times to see that the chart is also [animated](../configuration/animations.md#animations). Try clicking on the “Acquisitions by year” label to see that you’re also able to toggle datasets visibility (especially useful when you have multiple datasets). ### Simple customizations @@ -133,7 +133,7 @@ Replace the `new Chart(...);` invocation in `src/acquisitions.js` with the follo ); ``` -As you can see, we’ve added the `options` property to the second argument—that’s how you can specify all kinds of customization options for Chart.js. The [animation is disabled](../configuration/animations.html#disabling-animation) with a boolean flag provided via `animation`. Most chart-wide options (e.g., [responsiveness](../configuration/responsive.html) or [device pixel ratio](../configuration/device-pixel-ratio.html)) are configured like this. +As you can see, we’ve added the `options` property to the second argument—that’s how you can specify all kinds of customization options for Chart.js. The [animation is disabled](../configuration/animations.md#disabling-animation) with a boolean flag provided via `animation`. Most chart-wide options (e.g., [responsiveness](../configuration/responsive.md) or [device pixel ratio](../configuration/device-pixel-ratio.md)) are configured like this. The legend and tooltips are hidden with boolean flags provided under the respective sections in `plugins`. Note that some of Chart.js features are extracted into plugins: self-contained, separate pieces of code. A few of them are available as a part of [Chart.js distribution](https://github.com/chartjs/Chart.js/tree/master/src/plugins), other plugins are maintained independently and can be located in the [awesome list](https://github.com/chartjs/awesome) of plugins, framework integrations, and additional chart types. @@ -252,7 +252,7 @@ We’re done with the bar chart. Let’s try another Chart.js chart type. Chart.js supports many common chart types. -For instance, [Bubble chart](../charts/bubble.html) allows to display three dimensions of data at the same time: locations on `x` and `y` axes represent two dimensions, and the third dimension is represented by the size of the individual bubbles. +For instance, [Bubble chart](../charts/bubble.md) allows to display three dimensions of data at the same time: locations on `x` and `y` axes represent two dimensions, and the third dimension is represented by the size of the individual bubbles. To create the chart, stop the already running application, then go to `src/index.html`, and uncomment the following two lines: @@ -301,7 +301,7 @@ Now, reset caches with `rm -rf .parcel-cache` and start the application again wi Well, it doesn’t look pretty. -First of all, the chart is not square. Artworks’ width and height are equally important so we’d like to make the chart width equal to its height as well. By default, Chart.js charts have the [aspect ratio](../configuration/responsive.html) of either 1 (for all radial charts, e.g., a doughnut chart) or 2 (for all the rest). Let’s modify the aspect ratio for our chart: +First of all, the chart is not square. Artworks’ width and height are equally important so we’d like to make the chart width equal to its height as well. By default, Chart.js charts have the [aspect ratio](../configuration/responsive.md) of either 1 (for all radial charts, e.g., a doughnut chart) or 2 (for all the rest). Let’s modify the aspect ratio for our chart: ```jsx // ... @@ -349,7 +349,7 @@ Great! Behold the updated chart: ![result](./usage-5.png) -However, there’s one more nitpick: what are these numbers? It’s not very obvious that the units are centimetres. Let’s apply a [custom tick format](../axes/labelling.html#creating-custom-tick-formats) to both axes to make things clear. We’ll provide a callback function that would be called to format each tick value. Here’s the updated axes configuration: +However, there’s one more nitpick: what are these numbers? It’s not very obvious that the units are centimetres. Let’s apply a [custom tick format](../axes/labelling.md#creating-custom-tick-formats) to both axes to make things clear. We’ll provide a callback function that would be called to format each tick value. Here’s the updated axes configuration: ```jsx // ... @@ -434,13 +434,13 @@ As you can see, we define three datasets with different labels. Each dataset get ![result](./usage-7.png) -Here we rely on the default color palette. However, keep in mind every chart type supports a lot of [dataset options](../charts/bubble.html#dataset-properties) that you can feel free to customize. +Here we rely on the default color palette. However, keep in mind every chart type supports a lot of [dataset options](../charts/bubble.md#dataset-properties) that you can feel free to customize. ### Plugins -Another—and very powerful!—way to customize Chart.js charts is to use plugins. You can find some in the [plugin directory](https://github.com/chartjs/awesome#plugins) or create your own, ad-hoc ones. In Chart.js ecosystem, it’s idiomatic and expected to fine tune charts with plugins. For example, you can customize [canvas background](../configuration/canvas-background.html) or [add a border](../samples/plugins/chart-area-border.html) to it with simple ad-hoc plugins. Let’s try the latter. +Another—and very powerful!—way to customize Chart.js charts is to use plugins. You can find some in the [plugin directory](https://github.com/chartjs/awesome#plugins) or create your own, ad-hoc ones. In Chart.js ecosystem, it’s idiomatic and expected to fine tune charts with plugins. For example, you can customize [canvas background](../configuration/canvas-background.md) or [add a border](../samples/plugins/chart-area-border.md) to it with simple ad-hoc plugins. Let’s try the latter. -Plugins have an [extensive API](../developers/plugins.html) but, in a nutshell, a plugin is defined as an object with a `name` and one or more callback functions defined in the extension points. Insert the following snippet before and in place of the `new Chart(...);` invocation in `src/dimensions.js`: +Plugins have an [extensive API](../developers/plugins.md) but, in a nutshell, a plugin is defined as an object with a `name` and one or more callback functions defined in the extension points. Insert the following snippet before and in place of the `new Chart(...);` invocation in `src/dimensions.js`: ```jsx // ... @@ -556,7 +556,7 @@ Chart.register( ); ``` -You can see that, in addition to the `Chart` class, we’re also loading a controller for the chart type, scales, and other chart elements (e.g., bars or points). You can look all available components up in the [documentation](./integration.html#bundle-optimization). +You can see that, in addition to the `Chart` class, we’re also loading a controller for the chart type, scales, and other chart elements (e.g., bars or points). You can look all available components up in the [documentation](./integration.md#bundle-optimization). Alternatively, you can follow Chart.js advice in the console. For example, if you forget to import `BarController` for your bar chart, you’ll see the following message in the browser console: @@ -586,6 +586,6 @@ By importing and registering only select components, we’ve removed more than 5 Now you’re familiar with all major concepts of Chart.js: chart types and elements, datasets, customization, plugins, components, and tree-shaking. -Feel free to review many [examples of charts](../samples/information.html) in the documentation and check the [awesome list](https://github.com/chartjs/awesome) of Chart.js plugins and additional chart types as well as [framework integrations](https://github.com/chartjs/awesome#integrations) (e.g., React, Vue, Svelte, etc.). Also, don’t hesitate to join [Chart.js Discord](https://discord.gg/HxEguTK6av) and follow [Chart.js on Twitter](https://twitter.com/chartjs). +Feel free to review many [examples of charts](../samples/information.md) in the documentation and check the [awesome list](https://github.com/chartjs/awesome) of Chart.js plugins and additional chart types as well as [framework integrations](https://github.com/chartjs/awesome#integrations) (e.g., React, Vue, Svelte, etc.). Also, don’t hesitate to join [Chart.js Discord](https://discord.gg/HxEguTK6av) and follow [Chart.js on Twitter](https://twitter.com/chartjs). Have fun and good luck building with Chart.js! \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index 44dd7931c37..437185f67d8 100644 --- a/docs/index.md +++ b/docs/index.md @@ -3,10 +3,10 @@ Welcome to Chart.js! * **[Get started with Chart.js](./getting-started/) — best if you're new to Chart.js** -* Migrate from [Chart.js v3](./migration/v4-migration.html) or [Chart.js v2](./migration/v3-migration.html) +* Migrate from [Chart.js v3](./migration/v4-migration.md) or [Chart.js v2](./migration/v3-migration.md) * Join the community on [Discord](https://discord.gg/HxEguTK6av) and [Twitter](https://twitter.com/chartjs) * Post a question tagged with `chart.js` on [Stack Overflow](https://stackoverflow.com/questions/tagged/chart.js) -* [Contribute to Chart.js](./developers/contributing.html) +* [Contribute to Chart.js](./developers/contributing.md) ## Why Chart.js @@ -16,7 +16,7 @@ Chart.js was created and [announced](https://twitter.com/_nnnick/status/31359920 ### Features -Chart.js provides a set of frequently used chart types, plugins, and customization options. In addition to a reasonable set of [built-in chart types](./charts/area.html), you can use additional community-maintained [chart types](https://github.com/chartjs/awesome#charts). On top of that, it’s possible to combine several chart types into a [mixed chart](./charts/mixed.html) (essentially, blending multiple chart types into one on the same canvas). +Chart.js provides a set of frequently used chart types, plugins, and customization options. In addition to a reasonable set of [built-in chart types](./charts/area.md), you can use additional community-maintained [chart types](https://github.com/chartjs/awesome#charts). On top of that, it’s possible to combine several chart types into a [mixed chart](./charts/mixed.md) (essentially, blending multiple chart types into one on the same canvas). Chart.js is highly customizable with [custom plugins](https://github.com/chartjs/awesome#plugins) to create annotations, zoom, or drag-and-drop functionalities to name a few things. @@ -30,7 +30,7 @@ Chart.js comes with built-in TypeScript typings and is compatible with all popul ### Developer experience -Chart.js has very thorough documentation (yes, you're reading it), [API reference](./api/), and [examples](./samples/information.html). Maintainers and community members eagerly engage in conversations on [Discord](https://discord.gg/HxEguTK6av), [GitHub Discussions](https://github.com/chartjs/Chart.js/discussions), and [Stack Overflow](https://stackoverflow.com/questions/tagged/chart.js) where more than 11,000 questions are tagged with `chart.js`. +Chart.js has very thorough documentation (yes, you're reading it), [API reference](./api/), and [examples](./samples/information.md). Maintainers and community members eagerly engage in conversations on [Discord](https://discord.gg/HxEguTK6av), [GitHub Discussions](https://github.com/chartjs/Chart.js/discussions), and [Stack Overflow](https://stackoverflow.com/questions/tagged/chart.js) where more than 11,000 questions are tagged with `chart.js`. ### Canvas rendering @@ -38,7 +38,7 @@ Chart.js renders chart elements on an HTML5 canvas unlike several others, mostly ### Performance -Chart.js is very well suited for large datasets. Such datasets can be efficiently ingested using the internal format, so you can skip data [parsing](./general/performance.html#parsing) and [normalization](./general/performance.html#data-normalization). Alternatively, [data decimation](./configuration/decimation.html) can be configured to sample the dataset and reduce its size before rendering. +Chart.js is very well suited for large datasets. Such datasets can be efficiently ingested using the internal format, so you can skip data [parsing](./general/performance.md#parsing) and [normalization](./general/performance.md#data-normalization). Alternatively, [data decimation](./configuration/decimation.md) can be configured to sample the dataset and reduce its size before rendering. In the end, the canvas rendering that Chart.js uses reduces the toll on your DOM tree in comparison to SVG rendering. Also, tree-shaking support allows you to include minimal parts of Chart.js code in your bundle, reducing bundle size and page load time. diff --git a/docs/samples/advanced/data-decimation.md b/docs/samples/advanced/data-decimation.md index 4eb986ff196..ae108239a03 100644 --- a/docs/samples/advanced/data-decimation.md +++ b/docs/samples/advanced/data-decimation.md @@ -112,7 +112,7 @@ module.exports = { }; ``` ## Docs -* [Data Decimation](../../configuration/decimation.html) -* [Line](../../charts/line.html) -* [Time Scale](../../axes/cartesian/time.html) +* [Data Decimation](../../configuration/decimation.md) +* [Line](../../charts/line.md) +* [Time Scale](../../axes/cartesian/time.md) diff --git a/docs/samples/advanced/derived-axis-type.md b/docs/samples/advanced/derived-axis-type.md index 08f0e862be8..f9705e2cc31 100644 --- a/docs/samples/advanced/derived-axis-type.md +++ b/docs/samples/advanced/derived-axis-type.md @@ -50,6 +50,6 @@ module.exports = { <<< @/scripts/log2.js ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) -* [New Axes](../../developers/axes.html) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) +* [New Axes](../../developers/axes.md) diff --git a/docs/samples/advanced/derived-chart-type.md b/docs/samples/advanced/derived-chart-type.md index 8e74ec9ebb5..7f853e3aaa3 100644 --- a/docs/samples/advanced/derived-chart-type.md +++ b/docs/samples/advanced/derived-chart-type.md @@ -46,5 +46,5 @@ module.exports = { <<< @/scripts/derived-bubble.js ## Docs -* [Bubble Chart](../../charts/bubble.html) -* [New Charts](../../developers/charts.html) +* [Bubble Chart](../../charts/bubble.md) +* [New Charts](../../developers/charts.md) diff --git a/docs/samples/advanced/linear-gradient.md b/docs/samples/advanced/linear-gradient.md index 0dce9e1d706..e045f7cd522 100644 --- a/docs/samples/advanced/linear-gradient.md +++ b/docs/samples/advanced/linear-gradient.md @@ -110,9 +110,9 @@ module.exports = { ``` ## Docs -* [Colors](../../general/colors.html) - * [Patterns and Gradients](../../general/colors.html#patterns-and-gradients) -* [Data structures (`labels`)](../../general/data-structures.html) -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) -* [Line](../../charts/line.html) +* [Colors](../../general/colors.md) + * [Patterns and Gradients](../../general/colors.md#patterns-and-gradients) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) +* [Line](../../charts/line.md) diff --git a/docs/samples/advanced/programmatic-events.md b/docs/samples/advanced/programmatic-events.md index 8233ff615d3..4157d7ee98b 100644 --- a/docs/samples/advanced/programmatic-events.md +++ b/docs/samples/advanced/programmatic-events.md @@ -105,11 +105,11 @@ module.exports = { ## API * [Chart](../../api/classes/Chart.md) * [`setActiveElements`](../../api/classes/Chart.md#setactiveelements) -* [TooltipModel](../../api/interfaces/TooltipModel.html) - * [`setActiveElements`](../../api/interfaces/TooltipModel.html#setactiveelements) +* [TooltipModel](../../api/interfaces/TooltipModel.md) + * [`setActiveElements`](../../api/interfaces/TooltipModel.md#setactiveelements) ## Docs -* [Bar](../../charts/bar.html) - * [Interactions (`hoverBorderColor`)](../../charts/bar.html#interactions) -* [Interactions](../../configuration/interactions.html) -* [Tooltip](../../configuration/tooltip.html) +* [Bar](../../charts/bar.md) + * [Interactions (`hoverBorderColor`)](../../charts/bar.md#interactions) +* [Interactions](../../configuration/interactions.md) +* [Tooltip](../../configuration/tooltip.md) diff --git a/docs/samples/advanced/progress-bar.md b/docs/samples/advanced/progress-bar.md index 329dfe67d0a..016831b22a7 100644 --- a/docs/samples/advanced/progress-bar.md +++ b/docs/samples/advanced/progress-bar.md @@ -144,9 +144,9 @@ module.exports = { ``` ## Docs -* [Animations](../../configuration/animations.html) - * [Animation Callbacks](../../configuration/animations.html#animation-callbacks) -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) +* [Animations](../../configuration/animations.md) + * [Animation Callbacks](../../configuration/animations.md#animation-callbacks) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) diff --git a/docs/samples/advanced/radial-gradient.md b/docs/samples/advanced/radial-gradient.md index 3ab3faedc88..0c07502be65 100644 --- a/docs/samples/advanced/radial-gradient.md +++ b/docs/samples/advanced/radial-gradient.md @@ -118,5 +118,5 @@ module.exports = { ## Docs * [Polar Area Chart](../../charts/polar.md) * [Styling](../../charts/polar.md#styling) -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) \ No newline at end of file +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) \ No newline at end of file diff --git a/docs/samples/animations/delay.md b/docs/samples/animations/delay.md index 696ef2c6e35..cec3267991c 100644 --- a/docs/samples/animations/delay.md +++ b/docs/samples/animations/delay.md @@ -78,10 +78,10 @@ module.exports = { }; ``` ## Docs -* [Animations](../../configuration/animations.html) - * [animation (`delay`)](../../configuration/animations.html#animation) - * [Animation Callbacks](../../configuration/animations.html#animation-callbacks) -* [Bar](../../charts/bar.html) - * [Stacked Bar Chart](../../charts/bar.html#stacked-bar-chart) -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) +* [Animations](../../configuration/animations.md) + * [animation (`delay`)](../../configuration/animations.md#animation) + * [Animation Callbacks](../../configuration/animations.md#animation-callbacks) +* [Bar](../../charts/bar.md) + * [Stacked Bar Chart](../../charts/bar.md#stacked-bar-chart) +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) diff --git a/docs/samples/animations/drop.md b/docs/samples/animations/drop.md index 5a3e6221584..37e1af0cd76 100644 --- a/docs/samples/animations/drop.md +++ b/docs/samples/animations/drop.md @@ -124,13 +124,13 @@ module.exports = { }; ``` ## Docs -* [Area](../../charts/area.html) -* [Animations](../../configuration/animations.html) - * [animation (`easing`)](../../configuration/animations.html#animation) - * [animations (`from`)](../../configuration/animations.html#animations-2) -* [Line](../../charts/line.html) - * [Line Styling](../../charts/line.html#line-styling) +* [Area](../../charts/area.md) +* [Animations](../../configuration/animations.md) + * [animation (`easing`)](../../configuration/animations.md#animation) + * [animations (`from`)](../../configuration/animations.md#animations-2) +* [Line](../../charts/line.md) + * [Line Styling](../../charts/line.md#line-styling) * `fill` * `tension` -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) diff --git a/docs/samples/animations/loop.md b/docs/samples/animations/loop.md index 9e02a36a3a9..efd1fd8e15e 100644 --- a/docs/samples/animations/loop.md +++ b/docs/samples/animations/loop.md @@ -124,18 +124,18 @@ module.exports = { }; ``` ## Docs -* [Animations](../../configuration/animations.html) - * [animation](../../configuration/animations.html#animation) +* [Animations](../../configuration/animations.md) + * [animation](../../configuration/animations.md#animation) * `duration` * `easing` * **`loop`** - * [Default animations (`radius`)](../../configuration/animations.html#default-animations) -* [Data structures (`labels`)](../../general/data-structures.html) -* [Elements](../../configuration/elements.html) - * [Point Configuration](../../configuration/elements.html#point-configuration) + * [Default animations (`radius`)](../../configuration/animations.md#default-animations) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Elements](../../configuration/elements.md) + * [Point Configuration](../../configuration/elements.md#point-configuration) * `hoverRadius` * `hoverBackgroundColor` -* [Line](../../charts/line.html) -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) -* [Tooltip (`enabled`)](../../configuration/tooltip.html) +* [Line](../../charts/line.md) +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) +* [Tooltip (`enabled`)](../../configuration/tooltip.md) diff --git a/docs/samples/animations/progressive-line-easing.md b/docs/samples/animations/progressive-line-easing.md index f0f5e6077b1..d64c2cec01e 100644 --- a/docs/samples/animations/progressive-line-easing.md +++ b/docs/samples/animations/progressive-line-easing.md @@ -173,17 +173,17 @@ module.exports = { ## Api * [Chart](../../api/classes/Chart.md) * [`getDatasetMeta`](../../api/classes/Chart.md#getdatasetmeta) -* [Scale](../../api/classes/Scale.html) - * [`getPixelForValue`](../../api/classes/Scale.html#getpixelforvalue) +* [Scale](../../api/classes/Scale.md) + * [`getPixelForValue`](../../api/classes/Scale.md#getpixelforvalue) ## Docs -* [Animations](../../configuration/animations.html) - * [animation](../../configuration/animations.html#animation) +* [Animations](../../configuration/animations.md) + * [animation](../../configuration/animations.md#animation) * `delay` * `duration` * `easing` * `loop` - * [Easing](../../configuration/animations.html#easing) -* [Line](../../charts/line.html) -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) - * [Data Context](../../general/options.html#data) + * [Easing](../../configuration/animations.md#easing) +* [Line](../../charts/line.md) +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) + * [Data Context](../../general/options.md#data) diff --git a/docs/samples/animations/progressive-line.md b/docs/samples/animations/progressive-line.md index d115cb79ee0..5db427af736 100644 --- a/docs/samples/animations/progressive-line.md +++ b/docs/samples/animations/progressive-line.md @@ -92,16 +92,16 @@ module.exports = { ## Api * [Chart](../../api/classes/Chart.md) * [`getDatasetMeta`](../../api/classes/Chart.md#getdatasetmeta) -* [Scale](../../api/classes/Scale.html) - * [`getPixelForValue`](../../api/classes/Scale.html#getpixelforvalue) +* [Scale](../../api/classes/Scale.md) + * [`getPixelForValue`](../../api/classes/Scale.md#getpixelforvalue) ## Docs -* [Animations](../../configuration/animations.html) - * [animation](../../configuration/animations.html#animation) +* [Animations](../../configuration/animations.md) + * [animation](../../configuration/animations.md#animation) * `delay` * `duration` * `easing` * `loop` -* [Line](../../charts/line.html) -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) - * [Data Context](../../general/options.html#data) +* [Line](../../charts/line.md) +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) + * [Data Context](../../general/options.md#data) diff --git a/docs/samples/area/line-boundaries.md b/docs/samples/area/line-boundaries.md index fa9c733e6ac..f013db952ef 100644 --- a/docs/samples/area/line-boundaries.md +++ b/docs/samples/area/line-boundaries.md @@ -120,8 +120,8 @@ module.exports = { ``` ## Docs -* [Area](../../charts/area.html) - * [Filling modes](../../charts/area.html#filling-modes) +* [Area](../../charts/area.md) + * [Filling modes](../../charts/area.md#filling-modes) * Boundary: `'start'`, `'end'`, `'origin'` -* [Line](../../charts/line.html) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Line](../../charts/line.md) +* [Data structures (`labels`)](../../general/data-structures.md) diff --git a/docs/samples/area/line-datasets.md b/docs/samples/area/line-datasets.md index 409e98106d7..0b380054b6b 100644 --- a/docs/samples/area/line-datasets.md +++ b/docs/samples/area/line-datasets.md @@ -166,9 +166,9 @@ module.exports = {
## Docs -* [Area](../../charts/area.html) - * [Filling modes](../../charts/area.html#filling-modes) -* [Line](../../charts/line.html) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Area](../../charts/area.md) + * [Filling modes](../../charts/area.md#filling-modes) +* [Line](../../charts/line.md) +* [Data structures (`labels`)](../../general/data-structures.md) * [Axes scales](../../axes/) * [Common options to all axes (`stacked`)](../../axes/#common-options-to-all-axes) diff --git a/docs/samples/area/line-drawtime.md b/docs/samples/area/line-drawtime.md index c9cc8256c7a..8cf5198fc81 100644 --- a/docs/samples/area/line-drawtime.md +++ b/docs/samples/area/line-drawtime.md @@ -114,8 +114,8 @@ module.exports = { }; ``` ## Docs -* [Area](../../charts/area.html) - * [Configuration (`drawTime`)](../../charts/area.html#configuration) -* [Line](../../charts/line.html) - * [Line Styling (`tension`)](../../charts/line.html#line-styling) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Area](../../charts/area.md) + * [Configuration (`drawTime`)](../../charts/area.md#configuration) +* [Line](../../charts/line.md) + * [Line Styling (`tension`)](../../charts/line.md#line-styling) +* [Data structures (`labels`)](../../general/data-structures.md) diff --git a/docs/samples/area/line-stacked.md b/docs/samples/area/line-stacked.md index 33280d3f6cb..a711d125fb2 100644 --- a/docs/samples/area/line-stacked.md +++ b/docs/samples/area/line-stacked.md @@ -172,9 +172,9 @@ module.exports = { ``` ## Docs -* [Area](../../charts/area.html) - * [Filling modes](../../charts/area.html#filling-modes) -* [Line](../../charts/line.html) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Area](../../charts/area.md) + * [Filling modes](../../charts/area.md#filling-modes) +* [Line](../../charts/line.md) +* [Data structures (`labels`)](../../general/data-structures.md) * [Axes scales](../../axes/) * [Common options to all axes (`stacked`)](../../axes/#common-options-to-all-axes) diff --git a/docs/samples/area/radar.md b/docs/samples/area/radar.md index 0888a5eff6a..66da8bf6190 100644 --- a/docs/samples/area/radar.md +++ b/docs/samples/area/radar.md @@ -141,8 +141,8 @@ module.exports = {
## Docs -* [Area](../../charts/area.html) - * [Filling modes](../../charts/area.html#filling-modes) - * [`propagate`](../../charts/area.html#propagate) -* [Radar](../../charts/radar.html) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Area](../../charts/area.md) + * [Filling modes](../../charts/area.md#filling-modes) + * [`propagate`](../../charts/area.md#propagate) +* [Radar](../../charts/radar.md) +* [Data structures (`labels`)](../../general/data-structures.md) diff --git a/docs/samples/bar/border-radius.md b/docs/samples/bar/border-radius.md index 786b32b8c02..6cf5e03494e 100644 --- a/docs/samples/bar/border-radius.md +++ b/docs/samples/bar/border-radius.md @@ -71,6 +71,6 @@ module.exports = { ``` ## Docs -* [Bar](../../charts/bar.html) - * [`borderRadius`](../../charts/bar.html#borderradius) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Bar](../../charts/bar.md) + * [`borderRadius`](../../charts/bar.md#borderradius) +* [Data structures (`labels`)](../../general/data-structures.md) diff --git a/docs/samples/bar/floating.md b/docs/samples/bar/floating.md index f7066bf6567..88832433d17 100644 --- a/docs/samples/bar/floating.md +++ b/docs/samples/bar/floating.md @@ -70,5 +70,5 @@ module.exports = { }; ``` ## Docs -* [Bar](../../charts/bar.html) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Bar](../../charts/bar.md) +* [Data structures (`labels`)](../../general/data-structures.md) diff --git a/docs/samples/bar/horizontal.md b/docs/samples/bar/horizontal.md index 9067ff94f4e..85a17a421d5 100644 --- a/docs/samples/bar/horizontal.md +++ b/docs/samples/bar/horizontal.md @@ -123,6 +123,6 @@ module.exports = { ``` ## Docs -* [Bar](../../charts/bar.html) - * [Horizontal Bar Chart](../../charts/bar.html#horizontal-bar-chart) +* [Bar](../../charts/bar.md) + * [Horizontal Bar Chart](../../charts/bar.md#horizontal-bar-chart) diff --git a/docs/samples/bar/stacked-groups.md b/docs/samples/bar/stacked-groups.md index cf2ddee3ca8..f9dac39b4e8 100644 --- a/docs/samples/bar/stacked-groups.md +++ b/docs/samples/bar/stacked-groups.md @@ -81,8 +81,8 @@ module.exports = { ``` ## Docs -* [Bar](../../charts/bar.html) - * [Stacked Bar Chart](../../charts/bar.html#stacked-bar-chart) -* [Data structures (`labels`)](../../general/data-structures.html) - * [Dataset Configuration (`stack`)](../../general/data-structures.html#dataset-configuration) +* [Bar](../../charts/bar.md) + * [Stacked Bar Chart](../../charts/bar.md#stacked-bar-chart) +* [Data structures (`labels`)](../../general/data-structures.md) + * [Dataset Configuration (`stack`)](../../general/data-structures.md#dataset-configuration) diff --git a/docs/samples/bar/stacked.md b/docs/samples/bar/stacked.md index 95897591358..6e2639c4b2e 100644 --- a/docs/samples/bar/stacked.md +++ b/docs/samples/bar/stacked.md @@ -72,6 +72,6 @@ module.exports = { }; ``` ## Docs -* [Bar](../../charts/bar.html) - * [Stacked Bar Chart](../../charts/bar.html#stacked-bar-chart) +* [Bar](../../charts/bar.md) + * [Stacked Bar Chart](../../charts/bar.md#stacked-bar-chart) diff --git a/docs/samples/bar/vertical.md b/docs/samples/bar/vertical.md index 04184e1650d..e14859cdd02 100644 --- a/docs/samples/bar/vertical.md +++ b/docs/samples/bar/vertical.md @@ -115,5 +115,5 @@ module.exports = { ``` ## Docs -* [Bar](../../charts/bar.html) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Bar](../../charts/bar.md) +* [Data structures (`labels`)](../../general/data-structures.md) diff --git a/docs/samples/legend/events.md b/docs/samples/legend/events.md index af455acf49a..fa715445ad5 100644 --- a/docs/samples/legend/events.md +++ b/docs/samples/legend/events.md @@ -57,7 +57,7 @@ module.exports = { ``` ## Docs -* [Doughnut and Pie Charts](../../charts/doughnut.html) -* [Legend](../../configuration/legend.html) +* [Doughnut and Pie Charts](../../charts/doughnut.md) +* [Legend](../../configuration/legend.md) * `onHover` * `onLeave` \ No newline at end of file diff --git a/docs/samples/legend/html.md b/docs/samples/legend/html.md index 00c92c83fb2..a1400a3d387 100644 --- a/docs/samples/legend/html.md +++ b/docs/samples/legend/html.md @@ -134,8 +134,8 @@ module.exports = { ``` ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) -* [Legend](../../configuration/legend.html) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) +* [Legend](../../configuration/legend.md) * `display: false` -* [Plugins](../../developers/plugins.html) +* [Plugins](../../developers/plugins.md) diff --git a/docs/samples/legend/point-style.md b/docs/samples/legend/point-style.md index 0ab168a0b5a..355045c676e 100644 --- a/docs/samples/legend/point-style.md +++ b/docs/samples/legend/point-style.md @@ -59,11 +59,11 @@ module.exports = { ``` ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) -* [Legend](../../configuration/legend.html) - * [Legend Label Configuration](../../configuration/legend.html#legend-label-configuration) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) +* [Legend](../../configuration/legend.md) + * [Legend Label Configuration](../../configuration/legend.md#legend-label-configuration) * `usePointStyle` -* [Elements](../../configuration/elements.html) - * [Point Configuration](../../configuration/elements.html#point-configuration) - * [Point Styles](../../configuration/elements.html#point-styles) +* [Elements](../../configuration/elements.md) + * [Point Configuration](../../configuration/elements.md#point-configuration) + * [Point Styles](../../configuration/elements.md#point-styles) diff --git a/docs/samples/legend/position.md b/docs/samples/legend/position.md index f226c66cf45..8597f4ed15b 100644 --- a/docs/samples/legend/position.md +++ b/docs/samples/legend/position.md @@ -68,7 +68,7 @@ module.exports = { ``` ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) -* [Legend](../../configuration/legend.html) - * [Position](../../configuration/legend.html#position) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) +* [Legend](../../configuration/legend.md) + * [Position](../../configuration/legend.md#position) diff --git a/docs/samples/legend/title.md b/docs/samples/legend/title.md index f3572e7a2bf..98ba86f404c 100644 --- a/docs/samples/legend/title.md +++ b/docs/samples/legend/title.md @@ -74,6 +74,6 @@ module.exports = { ``` ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) -* [Legend](../../configuration/legend.html) \ No newline at end of file +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) +* [Legend](../../configuration/legend.md) \ No newline at end of file diff --git a/docs/samples/line/interpolation.md b/docs/samples/line/interpolation.md index a27f6adfd1b..9e7bfa151f6 100644 --- a/docs/samples/line/interpolation.md +++ b/docs/samples/line/interpolation.md @@ -77,7 +77,7 @@ module.exports = { ``` ## Docs -* [Line](../../charts/line.html) - * [`cubicInterpolationMode`](../../charts/line.html#cubicinterpolationmode) - * [Line Styling (`tension`)](../../charts/line.html#line-styling) +* [Line](../../charts/line.md) + * [`cubicInterpolationMode`](../../charts/line.md#cubicinterpolationmode) + * [Line Styling (`tension`)](../../charts/line.md#line-styling) diff --git a/docs/samples/line/line.md b/docs/samples/line/line.md index ea3f06dccb8..c3682f69093 100644 --- a/docs/samples/line/line.md +++ b/docs/samples/line/line.md @@ -114,5 +114,5 @@ module.exports = { ``` ## Docs -* [Line](../../charts/line.html) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Line](../../charts/line.md) +* [Data structures (`labels`)](../../general/data-structures.md) diff --git a/docs/samples/line/multi-axis.md b/docs/samples/line/multi-axis.md index eb2921300f7..d1c625517ca 100644 --- a/docs/samples/line/multi-axis.md +++ b/docs/samples/line/multi-axis.md @@ -89,6 +89,6 @@ module.exports = { * [Axes scales](../../axes/) * [Cartesian Axes](../../axes/cartesian/) * [Axis Position](../../axes/cartesian/#axis-position) -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) diff --git a/docs/samples/line/point-styling.md b/docs/samples/line/point-styling.md index 714cd052bd5..dbb31c20eda 100644 --- a/docs/samples/line/point-styling.md +++ b/docs/samples/line/point-styling.md @@ -145,6 +145,6 @@ module.exports = { ``` ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) - * [Point Styling](../../charts/line.html#point-styling) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) + * [Point Styling](../../charts/line.md#point-styling) diff --git a/docs/samples/line/segments.md b/docs/samples/line/segments.md index 2540c60b882..c4b847d66e1 100644 --- a/docs/samples/line/segments.md +++ b/docs/samples/line/segments.md @@ -45,9 +45,9 @@ module.exports = { ``` ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) - * [Line Styling](../../charts/line.html#line-styling) - * [Segment](../../charts/line.html#segment) -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) \ No newline at end of file +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) + * [Line Styling](../../charts/line.md#line-styling) + * [Segment](../../charts/line.md#segment) +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) \ No newline at end of file diff --git a/docs/samples/line/stepped.md b/docs/samples/line/stepped.md index 1005ab0c771..9536d195e14 100644 --- a/docs/samples/line/stepped.md +++ b/docs/samples/line/stepped.md @@ -93,6 +93,6 @@ module.exports = { ``` ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) - * [Stepped](../../charts/line.html#stepped) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) + * [Stepped](../../charts/line.md#stepped) diff --git a/docs/samples/line/styling.md b/docs/samples/line/styling.md index f3212b49c12..18778d0a7d2 100644 --- a/docs/samples/line/styling.md +++ b/docs/samples/line/styling.md @@ -76,6 +76,6 @@ module.exports = { ``` ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) - * [Line Styling](../../charts/line.html#line-styling) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) + * [Line Styling](../../charts/line.md#line-styling) diff --git a/docs/samples/other-charts/bubble.md b/docs/samples/other-charts/bubble.md index 5170387ebbf..26f4d40fd92 100644 --- a/docs/samples/other-charts/bubble.md +++ b/docs/samples/other-charts/bubble.md @@ -109,4 +109,4 @@ module.exports = { ``` ## Docs -* [Bubble](../../charts/bubble.html) +* [Bubble](../../charts/bubble.md) diff --git a/docs/samples/other-charts/combo-bar-line.md b/docs/samples/other-charts/combo-bar-line.md index 99fcff10d4e..d6451b740d7 100644 --- a/docs/samples/other-charts/combo-bar-line.md +++ b/docs/samples/other-charts/combo-bar-line.md @@ -118,6 +118,6 @@ module.exports = { ``` ## Docs -* [Bar](../../charts/bar.html) -* [Line](../../charts/line.html) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Bar](../../charts/bar.md) +* [Line](../../charts/line.md) +* [Data structures (`labels`)](../../general/data-structures.md) diff --git a/docs/samples/other-charts/doughnut.md b/docs/samples/other-charts/doughnut.md index 8cde2082f00..6d67b16955d 100644 --- a/docs/samples/other-charts/doughnut.md +++ b/docs/samples/other-charts/doughnut.md @@ -136,4 +136,4 @@ module.exports = { ``` ## Docs -* [Doughnut and Pie Charts](../../charts/doughnut.html) +* [Doughnut and Pie Charts](../../charts/doughnut.md) diff --git a/docs/samples/other-charts/multi-series-pie.md b/docs/samples/other-charts/multi-series-pie.md index 735addee06c..8332fc09bd2 100644 --- a/docs/samples/other-charts/multi-series-pie.md +++ b/docs/samples/other-charts/multi-series-pie.md @@ -91,6 +91,6 @@ module.exports = { ``` ## Docs -* [Doughnut and Pie Charts](../../charts/doughnut.html) -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) \ No newline at end of file +* [Doughnut and Pie Charts](../../charts/doughnut.md) +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) \ No newline at end of file diff --git a/docs/samples/other-charts/pie.md b/docs/samples/other-charts/pie.md index ee11cec7b5a..465869b888a 100644 --- a/docs/samples/other-charts/pie.md +++ b/docs/samples/other-charts/pie.md @@ -111,4 +111,4 @@ module.exports = { }; ``` ## Docs -* [Doughnut and Pie Charts](../../charts/doughnut.html) +* [Doughnut and Pie Charts](../../charts/doughnut.md) diff --git a/docs/samples/other-charts/polar-area-center-labels.md b/docs/samples/other-charts/polar-area-center-labels.md index 9eb9aaffb68..c25f8421317 100644 --- a/docs/samples/other-charts/polar-area-center-labels.md +++ b/docs/samples/other-charts/polar-area-center-labels.md @@ -103,5 +103,5 @@ module.exports = { ## Docs * [Polar Area Chart](../../charts/polar.md) -* [Linear Radial Axis](../../axes/radial/linear.html) - * [Point Label Options (`centerPointLabels`)](../../axes/radial/linear.html#point-label-options) \ No newline at end of file +* [Linear Radial Axis](../../axes/radial/linear.md) + * [Point Label Options (`centerPointLabels`)](../../axes/radial/linear.md#point-label-options) \ No newline at end of file diff --git a/docs/samples/other-charts/radar-skip-points.md b/docs/samples/other-charts/radar-skip-points.md index b2162c760c0..d3420656016 100644 --- a/docs/samples/other-charts/radar-skip-points.md +++ b/docs/samples/other-charts/radar-skip-points.md @@ -86,5 +86,5 @@ module.exports = { ``` ## Docs -* [Radar](../../charts/radar.html) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Radar](../../charts/radar.md) +* [Data structures (`labels`)](../../general/data-structures.md) diff --git a/docs/samples/other-charts/radar.md b/docs/samples/other-charts/radar.md index b48092321d0..4ebc516a38c 100644 --- a/docs/samples/other-charts/radar.md +++ b/docs/samples/other-charts/radar.md @@ -111,5 +111,5 @@ module.exports = { ``` ## Docs -* [Radar](../../charts/radar.html) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Radar](../../charts/radar.md) +* [Data structures (`labels`)](../../general/data-structures.md) diff --git a/docs/samples/other-charts/scatter-multi-axis.md b/docs/samples/other-charts/scatter-multi-axis.md index 32eb822c84c..6b3cb8e70d2 100644 --- a/docs/samples/other-charts/scatter-multi-axis.md +++ b/docs/samples/other-charts/scatter-multi-axis.md @@ -131,6 +131,6 @@ module.exports = { ``` ## Docs -* [Scatter](../../charts/scatter.html) +* [Scatter](../../charts/scatter.md) * [Cartesian Axes](../../axes/cartesian/) * [Axis Position](../../axes/cartesian/#axis-position) diff --git a/docs/samples/other-charts/scatter.md b/docs/samples/other-charts/scatter.md index c2fb43c9b5a..2ab75fbfbe8 100644 --- a/docs/samples/other-charts/scatter.md +++ b/docs/samples/other-charts/scatter.md @@ -109,4 +109,4 @@ module.exports = { ``` ## Docs -* [Scatter](../../charts/scatter.html) +* [Scatter](../../charts/scatter.md) diff --git a/docs/samples/other-charts/stacked-bar-line.md b/docs/samples/other-charts/stacked-bar-line.md index 24e22f2cc78..20651722f3b 100644 --- a/docs/samples/other-charts/stacked-bar-line.md +++ b/docs/samples/other-charts/stacked-bar-line.md @@ -123,8 +123,8 @@ module.exports = { * [Axes scales](../../axes/) * [Common options to all axes (`stacked`)](../../axes/#common-options-to-all-axes) * [Stacking](../../axes/#stacking) -* [Bar](../../charts/bar.html) -* [Line](../../charts/line.html) -* [Data structures (`labels`)](../../general/data-structures.html) - * [Dataset Configuration (`stack`)](../../general/data-structures.html#dataset-configuration) +* [Bar](../../charts/bar.md) +* [Line](../../charts/line.md) +* [Data structures (`labels`)](../../general/data-structures.md) + * [Dataset Configuration (`stack`)](../../general/data-structures.md#dataset-configuration) diff --git a/docs/samples/plugins/chart-area-border.md b/docs/samples/plugins/chart-area-border.md index 3593770d14b..cccfa2473ec 100644 --- a/docs/samples/plugins/chart-area-border.md +++ b/docs/samples/plugins/chart-area-border.md @@ -64,6 +64,6 @@ module.exports = { ``` ## Docs -* [Line](../../charts/line.html) -* [Data structures (`labels`)](../../general/data-structures.html) -* [Plugins](../../developers/plugins.html) +* [Line](../../charts/line.md) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Plugins](../../developers/plugins.md) diff --git a/docs/samples/plugins/doughnut-empty-state.md b/docs/samples/plugins/doughnut-empty-state.md index c9afac0c29d..1e9267b7920 100644 --- a/docs/samples/plugins/doughnut-empty-state.md +++ b/docs/samples/plugins/doughnut-empty-state.md @@ -78,6 +78,6 @@ module.exports = { ``` ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Plugins](../../developers/plugins.html) -* [Doughnut and Pie Charts](../../charts/doughnut.html) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Plugins](../../developers/plugins.md) +* [Doughnut and Pie Charts](../../charts/doughnut.md) diff --git a/docs/samples/plugins/quadrants.md b/docs/samples/plugins/quadrants.md index e4715b15da1..3354a6a0290 100644 --- a/docs/samples/plugins/quadrants.md +++ b/docs/samples/plugins/quadrants.md @@ -80,6 +80,6 @@ module.exports = { ``` ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Plugins](../../developers/plugins.html) -* [Scatter](../../charts/scatter.html) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Plugins](../../developers/plugins.md) +* [Scatter](../../charts/scatter.md) diff --git a/docs/samples/scale-options/center.md b/docs/samples/scale-options/center.md index e7d0098af68..b435c6174f5 100644 --- a/docs/samples/scale-options/center.md +++ b/docs/samples/scale-options/center.md @@ -89,6 +89,6 @@ module.exports = { ``` ## Docs -* [Scatter](../../charts/scatter.html) +* [Scatter](../../charts/scatter.md) * [Cartesian Axes](../../axes/cartesian/) * [Axis Position](../../axes/cartesian/#axis-position) \ No newline at end of file diff --git a/docs/samples/scale-options/grid.md b/docs/samples/scale-options/grid.md index 487a1659c05..fdbea55de7b 100644 --- a/docs/samples/scale-options/grid.md +++ b/docs/samples/scale-options/grid.md @@ -98,10 +98,10 @@ module.exports = { ``` ## Docs -* [Line](../../charts/line.html) -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) - * [Tick Context](../../general/options.html#tick) -* [Data structures (`labels`)](../../general/data-structures.html) -* [Axes Styling](../../axes/styling.html) - * [Grid Line Configuration](../../axes/styling.html#grid-line-configuration) \ No newline at end of file +* [Line](../../charts/line.md) +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) + * [Tick Context](../../general/options.md#tick) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Axes Styling](../../axes/styling.md) + * [Grid Line Configuration](../../axes/styling.md#grid-line-configuration) \ No newline at end of file diff --git a/docs/samples/scale-options/ticks.md b/docs/samples/scale-options/ticks.md index b97638fa0e6..e6e7bb2f94d 100644 --- a/docs/samples/scale-options/ticks.md +++ b/docs/samples/scale-options/ticks.md @@ -94,10 +94,10 @@ module.exports = { ``` ## Docs -* [Line](../../charts/line.html) -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) - * [Tick Context](../../general/options.html#tick) -* [Data structures (`labels`)](../../general/data-structures.html) -* [Axes Styling](../../axes/styling.html) - * [Tick Configuration](../../axes/styling.html#tick-configuration) \ No newline at end of file +* [Line](../../charts/line.md) +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) + * [Tick Context](../../general/options.md#tick) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Axes Styling](../../axes/styling.md) + * [Tick Configuration](../../axes/styling.md#tick-configuration) \ No newline at end of file diff --git a/docs/samples/scale-options/titles.md b/docs/samples/scale-options/titles.md index d045bfdce66..e49316b0671 100644 --- a/docs/samples/scale-options/titles.md +++ b/docs/samples/scale-options/titles.md @@ -76,10 +76,10 @@ module.exports = { ``` ## Docs -* [Line](../../charts/line.html) -* [Data structures (`labels`)](../../general/data-structures.html) -* [Axes Styling](../../axes/styling.html) +* [Line](../../charts/line.md) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Axes Styling](../../axes/styling.md) * [Cartesian Axes](../../axes/cartesian/) * [Common options to all cartesian axes](../../axes/cartesian/#common-options-to-all-cartesian-axes) -* [Labeling Axes](../../axes/labelling.html) - * [Scale Title Configuration](../../axes/labelling.html#scale-title-configuration) \ No newline at end of file +* [Labeling Axes](../../axes/labelling.md) + * [Scale Title Configuration](../../axes/labelling.md#scale-title-configuration) \ No newline at end of file diff --git a/docs/samples/scales/linear-min-max-suggested.md b/docs/samples/scales/linear-min-max-suggested.md index ae6bbe8208e..3e6e4fdbd8d 100644 --- a/docs/samples/scales/linear-min-max-suggested.md +++ b/docs/samples/scales/linear-min-max-suggested.md @@ -56,8 +56,8 @@ module.exports = { ``` ## Docs -* [Line](../../charts/line.html) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Line](../../charts/line.md) +* [Data structures (`labels`)](../../general/data-structures.md) * [Axes scales](../../axes/) * [Common options to all axes](../../axes/#common-options-to-all-axes) * [Axis Range Settings](../../axes/#axis-range-settings) diff --git a/docs/samples/scales/linear-min-max.md b/docs/samples/scales/linear-min-max.md index 996b6167219..29b8a2d17eb 100644 --- a/docs/samples/scales/linear-min-max.md +++ b/docs/samples/scales/linear-min-max.md @@ -53,8 +53,8 @@ module.exports = { ``` ## Docs -* [Line](../../charts/line.html) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Line](../../charts/line.md) +* [Data structures (`labels`)](../../general/data-structures.md) * [Axes scales](../../axes/) * [Common options to all axes (`min`,`max`)](../../axes/#common-options-to-all-axes) \ No newline at end of file diff --git a/docs/samples/scales/linear-step-size.md b/docs/samples/scales/linear-step-size.md index 0303940c717..da8905a0b6a 100644 --- a/docs/samples/scales/linear-step-size.md +++ b/docs/samples/scales/linear-step-size.md @@ -139,10 +139,10 @@ module.exports = { ``` ## Docs -* [Line](../../charts/line.html) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Line](../../charts/line.md) +* [Data structures (`labels`)](../../general/data-structures.md) * [Axes scales](../../axes/) * [Common options to all axes (`min`,`max`)](../../axes/#common-options-to-all-axes) -* [Linear Axis](../../axes/cartesian/linear.html) - * [Linear Axis specific tick options (`stepSize`)](../../axes/cartesian/linear.html#linear-axis-specific-tick-options) - * [Step Size](../../axes/cartesian/linear.html#step-size) +* [Linear Axis](../../axes/cartesian/linear.md) + * [Linear Axis specific tick options (`stepSize`)](../../axes/cartesian/linear.md#linear-axis-specific-tick-options) + * [Step Size](../../axes/cartesian/linear.md#step-size) diff --git a/docs/samples/scales/log.md b/docs/samples/scales/log.md index 59d3527cdef..35ae8e63414 100644 --- a/docs/samples/scales/log.md +++ b/docs/samples/scales/log.md @@ -76,7 +76,7 @@ module.exports = { ``` ## Docs -* [Line](../../charts/line.html) -* [Logarithmic Axis](../../axes/cartesian/logarithmic.html) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Line](../../charts/line.md) +* [Logarithmic Axis](../../axes/cartesian/logarithmic.md) +* [Data structures (`labels`)](../../general/data-structures.md) diff --git a/docs/samples/scales/stacked.md b/docs/samples/scales/stacked.md index 89651bfa600..461236dc95b 100644 --- a/docs/samples/scales/stacked.md +++ b/docs/samples/scales/stacked.md @@ -71,7 +71,7 @@ module.exports = { ``` ## Docs -* [Line](../../charts/line.html) +* [Line](../../charts/line.md) * [Axes scales](../../axes/) * [Stacking](../../axes/#stacking) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Data structures (`labels`)](../../general/data-structures.md) diff --git a/docs/samples/scales/time-combo.md b/docs/samples/scales/time-combo.md index 0a84043f7a1..9c7436ca219 100644 --- a/docs/samples/scales/time-combo.md +++ b/docs/samples/scales/time-combo.md @@ -85,7 +85,7 @@ module.exports = { ``` ## Docs -* [Bar](../../charts/bar.html) -* [Line](../../charts/line.html) -* [Data structures (`labels`)](../../general/data-structures.html) -* [Time Scale](../../axes/cartesian/time.html) +* [Bar](../../charts/bar.md) +* [Line](../../charts/line.md) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Time Scale](../../axes/cartesian/time.md) diff --git a/docs/samples/scales/time-line.md b/docs/samples/scales/time-line.md index 78f16a45d39..057fe90ea8f 100644 --- a/docs/samples/scales/time-line.md +++ b/docs/samples/scales/time-line.md @@ -112,5 +112,5 @@ module.exports = { ``` ## Docs -* [Line](../../charts/line.html) -* [Time Cartesian Axis](../../axes/cartesian/time.html) \ No newline at end of file +* [Line](../../charts/line.md) +* [Time Cartesian Axis](../../axes/cartesian/time.md) \ No newline at end of file diff --git a/docs/samples/scales/time-max-span.md b/docs/samples/scales/time-max-span.md index 84fa038d1f5..47d771f8773 100644 --- a/docs/samples/scales/time-max-span.md +++ b/docs/samples/scales/time-max-span.md @@ -126,6 +126,6 @@ module.exports = { ``` ## Docs -* [Line](../../charts/line.html) - * [`spanGaps`](../../charts/line.html#line-styling) -* [Time Scale](../../axes/cartesian/time.html) +* [Line](../../charts/line.md) + * [`spanGaps`](../../charts/line.md#line-styling) +* [Time Scale](../../axes/cartesian/time.md) diff --git a/docs/samples/scriptable/bar.md b/docs/samples/scriptable/bar.md index f6d89ca838a..74562c881b8 100644 --- a/docs/samples/scriptable/bar.md +++ b/docs/samples/scriptable/bar.md @@ -74,8 +74,8 @@ module.exports = { ``` ## Docs -* [Bar](../../charts/bar.html) -* [Data structures (`labels`)](../../general/data-structures.html) - * [Dataset Configuration (`stack`)](../../general/data-structures.html#dataset-configuration) -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) +* [Bar](../../charts/bar.md) +* [Data structures (`labels`)](../../general/data-structures.md) + * [Dataset Configuration (`stack`)](../../general/data-structures.md#dataset-configuration) +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) diff --git a/docs/samples/scriptable/bubble.md b/docs/samples/scriptable/bubble.md index 3dff79ad979..7d2c0286e81 100644 --- a/docs/samples/scriptable/bubble.md +++ b/docs/samples/scriptable/bubble.md @@ -109,6 +109,6 @@ module.exports = { ``` ## Docs -* [Bubble](../../charts/bubble.html) -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) \ No newline at end of file +* [Bubble](../../charts/bubble.md) +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) \ No newline at end of file diff --git a/docs/samples/scriptable/line.md b/docs/samples/scriptable/line.md index bd231234909..bef78abc737 100644 --- a/docs/samples/scriptable/line.md +++ b/docs/samples/scriptable/line.md @@ -91,9 +91,9 @@ module.exports = { ``` ## Docs -* [Line](../../charts/line.html) - * [Point Styling](../../charts/line.html#point-styling) -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) -* [Data structures (`labels`)](../../general/data-structures.html) +* [Line](../../charts/line.md) + * [Point Styling](../../charts/line.md#point-styling) +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) +* [Data structures (`labels`)](../../general/data-structures.md) diff --git a/docs/samples/scriptable/pie.md b/docs/samples/scriptable/pie.md index a5c948a07b0..1a633108c42 100644 --- a/docs/samples/scriptable/pie.md +++ b/docs/samples/scriptable/pie.md @@ -87,6 +87,6 @@ module.exports = { ``` ## Docs -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) -* [Doughnut and Pie Charts](../../charts/doughnut.html) \ No newline at end of file +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) +* [Doughnut and Pie Charts](../../charts/doughnut.md) \ No newline at end of file diff --git a/docs/samples/scriptable/polar.md b/docs/samples/scriptable/polar.md index 587be6a0b8b..de2178b98d1 100644 --- a/docs/samples/scriptable/polar.md +++ b/docs/samples/scriptable/polar.md @@ -77,6 +77,6 @@ module.exports = { ``` ## Docs -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) * [Polar Area Chart](../../charts/polar.md) diff --git a/docs/samples/scriptable/radar.md b/docs/samples/scriptable/radar.md index 20114bb57d8..9ee177de891 100644 --- a/docs/samples/scriptable/radar.md +++ b/docs/samples/scriptable/radar.md @@ -94,6 +94,6 @@ module.exports = { ``` ## Docs -* [Options](../../general/options.html) - * [Scriptable Options](../../general/options.html#scriptable-options) -* [Radar](../../charts/radar.html) +* [Options](../../general/options.md) + * [Scriptable Options](../../general/options.md#scriptable-options) +* [Radar](../../charts/radar.md) diff --git a/docs/samples/subtitle/basic.md b/docs/samples/subtitle/basic.md index c377e20d566..285ed2693ea 100644 --- a/docs/samples/subtitle/basic.md +++ b/docs/samples/subtitle/basic.md @@ -55,7 +55,7 @@ module.exports = { ``` ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) -* [Title](../../configuration/title.html) -* [Subtitle](../../configuration/subtitle.html) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) +* [Title](../../configuration/title.md) +* [Subtitle](../../configuration/subtitle.md) diff --git a/docs/samples/title/alignment.md b/docs/samples/title/alignment.md index 197d64dc493..5c612e70908 100644 --- a/docs/samples/title/alignment.md +++ b/docs/samples/title/alignment.md @@ -69,6 +69,6 @@ module.exports = { ``` ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) -* [Title](../../configuration/title.html) \ No newline at end of file +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) +* [Title](../../configuration/title.md) \ No newline at end of file diff --git a/docs/samples/tooltip/content.md b/docs/samples/tooltip/content.md index 3abe1fc7b6f..bc5834a4e7c 100644 --- a/docs/samples/tooltip/content.md +++ b/docs/samples/tooltip/content.md @@ -66,7 +66,7 @@ module.exports = { ``` ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) -* [Tooltip](../../configuration/tooltip.html) - * [Tooltip Callbacks](../../configuration/tooltip.html#tooltip-callbacks) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) +* [Tooltip](../../configuration/tooltip.md) + * [Tooltip Callbacks](../../configuration/tooltip.md#tooltip-callbacks) diff --git a/docs/samples/tooltip/html.md b/docs/samples/tooltip/html.md index b139afd9cbf..267787eaf33 100644 --- a/docs/samples/tooltip/html.md +++ b/docs/samples/tooltip/html.md @@ -165,8 +165,8 @@ module.exports = { ``` ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) -* [Tooltip](../../configuration/tooltip.html) - * [External (Custom) Tooltips](../../configuration/tooltip.html#external-custom-tooltips) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) +* [Tooltip](../../configuration/tooltip.md) + * [External (Custom) Tooltips](../../configuration/tooltip.md#external-custom-tooltips) \ No newline at end of file diff --git a/docs/samples/tooltip/interactions.md b/docs/samples/tooltip/interactions.md index 86cf5fc9614..1b4e3937eeb 100644 --- a/docs/samples/tooltip/interactions.md +++ b/docs/samples/tooltip/interactions.md @@ -130,7 +130,7 @@ module.exports = { ``` ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) -* [Tooltip](../../configuration/tooltip.html) -* [Interactions](../../configuration/interactions.html) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) +* [Tooltip](../../configuration/tooltip.md) +* [Interactions](../../configuration/interactions.md) diff --git a/docs/samples/tooltip/point-style.md b/docs/samples/tooltip/point-style.md index d78bb62e877..d6dcfda5b20 100644 --- a/docs/samples/tooltip/point-style.md +++ b/docs/samples/tooltip/point-style.md @@ -80,10 +80,10 @@ module.exports = { ``` ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) -* [Tooltip](../../configuration/tooltip.html) +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) +* [Tooltip](../../configuration/tooltip.md) * `usePointStyle` -* [Elements](../../configuration/elements.html) - * [Point Styles](../../configuration/elements.html#point-styles) +* [Elements](../../configuration/elements.md) + * [Point Styles](../../configuration/elements.md#point-styles) diff --git a/docs/samples/tooltip/position.md b/docs/samples/tooltip/position.md index 34b4bfbaa30..4209de5a6f7 100644 --- a/docs/samples/tooltip/position.md +++ b/docs/samples/tooltip/position.md @@ -101,8 +101,8 @@ module.exports = { ``` ## Docs -* [Data structures (`labels`)](../../general/data-structures.html) -* [Line](../../charts/line.html) -* [Tooltip](../../configuration/tooltip.html) - * [Position Modes](../../configuration/tooltip.html#position-modes) - * [Custom Position Modes](../../configuration/tooltip.html#custom-position-modes) \ No newline at end of file +* [Data structures (`labels`)](../../general/data-structures.md) +* [Line](../../charts/line.md) +* [Tooltip](../../configuration/tooltip.md) + * [Position Modes](../../configuration/tooltip.md#position-modes) + * [Custom Position Modes](../../configuration/tooltip.md#custom-position-modes) \ No newline at end of file From a3fc84113e51ebc34d7b897623469f591218bf7d Mon Sep 17 00:00:00 2001 From: Mercy Bickell <54828611+Mer-cat@users.noreply.github.com> Date: Mon, 7 Aug 2023 16:18:54 -0600 Subject: [PATCH 4/5] fix: Add backgroundColor type on CoreScaleOptions (#11348) * Fix: add backgroundColor type on CartesianScaleOptions * Add instead on CoreScaleOptions * Remove redundant backgroundColor from RadialLinearScaleOptions --- src/types/index.d.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/types/index.d.ts b/src/types/index.d.ts index eeee5fa08e5..fb7a5a47796 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -1166,6 +1166,10 @@ export interface CoreScaleOptions { * Align pixel values to device pixels */ alignToPixels: boolean; + /** + * Background color of the scale area. + */ + backgroundColor: Color; /** * Reverse the scale. * @default false @@ -3464,8 +3468,6 @@ export type RadialTickOptions = TickOptions & { } export type RadialLinearScaleOptions = CoreScaleOptions & { - backgroundColor: Color; - animate: boolean; startAngle: number; From 7ccd4a2d1463b0c5082de2538857554d9428d8d3 Mon Sep 17 00:00:00 2001 From: Jacco van den Berg Date: Thu, 24 Aug 2023 14:34:45 +0200 Subject: [PATCH 5/5] Bump 4.4.0 (#11461) --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 88264c3b08f..bd6d8c4ca6a 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "chart.js", "homepage": "https://www.chartjs.org", "description": "Simple HTML5 charts using the canvas element.", - "version": "4.3.3", + "version": "4.4.0", "license": "MIT", "type": "module", "sideEffects": [