UNPKG

mt-flowbite-react

Version:

Official React components built for Flowbite and Tailwind CSS

39 lines (38 loc) 1.26 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getArrowPlacement = exports.getPlacement = exports.getMiddleware = void 0; const react_1 = require("@floating-ui/react"); /** * @see https://floating-ui.com/docs/middleware */ const getMiddleware = ({ arrowRef, placement, }) => { const middleware = []; //eslint-disable-next-line //@ts-ignore middleware.push((0, react_1.offset)(8)); //eslint-disable-next-line //@ts-ignore middleware.push(placement === 'auto' ? (0, react_1.autoPlacement)() : (0, react_1.flip)()); //eslint-disable-next-line //@ts-ignore middleware.push((0, react_1.shift)({ padding: 8 })); if (arrowRef?.current) { //@ts-ignore middleware.push((0, react_1.arrow)({ element: arrowRef.current })); } return middleware; }; exports.getMiddleware = getMiddleware; const getPlacement = ({ placement }) => { return placement === 'auto' ? undefined : placement; }; exports.getPlacement = getPlacement; const getArrowPlacement = ({ placement }) => { return { top: 'bottom', right: 'left', bottom: 'top', left: 'right', }[placement.split('-')[0]]; }; exports.getArrowPlacement = getArrowPlacement;