UNPKG

@coreui/react-pro

Version:

UI Components Library for React.js

29 lines (26 loc) 1.4 kB
import { __rest, __assign } from '../../node_modules/tslib/tslib.es6.js'; import React, { forwardRef } from 'react'; import PropTypes from 'prop-types'; var createNativeOptions = function (options) { return options && options.map(function (option, index) { return option.options ? (React.createElement("optgroup", { label: option.label, key: index }, createNativeOptions(option.options))) : (React.createElement("option", { value: option.value, key: index, disabled: option.disabled }, option.label)); }); }; var CMultiSelectNativeSelect = forwardRef(function (_a, ref) { var id = _a.id, name = _a.name, options = _a.options, rest = __rest(_a, ["id", "name", "options"]); return (React.createElement("select", __assign({ id: id }, (id && !name && { name: "".concat(id, "-multi-select") }), (name && { name: name }), { tabIndex: -1, style: { display: 'none' } }, rest, { ref: ref }), options && createNativeOptions(options))); }); CMultiSelectNativeSelect.propTypes = { id: PropTypes.string, name: PropTypes.string, options: PropTypes.array, value: PropTypes.oneOfType([ PropTypes.number, PropTypes.string, PropTypes.arrayOf(PropTypes.string.isRequired), ]), }; CMultiSelectNativeSelect.displayName = 'CMultiSelectNativeSelect'; export { CMultiSelectNativeSelect }; //# sourceMappingURL=CMultiSelectNativeSelect.js.map