@tolokoban/ui
Version:
React components with theme
20 lines • 1.6 kB
JavaScript
import * as React from 'react';
export function useItems(children) {
const [items, setItems] = React.useState({});
React.useEffect(() => {
const newItems = {};
for (const child of children) {
if (!child)
continue;
const { key } = child;
if (typeof key !== 'string') {
console.error('In <Combo> every child must have a `key` which is a string!', child);
continue;
}
newItems[key] = child;
}
setItems(newItems);
}, [children]);
return items;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9va3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdmlldy9Db21iby9ob29rcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQTtBQU05QixNQUFNLFVBQVUsUUFBUSxDQUFDLFFBQTJDO0lBQ2hFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBUSxFQUFFLENBQUMsQ0FBQTtJQUNuRCxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNqQixNQUFNLFFBQVEsR0FBVSxFQUFFLENBQUE7UUFDMUIsS0FBSyxNQUFNLEtBQUssSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsS0FBSztnQkFBRSxTQUFRO1lBRXBCLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUE7WUFDckIsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDMUIsT0FBTyxDQUFDLEtBQUssQ0FDVCw2REFBNkQsRUFDN0QsS0FBSyxDQUNSLENBQUE7Z0JBQ0QsU0FBUTtZQUNaLENBQUM7WUFDRCxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFBO1FBQ3pCLENBQUM7UUFDRCxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDdEIsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTtJQUNkLE9BQU8sS0FBSyxDQUFBO0FBQ2hCLENBQUMifQ==