UNPKG

react-mapbox-gl

Version:
53 lines (52 loc) 1.7 kB
import * as React from 'react'; import { Map } from 'mapbox-gl'; import { Props as MarkerProps } from './marker'; import Supercluster from 'supercluster'; import * as GeoJSON from 'geojson'; export interface Props { ClusterMarkerFactory(coordinates: GeoJSON.Position, pointCount: number, getLeaves: (limit?: number, offset?: number) => Array<React.ReactElement<MarkerProps> | undefined>): React.ReactElement<MarkerProps>; radius?: number; maxZoom?: number; minZoom?: number; extent?: number; nodeSize?: number; log?: boolean; zoomOnClick?: boolean; zoomOnClickPadding?: number; children?: Array<React.ReactElement<MarkerProps>>; style?: React.CSSProperties; className?: string; tabIndex?: number; map: Map; } export interface State { superC: Supercluster; clusterPoints: Array<GeoJSON.Feature<GeoJSON.Point>>; } export declare class Cluster extends React.Component<Props, State> { static defaultProps: { radius: number; minZoom: number; maxZoom: number; extent: number; nodeSize: number; log: boolean; zoomOnClick: boolean; zoomOnClickPadding: number; }; state: State; private featureClusterMap; componentDidMount(): void; componentWillUnmount(): void; componentDidUpdate(prevProps: Props): void; private childrenChange; private mapChange; private feature; private childrenToFeatures; private getLeaves; zoomToClusterBounds: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void; private findMarkerElement; render(): JSX.Element; } declare const _default: <T>(props: T) => JSX.Element; export default _default;