From d90b157243882e37aa5c894b177c55876efcd1e6 Mon Sep 17 00:00:00 2001 From: janschoenherr Date: Thu, 15 Dec 2022 09:19:22 +0100 Subject: [PATCH] fix: Slider shows not centered initially with `center: true` --- CHANGELOG.md | 1 + src/js/mixin/slider.js | 17 +++++------------ 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 00198923b0..1f1e80dc1d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ - Fix height calculation for `box-sizing: border-box` on Accordion content - Fix error in console if image can't be loaded in Svg component with `stroke-animation: true` - Fix `scrollIntoView()` no longer considers elements with `position: clip` as scrollable parents +- Fix Slider shows not centered initially with `center: true` ### Changed diff --git a/src/js/mixin/slider.js b/src/js/mixin/slider.js index ef9ca4b06f..20e62773c0 100644 --- a/src/js/mixin/slider.js +++ b/src/js/mixin/slider.js @@ -97,7 +97,7 @@ export default { if (!force && stack.length > 1) { if (stack.length === 2) { - this._transitioner.forward(Math.min(this.duration, 200)); + this._transitioner?.forward(Math.min(this.duration, 200)); } return; @@ -130,17 +130,10 @@ export default { prev && trigger(prev, 'itemhidden', [this]); trigger(next, 'itemshown', [this]); - return new Promise((resolve) => { - requestAnimationFrame(() => { - stack.shift(); - if (stack.length) { - this.show(stack.shift(), true); - } else { - this._transitioner = null; - } - resolve(); - }); - }); + stack.shift(); + this._transitioner = null; + + requestAnimationFrame(() => stack.length && this.show(stack.shift(), true)); }); prev && trigger(prev, 'itemhide', [this]);