1
0
Fork 0
mirror of synced 2024-10-02 10:08:09 +13:00

Fix bug rendering tabs inside a component which uses a svelte transition

This commit is contained in:
Andrew Kingston 2021-10-11 11:34:19 +01:00
parent 4ab15190ad
commit e521596c9c

View file

@ -8,11 +8,19 @@
const selected = getContext("tab")
let tab
let tabInfo
const setTabInfo = () => {
tabInfo = tab.getBoundingClientRect()
if ($selected.title === title) {
$selected.info = tabInfo
}
// If the tabs are being rendered inside a component which uses
// a svelte transition to enter, then this initial getBoundingClientRect
// will return an incorrect position.
// We just need to get this off the main thread to fix this, by using
// a 0ms timeout.
setTimeout(() => {
tabInfo = tab.getBoundingClientRect()
if ($selected.title === title) {
$selected.info = tabInfo
}
}, 0)
}
onMount(() => {