@grafana/ui
Version:
Grafana Components Library
26 lines (23 loc) • 822 B
JavaScript
import { flip, shift } from '@floating-ui/react';
;
const BOUNDARY_ELEMENT_ID = "floating-boundary";
function getPositioningMiddleware(placement) {
var _a;
const middleware = [];
const flipMiddleware = 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 = shift();
if (placement == null ? void 0 : placement.includes("-")) {
middleware.push(flipMiddleware, shiftMiddleware);
} else {
middleware.push(shiftMiddleware, flipMiddleware);
}
return middleware;
}
export { BOUNDARY_ELEMENT_ID, getPositioningMiddleware };
//# sourceMappingURL=floating.mjs.map