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 51eed63c63..a93fdbbfb3 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 @@ -95,6 +95,7 @@ originalComponent?: (props?: OriginalMessageComponentProps) => React.JSX.Element // @alpha export type CustomMessageRenderHints = { allowEditingEvent?: boolean; + allowDownloadingMedia?: (mxEvent: MatrixEvent) => Promise; }; // @alpha diff --git a/packages/element-web-module-api/package.json b/packages/element-web-module-api/package.json index 1f8466cbba..a3c6a78a47 100644 --- a/packages/element-web-module-api/package.json +++ b/packages/element-web-module-api/package.json @@ -1,7 +1,7 @@ { "name": "@element-hq/element-web-module-api", "type": "module", - "version": "1.2.0", + "version": "1.3.0", "description": "Module API surface for element-web", "repository": { "type": "git", diff --git a/packages/element-web-module-api/src/api/custom-components.ts b/packages/element-web-module-api/src/api/custom-components.ts index b97728dc05..faba9c02cb 100644 --- a/packages/element-web-module-api/src/api/custom-components.ts +++ b/packages/element-web-module-api/src/api/custom-components.ts @@ -44,6 +44,12 @@ export type CustomMessageRenderHints = { * Default is true. */ allowEditingEvent?: boolean; + /** + * If an event contains media, this function will be called to check + * if the media can be prompted to be downloaded as a file. + * If this function is not supplied, media downloads are allowed. + */ + allowDownloadingMedia?: (mxEvent: MatrixEvent) => Promise; }; /**