diff options
| author | Ryan Berliner <[email protected]> | 2021-05-20 09:50:53 -0400 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-05-20 16:50:53 +0300 |
| commit | 4ac711b5b4c0f733870cd8dd1f18b73f964275fc (patch) | |
| tree | c91ecac7b95b6e8fd8f82ca58d66ada9dd3be809 /js/src | |
| parent | 79c3bf47bc125fd64cf8cac6cd34b03270d34e2d (diff) | |
| download | bootstrap-4ac711b5b4c0f733870cd8dd1f18b73f964275fc.tar.xz bootstrap-4ac711b5b4c0f733870cd8dd1f18b73f964275fc.zip | |
Refactor `isVisible` helper, fixing false positives from deep nesting or alternate means (#33960)
Diffstat (limited to 'js/src')
| -rw-r--r-- | js/src/util/index.js | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/js/src/util/index.js b/js/src/util/index.js index 6b38a05e9..77bdc072f 100644 --- a/js/src/util/index.js +++ b/js/src/util/index.js @@ -159,20 +159,11 @@ const typeCheckConfig = (componentName, config, configTypes) => { } const isVisible = element => { - if (!element) { + if (!isElement(element) || element.getClientRects().length === 0) { return false } - if (element.style && element.parentNode && element.parentNode.style) { - const elementStyle = getComputedStyle(element) - const parentNodeStyle = getComputedStyle(element.parentNode) - - return elementStyle.display !== 'none' && - parentNodeStyle.display !== 'none' && - elementStyle.visibility !== 'hidden' - } - - return false + return getComputedStyle(element).getPropertyValue('visibility') === 'visible' } const isDisabled = element => { |
