text: import * as dom from '../util/dom';
  
  let barEl;
  let timeId;
  
  /**
   * Init progress component
   */
  function init() {
    const div = dom.create('div');
  
    div.classList.add('progress');
    dom.appendTo(dom.body, div);
    barEl = div;
  }
  
  /**
   * Render progress bar
   */
  export default function ({ loaded, total, step }) {
    let num;
  
    !barEl && init();
  
    if (step) {
      num = parseInt(barEl.style.width || 0, 10) + step;
      num = num > 80 ? 80 : num;
    } else {
      num = Math.floor((loaded / total) * 100);
    }
  
    barEl.style.opacity = 1;
    barEl.style.width = num >= 95 ? '100%' : num + '%';
  
    if (num >= 95) {
      clearTimeout(timeId);
      // eslint-disable-next-line no-unused-vars
      timeId = setTimeout(_ => {
        barEl.style.opacity = 0;
        barEl.style.width = '0%';
      }, 200);
    }
  }
  