Drag and Drop
The new AHA alert is fully responsive with modern looks and feel with accessibility features. The layout is using Bootstrap 4.5 with flex box.
Drag and Drop
Drag and drop files hereor
Drop files here
Filename.csv
File Size: 28mb
25%
Sorry, we could not upload this file. Try saving it in a different format and upload again
HTML
<div class="aui-drag-section">
<div class="aui-drag-outline">
<div class="aui-drag-area d-flex align-items-center justify-content-center">
{/* on page load, File selection area, if file is not selected then 'd-flex', if file selected then 'd-none' */}
<div class="d-flex justify-content-center align-items-center flex-column">
<i class="aha-icon-cloud-upload aui-drag-upload-icon"></i>
<span class="h7 font-600 mb-0" aria-label="drag and drop files here">Drag and drop files here</span>
<span class="my-3">or</span>
<div class="aui-btn-files">
<input id="uploadfile" type="file" name="uploadfile" accept=".csv" aria-label="Browse Files" />
<label htmlFor="uploadfile" class="btn btn-round btn-primary m-0" aria-hidden="true">Browse Files</label>
</div>
</div>
{/* Dragging Place Holder 'd-flex', and 'd-none to hide' */}
<div class="d-none justify-content-center align-items-center flex-column aui-drop-files">
Drop files here
</div>
{/* after file is selected 'd-flex', and 'd-none' to hide' */}
<div class="d-none justify-content-center align-items-center flex-column aui-uploading-files row w-100">
<div class="col-12">
<div class="h8 font-600 mb-1">Filename.csv</div>
<div class="mb-3">File Size: 28mb</div>
<div class="aui-progress-block mb-4">
<div class="d-flex w-100">
<div class="progress flex-grow-1">
{/* if failure use extra class 'progress-failure' */}
<div class="progress-bar" role="progressbar" id="inProgess" style="width: 25%;" aria-valuenow="70" aria-valuemin="0" aria-valuemax="100" aria-describedby="progressInfo" aria-labelledby="progressPercent">
<span id="progressPercent">25%</span>
</div>
</div>
<button class="btn btn-text aha-icon-cross ml-2" aria-label="Abort file upload"></button>
</div>
{/* if fileUploadError is true then 'd-block' with proper error message, else 'd-none' */}
<div class='d-none'>
<div class="aui-progress-fail-msg d-block" id="progressInfo">Sorry, we could not upload this file. Try saving it in a different format and upload again</div>
<div class="aui-btn-files">
<input id="uploadfileagain" type="file" name="uploadfileagain" accept=".csv" aria-label="Upload Again" />
<label htmlFor="uploadfileagain" class="btn btn-round btn-primary mb-0 mt-4" role="button" aria-hidden="true">Upload again</label>
</div>
</div>
{/* if no error, add class 'd-inline-block' else add 'd-none' */}
<button class="btn btn-round btn-primary d-inline-block mt-4">Submit</button>
</div>
</div>
</div>
</div>
</div>
</div>