Hinzufügen der Bibliotheken flag-icons, popper und select2 zur Verbesserung der Dropdown-, Tooltip- und Auswahlfeldfunktionalität.
This commit is contained in:
84
EnvelopeGenerator.Web/wwwroot/lib/popper/dist/esm/modifiers/applyStyles.js
vendored
Normal file
84
EnvelopeGenerator.Web/wwwroot/lib/popper/dist/esm/modifiers/applyStyles.js
vendored
Normal file
@@ -0,0 +1,84 @@
|
||||
import getNodeName from "../dom-utils/getNodeName.js";
|
||||
import { isHTMLElement } from "../dom-utils/instanceOf.js"; // This modifier takes the styles prepared by the `computeStyles` modifier
|
||||
// and applies them to the HTMLElements such as popper and arrow
|
||||
|
||||
function applyStyles(_ref) {
|
||||
var state = _ref.state;
|
||||
Object.keys(state.elements).forEach(function (name) {
|
||||
var style = state.styles[name] || {};
|
||||
var attributes = state.attributes[name] || {};
|
||||
var element = state.elements[name]; // arrow is optional + virtual elements
|
||||
|
||||
if (!isHTMLElement(element) || !getNodeName(element)) {
|
||||
return;
|
||||
} // Flow doesn't support to extend this property, but it's the most
|
||||
// effective way to apply styles to an HTMLElement
|
||||
// $FlowFixMe[cannot-write]
|
||||
|
||||
|
||||
Object.assign(element.style, style);
|
||||
Object.keys(attributes).forEach(function (name) {
|
||||
var value = attributes[name];
|
||||
|
||||
if (value === false) {
|
||||
element.removeAttribute(name);
|
||||
} else {
|
||||
element.setAttribute(name, value === true ? '' : value);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function effect(_ref2) {
|
||||
var state = _ref2.state;
|
||||
var initialStyles = {
|
||||
popper: {
|
||||
position: state.options.strategy,
|
||||
left: '0',
|
||||
top: '0',
|
||||
margin: '0'
|
||||
},
|
||||
arrow: {
|
||||
position: 'absolute'
|
||||
},
|
||||
reference: {}
|
||||
};
|
||||
Object.assign(state.elements.popper.style, initialStyles.popper);
|
||||
state.styles = initialStyles;
|
||||
|
||||
if (state.elements.arrow) {
|
||||
Object.assign(state.elements.arrow.style, initialStyles.arrow);
|
||||
}
|
||||
|
||||
return function () {
|
||||
Object.keys(state.elements).forEach(function (name) {
|
||||
var element = state.elements[name];
|
||||
var attributes = state.attributes[name] || {};
|
||||
var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them
|
||||
|
||||
var style = styleProperties.reduce(function (style, property) {
|
||||
style[property] = '';
|
||||
return style;
|
||||
}, {}); // arrow is optional + virtual elements
|
||||
|
||||
if (!isHTMLElement(element) || !getNodeName(element)) {
|
||||
return;
|
||||
}
|
||||
|
||||
Object.assign(element.style, style);
|
||||
Object.keys(attributes).forEach(function (attribute) {
|
||||
element.removeAttribute(attribute);
|
||||
});
|
||||
});
|
||||
};
|
||||
} // eslint-disable-next-line import/no-unused-modules
|
||||
|
||||
|
||||
export default {
|
||||
name: 'applyStyles',
|
||||
enabled: true,
|
||||
phase: 'write',
|
||||
fn: applyStyles,
|
||||
effect: effect,
|
||||
requires: ['computeStyles']
|
||||
};
|
||||
90
EnvelopeGenerator.Web/wwwroot/lib/popper/dist/esm/modifiers/arrow.js
vendored
Normal file
90
EnvelopeGenerator.Web/wwwroot/lib/popper/dist/esm/modifiers/arrow.js
vendored
Normal file
@@ -0,0 +1,90 @@
|
||||
import getBasePlacement from "../utils/getBasePlacement.js";
|
||||
import getLayoutRect from "../dom-utils/getLayoutRect.js";
|
||||
import contains from "../dom-utils/contains.js";
|
||||
import getOffsetParent from "../dom-utils/getOffsetParent.js";
|
||||
import getMainAxisFromPlacement from "../utils/getMainAxisFromPlacement.js";
|
||||
import { within } from "../utils/within.js";
|
||||
import mergePaddingObject from "../utils/mergePaddingObject.js";
|
||||
import expandToHashMap from "../utils/expandToHashMap.js";
|
||||
import { left, right, basePlacements, top, bottom } from "../enums.js"; // eslint-disable-next-line import/no-unused-modules
|
||||
|
||||
var toPaddingObject = function toPaddingObject(padding, state) {
|
||||
padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {
|
||||
placement: state.placement
|
||||
})) : padding;
|
||||
return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));
|
||||
};
|
||||
|
||||
function arrow(_ref) {
|
||||
var _state$modifiersData$;
|
||||
|
||||
var state = _ref.state,
|
||||
name = _ref.name,
|
||||
options = _ref.options;
|
||||
var arrowElement = state.elements.arrow;
|
||||
var popperOffsets = state.modifiersData.popperOffsets;
|
||||
var basePlacement = getBasePlacement(state.placement);
|
||||
var axis = getMainAxisFromPlacement(basePlacement);
|
||||
var isVertical = [left, right].indexOf(basePlacement) >= 0;
|
||||
var len = isVertical ? 'height' : 'width';
|
||||
|
||||
if (!arrowElement || !popperOffsets) {
|
||||
return;
|
||||
}
|
||||
|
||||
var paddingObject = toPaddingObject(options.padding, state);
|
||||
var arrowRect = getLayoutRect(arrowElement);
|
||||
var minProp = axis === 'y' ? top : left;
|
||||
var maxProp = axis === 'y' ? bottom : right;
|
||||
var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];
|
||||
var startDiff = popperOffsets[axis] - state.rects.reference[axis];
|
||||
var arrowOffsetParent = getOffsetParent(arrowElement);
|
||||
var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;
|
||||
var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is
|
||||
// outside of the popper bounds
|
||||
|
||||
var min = paddingObject[minProp];
|
||||
var max = clientSize - arrowRect[len] - paddingObject[maxProp];
|
||||
var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;
|
||||
var offset = within(min, center, max); // Prevents breaking syntax highlighting...
|
||||
|
||||
var axisProp = axis;
|
||||
state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);
|
||||
}
|
||||
|
||||
function effect(_ref2) {
|
||||
var state = _ref2.state,
|
||||
options = _ref2.options;
|
||||
var _options$element = options.element,
|
||||
arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;
|
||||
|
||||
if (arrowElement == null) {
|
||||
return;
|
||||
} // CSS selector
|
||||
|
||||
|
||||
if (typeof arrowElement === 'string') {
|
||||
arrowElement = state.elements.popper.querySelector(arrowElement);
|
||||
|
||||
if (!arrowElement) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (!contains(state.elements.popper, arrowElement)) {
|
||||
return;
|
||||
}
|
||||
|
||||
state.elements.arrow = arrowElement;
|
||||
} // eslint-disable-next-line import/no-unused-modules
|
||||
|
||||
|
||||
export default {
|
||||
name: 'arrow',
|
||||
enabled: true,
|
||||
phase: 'main',
|
||||
fn: arrow,
|
||||
effect: effect,
|
||||
requires: ['popperOffsets'],
|
||||
requiresIfExists: ['preventOverflow']
|
||||
};
|
||||
169
EnvelopeGenerator.Web/wwwroot/lib/popper/dist/esm/modifiers/computeStyles.js
vendored
Normal file
169
EnvelopeGenerator.Web/wwwroot/lib/popper/dist/esm/modifiers/computeStyles.js
vendored
Normal file
@@ -0,0 +1,169 @@
|
||||
import { top, left, right, bottom, end } from "../enums.js";
|
||||
import getOffsetParent from "../dom-utils/getOffsetParent.js";
|
||||
import getWindow from "../dom-utils/getWindow.js";
|
||||
import getDocumentElement from "../dom-utils/getDocumentElement.js";
|
||||
import getComputedStyle from "../dom-utils/getComputedStyle.js";
|
||||
import getBasePlacement from "../utils/getBasePlacement.js";
|
||||
import getVariation from "../utils/getVariation.js";
|
||||
import { round } from "../utils/math.js"; // eslint-disable-next-line import/no-unused-modules
|
||||
|
||||
var unsetSides = {
|
||||
top: 'auto',
|
||||
right: 'auto',
|
||||
bottom: 'auto',
|
||||
left: 'auto'
|
||||
}; // Round the offsets to the nearest suitable subpixel based on the DPR.
|
||||
// Zooming can change the DPR, but it seems to report a value that will
|
||||
// cleanly divide the values into the appropriate subpixels.
|
||||
|
||||
function roundOffsetsByDPR(_ref, win) {
|
||||
var x = _ref.x,
|
||||
y = _ref.y;
|
||||
var dpr = win.devicePixelRatio || 1;
|
||||
return {
|
||||
x: round(x * dpr) / dpr || 0,
|
||||
y: round(y * dpr) / dpr || 0
|
||||
};
|
||||
}
|
||||
|
||||
export function mapToStyles(_ref2) {
|
||||
var _Object$assign2;
|
||||
|
||||
var popper = _ref2.popper,
|
||||
popperRect = _ref2.popperRect,
|
||||
placement = _ref2.placement,
|
||||
variation = _ref2.variation,
|
||||
offsets = _ref2.offsets,
|
||||
position = _ref2.position,
|
||||
gpuAcceleration = _ref2.gpuAcceleration,
|
||||
adaptive = _ref2.adaptive,
|
||||
roundOffsets = _ref2.roundOffsets,
|
||||
isFixed = _ref2.isFixed;
|
||||
var _offsets$x = offsets.x,
|
||||
x = _offsets$x === void 0 ? 0 : _offsets$x,
|
||||
_offsets$y = offsets.y,
|
||||
y = _offsets$y === void 0 ? 0 : _offsets$y;
|
||||
|
||||
var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({
|
||||
x: x,
|
||||
y: y
|
||||
}) : {
|
||||
x: x,
|
||||
y: y
|
||||
};
|
||||
|
||||
x = _ref3.x;
|
||||
y = _ref3.y;
|
||||
var hasX = offsets.hasOwnProperty('x');
|
||||
var hasY = offsets.hasOwnProperty('y');
|
||||
var sideX = left;
|
||||
var sideY = top;
|
||||
var win = window;
|
||||
|
||||
if (adaptive) {
|
||||
var offsetParent = getOffsetParent(popper);
|
||||
var heightProp = 'clientHeight';
|
||||
var widthProp = 'clientWidth';
|
||||
|
||||
if (offsetParent === getWindow(popper)) {
|
||||
offsetParent = getDocumentElement(popper);
|
||||
|
||||
if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {
|
||||
heightProp = 'scrollHeight';
|
||||
widthProp = 'scrollWidth';
|
||||
}
|
||||
} // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it
|
||||
|
||||
|
||||
offsetParent = offsetParent;
|
||||
|
||||
if (placement === top || (placement === left || placement === right) && variation === end) {
|
||||
sideY = bottom;
|
||||
var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]
|
||||
offsetParent[heightProp];
|
||||
y -= offsetY - popperRect.height;
|
||||
y *= gpuAcceleration ? 1 : -1;
|
||||
}
|
||||
|
||||
if (placement === left || (placement === top || placement === bottom) && variation === end) {
|
||||
sideX = right;
|
||||
var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]
|
||||
offsetParent[widthProp];
|
||||
x -= offsetX - popperRect.width;
|
||||
x *= gpuAcceleration ? 1 : -1;
|
||||
}
|
||||
}
|
||||
|
||||
var commonStyles = Object.assign({
|
||||
position: position
|
||||
}, adaptive && unsetSides);
|
||||
|
||||
var _ref4 = roundOffsets === true ? roundOffsetsByDPR({
|
||||
x: x,
|
||||
y: y
|
||||
}, getWindow(popper)) : {
|
||||
x: x,
|
||||
y: y
|
||||
};
|
||||
|
||||
x = _ref4.x;
|
||||
y = _ref4.y;
|
||||
|
||||
if (gpuAcceleration) {
|
||||
var _Object$assign;
|
||||
|
||||
return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign));
|
||||
}
|
||||
|
||||
return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : '', _Object$assign2[sideX] = hasX ? x + "px" : '', _Object$assign2.transform = '', _Object$assign2));
|
||||
}
|
||||
|
||||
function computeStyles(_ref5) {
|
||||
var state = _ref5.state,
|
||||
options = _ref5.options;
|
||||
var _options$gpuAccelerat = options.gpuAcceleration,
|
||||
gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,
|
||||
_options$adaptive = options.adaptive,
|
||||
adaptive = _options$adaptive === void 0 ? true : _options$adaptive,
|
||||
_options$roundOffsets = options.roundOffsets,
|
||||
roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;
|
||||
var commonStyles = {
|
||||
placement: getBasePlacement(state.placement),
|
||||
variation: getVariation(state.placement),
|
||||
popper: state.elements.popper,
|
||||
popperRect: state.rects.popper,
|
||||
gpuAcceleration: gpuAcceleration,
|
||||
isFixed: state.options.strategy === 'fixed'
|
||||
};
|
||||
|
||||
if (state.modifiersData.popperOffsets != null) {
|
||||
state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {
|
||||
offsets: state.modifiersData.popperOffsets,
|
||||
position: state.options.strategy,
|
||||
adaptive: adaptive,
|
||||
roundOffsets: roundOffsets
|
||||
})));
|
||||
}
|
||||
|
||||
if (state.modifiersData.arrow != null) {
|
||||
state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {
|
||||
offsets: state.modifiersData.arrow,
|
||||
position: 'absolute',
|
||||
adaptive: false,
|
||||
roundOffsets: roundOffsets
|
||||
})));
|
||||
}
|
||||
|
||||
state.attributes.popper = Object.assign({}, state.attributes.popper, {
|
||||
'data-popper-placement': state.placement
|
||||
});
|
||||
} // eslint-disable-next-line import/no-unused-modules
|
||||
|
||||
|
||||
export default {
|
||||
name: 'computeStyles',
|
||||
enabled: true,
|
||||
phase: 'beforeWrite',
|
||||
fn: computeStyles,
|
||||
data: {}
|
||||
};
|
||||
49
EnvelopeGenerator.Web/wwwroot/lib/popper/dist/esm/modifiers/eventListeners.js
vendored
Normal file
49
EnvelopeGenerator.Web/wwwroot/lib/popper/dist/esm/modifiers/eventListeners.js
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
import getWindow from "../dom-utils/getWindow.js"; // eslint-disable-next-line import/no-unused-modules
|
||||
|
||||
var passive = {
|
||||
passive: true
|
||||
};
|
||||
|
||||
function effect(_ref) {
|
||||
var state = _ref.state,
|
||||
instance = _ref.instance,
|
||||
options = _ref.options;
|
||||
var _options$scroll = options.scroll,
|
||||
scroll = _options$scroll === void 0 ? true : _options$scroll,
|
||||
_options$resize = options.resize,
|
||||
resize = _options$resize === void 0 ? true : _options$resize;
|
||||
var window = getWindow(state.elements.popper);
|
||||
var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);
|
||||
|
||||
if (scroll) {
|
||||
scrollParents.forEach(function (scrollParent) {
|
||||
scrollParent.addEventListener('scroll', instance.update, passive);
|
||||
});
|
||||
}
|
||||
|
||||
if (resize) {
|
||||
window.addEventListener('resize', instance.update, passive);
|
||||
}
|
||||
|
||||
return function () {
|
||||
if (scroll) {
|
||||
scrollParents.forEach(function (scrollParent) {
|
||||
scrollParent.removeEventListener('scroll', instance.update, passive);
|
||||
});
|
||||
}
|
||||
|
||||
if (resize) {
|
||||
window.removeEventListener('resize', instance.update, passive);
|
||||
}
|
||||
};
|
||||
} // eslint-disable-next-line import/no-unused-modules
|
||||
|
||||
|
||||
export default {
|
||||
name: 'eventListeners',
|
||||
enabled: true,
|
||||
phase: 'write',
|
||||
fn: function fn() {},
|
||||
effect: effect,
|
||||
data: {}
|
||||
};
|
||||
147
EnvelopeGenerator.Web/wwwroot/lib/popper/dist/esm/modifiers/flip.js
vendored
Normal file
147
EnvelopeGenerator.Web/wwwroot/lib/popper/dist/esm/modifiers/flip.js
vendored
Normal file
@@ -0,0 +1,147 @@
|
||||
import getOppositePlacement from "../utils/getOppositePlacement.js";
|
||||
import getBasePlacement from "../utils/getBasePlacement.js";
|
||||
import getOppositeVariationPlacement from "../utils/getOppositeVariationPlacement.js";
|
||||
import detectOverflow from "../utils/detectOverflow.js";
|
||||
import computeAutoPlacement from "../utils/computeAutoPlacement.js";
|
||||
import { bottom, top, start, right, left, auto } from "../enums.js";
|
||||
import getVariation from "../utils/getVariation.js"; // eslint-disable-next-line import/no-unused-modules
|
||||
|
||||
function getExpandedFallbackPlacements(placement) {
|
||||
if (getBasePlacement(placement) === auto) {
|
||||
return [];
|
||||
}
|
||||
|
||||
var oppositePlacement = getOppositePlacement(placement);
|
||||
return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];
|
||||
}
|
||||
|
||||
function flip(_ref) {
|
||||
var state = _ref.state,
|
||||
options = _ref.options,
|
||||
name = _ref.name;
|
||||
|
||||
if (state.modifiersData[name]._skip) {
|
||||
return;
|
||||
}
|
||||
|
||||
var _options$mainAxis = options.mainAxis,
|
||||
checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,
|
||||
_options$altAxis = options.altAxis,
|
||||
checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,
|
||||
specifiedFallbackPlacements = options.fallbackPlacements,
|
||||
padding = options.padding,
|
||||
boundary = options.boundary,
|
||||
rootBoundary = options.rootBoundary,
|
||||
altBoundary = options.altBoundary,
|
||||
_options$flipVariatio = options.flipVariations,
|
||||
flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,
|
||||
allowedAutoPlacements = options.allowedAutoPlacements;
|
||||
var preferredPlacement = state.options.placement;
|
||||
var basePlacement = getBasePlacement(preferredPlacement);
|
||||
var isBasePlacement = basePlacement === preferredPlacement;
|
||||
var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));
|
||||
var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {
|
||||
return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {
|
||||
placement: placement,
|
||||
boundary: boundary,
|
||||
rootBoundary: rootBoundary,
|
||||
padding: padding,
|
||||
flipVariations: flipVariations,
|
||||
allowedAutoPlacements: allowedAutoPlacements
|
||||
}) : placement);
|
||||
}, []);
|
||||
var referenceRect = state.rects.reference;
|
||||
var popperRect = state.rects.popper;
|
||||
var checksMap = new Map();
|
||||
var makeFallbackChecks = true;
|
||||
var firstFittingPlacement = placements[0];
|
||||
|
||||
for (var i = 0; i < placements.length; i++) {
|
||||
var placement = placements[i];
|
||||
|
||||
var _basePlacement = getBasePlacement(placement);
|
||||
|
||||
var isStartVariation = getVariation(placement) === start;
|
||||
var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;
|
||||
var len = isVertical ? 'width' : 'height';
|
||||
var overflow = detectOverflow(state, {
|
||||
placement: placement,
|
||||
boundary: boundary,
|
||||
rootBoundary: rootBoundary,
|
||||
altBoundary: altBoundary,
|
||||
padding: padding
|
||||
});
|
||||
var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;
|
||||
|
||||
if (referenceRect[len] > popperRect[len]) {
|
||||
mainVariationSide = getOppositePlacement(mainVariationSide);
|
||||
}
|
||||
|
||||
var altVariationSide = getOppositePlacement(mainVariationSide);
|
||||
var checks = [];
|
||||
|
||||
if (checkMainAxis) {
|
||||
checks.push(overflow[_basePlacement] <= 0);
|
||||
}
|
||||
|
||||
if (checkAltAxis) {
|
||||
checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);
|
||||
}
|
||||
|
||||
if (checks.every(function (check) {
|
||||
return check;
|
||||
})) {
|
||||
firstFittingPlacement = placement;
|
||||
makeFallbackChecks = false;
|
||||
break;
|
||||
}
|
||||
|
||||
checksMap.set(placement, checks);
|
||||
}
|
||||
|
||||
if (makeFallbackChecks) {
|
||||
// `2` may be desired in some cases – research later
|
||||
var numberOfChecks = flipVariations ? 3 : 1;
|
||||
|
||||
var _loop = function _loop(_i) {
|
||||
var fittingPlacement = placements.find(function (placement) {
|
||||
var checks = checksMap.get(placement);
|
||||
|
||||
if (checks) {
|
||||
return checks.slice(0, _i).every(function (check) {
|
||||
return check;
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
if (fittingPlacement) {
|
||||
firstFittingPlacement = fittingPlacement;
|
||||
return "break";
|
||||
}
|
||||
};
|
||||
|
||||
for (var _i = numberOfChecks; _i > 0; _i--) {
|
||||
var _ret = _loop(_i);
|
||||
|
||||
if (_ret === "break") break;
|
||||
}
|
||||
}
|
||||
|
||||
if (state.placement !== firstFittingPlacement) {
|
||||
state.modifiersData[name]._skip = true;
|
||||
state.placement = firstFittingPlacement;
|
||||
state.reset = true;
|
||||
}
|
||||
} // eslint-disable-next-line import/no-unused-modules
|
||||
|
||||
|
||||
export default {
|
||||
name: 'flip',
|
||||
enabled: true,
|
||||
phase: 'main',
|
||||
fn: flip,
|
||||
requiresIfExists: ['offset'],
|
||||
data: {
|
||||
_skip: false
|
||||
}
|
||||
};
|
||||
61
EnvelopeGenerator.Web/wwwroot/lib/popper/dist/esm/modifiers/hide.js
vendored
Normal file
61
EnvelopeGenerator.Web/wwwroot/lib/popper/dist/esm/modifiers/hide.js
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
import { top, bottom, left, right } from "../enums.js";
|
||||
import detectOverflow from "../utils/detectOverflow.js";
|
||||
|
||||
function getSideOffsets(overflow, rect, preventedOffsets) {
|
||||
if (preventedOffsets === void 0) {
|
||||
preventedOffsets = {
|
||||
x: 0,
|
||||
y: 0
|
||||
};
|
||||
}
|
||||
|
||||
return {
|
||||
top: overflow.top - rect.height - preventedOffsets.y,
|
||||
right: overflow.right - rect.width + preventedOffsets.x,
|
||||
bottom: overflow.bottom - rect.height + preventedOffsets.y,
|
||||
left: overflow.left - rect.width - preventedOffsets.x
|
||||
};
|
||||
}
|
||||
|
||||
function isAnySideFullyClipped(overflow) {
|
||||
return [top, right, bottom, left].some(function (side) {
|
||||
return overflow[side] >= 0;
|
||||
});
|
||||
}
|
||||
|
||||
function hide(_ref) {
|
||||
var state = _ref.state,
|
||||
name = _ref.name;
|
||||
var referenceRect = state.rects.reference;
|
||||
var popperRect = state.rects.popper;
|
||||
var preventedOffsets = state.modifiersData.preventOverflow;
|
||||
var referenceOverflow = detectOverflow(state, {
|
||||
elementContext: 'reference'
|
||||
});
|
||||
var popperAltOverflow = detectOverflow(state, {
|
||||
altBoundary: true
|
||||
});
|
||||
var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);
|
||||
var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);
|
||||
var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);
|
||||
var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);
|
||||
state.modifiersData[name] = {
|
||||
referenceClippingOffsets: referenceClippingOffsets,
|
||||
popperEscapeOffsets: popperEscapeOffsets,
|
||||
isReferenceHidden: isReferenceHidden,
|
||||
hasPopperEscaped: hasPopperEscaped
|
||||
};
|
||||
state.attributes.popper = Object.assign({}, state.attributes.popper, {
|
||||
'data-popper-reference-hidden': isReferenceHidden,
|
||||
'data-popper-escaped': hasPopperEscaped
|
||||
});
|
||||
} // eslint-disable-next-line import/no-unused-modules
|
||||
|
||||
|
||||
export default {
|
||||
name: 'hide',
|
||||
enabled: true,
|
||||
phase: 'main',
|
||||
requiresIfExists: ['preventOverflow'],
|
||||
fn: hide
|
||||
};
|
||||
9
EnvelopeGenerator.Web/wwwroot/lib/popper/dist/esm/modifiers/index.js
vendored
Normal file
9
EnvelopeGenerator.Web/wwwroot/lib/popper/dist/esm/modifiers/index.js
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
export { default as applyStyles } from "./applyStyles.js";
|
||||
export { default as arrow } from "./arrow.js";
|
||||
export { default as computeStyles } from "./computeStyles.js";
|
||||
export { default as eventListeners } from "./eventListeners.js";
|
||||
export { default as flip } from "./flip.js";
|
||||
export { default as hide } from "./hide.js";
|
||||
export { default as offset } from "./offset.js";
|
||||
export { default as popperOffsets } from "./popperOffsets.js";
|
||||
export { default as preventOverflow } from "./preventOverflow.js";
|
||||
54
EnvelopeGenerator.Web/wwwroot/lib/popper/dist/esm/modifiers/offset.js
vendored
Normal file
54
EnvelopeGenerator.Web/wwwroot/lib/popper/dist/esm/modifiers/offset.js
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
import getBasePlacement from "../utils/getBasePlacement.js";
|
||||
import { top, left, right, placements } from "../enums.js"; // eslint-disable-next-line import/no-unused-modules
|
||||
|
||||
export function distanceAndSkiddingToXY(placement, rects, offset) {
|
||||
var basePlacement = getBasePlacement(placement);
|
||||
var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;
|
||||
|
||||
var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {
|
||||
placement: placement
|
||||
})) : offset,
|
||||
skidding = _ref[0],
|
||||
distance = _ref[1];
|
||||
|
||||
skidding = skidding || 0;
|
||||
distance = (distance || 0) * invertDistance;
|
||||
return [left, right].indexOf(basePlacement) >= 0 ? {
|
||||
x: distance,
|
||||
y: skidding
|
||||
} : {
|
||||
x: skidding,
|
||||
y: distance
|
||||
};
|
||||
}
|
||||
|
||||
function offset(_ref2) {
|
||||
var state = _ref2.state,
|
||||
options = _ref2.options,
|
||||
name = _ref2.name;
|
||||
var _options$offset = options.offset,
|
||||
offset = _options$offset === void 0 ? [0, 0] : _options$offset;
|
||||
var data = placements.reduce(function (acc, placement) {
|
||||
acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);
|
||||
return acc;
|
||||
}, {});
|
||||
var _data$state$placement = data[state.placement],
|
||||
x = _data$state$placement.x,
|
||||
y = _data$state$placement.y;
|
||||
|
||||
if (state.modifiersData.popperOffsets != null) {
|
||||
state.modifiersData.popperOffsets.x += x;
|
||||
state.modifiersData.popperOffsets.y += y;
|
||||
}
|
||||
|
||||
state.modifiersData[name] = data;
|
||||
} // eslint-disable-next-line import/no-unused-modules
|
||||
|
||||
|
||||
export default {
|
||||
name: 'offset',
|
||||
enabled: true,
|
||||
phase: 'main',
|
||||
requires: ['popperOffsets'],
|
||||
fn: offset
|
||||
};
|
||||
25
EnvelopeGenerator.Web/wwwroot/lib/popper/dist/esm/modifiers/popperOffsets.js
vendored
Normal file
25
EnvelopeGenerator.Web/wwwroot/lib/popper/dist/esm/modifiers/popperOffsets.js
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
import computeOffsets from "../utils/computeOffsets.js";
|
||||
|
||||
function popperOffsets(_ref) {
|
||||
var state = _ref.state,
|
||||
name = _ref.name;
|
||||
// Offsets are the actual position the popper needs to have to be
|
||||
// properly positioned near its reference element
|
||||
// This is the most basic placement, and will be adjusted by
|
||||
// the modifiers in the next step
|
||||
state.modifiersData[name] = computeOffsets({
|
||||
reference: state.rects.reference,
|
||||
element: state.rects.popper,
|
||||
strategy: 'absolute',
|
||||
placement: state.placement
|
||||
});
|
||||
} // eslint-disable-next-line import/no-unused-modules
|
||||
|
||||
|
||||
export default {
|
||||
name: 'popperOffsets',
|
||||
enabled: true,
|
||||
phase: 'read',
|
||||
fn: popperOffsets,
|
||||
data: {}
|
||||
};
|
||||
142
EnvelopeGenerator.Web/wwwroot/lib/popper/dist/esm/modifiers/preventOverflow.js
vendored
Normal file
142
EnvelopeGenerator.Web/wwwroot/lib/popper/dist/esm/modifiers/preventOverflow.js
vendored
Normal file
@@ -0,0 +1,142 @@
|
||||
import { top, left, right, bottom, start } from "../enums.js";
|
||||
import getBasePlacement from "../utils/getBasePlacement.js";
|
||||
import getMainAxisFromPlacement from "../utils/getMainAxisFromPlacement.js";
|
||||
import getAltAxis from "../utils/getAltAxis.js";
|
||||
import { within, withinMaxClamp } from "../utils/within.js";
|
||||
import getLayoutRect from "../dom-utils/getLayoutRect.js";
|
||||
import getOffsetParent from "../dom-utils/getOffsetParent.js";
|
||||
import detectOverflow from "../utils/detectOverflow.js";
|
||||
import getVariation from "../utils/getVariation.js";
|
||||
import getFreshSideObject from "../utils/getFreshSideObject.js";
|
||||
import { min as mathMin, max as mathMax } from "../utils/math.js";
|
||||
|
||||
function preventOverflow(_ref) {
|
||||
var state = _ref.state,
|
||||
options = _ref.options,
|
||||
name = _ref.name;
|
||||
var _options$mainAxis = options.mainAxis,
|
||||
checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,
|
||||
_options$altAxis = options.altAxis,
|
||||
checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,
|
||||
boundary = options.boundary,
|
||||
rootBoundary = options.rootBoundary,
|
||||
altBoundary = options.altBoundary,
|
||||
padding = options.padding,
|
||||
_options$tether = options.tether,
|
||||
tether = _options$tether === void 0 ? true : _options$tether,
|
||||
_options$tetherOffset = options.tetherOffset,
|
||||
tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;
|
||||
var overflow = detectOverflow(state, {
|
||||
boundary: boundary,
|
||||
rootBoundary: rootBoundary,
|
||||
padding: padding,
|
||||
altBoundary: altBoundary
|
||||
});
|
||||
var basePlacement = getBasePlacement(state.placement);
|
||||
var variation = getVariation(state.placement);
|
||||
var isBasePlacement = !variation;
|
||||
var mainAxis = getMainAxisFromPlacement(basePlacement);
|
||||
var altAxis = getAltAxis(mainAxis);
|
||||
var popperOffsets = state.modifiersData.popperOffsets;
|
||||
var referenceRect = state.rects.reference;
|
||||
var popperRect = state.rects.popper;
|
||||
var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {
|
||||
placement: state.placement
|
||||
})) : tetherOffset;
|
||||
var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {
|
||||
mainAxis: tetherOffsetValue,
|
||||
altAxis: tetherOffsetValue
|
||||
} : Object.assign({
|
||||
mainAxis: 0,
|
||||
altAxis: 0
|
||||
}, tetherOffsetValue);
|
||||
var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;
|
||||
var data = {
|
||||
x: 0,
|
||||
y: 0
|
||||
};
|
||||
|
||||
if (!popperOffsets) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (checkMainAxis) {
|
||||
var _offsetModifierState$;
|
||||
|
||||
var mainSide = mainAxis === 'y' ? top : left;
|
||||
var altSide = mainAxis === 'y' ? bottom : right;
|
||||
var len = mainAxis === 'y' ? 'height' : 'width';
|
||||
var offset = popperOffsets[mainAxis];
|
||||
var min = offset + overflow[mainSide];
|
||||
var max = offset - overflow[altSide];
|
||||
var additive = tether ? -popperRect[len] / 2 : 0;
|
||||
var minLen = variation === start ? referenceRect[len] : popperRect[len];
|
||||
var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go
|
||||
// outside the reference bounds
|
||||
|
||||
var arrowElement = state.elements.arrow;
|
||||
var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {
|
||||
width: 0,
|
||||
height: 0
|
||||
};
|
||||
var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();
|
||||
var arrowPaddingMin = arrowPaddingObject[mainSide];
|
||||
var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want
|
||||
// to include its full size in the calculation. If the reference is small
|
||||
// and near the edge of a boundary, the popper can overflow even if the
|
||||
// reference is not overflowing as well (e.g. virtual elements with no
|
||||
// width or height)
|
||||
|
||||
var arrowLen = within(0, referenceRect[len], arrowRect[len]);
|
||||
var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;
|
||||
var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;
|
||||
var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);
|
||||
var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;
|
||||
var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;
|
||||
var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;
|
||||
var tetherMax = offset + maxOffset - offsetModifierValue;
|
||||
var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);
|
||||
popperOffsets[mainAxis] = preventedOffset;
|
||||
data[mainAxis] = preventedOffset - offset;
|
||||
}
|
||||
|
||||
if (checkAltAxis) {
|
||||
var _offsetModifierState$2;
|
||||
|
||||
var _mainSide = mainAxis === 'x' ? top : left;
|
||||
|
||||
var _altSide = mainAxis === 'x' ? bottom : right;
|
||||
|
||||
var _offset = popperOffsets[altAxis];
|
||||
|
||||
var _len = altAxis === 'y' ? 'height' : 'width';
|
||||
|
||||
var _min = _offset + overflow[_mainSide];
|
||||
|
||||
var _max = _offset - overflow[_altSide];
|
||||
|
||||
var isOriginSide = [top, left].indexOf(basePlacement) !== -1;
|
||||
|
||||
var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;
|
||||
|
||||
var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;
|
||||
|
||||
var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;
|
||||
|
||||
var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);
|
||||
|
||||
popperOffsets[altAxis] = _preventedOffset;
|
||||
data[altAxis] = _preventedOffset - _offset;
|
||||
}
|
||||
|
||||
state.modifiersData[name] = data;
|
||||
} // eslint-disable-next-line import/no-unused-modules
|
||||
|
||||
|
||||
export default {
|
||||
name: 'preventOverflow',
|
||||
enabled: true,
|
||||
phase: 'main',
|
||||
fn: preventOverflow,
|
||||
requiresIfExists: ['offset']
|
||||
};
|
||||
Reference in New Issue
Block a user