Skip to content

Commit

Permalink
fix: size text with computed styles even when hidden (#8572)
Browse files Browse the repository at this point in the history
* fix: size text with computed styles even when hidden

* refactor: remove unneeded try/catch.
  • Loading branch information
gonfunko committed Sep 13, 2024
1 parent def80b3 commit 732bd7f
Showing 1 changed file with 8 additions and 10 deletions.
18 changes: 8 additions & 10 deletions core/utils/dom.ts
Original file line number Diff line number Diff line change
Expand Up @@ -208,16 +208,14 @@ export function getTextWidth(textElement: SVGTextElement): number {
}
}

// Attempt to compute fetch the width of the SVG text element.
try {
width = textElement.getComputedTextLength();
} catch (e) {
// In other cases where we fail to get the computed text. Instead, use an
// approximation and do not cache the result. At some later point in time
// when the block is inserted into the visible DOM, this method will be
// called again and, at that point in time, will not throw an exception.
return textElement.textContent!.length * 8;
}
// Compute the width of the SVG text element.
const style = window.getComputedStyle(textElement);
width = getFastTextWidthWithSizeString(
textElement,
style.fontSize,
style.fontWeight,
style.fontFamily,
);

// Cache the computed width and return.
if (cacheWidths) {
Expand Down

0 comments on commit 732bd7f

Please sign in to comment.