openvibe-sdk/frame

Generated at from openvibe-contracts v0.44.0 and openvibe-sdk v0.9.1.

From types/frame.d.ts (both). Declarations are shown verbatim.

interface FrameLink

export interface FrameLink { label: string; href: string; icon?: string; active?: boolean }

interface FrameMenuItem

export interface FrameMenuItem { label: string; href?: string; icon?: string; onClick?: () => void; danger?: boolean; external?: boolean }

interface FrameFooterConfig

export interface FrameFooterConfig {
    links?: Array<{ heading: string; items: Array<{ name: string; url: string }> }>;
    variant?: 'full' | 'compact';
    /** This app's update log; default: https://openvibe.network/updates?site=<host>. */
    updates?: string;
    mount?: string;
    [key: string]: unknown;
}

interface FrameOptions

export interface FrameOptions {
    /** Your app's id (brand and analytics). */
    service?: string;
    brand?: { name?: string; sub?: string; tld?: string; icon?: string; variant?: string };
    links?: FrameLink[];
    menu?: { before?: FrameMenuItem[]; after?: FrameMenuItem[] };
    /** Same-origin endpoint answering { user } for your server session. */
    sessionUrl?: string;
    /** Sign-in URL; {url} = full return URL, {path} = its local path. */
    loginUrl?: string;
    /** Sign-out URL, so your server session ends too; {url} / {path} as for loginUrl. */
    logoutUrl?: string;
    silentLogin?: string;
    /** Footer options, or false for no footer. */
    footer?: FrameFooterConfig | false;
    /** false: no "shipped X ago" line in the footer. */
    shipped?: boolean;
    /** false: do not load the shared theme loader. */
    theme?: boolean;
    /** Where the Frame is served (default https://openvibe.network). */
    base?: string;
    /** Extra navbar options passed through to OpenVibeNavbar.init. */
    navbar?: Record<string, unknown>;
    document?: unknown;
    window?: unknown;
}

interface FrameConfig

export interface FrameConfig { navbar: Record<string, unknown>; footer: Record<string, unknown> | null }

interface FrameUrls

export interface FrameUrls { theme: string; navbar: string; footer: string; shipped: string }

export export const DEFAULT_BASE: string;

export const DEFAULT_BASE: string;

export export function scriptUrls(opts?: { base?: string }): FrameU

export function scriptUrls(opts?: { base?: string }): FrameUrls;

export export function frameConfig(opts?: FrameOptions): FrameConfi

export function frameConfig(opts?: FrameOptions): FrameConfig;

export export function frameTags(opts?: FrameOptions): { head: stri

export function frameTags(opts?: FrameOptions): { head: string; bodyStart: string; bodyEnd: string; config: FrameConfig; urls: FrameUrls };

export export function mountFrame(opts?: FrameOptions): Promise<{ n

export function mountFrame(opts?: FrameOptions): Promise<{ navbar: unknown | null; footer: unknown | null }>;