You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
1.8 KiB
82 lines
1.8 KiB
11 months ago
|
'use strict';
|
||
|
|
||
|
Object.defineProperty(exports, '__esModule', { value: true });
|
||
|
|
||
|
const buildPopperOptions = (props, arrowProps) => {
|
||
|
const { placement, strategy, popperOptions } = props;
|
||
|
const options = {
|
||
|
placement,
|
||
|
strategy,
|
||
|
...popperOptions,
|
||
|
modifiers: genModifiers(props)
|
||
|
};
|
||
|
attachArrow(options, arrowProps);
|
||
|
deriveExtraModifiers(options, popperOptions == null ? void 0 : popperOptions.modifiers);
|
||
|
return options;
|
||
|
};
|
||
|
const unwrapMeasurableEl = ($el) => {
|
||
|
let el = null;
|
||
|
if (!$el)
|
||
|
return null;
|
||
|
if ("getBoundingClientRect" in $el || $el instanceof HTMLElement) {
|
||
|
el = $el;
|
||
|
} else {
|
||
|
el = $el.$el;
|
||
|
}
|
||
|
return el;
|
||
|
};
|
||
|
function genModifiers(options) {
|
||
|
const { offset, gpuAcceleration, fallbackPlacements } = options;
|
||
|
return [
|
||
|
{
|
||
|
name: "offset",
|
||
|
options: {
|
||
|
offset: [0, offset != null ? offset : 12]
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
name: "preventOverflow",
|
||
|
options: {
|
||
|
padding: {
|
||
|
top: 2,
|
||
|
bottom: 2,
|
||
|
left: 5,
|
||
|
right: 5
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
name: "flip",
|
||
|
options: {
|
||
|
padding: 5,
|
||
|
fallbackPlacements: fallbackPlacements != null ? fallbackPlacements : []
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
name: "computeStyles",
|
||
|
options: {
|
||
|
gpuAcceleration,
|
||
|
adaptive: gpuAcceleration
|
||
|
}
|
||
|
}
|
||
|
];
|
||
|
}
|
||
|
function attachArrow(options, { arrowEl, arrowOffset }) {
|
||
|
options.modifiers.push({
|
||
|
name: "arrow",
|
||
|
options: {
|
||
|
element: arrowEl,
|
||
|
padding: arrowOffset != null ? arrowOffset : 5
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
function deriveExtraModifiers(options, modifiers) {
|
||
|
if (modifiers) {
|
||
|
options.modifiers = [...options.modifiers, ...modifiers != null ? modifiers : []];
|
||
|
}
|
||
|
}
|
||
|
|
||
|
exports.buildPopperOptions = buildPopperOptions;
|
||
|
exports.unwrapMeasurableEl = unwrapMeasurableEl;
|
||
|
//# sourceMappingURL=utils.js.map
|