UNPKG

@ozen-ui/kit

Version:

React component library

25 lines (24 loc) 2.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Menu = exports.cnMenu = void 0; var tslib_1 = require("tslib"); require("./Menu.css"); var react_1 = tslib_1.__importStar(require("react")); var useDeprecated_1 = require("../../hooks/useDeprecated"); var useThemeProps_1 = require("../../hooks/useThemeProps"); var classname_1 = require("../../utils/classname"); var getPaperSizeToFormElement_1 = require("../../utils/getPaperSizeToFormElement"); var Paper_1 = require("../Paper"); var Popover_1 = require("../Popover"); var components_1 = require("./components"); var constants_1 = require("./constants"); exports.cnMenu = (0, classname_1.cn)('Menu'); exports.Menu = (0, react_1.forwardRef)(function (inProps, ref) { var props = (0, useThemeProps_1.useThemeProps)({ props: inProps, name: 'Menu' }); var _a = props.size, size = _a === void 0 ? constants_1.MENU_DEFAULT_SIZE : _a, open = props.open, menuListProps = props.menuListProps, menuListRef = props.menuListRef, onClose = props.onClose, children = props.children, className = props.className, other = tslib_1.__rest(props, ["size", "open", "menuListProps", "menuListRef", "onClose", "children", "className"]); var radius = (0, getPaperSizeToFormElement_1.getPaperSizeToFormElement)(size); (0, useDeprecated_1.useDeprecatedProperty)(!!menuListRef, 'menuListRef', 'menuListProps.ref'); return (react_1.default.createElement(Popover_1.Popover, tslib_1.__assign({ as: Paper_1.Paper, offset: [0, 4], radius: radius }, other, { open: open, onClose: onClose, className: (0, exports.cnMenu)('', [className]), disableEnforceFocus: true, ref: ref }), react_1.default.createElement(components_1.MenuContextConsumer, { onClose: onClose, menuListRef: menuListRef, menuListProps: tslib_1.__assign(tslib_1.__assign({ size: size }, menuListProps), { ref: menuListRef || (menuListProps === null || menuListProps === void 0 ? void 0 : menuListProps.ref) }) }, children))); }); exports.Menu.displayName = 'Menu';