UNPKG

react-bootstrap

Version:

Bootstrap 4 components built with React

54 lines (45 loc) 1.41 kB
import * as React from 'react'; export type Omit<T, U> = Pick<T, Exclude<keyof T, keyof U>>; export type ReplaceProps<Inner extends React.ElementType, P> = Omit< React.ComponentPropsWithRef<Inner>, P > & P; export interface BsPrefixProps<As extends React.ElementType> { as?: As; bsPrefix?: string; } export interface BsPrefixRefForwardingComponent< TInitial extends React.ElementType, P = {} > { <As extends React.ElementType = TInitial>( props: React.PropsWithChildren<ReplaceProps<As, BsPrefixProps<As> & P>>, context?: any, ): React.ReactElement | null; propTypes?: any; contextTypes?: any; defaultProps?: Partial<P>; displayName?: string; } export class BsPrefixComponent< As extends React.ElementType, P = {} > extends React.Component<ReplaceProps<As, BsPrefixProps<As> & P>> {} // Need to use this instead of typeof Component to get proper type checking. export type BsPrefixComponentClass< As extends React.ElementType, P = {} > = React.ComponentClass<ReplaceProps<As, BsPrefixProps<As> & P>>; export type SelectCallback = ( eventKey: string, e: React.SyntheticEvent<unknown>, ) => void; export interface TransitionCallbacks { onEnter?(node: HTMLElement): any; onEntered?(node: HTMLElement): any; onEntering?(node: HTMLElement): any; onExit?(node: HTMLElement): any; onExited?(node: HTMLElement): any; onExiting?(node: HTMLElement): any; }