zmp-react
Version:
Build full featured iOS & Android apps using ZMP & React
41 lines (40 loc) • 1.39 kB
JavaScript
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;