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.

35 lines (33 loc) 987 B
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; return /* @__PURE__ */ jsx(MenuProvider, { value: useMemo(() => filterUndefined({ closeOnSelect, size, variant }), [ closeOnSelect, size, variant ]), children: /* @__PURE__ */ jsx(Popover, { ...rest }) }); } Menu.Button = MenuButton; Menu.Item = MenuItem; Menu.List = MenuList; Menu.displayName = "Menu"; //#endregion export { Menu as default }; globalThis.__vuiVersion__ = "5.3.0-alpha.2" //# sourceMappingURL=menu.js.map