@coreui/react-pro
Version:
UI Components Library for React.js
31 lines (27 loc) • 1.45 kB
JavaScript
var tslib_es6 = require('../../node_modules/tslib/tslib.es6.js');
var React = require('react');
var PropTypes = require('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 = React.forwardRef(function (_a, ref) {
var id = _a.id, name = _a.name, options = _a.options, rest = tslib_es6.__rest(_a, ["id", "name", "options"]);
return (React.createElement("select", tslib_es6.__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';
exports.CMultiSelectNativeSelect = CMultiSelectNativeSelect;
//# sourceMappingURL=CMultiSelectNativeSelect.js.map
;