UNPKG

rc-leaflet

Version:
46 lines (45 loc) 1.94 kB
import React from 'react'; import PropTypes from 'prop-types'; import L from 'leaflet'; import { ContextType } from '../RCMap/Context'; import Evented from '../Evented'; interface PartialProps { group: L.LayerGroup; onCreate(layer: L.Layer): void; onAdd(e: L.LeafletEvent, layer: L.Layer): void; onUpdate(layer: L.Layer): void; onBeforeRemove(layer: L.Layer): void; onRemove(e: L.LeafletEvent, layer: L.Layer): void; children: React.ReactNode; } declare type Props = Readonly<Partial<PartialProps>>; export default abstract class Layer<T extends L.Layer, P extends L.LayerOptions, S = {}> extends Evented<T, Props & P, S> { static propTypes: { group: PropTypes.Requireable<L.LayerGroup<unknown>>; pane: PropTypes.Requireable<string>; attribution: PropTypes.Requireable<string>; onCreate: PropTypes.Requireable<(...args: any[]) => any>; onAdd: PropTypes.Requireable<(...args: any[]) => any>; onUpdate: PropTypes.Requireable<(...args: any[]) => any>; onBeforeRemove: PropTypes.Requireable<(...args: any[]) => any>; onRemove: PropTypes.Requireable<(...args: any[]) => any>; children: PropTypes.Requireable<PropTypes.ReactNodeLike>; onClick: PropTypes.Requireable<(...args: any[]) => any>; onMouseOver: PropTypes.Requireable<(...args: any[]) => any>; onMouseOut: PropTypes.Requireable<(...args: any[]) => any>; }; static contextType: React.Context<Readonly<{ map: L.Map; theme: import("../Theme").ContextType; }>>; context: ContextType; protected constructor(props: Props & P, context: ContextType); componentDidUpdate(prevProps: Props & P): void; componentWillUnmount(): void; protected abstract createInstance(props: P, context: ContextType): T; protected getTheme(): object; private onAdd; private onRemove; render(): React.ReactNode; } export {};