fix(b-tooltip): Updated tooltip to work under shadowDOM #6997
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.
Describe the PR
Our company heavily uses web components to implement the micro-frontend architecture. Bootstrap-vue is heavily used in our application and we have thus far had to not use tooltips/popovers due to the shadow dom issue. After researching it internally for a while we realized a small adjustment to how the element is checked for DOM attachment and visibility would fix this issue. The "node.isConnected" property is widely supported by browsers and is ShadowDOM aware. The utility methods were created though due to specifically IE11 not supporting that property allowing us to be backward compatible. Wanted to contribute that back to the wider community.
Added to dom utility methods
Updated isVisibile() dom util to use new isConnectedToDOM() function
Updated the dom.spec.js unit tests for the two new dom utilities
Fixed the dom.spec.js to get the select() and selectAll() tests working
PR checklist
What kind of change does this PR introduce? (check at least one)
fix(...)
, requires a patch version updatefeat(...)
, requires a minor version updatefeat(...)
, requires a minor version updatefix(...)
, requires a patch or minor version updatechore(docs)
, requires a patch version updateDoes this PR introduce a breaking change? (check one)
The PR fulfills these requirements:
dev
branch, not themaster
branch[...] (fixes #xxx[,#xxx])
, where "xxx" is the issue number)fix(alert): not alerting during SSR render
,docs(badge): update pill examples
,chore(docs): fix typo in README
, etc.). This is very important, as theCHANGELOG
is generated from these messages, and determines the next version type (patch or minor).If new features/enhancement/fixes are added or changed:
If adding a new feature, or changing the functionality of an existing feature, the PR's
description above includes: