UNPKG

@coreui/react-pro

Version:

UI Components Library for React.js

31 lines (27 loc) 1.45 kB
'use strict'; 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