@trail-ui/react
Version:
35 lines (34 loc) • 1.4 kB
JavaScript
// src/multiselect/tw-popover.tsx
import {
Popover as RACPopover,
composeRenderProps,
useSlottedContext,
PopoverContext
} from "react-aria-components";
import { twMerge } from "tailwind-merge";
import { jsx } from "react/jsx-runtime";
function Popover({ children, className, ...props }) {
const popoverContext = useSlottedContext(PopoverContext);
const isSubmenu = (popoverContext == null ? void 0 : popoverContext.trigger) === "SubmenuTrigger";
let offset = 8;
offset = props.offset !== void 0 ? props.offset : isSubmenu ? offset - 14 : offset;
return /* @__PURE__ */ jsx(
RACPopover,
{
...props,
offset,
className: composeRenderProps(className, (className2, renderProps) => {
return twMerge(
"ring-foreground/10 dark:ring-foreground/15 rounded text-[12px] shadow-md ring-1 dark:ring-inset",
renderProps.isEntering && "duration-50 animate-in fade-in placement-left:slide-in-from-right-1 placement-right:slide-in-from-left-1 placement-top:slide-in-from-bottom-1 placement-bottom:slide-in-from-top-1 ease-out",
renderProps.isExiting && "duration-50 animate-out fade-out placement-left:slide-out-to-right-1 placement-right:slide-out-to-left-1 placement-top:slide-out-to-bottom-1 placement-bottom:slide-out-to-top-1 ease-in",
className2
);
}),
children
}
);
}
export {
Popover
};