@prosperitainova/dumbo-react-native
Version:
Dumbo for React Native Library
54 lines (51 loc) • 1.61 kB
JavaScript
;
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