decentraland-ui
Version:
Decentraland's UI components and styles
83 lines (82 loc) • 2.37 kB
TypeScript
import * as React from 'react';
import { TileMapProps, Layer, Coord } from 'react-tile-map';
import 'react-tile-map/dist/styles.css';
import './Atlas.css';
export declare type AtlasTile = {
x: number;
y: number;
type: number;
left?: number;
top?: number;
topLeft?: number;
owner: string;
name?: string;
estate_id?: string;
};
export { Layer, Coord };
export declare type AtlasProps = Omit<TileMapProps, 'layers'> & {
layers?: Layer[];
tiles?: Record<string, AtlasTile>;
};
export declare type AtlasState = {
tiles?: Record<string, AtlasTile>;
};
/**
* @deprecated Should start using the same component migrated to UI2.
*/
export declare class Atlas extends React.PureComponent<AtlasProps, AtlasState> {
static defaultProps: {
layers: any[];
size: number;
className: string;
x: number;
y: number;
onChange?: (data: {
center: Coord;
nw: Coord;
se: Coord;
zoom: number;
}) => void;
onClick?: (x: number, y: number) => void;
onMouseDown?: (x: number, y: number) => void;
onMouseUp?: (x: number, y: number) => void;
initialX: number;
initialY: number;
zoom: number;
minX: number;
maxX: number;
minY: number;
maxY: number;
minSize: number;
maxSize: number;
panX: number;
panY: number;
isDraggable: boolean;
padding: number;
withZoomControls: boolean;
onHover?: (x: number, y: number) => void;
onPopup?: (args: {
x: number;
y: number;
top: number;
left: number;
visible: boolean;
}) => void;
onCenterChange?: (center: Coord) => void;
renderMap: import("react-tile-map/dist/components/TileMap/TileMap.types").MapRenderer;
width?: number;
height?: number;
};
state: {
tiles: Record<string, AtlasTile>;
};
mounted: boolean;
layer: Layer;
static TILES_URL: string;
static fetchTiles: (url?: string) => Promise<Record<string, AtlasTile>>;
componentDidMount(): void;
componentDidUpdate(): void;
componentWillUnmount(): void;
handleUpdateTiles: (tiles: Record<string, AtlasTile>) => void;
render(): JSX.Element;
}