diff --git a/src/exports-mapbox.ts b/src/exports-mapbox.ts index 7010a785..dd4e77b7 100644 --- a/src/exports-mapbox.ts +++ b/src/exports-mapbox.ts @@ -38,6 +38,7 @@ import { } from './components/scale-control'; import {useMap as _useMap} from './components/use-map'; import type {MapRef as _MapRef} from './mapbox/create-ref'; +import type * as events from './types/events'; export function useMap() { return _useMap(); @@ -106,3 +107,22 @@ export default Map; export * from './types/public'; export type {SourceProps} from './components/source'; export type {LayerProps} from './components/layer'; + +// Events +export type MapEvent = events.MapEvent; +export type ErrorEvent = events.ErrorEvent; +export type MapStyleDataEvent = events.MapStyleDataEvent; +export type MapSourceDataEvent = events.MapSourceDataEvent; +export type MapMouseEvent = events.MapMouseEvent; +export type MapLayerMouseEvent = events.MapLayerMouseEvent; +export type MapTouchEvent = events.MapTouchEvent; +export type MapLayerTouchEvent = events.MapLayerTouchEvent; +export type MapWheelEvent = events.MapWheelEvent; +export type MapBoxZoomEvent = events.MapBoxZoomEvent; +export type ViewStateChangeEvent = events.ViewStateChangeEvent; +export type PopupEvent = events.PopupEvent; +export type MarkerEvent = events.MarkerEvent; +export type MarkerDragEvent = events.MarkerDragEvent; +export type GeolocateEvent = events.GeolocateEvent; +export type GeolocateResultEvent = events.GeolocateResultEvent; +export type GeolocateErrorEvent = events.GeolocateErrorEvent; diff --git a/src/exports-maplibre.ts b/src/exports-maplibre.ts index abf4a7f0..d6f0b8fe 100644 --- a/src/exports-maplibre.ts +++ b/src/exports-maplibre.ts @@ -38,6 +38,7 @@ import { } from './components/scale-control'; import {useMap as _useMap} from './components/use-map'; import type {MapRef as _MapRef} from './mapbox/create-ref'; +import type * as events from './types/events'; export function useMap() { return _useMap(); @@ -106,3 +107,22 @@ export default Map; export * from './types/public'; export type {SourceProps} from './components/source'; export type {LayerProps} from './components/layer'; + +// Events +export type MapEvent = events.MapEvent; +export type ErrorEvent = events.ErrorEvent; +export type MapStyleDataEvent = events.MapStyleDataEvent; +export type MapSourceDataEvent = events.MapSourceDataEvent; +export type MapMouseEvent = events.MapMouseEvent; +export type MapLayerMouseEvent = events.MapLayerMouseEvent; +export type MapTouchEvent = events.MapTouchEvent; +export type MapLayerTouchEvent = events.MapLayerTouchEvent; +export type MapWheelEvent = events.MapWheelEvent; +export type MapBoxZoomEvent = events.MapBoxZoomEvent; +export type ViewStateChangeEvent = events.ViewStateChangeEvent; +export type PopupEvent = events.PopupEvent; +export type MarkerEvent = events.MarkerEvent; +export type MarkerDragEvent = events.MarkerDragEvent; +export type GeolocateEvent = events.GeolocateEvent; +export type GeolocateResultEvent = events.GeolocateResultEvent; +export type GeolocateErrorEvent = events.GeolocateErrorEvent; diff --git a/src/types/common.ts b/src/types/common.ts index e1e8da6f..9e9f67ee 100644 --- a/src/types/common.ts +++ b/src/types/common.ts @@ -1,4 +1,5 @@ -export type {IControl} from './lib'; +import type GeoJSON from 'geojson'; +import type {AnyLayer} from './style-spec'; /* Data types */ export interface Point { @@ -81,3 +82,10 @@ export type ControlPosition = 'top-right' | 'top-left' | 'bottom-right' | 'botto export interface ImmutableLike { toJS: () => T; } + +export type MapGeoJSONFeature = GeoJSON.Feature & { + layer: AnyLayer; + source: string; + sourceLayer: string; + state: {[key: string]: any}; +}; diff --git a/src/types/events.ts b/src/types/events.ts index 26699961..4efe229e 100644 --- a/src/types/events.ts +++ b/src/types/events.ts @@ -1,5 +1,4 @@ -import type GeoJSON from 'geojson'; -import type {ViewState, Point, LngLat, LngLatBounds} from './common'; +import type {ViewState, Point, LngLat, LngLatBounds, MapGeoJSONFeature} from './common'; import type { MapInstance, Evented, @@ -7,14 +6,7 @@ import type { PopupInstance, GeolocateControlInstance } from './lib'; -import type {AnyLayer, AnySource} from './style-spec'; - -export type MapGeoJSONFeature = GeoJSON.Feature & { - layer: AnyLayer; - source: string; - sourceLayer: string; - state: {[key: string]: any}; -}; +import type {AnySource} from './style-spec'; export interface MapEvent { type: string; diff --git a/src/types/index.ts b/src/types/index.ts index 570e91dc..d58c8365 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -1,4 +1,5 @@ export * from './public'; +export * from './events'; import type GeoJSON from 'geojson'; import type {CustomSourceImplementation} from './lib'; diff --git a/src/types/public.ts b/src/types/public.ts index 36192f3b..21240ce5 100644 --- a/src/types/public.ts +++ b/src/types/public.ts @@ -1,4 +1,3 @@ export * from './common'; -export * from './events'; export * from './style-spec'; export * from './lib';