An editable React component for different types of media composition