If you wish to replace the built-in progress bar, you need to listen to the
onChange event. Its callback’s argument will be a file object for regular widgets or a group object for multiple widgets. Then, you need to listen to the progress event and change your progress bar in according to a current
installProgressBar function does all that. It receives the two arguments: widget instance and progress bar DOM element. Everything else runs on CSS, animation included.
See a complete code snippet here.