UNPKG

@prosperitainova/dumbo-react-native

Version:
54 lines (51 loc) 1.61 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Menu = void 0; var _react = _interopRequireDefault(require("react")); var _reactNative = require("react-native"); var _colors = require("../../styles/colors"); var _helpers = require("../../helpers"); var _MenuItem = require("../MenuItem"); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } /** Props for Menu component */ /** * Menu component for rendering a menu (list of clickable options) * * {@link https://github.com/carbon-design-system/carbon-react-native/blob/main/example/src/Views/Menu.tsx | Example code} */ class Menu extends _react.default.Component { get styles() { const { maxMenuHeight } = this.props; return _reactNative.StyleSheet.create({ wrapper: { maxHeight: maxMenuHeight || 280, backgroundColor: (0, _colors.getColor)('layer01') } }); } render() { const { items, componentProps, style } = this.props; const finalItems = items || []; return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, { bounces: false, style: (0, _helpers.styleReferenceBreaker)(this.styles.wrapper, style), accessibilityRole: "menu", ...(componentProps || {}), children: finalItems.map((item, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_MenuItem.MenuItem, { ...item, lastItem: index === finalItems.length - 1 }, index)) }); } } exports.Menu = Menu; //# sourceMappingURL=index.js.map