UNPKG

react-instagram-embed

Version:
47 lines (46 loc) 1.36 kB
import * as React from 'react'; import { SetRequired } from 'type-fest'; interface DefaultProps<T extends React.ElementType = 'div'> { hideCaption: boolean; containerTagName: T; protocol: string; injectScript: boolean; } declare type Html = string; interface Response { html: Html; } interface State { html: Html | null; } declare type PropsInternal = SetRequired<Props, keyof DefaultProps>; export interface Props<T extends React.ElementType = 'div'> extends Partial<DefaultProps<T>> { url: string; clientAccessToken: string; maxWidth?: number; className?: string; onLoading?(): void; onSuccess?(response: Response): void; onAfterRender?(): void; onFailure?(error: Error): void; } export default class InstagramEmbed extends React.Component<PropsInternal, State> { static defaultProps: DefaultProps; private request; private timer?; constructor(props: PropsInternal); componentDidMount(): void; componentDidUpdate(prevProps: PropsInternal): void; componentWillUnmount(): void; render(): React.ReactNode; cancel: () => void; private fetchEmbed; private omitComponentProps; private injectScript; private checkAPI; private getQueryParams; private handleFetchSuccess; private handleFetchFailure; private createRequestPromise; } export {};