diff --git a/packages/element-web-module-api/src/api/extras.ts b/packages/element-web-module-api/src/api/extras.ts index da29a61ac3..b2d3155d56 100644 --- a/packages/element-web-module-api/src/api/extras.ts +++ b/packages/element-web-module-api/src/api/extras.ts @@ -7,20 +7,31 @@ Please see LICENSE files in the repository root for full details. import { JSX } from "react"; -interface SpacePanelItemProps { - isPanelCollapsed: boolean; -} +/** + * Any kind of event that can trigger a button + * @alpha + */ +export type ButtonEvent = React.MouseEvent | React.KeyboardEvent | React.FormEvent; /** * The type of the function used to render a space panel item. * @alpha */ -export type SpacePanelItemRenderFunction = (props: SpacePanelItemProps) => JSX.Element; +export interface SpacePanelItemProps { + spaceKey?: string; + className?: string; + icon?: JSX.Element; + label: string; + contextMenuTooltip?: string; + style?: React.CSSProperties; + //notificationState?: NotificationState; + onClick?(ev?: ButtonEvent): void; +} /** * API for inserting extra UI into Element Web. * @alpha Subject to change. */ export interface ExtrasApi { - addSpacePanelItem(renderer: SpacePanelItemRenderFunction): void; + addSpacePanelItem(props: SpacePanelItemProps): void; }