@plattar/plattar-ar-adapter
Version:
Plattar AR Adapter for interfacing with Google & Apple WebAR
64 lines (63 loc) • 2.33 kB
TypeScript
import { LauncherAR } from "../ar/launcher-ar";
import { PlattarController } from "./controllers/plattar-controller";
/**
* This is the primary <plattar-embed /> node that allows easy embedding
* of Plattar related content
*/
export default class PlattarEmbed extends HTMLElement {
private _currentType;
private _observerState;
private _controller;
private _currentSceneID;
private _currentServer;
private _observer;
constructor();
get viewer(): HTMLElement | null;
/**
* Begin observing all changes to this DOM element
*/
connectedCallback(): void;
/**
* creates a brand new instance of this embed
*/
create(): PlattarController | null;
/**
* Locks the observer so attribute changes do not trigger anything
*/
lockObserver(): void;
/**
* Unlocks the observer so attribute changes will start to re-trigger properly
*/
unlockObserver(): void;
/**
* Destroys the active instance of this embed and resets internal state to default
*/
destroy(): void;
/**
* this is only used for backwards-compatible legacy embed types typically
* embedding products with variations (without a scene-id)
*/
private _CreateLegacyEmbed;
/**
* creates the embed
* this can also be called when attributes/state changes so embeds can be re-loaded
*/
private _CreateEmbed;
initAR(): Promise<LauncherAR>;
startAR(): Promise<void>;
startViewer(): Promise<HTMLElement>;
startQRCode(options?: any | undefined | null): Promise<HTMLElement>;
/**
* This will remove the currently active Renderer
*
* @returns - true if removed successfully, false otherwise
*/
removeRenderer(): boolean;
/**
* This is called by the observer if any of the embed attributes have changed
* based on the state of the embed, we update the internal structure accordingly
*/
private _OnAttributesUpdated;
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions | undefined): void;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions | undefined): void;
}