MDL-61852 core: downgrade popper to version 1.12.6 fixing usertours positioning issues
This commit is contained in:
Vendored
+1
-1
File diff suppressed because one or more lines are too long
+27
-38
@@ -1,6 +1,6 @@
|
||||
/**!
|
||||
* @fileOverview Kickass library to create and place poppers near their reference elements.
|
||||
* @version 1.12.9
|
||||
* @version 1.12.6
|
||||
* @license
|
||||
* Copyright (c) 2016 Federico Zivolo and contributors
|
||||
*
|
||||
@@ -22,21 +22,13 @@
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Description of import/upgrade into Moodle:
|
||||
* 1. Clone https://github.com/FezVrasta/popper.js into an unrelated directory
|
||||
* 2. Copy /build/popper.js to lib/amd/src/
|
||||
* 3. Add back these instructions
|
||||
*/
|
||||
|
||||
(function (global, factory) {
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
||||
typeof define === 'function' && define.amd ? define(factory) :
|
||||
(global.Popper = factory());
|
||||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
||||
typeof define === 'function' && define.amd ? define(factory) :
|
||||
(global.Popper = factory());
|
||||
}(this, (function () { 'use strict';
|
||||
|
||||
var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';
|
||||
var isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined';
|
||||
var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];
|
||||
var timeoutDuration = 0;
|
||||
for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {
|
||||
@@ -53,7 +45,7 @@ function microtaskDebounce(fn) {
|
||||
return;
|
||||
}
|
||||
called = true;
|
||||
window.Promise.resolve().then(function () {
|
||||
Promise.resolve().then(function () {
|
||||
called = false;
|
||||
fn();
|
||||
});
|
||||
@@ -110,7 +102,7 @@ function getStyleComputedProperty(element, property) {
|
||||
return [];
|
||||
}
|
||||
// NOTE: 1 DOM access here
|
||||
var css = getComputedStyle(element, null);
|
||||
var css = window.getComputedStyle(element, null);
|
||||
return property ? css[property] : css;
|
||||
}
|
||||
|
||||
@@ -138,7 +130,7 @@ function getParentNode(element) {
|
||||
function getScrollParent(element) {
|
||||
// Return body, `getScroll` will take care to get the correct `scrollTop` from it
|
||||
if (!element) {
|
||||
return document.body;
|
||||
return window.document.body;
|
||||
}
|
||||
|
||||
switch (element.nodeName) {
|
||||
@@ -180,7 +172,7 @@ function getOffsetParent(element) {
|
||||
return element.ownerDocument.documentElement;
|
||||
}
|
||||
|
||||
return document.documentElement;
|
||||
return window.document.documentElement;
|
||||
}
|
||||
|
||||
// .offsetParent will return the closest TD or TABLE in case
|
||||
@@ -227,7 +219,7 @@ function getRoot(node) {
|
||||
function findCommonOffsetParent(element1, element2) {
|
||||
// This check is needed to avoid errors in case one of the elements isn't defined for any reason
|
||||
if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {
|
||||
return document.documentElement;
|
||||
return window.document.documentElement;
|
||||
}
|
||||
|
||||
// Here we make sure to give as "start" the element that comes first in the DOM
|
||||
@@ -319,7 +311,7 @@ function getBordersSize(styles, axis) {
|
||||
var sideA = axis === 'x' ? 'Left' : 'Top';
|
||||
var sideB = sideA === 'Left' ? 'Right' : 'Bottom';
|
||||
|
||||
return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);
|
||||
return +styles['border' + sideA + 'Width'].split('px')[0] + +styles['border' + sideB + 'Width'].split('px')[0];
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -342,9 +334,9 @@ function getSize(axis, body, html, computedStyle) {
|
||||
}
|
||||
|
||||
function getWindowSizes() {
|
||||
var body = document.body;
|
||||
var html = document.documentElement;
|
||||
var computedStyle = isIE10$1() && getComputedStyle(html);
|
||||
var body = window.document.body;
|
||||
var html = window.document.documentElement;
|
||||
var computedStyle = isIE10$1() && window.getComputedStyle(html);
|
||||
|
||||
return {
|
||||
height: getSize('Height', body, html, computedStyle),
|
||||
@@ -487,8 +479,8 @@ function getOffsetRectRelativeToArbitraryNode(children, parent) {
|
||||
var scrollParent = getScrollParent(children);
|
||||
|
||||
var styles = getStyleComputedProperty(parent);
|
||||
var borderTopWidth = parseFloat(styles.borderTopWidth, 10);
|
||||
var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);
|
||||
var borderTopWidth = +styles.borderTopWidth.split('px')[0];
|
||||
var borderLeftWidth = +styles.borderLeftWidth.split('px')[0];
|
||||
|
||||
var offsets = getClientRect({
|
||||
top: childrenRect.top - parentRect.top - borderTopWidth,
|
||||
@@ -504,8 +496,8 @@ function getOffsetRectRelativeToArbitraryNode(children, parent) {
|
||||
// differently when margins are applied to it. The margins are included in
|
||||
// the box of the documentElement, in the other cases not.
|
||||
if (!isIE10 && isHTML) {
|
||||
var marginTop = parseFloat(styles.marginTop, 10);
|
||||
var marginLeft = parseFloat(styles.marginLeft, 10);
|
||||
var marginTop = +styles.marginTop.split('px')[0];
|
||||
var marginLeft = +styles.marginLeft.split('px')[0];
|
||||
|
||||
offsets.top -= borderTopWidth - marginTop;
|
||||
offsets.bottom -= borderTopWidth - marginTop;
|
||||
@@ -584,7 +576,7 @@ function getBoundaries(popper, reference, padding, boundariesElement) {
|
||||
// Handle other cases based on DOM element used as boundaries
|
||||
var boundariesNode = void 0;
|
||||
if (boundariesElement === 'scrollParent') {
|
||||
boundariesNode = getScrollParent(getParentNode(reference));
|
||||
boundariesNode = getScrollParent(getParentNode(popper));
|
||||
if (boundariesNode.nodeName === 'BODY') {
|
||||
boundariesNode = popper.ownerDocument.documentElement;
|
||||
}
|
||||
@@ -710,7 +702,7 @@ function getReferenceOffsets(state, popper, reference) {
|
||||
* @returns {Object} object containing width and height properties
|
||||
*/
|
||||
function getOuterSizes(element) {
|
||||
var styles = getComputedStyle(element);
|
||||
var styles = window.getComputedStyle(element);
|
||||
var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);
|
||||
var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);
|
||||
var result = {
|
||||
@@ -927,7 +919,7 @@ function getSupportedPropertyName(property) {
|
||||
for (var i = 0; i < prefixes.length - 1; i++) {
|
||||
var prefix = prefixes[i];
|
||||
var toCheck = prefix ? '' + prefix + upperProp : property;
|
||||
if (typeof document.body.style[toCheck] !== 'undefined') {
|
||||
if (typeof window.document.body.style[toCheck] !== 'undefined') {
|
||||
return toCheck;
|
||||
}
|
||||
}
|
||||
@@ -1046,7 +1038,7 @@ function removeEventListeners(reference, state) {
|
||||
*/
|
||||
function disableEventListeners() {
|
||||
if (this.state.eventsEnabled) {
|
||||
cancelAnimationFrame(this.scheduleUpdate);
|
||||
window.cancelAnimationFrame(this.scheduleUpdate);
|
||||
this.state = removeEventListeners(this.reference, this.state);
|
||||
}
|
||||
}
|
||||
@@ -1286,8 +1278,6 @@ function isModifierRequired(modifiers, requestingName, requestedName) {
|
||||
* @returns {Object} The data object, properly modified
|
||||
*/
|
||||
function arrow(data, options) {
|
||||
var _data$offsets$arrow;
|
||||
|
||||
// arrow depends on keepTogether in order to work
|
||||
if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {
|
||||
return data;
|
||||
@@ -1339,23 +1329,22 @@ function arrow(data, options) {
|
||||
if (reference[side] + arrowElementSize > popper[opSide]) {
|
||||
data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];
|
||||
}
|
||||
data.offsets.popper = getClientRect(data.offsets.popper);
|
||||
|
||||
// compute center of the popper
|
||||
var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;
|
||||
|
||||
// Compute the sideValue using the updated popper offsets
|
||||
// take popper margin in account because we don't have this info available
|
||||
var css = getStyleComputedProperty(data.instance.popper);
|
||||
var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);
|
||||
var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);
|
||||
var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;
|
||||
var popperMarginSide = getStyleComputedProperty(data.instance.popper, 'margin' + sideCapitalized).replace('px', '');
|
||||
var sideValue = center - getClientRect(data.offsets.popper)[side] - popperMarginSide;
|
||||
|
||||
// prevent arrowElement from being placed not contiguously to its popper
|
||||
sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);
|
||||
|
||||
data.arrowElement = arrowElement;
|
||||
data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);
|
||||
data.offsets.arrow = {};
|
||||
data.offsets.arrow[side] = Math.round(sideValue);
|
||||
data.offsets.arrow[altSide] = ''; // make sure to unset any eventual altSide value from the DOM node
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
@@ -307,7 +307,7 @@
|
||||
<location>amd/src/popper.js</location>
|
||||
<name>Popper.js</name>
|
||||
<license>MIT</license>
|
||||
<version>v1.12.9</version>
|
||||
<version>v1.12.6</version>
|
||||
<licenseversion></licenseversion>
|
||||
</library>
|
||||
</libraries>
|
||||
|
||||
Reference in New Issue
Block a user