mirror of
https://github.com/idanoo/GoScrobble.git
synced 2024-11-24 09:25:15 +00:00
69 lines
2.3 KiB
JavaScript
69 lines
2.3 KiB
JavaScript
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
||
|
export 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;
|
||
|
}
|
||
|
export 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];
|
||
|
});
|
||
|
}
|
||
|
export default 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 _extends({}, popperConfig, {
|
||
|
placement: placement,
|
||
|
enabled: enabled,
|
||
|
strategy: fixed ? 'fixed' : popperConfig.strategy,
|
||
|
modifiers: toModifierArray(_extends({}, modifiers, {
|
||
|
eventListeners: {
|
||
|
enabled: enableEvents
|
||
|
},
|
||
|
preventOverflow: _extends({}, modifiers.preventOverflow, {
|
||
|
options: containerPadding ? _extends({
|
||
|
padding: containerPadding
|
||
|
}, (_modifiers$preventOve = modifiers.preventOverflow) == null ? void 0 : _modifiers$preventOve.options) : (_modifiers$preventOve2 = modifiers.preventOverflow) == null ? void 0 : _modifiers$preventOve2.options
|
||
|
}),
|
||
|
offset: {
|
||
|
options: _extends({
|
||
|
offset: offset
|
||
|
}, (_modifiers$offset = modifiers.offset) == null ? void 0 : _modifiers$offset.options)
|
||
|
},
|
||
|
arrow: _extends({}, modifiers.arrow, {
|
||
|
enabled: !!arrowElement,
|
||
|
options: _extends({}, (_modifiers$arrow = modifiers.arrow) == null ? void 0 : _modifiers$arrow.options, {
|
||
|
element: arrowElement
|
||
|
})
|
||
|
}),
|
||
|
flip: _extends({
|
||
|
enabled: !!flip
|
||
|
}, modifiers.flip)
|
||
|
}))
|
||
|
});
|
||
|
}
|