import type { ReactNode, ReactElement } from "react"; import { Children, isValidElement } from "react"; /** * Получает дочерний компонент, фильтруя его по указанной функции * @returns {ReactNode[]} */ export const getChildrenComponent = (children: ReactNode = [], getFilterFn: (child: ReactElement) => boolean = (child) => true): ReactNode[] => { return Children .toArray(children) .filter((item) => { return isValidElement(item) && getFilterFn(item); }); };