mirror of
https://github.com/idanoo/GoScrobble.git
synced 2024-11-23 00:45:16 +00:00
81 lines
2.6 KiB
JavaScript
81 lines
2.6 KiB
JavaScript
|
"use strict";
|
||
|
|
||
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
||
|
|
||
|
exports.__esModule = true;
|
||
|
exports.toModifierMap = toModifierMap;
|
||
|
exports.toModifierArray = toModifierArray;
|
||
|
exports["default"] = mergeOptionsWithPopperConfig;
|
||
|
|
||
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
||
|
|
||
|
function toModifierMap(modifiers) {
|
||
|
var result = {};
|
||
|
|
||
|
if (!Array.isArray(modifiers)) {
|
||
|
return modifiers || result;
|
||
|
} // eslint-disable-next-line no-unused-expressions
|
||
|
|
||
|
|
||
|
modifiers == null ? void 0 : modifiers.forEach(function (m) {
|
||
|
result[m.name] = m;
|
||
|
});
|
||
|
return result;
|
||
|
}
|
||
|
|
||
|
function toModifierArray(map) {
|
||
|
if (map === void 0) {
|
||
|
map = {};
|
||
|
}
|
||
|
|
||
|
if (Array.isArray(map)) return map;
|
||
|
return Object.keys(map).map(function (k) {
|
||
|
map[k].name = k;
|
||
|
return map[k];
|
||
|
});
|
||
|
}
|
||
|
|
||
|
function mergeOptionsWithPopperConfig(_ref) {
|
||
|
var _modifiers$preventOve, _modifiers$preventOve2, _modifiers$offset, _modifiers$arrow;
|
||
|
|
||
|
var enabled = _ref.enabled,
|
||
|
enableEvents = _ref.enableEvents,
|
||
|
placement = _ref.placement,
|
||
|
flip = _ref.flip,
|
||
|
offset = _ref.offset,
|
||
|
fixed = _ref.fixed,
|
||
|
containerPadding = _ref.containerPadding,
|
||
|
arrowElement = _ref.arrowElement,
|
||
|
_ref$popperConfig = _ref.popperConfig,
|
||
|
popperConfig = _ref$popperConfig === void 0 ? {} : _ref$popperConfig;
|
||
|
var modifiers = toModifierMap(popperConfig.modifiers);
|
||
|
return (0, _extends2["default"])({}, popperConfig, {
|
||
|
placement: placement,
|
||
|
enabled: enabled,
|
||
|
strategy: fixed ? 'fixed' : popperConfig.strategy,
|
||
|
modifiers: toModifierArray((0, _extends2["default"])({}, modifiers, {
|
||
|
eventListeners: {
|
||
|
enabled: enableEvents
|
||
|
},
|
||
|
preventOverflow: (0, _extends2["default"])({}, modifiers.preventOverflow, {
|
||
|
options: containerPadding ? (0, _extends2["default"])({
|
||
|
padding: containerPadding
|
||
|
}, (_modifiers$preventOve = modifiers.preventOverflow) == null ? void 0 : _modifiers$preventOve.options) : (_modifiers$preventOve2 = modifiers.preventOverflow) == null ? void 0 : _modifiers$preventOve2.options
|
||
|
}),
|
||
|
offset: {
|
||
|
options: (0, _extends2["default"])({
|
||
|
offset: offset
|
||
|
}, (_modifiers$offset = modifiers.offset) == null ? void 0 : _modifiers$offset.options)
|
||
|
},
|
||
|
arrow: (0, _extends2["default"])({}, modifiers.arrow, {
|
||
|
enabled: !!arrowElement,
|
||
|
options: (0, _extends2["default"])({}, (_modifiers$arrow = modifiers.arrow) == null ? void 0 : _modifiers$arrow.options, {
|
||
|
element: arrowElement
|
||
|
})
|
||
|
}),
|
||
|
flip: (0, _extends2["default"])({
|
||
|
enabled: !!flip
|
||
|
}, modifiers.flip)
|
||
|
}))
|
||
|
});
|
||
|
}
|