UNPKG

react-bkoi-gl

Version:

React components for Barikoi GL JS

81 lines (80 loc) 3.89 kB
import type { Point, LngLat, MapGeoJSONFeature, ViewState } from "./common"; import type { Map, Marker, Popup, GeolocateControl, MapLibreEvent, MapMouseEvent as _MapMouseEvent, MapLayerMouseEvent, MapTouchEvent, MapLayerTouchEvent, MapStyleDataEvent, MapSourceDataEvent, MapWheelEvent, MapLibreZoomEvent as MapBoxZoomEvent } from "maplibre-gl"; export type { MapLibreEvent as MapEvent, MapLayerMouseEvent, MapTouchEvent, MapLayerTouchEvent, MapStyleDataEvent, MapSourceDataEvent, MapWheelEvent, MapBoxZoomEvent, }; export type MapCallbacks = { onMouseDown?: (e: MapLayerMouseEvent) => void; onMouseUp?: (e: MapLayerMouseEvent) => void; onMouseOver?: (e: MapLayerMouseEvent) => void; onMouseMove?: (e: MapLayerMouseEvent) => void; onClick?: (e: MapLayerMouseEvent) => void; onDblClick?: (e: MapLayerMouseEvent) => void; onMouseEnter?: (e: MapLayerMouseEvent) => void; onMouseLeave?: (e: MapLayerMouseEvent) => void; onMouseOut?: (e: MapLayerMouseEvent) => void; onContextMenu?: (e: MapLayerMouseEvent) => void; onTouchStart?: (e: MapLayerTouchEvent) => void; onTouchEnd?: (e: MapLayerTouchEvent) => void; onTouchMove?: (e: MapLayerTouchEvent) => void; onTouchCancel?: (e: MapLayerTouchEvent) => void; onMoveStart?: (e: ViewStateChangeEvent) => void; onMove?: (e: ViewStateChangeEvent) => void; onMoveEnd?: (e: ViewStateChangeEvent) => void; onDragStart?: (e: ViewStateChangeEvent) => void; onDrag?: (e: ViewStateChangeEvent) => void; onDragEnd?: (e: ViewStateChangeEvent) => void; onZoomStart?: (e: ViewStateChangeEvent) => void; onZoom?: (e: ViewStateChangeEvent) => void; onZoomEnd?: (e: ViewStateChangeEvent) => void; onRotateStart?: (e: ViewStateChangeEvent) => void; onRotate?: (e: ViewStateChangeEvent) => void; onRotateEnd?: (e: ViewStateChangeEvent) => void; onPitchStart?: (e: ViewStateChangeEvent) => void; onPitch?: (e: ViewStateChangeEvent) => void; onPitchEnd?: (e: ViewStateChangeEvent) => void; onWheel?: (e: MapWheelEvent) => void; onBoxZoomStart?: (e: MapBoxZoomEvent) => void; onBoxZoomEnd?: (e: MapBoxZoomEvent) => void; onBoxZoomCancel?: (e: MapBoxZoomEvent) => void; onResize?: (e: MapLibreEvent) => void; onLoad?: (e: MapLibreEvent) => void; onRender?: (e: MapLibreEvent) => void; onIdle?: (e: MapLibreEvent) => void; onError?: (e: ErrorEvent) => void; onRemove?: (e: MapLibreEvent) => void; onData?: (e: MapStyleDataEvent | MapSourceDataEvent) => void; onStyleData?: (e: MapStyleDataEvent) => void; onSourceData?: (e: MapSourceDataEvent) => void; }; interface MapEvent<SourceT, OriginalEventT = undefined> { type: string; target: SourceT; originalEvent: OriginalEventT; } export type ErrorEvent = MapEvent<Map> & { type: "error"; error: Error; }; export type MapMouseEvent = _MapMouseEvent & { point: Point; lngLat: LngLat; features?: MapGeoJSONFeature[]; }; export type ViewStateChangeEvent = (MapEvent<Map, MouseEvent | TouchEvent | WheelEvent | undefined> & { type: "movestart" | "move" | "moveend" | "zoomstart" | "zoom" | "zoomend"; viewState: ViewState; }) | (MapEvent<Map, MouseEvent | TouchEvent | undefined> & { type: "rotatestart" | "rotate" | "rotateend" | "dragstart" | "drag" | "dragend" | "pitchstart" | "pitch" | "pitchend"; viewState: ViewState; }); export type PopupEvent = { type: "open" | "close"; target: Popup; }; export type MarkerEvent<OriginalEventT = undefined> = MapEvent<Marker, OriginalEventT>; export type MarkerDragEvent = MarkerEvent & { type: "dragstart" | "drag" | "dragend"; lngLat: LngLat; }; export type GeolocateEvent = MapEvent<GeolocateControl>; export type GeolocateResultEvent = GeolocateEvent & GeolocationPosition; export type GeolocateErrorEvent = GeolocateEvent & GeolocationPositionError;