51 lines
1.1 KiB
TypeScript
51 lines
1.1 KiB
TypeScript
import { WidgetType } from "./WidgetType";
|
|
/**
|
|
* Widget data.
|
|
*/
|
|
export interface IWidgetData {
|
|
/**
|
|
* Optional title for the widget.
|
|
*/
|
|
title?: string;
|
|
/**
|
|
* Custom keys for inclusion in the template URL.
|
|
*/
|
|
[key: string]: unknown;
|
|
}
|
|
/**
|
|
* Common properties of a widget.
|
|
* https://matrix.org/docs/spec/widgets/latest#widgetcommonproperties-schema
|
|
*/
|
|
export interface IWidget {
|
|
/**
|
|
* The ID of the widget.
|
|
*/
|
|
id: string;
|
|
/**
|
|
* The user ID who originally created the widget.
|
|
*/
|
|
creatorUserId: string;
|
|
/**
|
|
* Optional name for the widget.
|
|
*/
|
|
name?: string;
|
|
/**
|
|
* The type of widget.
|
|
*/
|
|
type: WidgetType;
|
|
/**
|
|
* The URL for the widget, with template variables.
|
|
*/
|
|
url: string;
|
|
/**
|
|
* Optional flag to indicate whether or not the client should initiate communication
|
|
* right after the iframe loads (default, true) or when the widget indicates it is
|
|
* ready (false).
|
|
*/
|
|
waitForIframeLoad?: boolean;
|
|
/**
|
|
* Data for the widget.
|
|
*/
|
|
data?: IWidgetData;
|
|
}
|