UNPKG

pouncejs

Version:

A collection of UI components from Panther labs

74 lines (63 loc) 2.64 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose")); var _react = _interopRequireDefault(require("react")); var _Box = _interopRequireDefault(require("../../Box")); /** * A MenuItem is simply an entry in a list of menu options or dropdown options. In general, this * should be used only on autocompletes, comboboxes & menus. */ var MenuItem = function MenuItem(_ref) { var selected = _ref.selected, disabled = _ref.disabled, nested = _ref.nested, _ref$backgroundColor = _ref.backgroundColor, backgroundColor = _ref$backgroundColor === void 0 ? 'navyblue-300' : _ref$backgroundColor, _ref$selectedBackgrou = _ref.selectedBackgroundColor, selectedBackgroundColor = _ref$selectedBackgrou === void 0 ? 'navyblue-500' : _ref$selectedBackgrou, withCheckMark = _ref.withCheckMark, children = _ref.children, rest = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["selected", "disabled", "nested", "backgroundColor", "selectedBackgroundColor", "withCheckMark", "children"]); var bgColor = backgroundColor; if (selected) { bgColor = selectedBackgroundColor; } return /*#__PURE__*/_react.default.createElement(_Box.default, (0, _extends2.default)({ cursor: "pointer", fontSize: "medium", py: 4, pr: 4, pl: nested ? 22 : 4, transition: "background-color 200ms cubic-bezier(0.0, 0, 0.2, 1) 0ms", position: "relative", backgroundColor: bgColor, "aria-disabled": disabled, _selected: { backgroundColor: 'navyblue-400' }, wordBreak: "break-all" }, withCheckMark && { pr: 10, _after: { content: selected ? "url( 'data:image/svg+xml; utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 20 18\" fill=\"white\"><path d=\"M7 14.17L2.83 10l-1.41 1.41L7 17 19 5l-1.41-1.42L7 14.17z\" /></svg>' )" : "\"\"", border: '1px solid', borderColor: selected ? 'blue-400' : 'navyblue-100', borderRadius: 'small', position: 'absolute', width: '20px', height: '20px', display: 'flex', justifyContent: 'center', alignItems: 'center', top: 0, right: 4, bottom: 0, margin: 'auto 0' } }, rest), children); }; var _default = /*#__PURE__*/_react.default.memo(MenuItem); exports.default = _default;