UNPKG

react-children-pattern

Version:

React utilities for checking allowed components and retrieving specific children

26 lines (25 loc) 1.48 kB
import type { ReactElement, ReactNode, FunctionComponent, JSXElementConstructor, FunctionComponentElement } from "react"; /** * Returns the childs matching the provided function component * @param componentFunction function component * @param children react node * @returns array * @example useChildrenOfType(Child, children) */ export declare function useChildrenOfType(componentFunction: FunctionComponentElement | ReactElement | JSXElementConstructor<unknown> | FunctionComponent<unknown> | FunctionComponent<Element>, children?: ReactNode): any; /** * Returns the first child matching the provided function component * @param componentFunction function component * @param children react node * @returns node * @example useChildOfType(Child, children) */ export declare function useChildOfType(componentFunction: FunctionComponentElement | ReactElement | JSXElementConstructor<unknown> | FunctionComponent<unknown> | FunctionComponent<Element>, children?: ReactNode): any; /** * Throws an error if the children don't match the provided function components * @param componentFunctions function components * @param children react node * @returns the first child * @example useCheckChildrenTypes([Child, OtherChild], children) */ export declare function useCheckChildrenTypes(componentFunctions: Array<FunctionComponentElement | ReactElement | JSXElementConstructor<unknown> | FunctionComponent<unknown> | FunctionComponent<Element>>, children?: ReactNode): void;