UNPKG

zmp-react

Version:

Build full featured iOS & Android apps using ZMP & React

41 lines (40 loc) 1.39 kB
import _extends from "@babel/runtime/helpers/extends"; import React, { forwardRef, useRef, useImperativeHandle } from 'react'; import { classNames, getExtraAttrs } from '../shared/utils'; import { colorClasses } from '../shared/mixins'; var MenuDropdown = /*#__PURE__*/forwardRef(function (props, ref) { var className = props.className, id = props.id, style = props.style, children = props.children, contentHeight = props.contentHeight, position = props.position, left = props.left, center = props.center, right = props.right; var extraAttrs = getExtraAttrs(props); var elRef = useRef(null); useImperativeHandle(ref, function () { return { el: elRef.current }; }); var positionComputed = position || 'left'; if (left) positionComputed = 'left'; if (center) positionComputed = 'center'; if (right) positionComputed = 'right'; var classes = classNames('menu-dropdown', "menu-dropdown-" + positionComputed, colorClasses(props), className); return /*#__PURE__*/React.createElement("div", _extends({ id: id, style: style, className: classes, ref: elRef }, extraAttrs), /*#__PURE__*/React.createElement("div", { className: "menu-dropdown-content", style: { height: contentHeight } }, children)); }); MenuDropdown.displayName = 'zmp-menu-dropdown'; export default MenuDropdown;