--- Title: Custom file preview --- ## Custom file preview Supports dynamically-loaded viewer preview extensions. See the [ACA monaco extension](https://github.com/eromano/aca-monaco-extension) for an example of a real working viewer extension project. ## Class members ### Properties | Name | Type | Default value | Description | | ---- | ---- | ------------- | ----------- | | extension | `string` | | File extension (.jpg, .png, etc) for the viewer. | | id | `string` | | ID string of the component to preview. | | node | `Node` | | Node containing the content to display. | | url | `string` | | URL of the content in the repository. | ## Details To create your custom extension viewer you need to create the following files in a separate project: The Module needs to declare the ID of your extension: ```ts export class YourExtensionViewerModule { constructor(extensions: ExtensionService) { extensions.setComponents({ 'your-extension.main.component': YourExtensionViewerComponent }); } } ``` Your extension contains the business logic: ```ts import { Node } from '@alfresco/js-api'; import { ViewerExtensionInterface } from '@alfresco/adf-extensions'; @Component({ selector: 'your-extension-viewer', template: '