<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="description" content="A front-end template that helps you build fast, modern mobile web apps.">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>progress test</title>

        <!-- Fonts -->
    <link href='https://fonts.googleapis.com/css?family=Roboto:regular,bold,italic,thin,light,bolditalic,black,medium&amp;lang=en' rel='stylesheet' type='text/css'>
    <link href="https://fonts.googleapis.com/icon?family=Material+Icons"
      rel="stylesheet">

    <!-- Page styles -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/0.0.1/prism.min.css">
    <link rel="stylesheet" href="../../material.min.css">
    <link rel="stylesheet" href="../../components/demos.css">
    <script src="../../material.min.js"></script>

    
    <style>
      
    </style>

  </head>
  <body>

    <div style="padding-top: 24px;">
      
        
<style>
  .demo-progress__progress-buffering .mdl-progress {
    width: 50vw;
    max-width: 260px;
  }
</style>

{% include "progress-buffering.html" %}

<!-- MDL Progress Bar with Buffering -->
<div id="p3" class="mdl-progress mdl-js-progress"></div>
<script>
  document.querySelector('#p3').addEventListener('mdl-componentupgraded', function() {
    this.MaterialProgress.setProgress(33);
    this.MaterialProgress.setBuffer(87);
  });
</script>

<style>
  .demo-progress__progress-default .mdl-progress {
    width: 50vw;
    max-width: 260px;
  }
</style>
{% include "progress-default.html" %}

<!-- Simple MDL Progress Bar -->
<div id="p1" class="mdl-progress mdl-js-progress"></div>
<script>
  document.querySelector('#p1').addEventListener('mdl-componentupgraded', function() {
    this.MaterialProgress.setProgress(44);
  });
</script>

<style>
  .demo-progress__progress-indeterminate .mdl-progress {
    width: 50vw;
    max-width: 260px;
  }
</style>
{% include "progress-indeterminate.html" %}

<!-- MDL Progress Bar with Indeterminate Progress -->
<div id="p2" class="mdl-progress mdl-js-progress mdl-progress__indeterminate"></div>

      
    </div>
    <!-- Built with love using Material Design Lite -->

    
    <script>
      
    </script>
  </body>
</html>
