react-standalone-form-mui
Version:
The Material UI suite for react-standalone-form library.
67 lines (54 loc) • 2.33 kB
JavaScript
"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;