# Developer reference

### Installation <a href="#od_c7238a00" id="od_c7238a00"></a>

Installing the MAW library happens over [npm](https://www.npmjs.com/package/@scaleflex/widget-core).

### Modules <a href="#od_05f3da56" id="od_05f3da56"></a>

The MAW consists of the [Core](https://www.npmjs.com/package/@scaleflex/widget-core#documentation) package and additional modules described below. The modules marked as required must be imported for the FMAW to function.

| Module                                                                                                                     | Required | Description                                                                                                                                                                                         |
| -------------------------------------------------------------------------------------------------------------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Explorer](https://www.npmjs.com/package/@scaleflex/widget-explorer)                                                       | yes      | Displays the folder structure and media gallery and provides file management capabilites.                                                                                                           |
| [XHR Upload](https://www.npmjs.com/package/@scaleflex/widget-xhr-upload)                                                   | yes      | Handles multipart file upload.                                                                                                                                                                      |
| [Status bar](https://www.npmjs.com/package/@scaleflex/widget-progress-panel)                                               | no       | Displays upload/download progress in a status bar.                                                                                                                                                  |
| [Informer](https://www.npmjs.com/package/@filerobot/informer/#filerobotinformer)                                           | no       | Displays pop-up messages/statuses related to file operations.                                                                                                                                       |
| [Thumbnail Generator](https://www.npmjs.com/package/@filerobot/thumbnail-generator/#Filerobothumbnail-generator)           | no       | Thumbnail generator for different file type previews.                                                                                                                                               |
| [Image Editor](https://www.npmjs.com/package/@scaleflex/widget-image-editor)                                               | no       | Inline image editor with functionalities such as filters, crop, resizing, watermark, collages, etc.... Also used by other features of the Widget such as the variant generator and export function. |
| [Image Annotator](https://www.npmjs.com/package/@filerobot/image-annotator/#filerobotimage-annotator)                      | no       | Inline image annotation and comment feed for people to collaborate on media assets.                                                                                                                 |
| [Webcam](https://www.npmjs.com/package/@scaleflex/widget-webcam)                                                           | no       | Captures photos or videos from the device's camera and upload them to the Filerobot storage container.                                                                                              |
| [Screen Capture](https://www.npmjs.com/package/@scaleflex/widget-screen-capture)                                           | no       | Device screen recorder and uploader                                                                                                                                                                 |
| [Pre-upload Image Processor](https://www.npmjs.com/package/@filerobot/preupload-processors/#filerobotpreupload-processors) | no       | Inline image editor prior the actual upload of the image to, for example, upload a resized version of a large image into the storage container.                                                     |

### Code examples <a href="#od_f62268df" id="od_f62268df"></a>

| Framework          | Link to code snippet                                                                                                                                                   |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| React              | [https://www.npmjs.com/package/@scaleflex/widget-core#:\~:text=and Vanilla JS.-,ReactJS,-(over package manager)](https://www.npmjs.com/package/@scaleflex/widget-core) |
| Vanilla (plain) JS | [https://www.npmjs.com/package/@scaleflex/widget-core#:\~:text=Scaleflex DAM API.-,Vanilla JS,-(over CDN link)](https://www.npmjs.com/package/@scaleflex/widget-core)  |
