import * as React from 'react'; import FrameType from '../FrameType'; import { Extended } from './ApiBody/Stats'; export interface ItemProps { name?: string; typeLine: React.ReactNode; identified: boolean; category: { [key: string]: string[]; }; frameType: FrameType; elder?: boolean; shaper?: boolean; corrupted?: boolean; utilityMods?: React.ReactNode[]; implicitMods?: React.ReactNode[]; explicitMods?: React.ReactNode[]; craftedMods?: React.ReactNode[]; enchantMods?: React.ReactNode[]; properties?: LineContent[]; requirements?: LineContent[]; } export interface LineContent { name: React.ReactNode; values: Array<[string, number]>; displayMode: number; type?: number; } export interface Props { classname?: string; extended?: Extended; item: ItemProps; width?: number; } export interface State { width?: number; props: Props; } /** * Component for items from poe official apis assuming an react-inlt.IntlProvider * in the component tree */ export default class ApiPopupIntl extends React.PureComponent { static defaultProps: { classname: string; }; static DIMENSIONS: { min_width: number; max_width: number; max_description_width: number; }; static getDerivedStateFromProps(next_props: Props, prevState: State): { width: number | undefined; } | null; static assertValidProps(item: ItemProps, onError: (err: string) => void): void; private ref; constructor(props: Props); componentDidMount(): void; componentDidUpdate(prev_props: Props, prev_state: State): void; render(): JSX.Element; /** * calculates the width of the popup as described in reasearch/popup-width */ private computeWidth; private hasExtendedModView; }