I have been working on an update of the gadget-ui JavaScript library that includes a new feature - a multi-file upload component called gadgetui.input.FileUploader. The component is based on some earlier work of mine, and originally used jQuery, so the jQuery version was written first and sticks to the original. 

The plain JavaScript version is a port of the jQuery version, and I am moving ahead with development on the plain JS version. The original component instantiated inside a dialog box with a close button, and I have eliminated those features in the plain JS version, opting to allow the developer to instantiate the component wherever needed, and managing its lifecycle as required. You can clone the library from my gadget-ui GitHub repository.