From af383552efb34a4fd33457f4db9a85657308a92d Mon Sep 17 00:00:00 2001 From: stockiNail Date: Tue, 24 Jan 2023 14:20:43 +0100 Subject: [PATCH 1/3] Enable fit option when the label is overflowing the rectangle --- src/element.js | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/src/element.js b/src/element.js index efb1d98..417dd27 100644 --- a/src/element.js +++ b/src/element.js @@ -1,5 +1,5 @@ import {Element} from 'chart.js'; -import {toFont, isArray, toTRBL, toTRBLCorners, addRoundedRectPath, valueOrDefault, defined} from 'chart.js/helpers'; +import {toFont, isArray, toTRBL, toTRBLCorners, addRoundedRectPath, valueOrDefault, defined, isNumber} from 'chart.js/helpers'; const widthCache = new Map(); @@ -164,15 +164,34 @@ function measureLabelSize(ctx, lines, fonts) { return widthCache.get(mapKey); } +function toFonts(fonts, fitRatio) { + return fonts.map(function(f) { + f.size = Math.floor(f.size * fitRatio); + f.lineHeight = undefined; + return toFont(f); + }); +} + function labelToDraw(ctx, rect, options, labelSize) { const {overflow, padding} = options; const {width, height} = labelSize; if (overflow === 'hidden') { return !((width + padding * 2) > rect.w || (height + padding * 2) > rect.h); + } else if (overflow === 'fit') { + const ratio = Math.min(rect.w / (width + padding * 2), rect.h / (height + padding * 2)); + if (ratio < 1) { + return ratio; + } } return true; } +function getFontFromOptions(rect, labels) { + const {font, hoverFont} = labels; + const optFont = (rect.active ? hoverFont : font) || font; + return isArray(optFont) ? optFont.map(f => toFont(f)) : [toFont(optFont)]; +} + function drawLabel(ctx, rect, options) { const labels = options.labels; const content = labels.formatter; @@ -180,13 +199,16 @@ function drawLabel(ctx, rect, options) { return; } const contents = isArray(content) ? content : [content]; - const {font, hoverFont} = labels; - const optFont = (rect.active ? hoverFont : font) || font; - const fonts = isArray(optFont) ? optFont.map(f => toFont(f)) : [toFont(optFont)]; - const labelSize = measureLabelSize(ctx, contents, fonts); - if (!labelToDraw(ctx, rect, labels, labelSize)) { + let fonts = getFontFromOptions(rect, labels); + let labelSize = measureLabelSize(ctx, contents, fonts); + const lblToDraw = labelToDraw(ctx, rect, labels, labelSize); + if (!lblToDraw) { return; } + if (isNumber(lblToDraw)) { + labelSize = {width: labelSize.width * lblToDraw, height: labelSize.height * lblToDraw}; + fonts = toFonts(fonts, lblToDraw); + } const {color, hoverColor, align} = labels; const optColor = (rect.active ? hoverColor : color) || color; const colors = isArray(optColor) ? optColor : [optColor]; From 0018793cacfc61b5fe2e2dca2fd2d4c25499d24a Mon Sep 17 00:00:00 2001 From: stockiNail Date: Tue, 24 Jan 2023 17:09:38 +0100 Subject: [PATCH 2/3] adds test, doc, sample and types --- docs/samples/zoom.md | 2 +- docs/usage.md | 1 + test/fixtures/basic/labelsOverflowFit.js | 29 ++++++++++++++++++++++ test/fixtures/basic/labelsOverflowFit.png | Bin 0 -> 13158 bytes types/index.esm.d.ts | 2 +- 5 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 test/fixtures/basic/labelsOverflowFit.js create mode 100644 test/fixtures/basic/labelsOverflowFit.png diff --git a/docs/samples/zoom.md b/docs/samples/zoom.md index 61e6b87..bba11a4 100644 --- a/docs/samples/zoom.md +++ b/docs/samples/zoom.md @@ -39,7 +39,7 @@ const config = { font: { size: 16 }, - overflow: 'hidden' + overflow: 'fit' } } ], diff --git a/docs/usage.md b/docs/usage.md index eaec1af..251fb2d 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -211,6 +211,7 @@ The overflow property controls what happens to a label that is too big to fit in * `cut`: if the label is too big, it will be cut to stay inside the rectangle. It is the default. * `hidden`: the label is removed altogether if the rectangle is too small for it. +* `fit`: the label will be automatically fit inside the rectangle if its dimension is bigger than the rectangle size. ### Position diff --git a/test/fixtures/basic/labelsOverflowFit.js b/test/fixtures/basic/labelsOverflowFit.js new file mode 100644 index 0000000..097776f --- /dev/null +++ b/test/fixtures/basic/labelsOverflowFit.js @@ -0,0 +1,29 @@ +export default { + tolerance: 0.0060, + config: { + type: 'treemap', + data: { + datasets: [{ + label: 'Simple treemap', + data: [6, 6, 6, 4, 4, 2, 1, 1, 1, 1, 1, 1], + backgroundColor: 'red', + labels: { + display: true, + overflow: 'fit', + font: { + size: 64 + } + } + }] + }, + options: { + events: [] + } + }, + options: { + canvas: { + height: 256, + width: 512 + } + } +}; diff --git a/test/fixtures/basic/labelsOverflowFit.png b/test/fixtures/basic/labelsOverflowFit.png new file mode 100644 index 0000000000000000000000000000000000000000..d00ec8f8df4fe09c56b8b6102eac762bdadbb804 GIT binary patch literal 13158 zcmeIZ`9IX*`!D{Q8DpF5S+j=hB0|=&i|qS8LW{jZb~9xsDxnC2WH$M>A?=X1V)!S^vgM04NQeeL&kJ+E85iIFZ1H3u~S05sS2w9Ehi3jPQI zD9OQpK0W<*oAlcQGhGd!@*C$80Pq6WwbU(woYt~~H!fQS&#Pet`Cf1|N?F~Mm2u^p zYg$L1zmb3aHG}+lva3c8eiWvrCLiGXrVQE)4mwlX_bA<8GmNe%63s-D1=Ay&Zipy~ zzPghnU3g{3uW#?id&9lP#=+^LBV|YJPg673iu!_oEZ|SV`u@HTb)<={*-}%}LD5jI zQa+X{8b$T`ccPpMT@iZ%v{0qp77io0QT$+zy)?9zef)9tT&#&snqh+)c|&&Eiji{6RLCV}IG`PGmwmmK=P4Yyd)|fz2pn3ey-Ur1 z1!q?E=!l*Pf=iOKK}Wo|_j@5PBxV#xyc$;L!D#E&2e##qf6CTtKrKk@1_2D$)iJ0K}(yK-Ivc&jn7{^}ek;uq|?`W{XYu4);$#!yv|!*sIqeiF~|p}}(CbQ|H!ho&R@;SQ04 zF1KdZ0c=c;jVcJxlC^~QhZ&jH&kW1&MCxxpFv^==fh|CFA)&T_md>$VuPu=Dq-rvk zlOzgX-)!`}rIw7?L~g|N3ekBp_=+ESmGizX4$vYynJ@&`QsXYM`AfbU)xfEwXkAfZWcFc( zu&^o%@C=Fb=@bJB+E+RkK=%)!9U46|+7f;AWF`M38+c8=>I$KU%#9e@0Ch3l@Qg=b z#G8rNmq%n;Gpz225Ty&X)MBFx&(uoq%!mODNStpw6lD=Kz0V0cP9Ns*aOSQPP2FY+ zx(mW1DskdWIfZ-cjX-0tzBnI8np$!ndQ&b9o!ufqMA`9WiwDT{HVUV*dc2{1M(~j28B;x5IYc;T#GW{oWh7u#8%9>ZrufbC8eRPw- zsdoMnnB%;r4?1r-1$=ZeJv~2o<{2GgcQ{&d*4p6p6^a!!IZ3buwmZBZR+M^KeUjVp zJmn?+A?%=YAw016HFKZlg2ptDUfPB$E%%&L9q{WdqeY%^261fcnsI3#4O$`v5ASY) zc2+NW$c{k&=#PFJVNB-VUVps!bY=?^3q49dEiSBH2mT7rQPqfquxxD8GP!?Nu(BFW z4sjfyB^d`6pj;my`(@iOI3^wZI~! zP2(&JFugJ1csR&+?^9YK`NWjBgw?aB{qbY07XH6237byvMURV0%aw7>VHe1H%2lo)v(9 zxc?=jJ$VbOeV7kz7=4q$DEXG8uWokZNf*bv;9;mO0?oo(X#Nq3EtBvkXy+iM%M*=r zVUnK?E%P-ZBZd6@M~&tke}Y~iHsbKX9!^(#@eHS6s)81`X4L_U zP~Tw)D;E&<(B+jyvb7l5WeU~7ntR?n%B)R>KWG~S?Vfz9c{r3HS>n7lYcb6a3As!( z1{}SI$I&S;>tPEM8&B_m=^}>HVV2K1)(>n(z+^cj0kjax#*THI z(styaao-VJ`NU^FqN=jo+AT>|6F3xbZA^Yq&npLdd^dXRm>IiLZg;hK;)+Ss)lY>@ zmN{-;Gp!%IngWUb{ztSYJVnIP#KS9}|2l&gI@TxqtnzAa}%@{HY~$4cuKaWt}I8Ure=&Tzm^@di^-zl-wP@j_<#g+azb0eNhL`%LEN$(voU17yrVZVv- zjS8_Rl6^E~eq?nZ`C`~mjPjMr_+JkrC9qgYcn?Ri29=Q!T+p<~OW2wDXB}x$Plfw` z+`R@%-@Rjb%KY;w%92L_IPc5b;cVx4!^~37UbjLetT114ro*b?`rNBKhjY$k=Jr%L zcybw1VQ^yzq`er$X*L5zQHDGTkN`ONJZvDsqoY)3wLmt_9sO_--3md=Ym0yRfBNzH zjY@L)+wwgvEExG|F44PE;24%nDF&5a{_tcy$`bvzJKc)?<9H9W((OwbcU`>QCn&Gz z>$y&GV4}T@(pu57LJu8aoSXXHu3;E=VlKupEc)n2qwl0qi$enxX?n6>6405UecpuPGfKtlG7Z7n4;w{ru`_qtrZ5@*eBzpy8+V_F;6 z-h6cz1M1czy}q1I(3*T6Qf)hxH(Vl?eS0^>F?L};st^qe6@dCFOV=&o{x|UBx@>BljYhlehlpUm1xo-nkjt73JZcWdcT>j=){{{k9?1Mcye>}@7dbc zyhhK!?XI$y#O4YChALq3X1XH8&m@k#SOy5^$!O12I`G^lG{uv-TwrxCd8wEQuxqg{_s@p0{k7l42Sv%LZWKi*tRRRMYutl19|U&n&Q1DJ}N0gJY8 zk`H-0eh$#3p{C<>w6ljsp6Bb2xF1g5dUnQn z(Mr_Zecsp#-#sQ z#I(QEa0em%hd@TmVw(H*3-*n^j-0mphR5Qs5he#MMaD0_8d({%Rl$*ma`)+4`A}fa z#kKemsw>m);yXmi){46SKK=?~- zaPcvsJUz>cP*!-mlyT+f5+q9%>P}m}%fq0TKYoHe8suX9R=>i=>ZB^B>nH?t%MBSa zJGu_z&b(86n1!)Vuh^zHwpbY3!i{0OwhGrn{ME#qb_iXT>9OEFVx46v=xBN&5`m{( z487SRxs_RYf5|#)5Zc&a0c!dyAri8^^6t+-morsSi=X+LKG_Qyh^Sihw>NG<+`M8= z^*P>>O>SVn*J6j0)SRI2Dt2~Em^_U#yX`N3lwajMS)a?E(bsJ{%EdW7cDC`9Hs~xl zie6}jiSZnBBg0V7;A8A(FJ_QXz?;Ox%cQ1MHSkCQd&AScYfOIcu(89k@-MD}ZG7r5 z$@gbK&HW+8rXv3~cggM;%|XaYf0<7czD+C6=C%_{XKi^j^y=HIK9MOH^n~ z+z5XQ#H?E$Oz)09<7|Xh;`8z)D1c>Gt{LbUmPHdek{$d-O0f`*#4RoAQ}KgV8db0h zQQ# zCD&Gx8@^MEO;xF#IzF8&03)kKQqjHqaYz7^c*@sBFbv7Mdyg3mgxT_6w0opDr1O|l zY=imB5XY~6FrUC{+LPag?EUR(qj8w*cAG0+AqA=CUH^(h+f7l$5FaUR5)fcFmq9on zjH7pNO)Bfx6ZQ(oQS zt8&Ga{T!nA@(J(Ax~oOKay0Dcr@vRntm0R@fOC&HnNVZvzp~7QS?L|>OM5S;1o4CT zxkXF6It&k9wbUlFpheH7F7Y7|=xG6ZmXHzgxDizy1UfB(>;bn`AQUUfS!G4;Kj`*3 z_&HCEJ#fLei7&m~e5H-g`*PBo@y*f?s@I6syV4;Dl#9{lX>T3WTI#MH<*}^R^JBlI z%hFKDa6DoT*6%W$l(QP-4yiiC-edvTuT?q3WM&tfN;v!~*-mWRKi4amXTz#bQ+^Kp zX@Nk`z2DF*<*}ep`zsAjSoZdTJk6l{db7?}arrVpSNfS+!3}px;o`2YUY5|;-;;rG zcS*-j+$`hVusLFr09cljrq)8pMpW;L=~iA4Hl}Gb=`I5l2}R{-NA3zy;TIbZL`B2F znl__z#8l3}$rf;Uj81MX->e2~3M^%K%o~#Jo}Hb~!@XuVc_y6ZbEsA?5R-noQ+C#7 zrBxn=`s}zFD=}$jTJ05V>Duw1L#=*em0x62mWO{InXrAhyOVelz$|#4P0#caorgj* zE~Sl@NwsA57fuEqZpCD!(c=~D4k0q5(|TO!_+g|fOO3p49mfXD>GJrU815aW737CS zgGp}W@O5U@h~l{*yI6}+v0rv0_|htO+Mx3ABqxZ?tJJ@KSDYYYY+&NyMmRJ?)95p9 z-$vg&@cfE2g{jpS;=j?qrdZ9r+%a-0z34IiA6{E(e$1unf|hDXgPadHYui;DE#2PL z(2d#{VUIkn{bBc)1>Fc-Y+{giA-e>+G%umt;=^qKw@TI8aPCEs#!}@@n@nU+nF`fY z7`G=+fi-aDp@%2u>4cECP}Y*k%pBn>X3xJk_`KgmzaxD6iI3)Id=0QD^_azU2#R93 zbzi8JROVySqtLXJqHoUx3Cw6lOYa;dNQ(%T%(DAW{@iKO>~Z7I3{Xk^F+v8Su8=AL z&t_Z&h%5NOQxO4L1QJ2LSHBbO0Ri8O539sLz{8Q@!GRp*OKU1h;8Tl&>Xe@8L;q0i zl40GDTh#|enjyZ9U%42&Tj7^TEzbRC?tD^T-#D^p{qd#)dp0sM7qbg#l1@#37I`046&=BgXIAgdE)n=VhvOz6D1JNHbaR& z-&DGxT8JBgG$*2Qtf%33p~%^JF+an=yh!2AHB-Lf-7Lh}A7-FckiVY>RG3dtv%eCk zQwBHzhe@fH$=G8x*foh;9)-!nxglZRc~IifPw~g!JyyIlH%;3sQqi?&Rk zCJNeEPU0WFXbRjZIeSW7CL)r?Xght8^SON~Agn7jbXBj1g%zIrzgT-EqwOVuYcXx zgR;sWf;|Z@oK`KbDmCRUg(LH8XQu7Wfx1hS9?nDBLa`ENlDEl9 zLF`UWh9p@H!1mZWwC*lMO7UaFhi>ryotiPXIdVXEmr~pj2Xtb`F56rKsfo#N+~~-9 zVNK1p~Gwp-_;hncc0tuI8YaXyg*q0?aE^Bez= zKOvl>yz%GdEw%#ZYbwyx4gJlZX`DJPH@`lc&5Q|CB9akZ2oZ+Sv1j3o$_djTaOhKK zhF}2(_yQh3;FoH4%?u?(oC#1SeJeYIDf0v!5q@%VUhJNRk9nf(?MqXVbq}V&)lcq1 z=()_~7386*N^hGfR`-k_5sLAL&V*Eb7oXT9{kMNPoR);uJ};dG4wi zH7aPqhCao~i_Nv!1inS<<4wX0L>|XJdj|hOjxT?q;%n|uJ%5?(4+l@a>BiWIAp*Uq zQwPM+mRxv!0rQ1xa0<42B&5!(h>JkHW~d>g>H4KqMd8Aa<@%TjGUybG^Hx0vwU`Ta zcZfC{7x1LKu)y@Q)(>?%cJ?xzUeJRDQET=m{Oqq znlejMxrMPkWF4SgA9K>&1PKK6{eKWB!`!y=U&|&8sI-%!4uRpui_gYKOeG7 z4{to68(YsM!@LRJDWJFA&}25bqfNX<2$*e`y~fP~+@rYz2AQ$^OMv7gWSy&$Nh!!0 zyxG2UII*vUKtv(;&U~49a@{uL6o%?k20$GB%k10lNU$o9qj|BlqWv8Iy(F^mylQB za&BqJr4KPu9cr#mCt$iyxsMUOJ#Tx3&79N z)%z`$Fd?)S_Idtf-Yuw5C6a5ktmTgolL~h~?(9N}C(dny?cPhUvLV?W_dKp7ydbi~;%=0BMv;+{GZy`_2#UT z6G;kbT5R4?B)c?cIe7idK86jTBfofQf9dAQ_07fa)p73sR>!&BGrvnxNEUhb!OqPq zPL6P8)*y45&WFGcV9L|!!i|`&qz(sCg?vjO!&!wE>X}>j3p;O>MgKC&+ED0(2f%ap zQxkgn1cHK+3c#V@e?}$u{cb!UW*#Z&E~KfR8bc&2)k9`IBMf)Bxl-QJ-q_gtr(-DN z0rTKRk~t(YBPPi)rolVE{CaVJeyM>hdynuir)b@2B>9bihU`OrZqnJCPwyKz(z89W zo>V=R$=z-Q#^MPgj&U_u5Q9csNpGE?g}@#3#YNxz}6(c?_|U1d*=J9{(c%#19+n)l*!ggUCOa3VTsW}1@%vxsj2CtUlt zv?J4c*Q0`=$93A56}i2g@r3&&H|HeK@aJDZ;2c?++8byu2L%r@oPM?lojJ zL(a)`Q!ljmacG996$|j#aE07VlXv(_I)~98V|lXtzstYS`TJ>_$EPlo>qk5-I~A5o zYELex@rrU+kXKD2mN(u+CSyW;T}$M>;3AIMtBU@f_a64B`zY5j%$U56VB zxDn&{$*VXR*}Wg3BE8S*9I{{6;n$CoRG3sQ^vD7dLt?GIbyj<}HA z+Od|UIko5_SSZaBDkosAc&qMctUwOO$Oz2Pi4`s|n~CzA<3!*Y_cQ4r4X@}}0B@60 z(X9)_7f)MTj~~t*L%Q^p`szlf5*D(FTiMWEMqD?yt1$R>dS z99+NUn*54y;tH52W4pUQZ>a%A+P_ICy3bZ+oChi;d(0QoPgQBMk03lo&*IKjVpHm^ zfEHCnCalC`CVgh#|2lI^ivz}Pp%7>zFrh7yv2INI1sRK|B=!|_k&hs-;?R5DS-g7MCrT3+v%brVYmje%E5Z+3?3MmIVRa$pG>^{SYg%p-ulkY zr>pW7`R{|+pS-eW0m5HpiarFXDHtd~AiR8^(Ggx9$29OJVA%i??~9T$hm?Z&$)l&YiE5p z*4eqSn*L7w*vQQiqXstD#2-42^rgLt;sEJGZrr-4TB7V5TB%_V!u@M-zGL6&WDV2z zh^Ffb%7tvhtO0jrUs#SHuT6HPU9{i1Bf2L#AT((QvAhxR$vAR49YPY!1~|71n1(;U zIN+2+H3#> zert+O+M(DduX@W=O!XO4>T@B*N;p?Y|1D}d@q)65%i{HU{)7~Y9H@iU!28|9dP6KT zRGYyfQ$Gzvn?i5b8FL2%TDc+zZY-Mg?$ zerDRBVaX?pn=zsgtlN3TjiSd9S-QaxfpY@XKDO1k%gjZ8ag?!SWk19r*dSQ4M88*t zS-fy+#g;v*g}Oo9L}`e5qN@EriR)epPbQw*y>3^iq~exb5dva&B%w_Nf$n<$cIQ{6 z{&HB6C+l(r`U(z|Q}xaElGQ@c$3l~tkm2ubvo^|kvU<}#1Em(h%wM4d@Pn$-W&54# zf3!MIQ1e=fAyM=8CC;>857&m4hi(s8nP89n7ZYi3E{&d+FbC8nVE5K0^Hf;f``zr7 zBAlVzRuhlDi>7Op(XuQ}c!20$75HIWWezzIkT_V08Lvf`akPLwGo~|np+DB{>)VCl z^Mf^K%>+}4h=Yu*;>7m1Q_x7dsqo*`73Bv`sow5v7PPvUaskoAMvIU36|y38b?tyX zFm&Yuc!gyOY}$125qi^WDxYU8xN<3h*w8NVjQX`nONeRMT)#ho6_z3@$ZmEt5vb4{ zTg=9u{36TvyL2y&&GeGXrh&BZDF_#Q(IQ1OlkW2Aj|3&}Z!y=aW>}i)wl9Iv`*z91 zcaj~Qw}g)5AS1*YoDAHr*!A)q%gcSm>V0+meurMHQ9yKk(9!RWs{DGj4H>Xk)PHG> zpa%?fUN5azG?_EssT_0G&bIvQqrEzm@@du;B834bP6TxqoX&0FP*w4@V7k}Kn!81k zLw+-RZYH>4x355~qvo+GrPNMdJND~>r8vOB?gApFvd`bVMT-3yq5@8qM~D3?kYcmt z&^|8EMMqgqR)(p7lIl^|m7%9a-BljAqLvHa(*#FBCexJ(lHsE@vm!sKO{<*_GE2bG zZYfD({_8gpXbM;#U9+oPW4AbPnCXIgSE`5hFk8N1Ak!vab)pC_{$EqJwPHkPgm2Sd z>!e+wqWq5XtYc6M&p$E(nFR^3g5kM$22a33=4uBa1RSvqxs{ihfvA19 zOJpEw??H)=E|<6?^BPX_eH3_0Z%g4o*{)yF0>Y%D7OdRHz2krWhm97xIyeD|`eoHv zKwioiLpd)WvjxoYT7q|`zJz9;kT!S}RZ^Bng znAq$(!$00|bs~Be7&X9?dANkrQiXHR{|K}khGGZ4vjCwQU|X*D$`PJ_D1bok5_BaF zQa+Th7@M!a!BJTF`6g%WlyJ(bRCaK`k+0F4jX6H=`UXHQ#V1wxXa;jNybib{>$Hm( z<#SW!5CLt#oezIej-cRNDb1n1#bw|AGmvo9p3@KI)z3?`Rk{>!QK9#)4HYkEDhdv$ zOR}!wMEj+=pS%E{5YY{2=#MxKU*MoDHgZq~f++k7qKT>zzrvYE8-Weoo2I5;PS_qK?8X_gO313=yCb6N2YRmbxZ}gep| zR)uS6!tO&lVugMBseG{=Ap2L$p5#mS3rdg{fA-HInWp$p9oaLt5i9kD4~6fg(5_6k zcD1gU)p;yg#oM3ab+g#5;}yr#AGum;h-~T>ou+t6gKzqDp4R*xX0Zqpu6cH)m0C+h z>Mp2)eN+7iP7`d*O+V&$dSbANuJsm&vo*h_s^b;s^&o?kT^;uA`yAkGS!`nFD^S70 z%o9zkLNitry$1S$dUvulO&nN*{YN;_g9pUB=!>xQ+(AvUA~_@L0Ktn!WIs#>(qX{P zMeV@kL;jza^i7{~vwTZFHZ`CG)rtX0NRXiu6ljtB0fB`<@sHB1flLU`yQn{_Vv!-z ztrPQw`nV9Y#3{f!+M?XIbkTceIBI|*=M(`>@GQ%8?GD?j=JoGpAAtPCXEWnC2F9`* z#k+MYJ{_ey2#_vhM(m^AwE&#m=x(}pN~{H|a(Qs#;z9Xz2O zP8zKFMh!1099Y+kua^mE;3o67K<7odca-S}1hPnROJEY7fI%2a)RicqYkm%V86QzO ze7Pdfa1*{L(B?z8sHHdDjhVRf;CAScxFu8AjuLINPg5);pb9{%=KiCr99dEA36DvJTg(myI zC0T-REX3VBCkK@i067pz^f2BHBYGj@A5SP# zMEx7A$;X*w?YUW8T6QyFmPeq!NTibCy6x3ifYdE)AEMwsSb(QcT`DiAdhZOEgh;~A z|39-dh2lLW=xA1zFFRh8wEZ$^yNnWUd-F_ch6`FNvV+35Nwzbd91b=!Le4 zwOv4Z;l6OrCmAs(tXPcv=M{Xn7ykQISM89Yk(&qI)o|pw-IO0X7No|;=W-hg1k%9H zsWZ=fG@Pc2q4G;`q4P;DrTVAR+34af(By#zd0?d30B=xcdwiB;pjTK>u(y(`|2U&g zvG9F09y28|_OXU8C~;yjOeCuF6h?$1DJpJ9}oLKHby?S%^p~#vXC}Te1x+FyykZPLDB&lv7KMmpScz4 z?;hd?-0-3ZK%2r+e}NSyFAhi70At?raCapcuUCuC5`}D@HBH;nFZ*54JN0LpW!Sq1h?c6mnN_h zlNocvo2}A29+)@HO}_B4vjH3?<62k_pv2eTK}eE=YFz>izOF>wrMxj;oI&2xa2f)~ z4rE^602|lFY=7q6uY`MOE5q&-I8vtQ9rQmu34lCFb$}WC=D&qS+3$H~FTS>pdxBjo zO>p1rewylD0mVKmSwjTDu_{)iw)VN-5aNS}wLBOy66s{%g%kK^FGI#f6%k|<_q^Dv zRKNQcq`&7b4v@Y18;a26rP6&T)q{ujdsPXLW~W6!Ki_92%n=Y8E8qo6>P9OFe#s%q z>Oc*>uCQE)o{MPE;iUpo>gstwKRZH*D22*>M3oi|-ZLsB#yP}T9Vkglqfv7{4Z8o9 zddY*2B||k}PLM^i48&y!29%2teV<2(?qB+ranO|NplCQ%X3F@WBUPPIgk4 z_qii*i=Q6_`p9;nP3aW)@YmCH)PRKq9o3+lT`NE+LL9JTD9ktczkm4&>{f47-X@D7 zJ+$Z4Z1nT~pZ(?5Maw^+uj8~GFWZtJoG;M%);z>mm#2 zxgQ~YwU?p-&r~eS!QcK1^7EG(IrHV&zx-%7wDVk>)NP8R{@959JIzXKlLhJg(xH#? zoGv)sREY8UU=J8_Zh(;9XM13c;XatCs31yj^^h&ER6wb~6CUcn>CX0S0BGG8A|sLr z9Q0!hx{xNz)34BcV7$q!x`YZwvkq)2I|rO03l!e A@c;k- literal 0 HcmV?d00001 diff --git a/types/index.esm.d.ts b/types/index.esm.d.ts index c9cb068..b749ba2 100644 --- a/types/index.esm.d.ts +++ b/types/index.esm.d.ts @@ -41,7 +41,7 @@ export type LabelPosition = 'top' | 'middle' | 'bottom'; export type LabelAlign = 'left' | 'center' | 'right'; -export type LabelOverflow = 'cut' | 'hidden'; +export type LabelOverflow = 'cut' | 'hidden' | 'fit'; type TreemapControllerDatasetDividersOptions = { display?: boolean, From 9b8604992da9027fdc3afc4fd88b3a1a6615bf30 Mon Sep 17 00:00:00 2001 From: stockiNail Date: Tue, 24 Jan 2023 17:18:13 +0100 Subject: [PATCH 3/3] increases tolerance due to font changes --- test/fixtures/basic/labelsOverflowFit.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/fixtures/basic/labelsOverflowFit.js b/test/fixtures/basic/labelsOverflowFit.js index 097776f..0b2d54e 100644 --- a/test/fixtures/basic/labelsOverflowFit.js +++ b/test/fixtures/basic/labelsOverflowFit.js @@ -1,5 +1,5 @@ export default { - tolerance: 0.0060, + tolerance: 0.0075, config: { type: 'treemap', data: {