Fixing a couple of forced reflows in our tutorial components #9733
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes two perf issues for tutorials:
First, the tutorial callout was running it's resize observer even when not visible. The callback for the observer was checking the height of an element, which forces the browser to rerender elements to get an accurate number. I guarded this behind a check to see if the callout is visible and also cleaned up the event listeners in that component a little bit while I was there.
Second, the tutorial container was running a querySelector to get a reference to its container so that it could run a resize observer on it. Query selectors also force reflows, so I changed this to instead use a ref of the container element.
Finally, I fixed a small CSS bug that I noticed when resizing tutorials where the editor sidebar wasn't taking up the whole height of the editor.