UNPKG

react-cm-ui

Version:
97 lines (82 loc) 2.92 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _classnames = _interopRequireDefault(require("classnames")); var _propTypes = _interopRequireDefault(require("prop-types")); var _react = _interopRequireDefault(require("react")); var _dropdownMenuConstants = require("./dropdownMenuConstants"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var propTypes = { children: _propTypes["default"].node, className: _propTypes["default"].string, /** * Deprecated prop. Please use `disabled` instead. */ disable: _propTypes["default"].bool, /** * A Dropdown Menu Option or Dropdown Button Option can be disabled. */ disabled: _propTypes["default"].bool, id: _propTypes["default"].string, label: _propTypes["default"].string, onClick: _propTypes["default"].func, onKeyDown: _propTypes["default"].func, style: _propTypes["default"].shape({}), tabIndex: _propTypes["default"].number }; var defaultProps = { children: undefined, className: undefined, disable: false, disabled: false, id: undefined, label: undefined, onClick: function onClick() {}, onKeyDown: function onKeyDown() {}, style: undefined, tabIndex: -1 }; function DropdownMenuOption(props) { var children = props.children, className = props.className, disable = props.disable, disabled = props.disabled, id = props.id, onClick = props.onClick, onKeyDown = props.onKeyDown, label = props.label, style = props.style, tabIndex = props.tabIndex; var isDisabled = disabled || disable; var rootClasses = (0, _classnames["default"])(_dropdownMenuConstants.OPTION_CLASS_NAME, className, _defineProperty({}, "".concat(_dropdownMenuConstants.OPTION_CLASS_NAME, "-disable"), isDisabled)); function handleOnClick(event) { event.stopPropagation(); onClick(event, id, label); } function handleOnKeyDown(event) { event.stopPropagation(); onKeyDown(event, id, label); } return /*#__PURE__*/_react["default"].createElement("div", { className: rootClasses, id: id, onClick: function onClick(event) { return handleOnClick(event); }, onKeyDown: function onKeyDown(event) { return handleOnKeyDown(event); }, role: "button", style: style, tabIndex: tabIndex }, /*#__PURE__*/_react["default"].createElement("div", { className: _dropdownMenuConstants.OPTION_INNER_CLASS_NAME }, children || label)); } DropdownMenuOption.propTypes = propTypes; DropdownMenuOption.defaultProps = defaultProps; var _default = DropdownMenuOption; exports["default"] = _default;