@@ -10,6 +10,10 @@ import { EaseToOptions } from "maplibre-gl";
1010export { OgmRecord } from "./utils/record" ;
1111export { EaseToOptions } from "maplibre-gl" ;
1212export namespace Components {
13+ interface OgmImage {
14+ "record" : OgmRecord ;
15+ "theme" : 'light' | 'dark' ;
16+ }
1317 interface OgmMap {
1418 "easeMapTo" : ( options : EaseToOptions ) => Promise < maplibregl . Map > ;
1519 "previewOpacity" : number ;
@@ -35,10 +39,15 @@ export namespace Components {
3539 "theme" : 'light' | 'dark' ;
3640 }
3741 interface OgmViewer {
42+ "loadRecord" : ( record : OgmRecord ) => Promise < void > ;
3843 "recordUrl" : string ;
3944 "theme" : 'light' | 'dark' ;
4045 }
4146}
47+ export interface OgmImageCustomEvent < T > extends CustomEvent < T > {
48+ detail : T ;
49+ target : HTMLOgmImageElement ;
50+ }
4251export interface OgmMapCustomEvent < T > extends CustomEvent < T > {
4352 detail : T ;
4453 target : HTMLOgmMapElement ;
@@ -52,6 +61,24 @@ export interface OgmSettingsCustomEvent<T> extends CustomEvent<T> {
5261 target : HTMLOgmSettingsElement ;
5362}
5463declare global {
64+ interface HTMLOgmImageElementEventMap {
65+ "imageLoaded" : void ;
66+ "imageLoading" : void ;
67+ }
68+ interface HTMLOgmImageElement extends Components . OgmImage , HTMLStencilElement {
69+ addEventListener < K extends keyof HTMLOgmImageElementEventMap > ( type : K , listener : ( this : HTMLOgmImageElement , ev : OgmImageCustomEvent < HTMLOgmImageElementEventMap [ K ] > ) => any , options ?: boolean | AddEventListenerOptions ) : void ;
70+ addEventListener < K extends keyof DocumentEventMap > ( type : K , listener : ( this : Document , ev : DocumentEventMap [ K ] ) => any , options ?: boolean | AddEventListenerOptions ) : void ;
71+ addEventListener < K extends keyof HTMLElementEventMap > ( type : K , listener : ( this : HTMLElement , ev : HTMLElementEventMap [ K ] ) => any , options ?: boolean | AddEventListenerOptions ) : void ;
72+ addEventListener ( type : string , listener : EventListenerOrEventListenerObject , options ?: boolean | AddEventListenerOptions ) : void ;
73+ removeEventListener < K extends keyof HTMLOgmImageElementEventMap > ( type : K , listener : ( this : HTMLOgmImageElement , ev : OgmImageCustomEvent < HTMLOgmImageElementEventMap [ K ] > ) => any , options ?: boolean | EventListenerOptions ) : void ;
74+ removeEventListener < K extends keyof DocumentEventMap > ( type : K , listener : ( this : Document , ev : DocumentEventMap [ K ] ) => any , options ?: boolean | EventListenerOptions ) : void ;
75+ removeEventListener < K extends keyof HTMLElementEventMap > ( type : K , listener : ( this : HTMLElement , ev : HTMLElementEventMap [ K ] ) => any , options ?: boolean | EventListenerOptions ) : void ;
76+ removeEventListener ( type : string , listener : EventListenerOrEventListenerObject , options ?: boolean | EventListenerOptions ) : void ;
77+ }
78+ var HTMLOgmImageElement : {
79+ prototype : HTMLOgmImageElement ;
80+ new ( ) : HTMLOgmImageElement ;
81+ } ;
5582 interface HTMLOgmMapElementEventMap {
5683 "mapIdle" : void ;
5784 "mapLoading" : void ;
@@ -123,6 +150,7 @@ declare global {
123150 new ( ) : HTMLOgmViewerElement ;
124151 } ;
125152 interface HTMLElementTagNameMap {
153+ "ogm-image" : HTMLOgmImageElement ;
126154 "ogm-map" : HTMLOgmMapElement ;
127155 "ogm-menubar" : HTMLOgmMenubarElement ;
128156 "ogm-metadata" : HTMLOgmMetadataElement ;
@@ -132,6 +160,12 @@ declare global {
132160 }
133161}
134162declare namespace LocalJSX {
163+ interface OgmImage {
164+ "onImageLoaded" ?: ( event : OgmImageCustomEvent < void > ) => void ;
165+ "onImageLoading" ?: ( event : OgmImageCustomEvent < void > ) => void ;
166+ "record" ?: OgmRecord ;
167+ "theme" ?: 'light' | 'dark' ;
168+ }
135169 interface OgmMap {
136170 "onMapIdle" ?: ( event : OgmMapCustomEvent < void > ) => void ;
137171 "onMapLoading" ?: ( event : OgmMapCustomEvent < void > ) => void ;
@@ -164,6 +198,7 @@ declare namespace LocalJSX {
164198 "theme" ?: 'light' | 'dark' ;
165199 }
166200 interface IntrinsicElements {
201+ "ogm-image" : OgmImage ;
167202 "ogm-map" : OgmMap ;
168203 "ogm-menubar" : OgmMenubar ;
169204 "ogm-metadata" : OgmMetadata ;
@@ -176,6 +211,7 @@ export { LocalJSX as JSX };
176211declare module "@stencil/core" {
177212 export namespace JSX {
178213 interface IntrinsicElements {
214+ "ogm-image" : LocalJSX . OgmImage & JSXBase . HTMLAttributes < HTMLOgmImageElement > ;
179215 "ogm-map" : LocalJSX . OgmMap & JSXBase . HTMLAttributes < HTMLOgmMapElement > ;
180216 "ogm-menubar" : LocalJSX . OgmMenubar & JSXBase . HTMLAttributes < HTMLOgmMenubarElement > ;
181217 "ogm-metadata" : LocalJSX . OgmMetadata & JSXBase . HTMLAttributes < HTMLOgmMetadataElement > ;
0 commit comments