Awesome
<file-attachment> element
Attach files via drag and drop or file input.
Installation
$ npm install @github/file-attachment-element
Usage
import '@github/file-attachment-element'
<file-attachment directory>
<input type="file" multiple />
</file-attachment>
Optional attributes
file-attachment[directory]
enables traversing directories.file-attachment[input]
points to the ID of a file input inside of<file-attachment>
. If supplied, only files selected from the corresponding<input>
will be attached to<file-attachment>
.
Styling drag state
A boolean [hover]
attribute is present on <file-attachment>
while files are dragged over the element.
file-attachment[hover] { border: 2px dashed grey; }
Events
file-attachment-accept
– Files were dropped onto the element. Callevent.preventDefault()
to prevent the drop. Bubbles.file-attachment-accepted
– Files were added to the attachment list and can be uploaded by the host app. Bubbles.
Browser support
Browsers without native custom element support require a polyfill.
- Chrome
- Firefox
- Safari
- Microsoft Edge
Development
npm install
npm test
License
Distributed under the MIT license. See LICENSE for details.