UNPKG

react-standalone-form-mui

Version:

The Material UI suite for react-standalone-form library.

67 lines (54 loc) 2.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _Select = _interopRequireDefault(require("@material-ui/core/Select")); var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem")); var _ListItemIcon = _interopRequireDefault(require("@material-ui/core/ListItemIcon")); var _Typography = _interopRequireDefault(require("@material-ui/core/Typography")); var _FormControl = _interopRequireDefault(require("./FormControl")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const Select = _ref => { let { name, value, required, options = [], placeholder, setValue } = _ref; return /*#__PURE__*/_react.default.createElement(_Select.default, { value: value || '', onChange: e => setValue(name, e.target.value, required), inputProps: { name, id: name } }, !required && /*#__PURE__*/_react.default.createElement(_MenuItem.default, { value: "" }, /*#__PURE__*/_react.default.createElement("em", null, placeholder || (required ? 'Select' : 'All'))), options.map((item, index) => typeof item === 'string' ? /*#__PURE__*/_react.default.createElement(_MenuItem.default, { key: index, value: item }, item) : /*#__PURE__*/_react.default.createElement(_MenuItem.default, { key: index, value: item.value }, item.icon ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_ListItemIcon.default, null, item.icon), /*#__PURE__*/_react.default.createElement(_Typography.default, { variant: "inherit" }, item.label)) : item.label))); }; Select.propTypes = { name: _propTypes.default.any.isRequired, value: _propTypes.default.string, placeholder: _propTypes.default.node, required: _propTypes.default.bool, setValue: _propTypes.default.func.isRequired, options: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.shape({ label: _propTypes.default.node, value: _propTypes.default.any })])) }; var _default = (0, _FormControl.default)(Select); exports.default = _default;