@smart-react-components/ui
Version:
SRC UI includes React and Styled components.
34 lines (33 loc) • 1.11 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = require("react");
const useSelectBoxItemList = ({ children }) => {
const collectItems = (arr, children) => {
(!Array.isArray(children) ? [children] : children).forEach(item => {
if (item) {
if (typeof item.props.value !== 'undefined' && item.props.value !== null) {
arr.push(item.props);
}
else if (typeof item.props.children !== 'undefined' && item.props.value !== null) {
collectItems(arr, item.props.children);
}
}
});
};
const itemList = (0, react_1.useMemo)(() => {
const arr = [];
collectItems(arr, children);
const itemList = {};
arr.forEach((item, idx) => {
itemList[String(item.value)] = {
children: item.children,
idx,
};
});
return itemList;
}, [children]);
return {
itemList,
};
};
exports.default = useSelectBoxItemList;
;