@carbon/ibm-products
Version:
Carbon for IBM Products
56 lines (51 loc) • 1.77 kB
JavaScript
/**
* Copyright IBM Corp. 2020, 2025
*
* This source code is licensed under the Apache-2.0 license found in the
* LICENSE file in the root directory of this source tree.
*/
;
var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js');
var React = require('react');
var index = require('../../_virtual/index.js');
var cx = require('classnames');
var settings = require('../../settings.js');
var AddSelectRow = require('./AddSelectRow.js');
var useFocus = require('./hooks/useFocus.js');
const blockClass = `${settings.pkg.prefix}--add-select__selections`;
const componentName = 'AddSelectList';
let AddSelectList = _ref => {
let {
filteredItems,
multi,
...rest
} = _ref;
const [focus, setFocus] = useFocus.default(filteredItems.length);
return /*#__PURE__*/React.createElement("div", {
id: "add-select-focus",
className: cx(`${blockClass}-wrapper`, {
[`${blockClass}-wrapper-multi`]: multi
})
}, /*#__PURE__*/React.createElement("div", {
className: `${blockClass}`
}, /*#__PURE__*/React.createElement("div", {
className: `${blockClass}-body`,
role: "treegrid",
"aria-label": "add select tree label"
}, filteredItems.map((item, index) => /*#__PURE__*/React.createElement(AddSelectRow.AddSelectRow, _rollupPluginBabelHelpers.extends({
key: item.id,
index: index,
focus: focus,
setSize: filteredItems.length,
item: item,
multi: multi,
setFocus: setFocus
}, rest))))));
};
AddSelectList.propTypes = {
filteredItems: index.default.array,
focus: index.default.oneOfType([index.default.number, index.default.string]),
multi: index.default.bool
};
AddSelectList.displayName = componentName;
exports.AddSelectList = AddSelectList;