react-polymorphic-box
Version:
Building blocks for strongly typed polymorphic components in React.
12 lines • 781 B
TypeScript
/// <reference types="react" />
import * as React from "react";
type BoxOwnProps<E extends React.ElementType = React.ElementType> = {
as?: E;
};
type BoxProps<E extends React.ElementType> = BoxOwnProps<E> & Omit<React.ComponentProps<E>, keyof BoxOwnProps>;
declare const defaultElement = "div";
declare const Box: <E extends React.ElementType = typeof defaultElement>(props: BoxProps<E>) => React.ReactElement | null;
type PolymorphicComponentProps<E extends React.ElementType, P> = P & BoxProps<E>;
type PolymorphicComponent<P, D extends React.ElementType = "div"> = <E extends React.ElementType = D>(props: PolymorphicComponentProps<E, P>) => React.ReactElement | null;
export { Box, PolymorphicComponentProps, PolymorphicComponent };
//# sourceMappingURL=bundle.min.d.ts.map