@grafana/ui
Version:
Grafana Components Library
31 lines (26 loc) • 960 B
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var react = require('@floating-ui/react');
;
const BOUNDARY_ELEMENT_ID = "floating-boundary";
function getPositioningMiddleware(placement) {
var _a;
const middleware = [];
const flipMiddleware = react.flip({
// Ensure we flip to the perpendicular axis if it doesn't fit
// on narrow viewports.
crossAxis: "alignment",
fallbackAxisSideDirection: "end",
boundary: (_a = document.getElementById(BOUNDARY_ELEMENT_ID)) != null ? _a : void 0
});
const shiftMiddleware = react.shift();
if (placement == null ? void 0 : placement.includes("-")) {
middleware.push(flipMiddleware, shiftMiddleware);
} else {
middleware.push(shiftMiddleware, flipMiddleware);
}
return middleware;
}
exports.BOUNDARY_ELEMENT_ID = BOUNDARY_ELEMENT_ID;
exports.getPositioningMiddleware = getPositioningMiddleware;
//# sourceMappingURL=floating.cjs.map