vue3-maplibre-gl
Version:
Vue 3 components and composables for MapLibre GL JS - Build interactive maps with ease
75 lines (74 loc) • 2.79 kB
TypeScript
import { ImageDatas } from '../types';
import { StyleImageMetadata } from 'maplibre-gl';
/**
* Interface for individual image items
*/
interface ImageItem {
/** Unique identifier for the image */
id: string;
/** Image data (URL string or ImageData/HTMLImageElement) */
image: ImageDatas | string;
/** Optional image metadata and options */
options?: Partial<StyleImageMetadata>;
}
/**
* Props interface for Image component
* Manages multiple images for MapLibre GL
*/
interface ImageProps {
/** Array of images to load */
images: ImageItem[];
/** Default options applied to all images */
options?: Partial<StyleImageMetadata>;
/** Whether to show loading state */
showLoading?: boolean;
/** Whether to enable debug logging */
debug?: boolean;
/**
* Force recreation when image dimensions change instead of throwing error.
* When true (default), images are always removed and re-added to prevent dimension mismatch errors.
* This solves the common "width and height must be the same as the previous version" error.
*/
forceRecreateOnDimensionChange?: boolean;
}
declare function __VLS_template(): {
default?(_: {}): any;
};
declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<ImageProps>, {
images: () => never[];
showLoading: boolean;
forceRecreateOnDimensionChange: boolean;
}>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<ImageProps>, {
images: () => never[];
showLoading: boolean;
forceRecreateOnDimensionChange: boolean;
}>>> & Readonly<{}>, {
images: ImageItem[];
showLoading: boolean;
forceRecreateOnDimensionChange: boolean;
}, {}, {}, {}, 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=Image.vue.d.ts.map