Files
Speedtest-Tracker/conf/site/node_modules/react-bootstrap/helpers.d.ts
Henry Whitaker 3a99dc5495 Updated to v1.3.3
2020-05-05 09:34:02 +01:00

54 lines
1.4 KiB
TypeScript

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;
}