UNPKG

@yamada-ui/menu

Version:

Yamada UI menu component

99 lines (96 loc) 3.85 kB
"use client" "use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/context-menu-trigger.tsx var context_menu_trigger_exports = {}; __export(context_menu_trigger_exports, { ContextMenuTrigger: () => ContextMenuTrigger }); module.exports = __toCommonJS(context_menu_trigger_exports); var import_core = require("@yamada-ui/core"); var import_popover = require("@yamada-ui/popover"); var import_utils2 = require("@yamada-ui/utils"); var import_react = require("react"); // src/menu-context.ts var import_use_descendant = require("@yamada-ui/use-descendant"); var import_utils = require("@yamada-ui/utils"); var { DescendantsContextProvider, useDescendant: useMenuDescendant, useDescendants, useDescendantsContext: useMenuDescendantsContext } = (0, import_use_descendant.createDescendant)(); var [MenuProvider, useMenu] = (0, import_utils.createContext)({ name: "MenuContext", errorMessage: `useMenu returned is 'undefined'. Seems you forgot to wrap the components in "<Menu />"` }); var [ContextMenuProvider, useContextMenu] = (0, import_utils.createContext)({ name: "ContextMenuContext", strict: false }); var [UpstreamMenuProvider, useUpstreamMenu] = (0, import_utils.createContext)({ name: "UpstreamMenuContext", strict: false }); var [UpstreamMenuItemProvider, useUpstreamMenuItem] = (0, import_utils.createContext)({ name: "UpstreamMenuItemContext", strict: false }); // src/context-menu-trigger.tsx var import_jsx_runtime = require("react/jsx-runtime"); var ContextMenuTrigger = (0, import_core.forwardRef)( ({ className, children, ...rest }, ref) => { var _a; const { styles } = (_a = useContextMenu()) != null ? _a : {}; const [position, setPosition] = (0, import_react.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__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_popover.PopoverAnchor, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)( import_core.ui.div, { className: "ui-context-menu__anchor", style: { position: "absolute", ...position } } ) }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_popover.PopoverTrigger, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)( import_core.ui.div, { ref, className: (0, import_utils2.cx)("ui-context-menu", className), "aria-haspopup": "menu", role: "application", __css: css, ...rest, onContextMenu: (0, import_utils2.handlerAll)(rest.onContextMenu, onContextMenu), children } ) }) ] }); } ); ContextMenuTrigger.displayName = "ContextMenuTrigger"; ContextMenuTrigger.__ui__ = "ContextMenuTrigger"; // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { ContextMenuTrigger }); //# sourceMappingURL=context-menu-trigger.js.map