vue3-maplibre-gl
Version:
Vue 3 components and composables for MapLibre GL JS - Build interactive maps with ease
98 lines (97 loc) • 4.14 kB
TypeScript
import { GeolocateSuccess, GeolocationPositionError } from '../types';
import { ControlPosition, GeolocateControl, GeolocateControlOptions } from 'maplibre-gl';
/**
* Enhanced GeolocateControl component props with comprehensive configuration options
*/
interface GeolocateControlProps {
/** Position of the control on the map */
position?: ControlPosition;
/** Geolocate control configuration options */
options?: GeolocateControlOptions;
/** Enable debug logging */
debug?: boolean;
/** Automatically cleanup resources on unmount */
autoCleanup?: boolean;
/** Error handling callback */
onError?: (error: any) => void;
/** Success callback for geolocation */
onGeolocate?: (data: GeolocateSuccess) => void;
/** Callback when user location tracking starts */
onTrackingStart?: (data: GeolocateSuccess) => void;
/** Callback when user location tracking ends */
onTrackingEnd?: (data: GeolocateSuccess) => void;
/** Callback when user location is out of max bounds */
onOutOfMaxBounds?: (data: GeolocateSuccess) => void;
}
/**
* Enhanced cleanup function for disposing resources
*/
declare function cleanup(): void;
declare function __VLS_template(): {
error?(_: {}): any;
};
declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<GeolocateControlProps>, {
position: string;
options: () => {};
debug: boolean;
autoCleanup: boolean;
}>>, {
geolocateControl: import('vue').ShallowRef<import('../types').Nullable<GeolocateControl>>;
isControlAdded: import('vue').ShallowRef<boolean>;
isControlRegistered: import('vue').Ref<boolean, boolean>;
hasControlError: import('vue').ComputedRef<boolean>;
controlError: import('vue').Ref<any, any>;
addControl: () => void;
removeControl: () => void;
trigger: () => void;
cleanup: typeof cleanup;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
error: ((ev: any) => void) & ((ev: GeolocationPositionError) => void);
geolocate: ((ev: any) => void) & ((ev: GeolocateSuccess) => void);
outofmaxbounds: ((ev: any) => void) & ((ev: GeolocateSuccess) => void);
trackuserlocationstart: ((ev: any) => void) & ((ev: GeolocateSuccess) => void);
trackuserlocationend: ((ev: any) => void) & ((ev: GeolocateSuccess) => void);
register: (ev: GeolocateControl) => void;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<GeolocateControlProps>, {
position: string;
options: () => {};
debug: boolean;
autoCleanup: boolean;
}>>> & Readonly<{
onError?: ((ev: GeolocationPositionError) => any) | undefined;
onGeolocate?: ((ev: GeolocateSuccess) => any) | undefined;
onOutofmaxbounds?: ((ev: GeolocateSuccess) => any) | undefined;
onTrackuserlocationstart?: ((ev: GeolocateSuccess) => any) | undefined;
onTrackuserlocationend?: ((ev: GeolocateSuccess) => any) | undefined;
onRegister?: ((ev: GeolocateControl) => any) | undefined;
}>, {
debug: boolean;
autoCleanup: boolean;
options: GeolocateControlOptions;
position: ControlPosition;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
export default _default;
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
type __VLS_TypePropsToRuntimeProps<T> = {
[K in keyof T]-?: {} extends Pick<T, K> ? {
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
} : {
type: import('vue').PropType<T[K]>;
required: true;
};
};
type __VLS_WithDefaults<P, D> = {
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
default: D[K];
}> : P[K];
};
type __VLS_Prettify<T> = {
[K in keyof T]: T[K];
} & {};
type __VLS_WithTemplateSlots<T, S> = T & {
new (): {
$slots: S;
};
};
//# sourceMappingURL=GeolocateControls.vue.d.ts.map