UNPKG

@veracity/vui

Version:

Veracity UI is a React component library crafted for use within Veracity applications and pages. Based on Styled Components and @xstyled.

36 lines (34 loc) 1.01 kB
import { filterUndefined } from "../utils/object.js"; import Popover from "../popover/popover.js"; import { MenuProvider } from "./context.js"; import { MenuButton } from "./menuButton.js"; import { MenuItem } from "./menuItem.js"; import { MenuList } from "./menuList.js"; import { useMemo } from "react"; import { jsx } from "react/jsx-runtime"; //#region src/menu/menu.tsx /** Wraps Popover component and exposes some props to the children via context. */ function Menu(props) { const { closeOnSelect = true, size, variant, ...rest } = props; const context = useMemo(() => filterUndefined({ closeOnSelect, size, variant }), [ closeOnSelect, size, variant ]); return /* @__PURE__ */ jsx(MenuProvider, { value: context, children: /* @__PURE__ */ jsx(Popover, { ...rest }) }); } Menu.Button = MenuButton; Menu.Item = MenuItem; Menu.List = MenuList; Menu.displayName = "Menu"; //#endregion export { Menu, Menu as default }; globalThis.__vuiVersion__ = "5.3.1" //# sourceMappingURL=menu.js.map