/** * Web Component heads-up display for Immers profile login. * Unobtrusively connects your Immersive Web experience to Immers Space, * allowing immersers to connect with their profiles from your site * and share your site with their friends. Grants access to profile information * so you can bring users' preferred identity into your experience. * * The HTML attributes are listed in the Properties table below. * Properties you can access from the element object directly are listed under Members. * * The following CSS properties can be set on the immers-hud: * * color: text color for floating text * * --main-margin: distance from edge of window in overlay mode * * --inner-margin: gap between elements * * --handle-input-width: size of the handle input * * @class ImmersHUD * * @fires immers-hud-connected - On successful login, detail.profile will include users {@link Profile} * * @prop {'top-left'|'top-right'|'bottom-left'|'bottom-right'} [position] - Enable overlay positioning. * @prop {string} [token-catcher] - OAuth redirect URL, a page on your domain that runs {@link catchToken} on load (default: current url) * @prop {string} [access-role] - Requested authorization scope from {@link roles}. Users are given the option to alter this and grant a different level. (default: modAdditive) * @prop {string} [destination-name] Title for your experience (default: meta[og:description], document.title) * @prop {string} [destination-url] Sharable URL for your experience (default: current url) * @prop {string} [destination-description] Social share preview test (default meta[og:description], meta[twitter:description]) * @prop {string} [destination-image] Image url for social share previews (default: meta[og:image], meta[twitter:image]) * @prop {string} [local-immer] Origin of your local Immers Server, if you have one * @prop {boolean} [allow-storage] Enable local storage of user identity to reconnect when returning to page * @prop {'true'|'false'} open - Toggles between icon and full HUD view (default: true is user's handle is saved but login is needed, false otherwise) * * @example Load & register the custom element via import (option 1) * import { ImmersHUD } from 'immers-client'; * ImmersHUD.Register(); * @example Load & register the custom element via CDN (option 2) * * @example Using the custom element in HTML * * */ export class ImmersHUD extends HTMLElement { static get observedAttributes(): string[]; static get POSITION_OPTIONS(): string[]; static Register(): void; /** * Live-updated friends list with current status * @type {FriendStatus[]} */ friends: FriendStatus[]; /** * Immers client instance * @type {ImmersClient} */ immersClient: ImmersClient; connectedCallback(): void; attributeChangedCallback(name: any, oldValue: any, newValue: any): void; login(): void; onClientConnected(profile: any): void; onClientDisconnected(): void; onFriendsUpdate(friends: any): void; #private; } import { ImmersClient } from "../client";