@setstate
Wenn du in der updateBar() das als Zwischenlösung angibst:
this.bar.style[direction] = value===0 ? (value + 0.1) + '%': value + '%';
dann geht es sofort.
Es scheint vielleicht transition mit width=0% im bar ein Problem zu haben wenn value beim initialisieren den Wert 0 hat???
Und wie gesagt, mit min="-1" geht es auch sofort (ohne der Änderung)...
LG
Edit:
Oder es liegt an deiner scale() Berechnung...
Wenn ich da so definiere:
const value = scale(limitedValue, this.min, this.max, 0.1, 100);
geht es auch...
Wenn du magst kann ich dir den meter zu transform:translate umbauen.. Bsp:
https://codepen.io/mcraiganthony/pen/waaeWOHier funktioniert es sofort auch bei wert 0...
OK habs mal gemacht (unsortiert..):
.progress-bar {
border-radius: var(--meter-border-radius, 1em);
overflow: hidden;
transform: translateZ(0);
height: 1em;
transition: all 400ms ease-out;
background: var(--meter-bar-color, var(--color-base, #20639b));
position:relative;
top:0;
left:0;
right:0;
bottom:0;
}
hier brauchst du eigentlich auch kein ::before mehr...
Achso.. und allen noch einen schönen 1.Advent
