@mantine/core
Version:
React components library focused on usability, accessibility and developer experience
37 lines (36 loc) • 1.62 kB
JavaScript
"use client";
import { createEventHandler } from "../../../core/utils/create-event-handler/create-event-handler.mjs";
import { useProps } from "../../../core/MantineProvider/use-props/use-props.mjs";
import { Popover } from "../../Popover/Popover.mjs";
import { useHoverCardContext } from "../HoverCard.context.mjs";
import { HoverCardGroupContext } from "../HoverCardGroup/HoverCardGroup.mjs";
import { use } from "react";
import { jsx } from "react/jsx-runtime";
//#region packages/@mantine/core/src/components/HoverCard/HoverCardDropdown/HoverCardDropdown.tsx
function HoverCardDropdown(props) {
const { children, onMouseEnter, onMouseLeave, ...others } = useProps("HoverCardDropdown", null, props);
const ctx = useHoverCardContext();
if (use(HoverCardGroupContext).withinGroup && ctx.getFloatingProps && ctx.floating) {
const floatingProps = ctx.getFloatingProps();
return /* @__PURE__ */ jsx(Popover.Dropdown, {
ref: ctx.floating,
...floatingProps,
onMouseEnter: createEventHandler(onMouseEnter, floatingProps.onMouseEnter),
onMouseLeave: createEventHandler(onMouseLeave, floatingProps.onMouseLeave),
...others,
children
});
}
const handleMouseEnter = createEventHandler(onMouseEnter, ctx.openDropdown);
const handleMouseLeave = createEventHandler(onMouseLeave, ctx.closeDropdown);
return /* @__PURE__ */ jsx(Popover.Dropdown, {
onMouseEnter: handleMouseEnter,
onMouseLeave: handleMouseLeave,
...others,
children
});
}
HoverCardDropdown.displayName = "@mantine/core/HoverCardDropdown";
//#endregion
export { HoverCardDropdown };
//# sourceMappingURL=HoverCardDropdown.mjs.map