UNPKG

@yamada-ui/menu

Version:

Yamada UI menu component

51 lines (49 loc) 1.63 kB
"use client" import { useContextMenu } from "./chunk-IWH3B4PS.mjs"; // src/context-menu-trigger.tsx import { forwardRef, ui } from "@yamada-ui/core"; import { PopoverAnchor, PopoverTrigger } from "@yamada-ui/popover"; import { cx, handlerAll } from "@yamada-ui/utils"; import { useState } from "react"; import { Fragment, jsx, jsxs } from "react/jsx-runtime"; var ContextMenuTrigger = forwardRef( ({ className, children, ...rest }, ref) => { var _a; const { styles } = (_a = useContextMenu()) != null ? _a : {}; const [position, setPosition] = useState({ left: 0, top: 0 }); const css = { ...styles == null ? void 0 : styles.container }; const onContextMenu = (ev) => { setPosition({ left: ev.pageX, top: ev.pageY }); }; return /* @__PURE__ */ jsxs(Fragment, { children: [ /* @__PURE__ */ jsx(PopoverAnchor, { children: /* @__PURE__ */ jsx( ui.div, { className: "ui-context-menu__anchor", style: { position: "absolute", ...position } } ) }), /* @__PURE__ */ jsx(PopoverTrigger, { children: /* @__PURE__ */ jsx( ui.div, { ref, className: cx("ui-context-menu", className), "aria-haspopup": "menu", role: "application", __css: css, ...rest, onContextMenu: handlerAll(rest.onContextMenu, onContextMenu), children } ) }) ] }); } ); ContextMenuTrigger.displayName = "ContextMenuTrigger"; ContextMenuTrigger.__ui__ = "ContextMenuTrigger"; export { ContextMenuTrigger }; //# sourceMappingURL=chunk-VDTE5ERA.mjs.map