1
This commit is contained in:
29
app/src/vendor/muuri-src/utils/getContainingBlock.js
vendored
Normal file
29
app/src/vendor/muuri-src/utils/getContainingBlock.js
vendored
Normal file
@ -0,0 +1,29 @@
|
||||
/**
|
||||
* Copyright (c) 2015-present, Haltu Oy
|
||||
* Released under the MIT license
|
||||
* https://github.com/haltu/muuri/blob/master/LICENSE.md
|
||||
*/
|
||||
|
||||
import getStyle from './getStyle';
|
||||
import isTransformed from './isTransformed';
|
||||
|
||||
/**
|
||||
* Returns an absolute positioned element's containing block, which is
|
||||
* considered to be the closest ancestor element that the target element's
|
||||
* positioning is relative to. Disclaimer: this only works as intended for
|
||||
* absolute positioned elements.
|
||||
*
|
||||
* @param {HTMLElement} element
|
||||
* @returns {(Document|Element)}
|
||||
*/
|
||||
export default function getContainingBlock(element) {
|
||||
// As long as the containing block is an element, static and not
|
||||
// transformed, try to get the element's parent element and fallback to
|
||||
// document. https://github.com/niklasramo/mezr/blob/0.6.1/mezr.js#L339
|
||||
var doc = document;
|
||||
var res = element || doc;
|
||||
while (res && res !== doc && getStyle(res, 'position') === 'static' && !isTransformed(res)) {
|
||||
res = res.parentElement || doc;
|
||||
}
|
||||
return res;
|
||||
}
|
||||
Reference in New Issue
Block a user