@frontify/fondue
Version:
Design system of Frontify
23 lines (22 loc) • 676 B
JavaScript
import { Children as s, isValidElement as t, cloneElement as i } from "react";
import { isFragment as m } from "react-is";
const p = (r, n) => {
const o = [];
return s.forEach(r, (e) => {
m(e) ? o.push(...p(e.props.children, n)) : t(e) && o.push(i(e, { ...e.props ?? {}, ...n }));
}), o.filter(Boolean);
}, l = (r, n) => r ? p(r, n).map((e) => ({
...e,
props: {
...e.props,
children: l(e.props.children, {
parentId: e.props.id,
level: e.props.level + 1
})
}
})) : [];
export {
l as recursivelyRemoveFragmentsAndEnrichChildren,
p as removeFragmentsAndEnrichChildren
};
//# sourceMappingURL=removeFragmentsAndEnrichChildren.es.js.map