@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
JavaScript
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