diff --git a/packages/element-web-module-api/element-web-module-api.api.md b/packages/element-web-module-api/element-web-module-api.api.md index cbe082c791..c01f2e90fa 100644 --- a/packages/element-web-module-api/element-web-module-api.api.md +++ b/packages/element-web-module-api/element-web-module-api.api.md @@ -51,7 +51,6 @@ export interface Api extends LegacyModuleApiExtension, LegacyCustomisationsApiEx // @alpha export interface BuiltinsApi { - // (undocumented) getRoomViewComponent(): React.ComponentType; } @@ -329,17 +328,11 @@ export type RuntimeModuleConstructor = new (api: ModuleApi) => RuntimeModule; // @alpha export interface SpacePanelItemProps { - // (undocumented) className?: string; - // (undocumented) contextMenuTooltip?: string; - // (undocumented) icon?: JSX.Element; - // (undocumented) label: string; - // (undocumented) onSelected?(): void; - // (undocumented) style?: React.CSSProperties; } diff --git a/packages/element-web-module-api/src/api/builtins.ts b/packages/element-web-module-api/src/api/builtins.ts index ee75fad50e..68ab7a39e2 100644 --- a/packages/element-web-module-api/src/api/builtins.ts +++ b/packages/element-web-module-api/src/api/builtins.ts @@ -21,5 +21,12 @@ export interface RoomViewProps { * @alpha */ export interface BuiltinsApi { + /** + * Returns the RoomView component used by Element Web to render a room such that + * modules can render it as part of their own custom room views. + * + * @alpha + * @returns The RoomView component. + */ getRoomViewComponent(): React.ComponentType; } diff --git a/packages/element-web-module-api/src/api/extras.ts b/packages/element-web-module-api/src/api/extras.ts index 6da5aa7848..ddef7b7c20 100644 --- a/packages/element-web-module-api/src/api/extras.ts +++ b/packages/element-web-module-api/src/api/extras.ts @@ -12,12 +12,34 @@ import { JSX } from "react"; * @alpha */ export interface SpacePanelItemProps { + /** + * A CSS class name for the item + */ className?: string; + + /** + * An icon to show in the item + */ icon?: JSX.Element; + + /** + * The label to show in the item + */ label: string; + + /** + * A tooltip to show when hovering over the item + */ contextMenuTooltip?: string; + + /** + * Styles to apply to the item + */ style?: React.CSSProperties; - //notificationState?: NotificationState; + + /** + * Callback when the item is selected + */ onSelected?(): void; }