<html>
<head>
  <title>alert-controls-sk demo</title>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1, user-scalable=yes">
  <script src="/res/common/js/common.js"></script>
  <script src="/res/imp/bower_components/webcomponentsjs/webcomponents-lite.js"></script>
  <link rel="import" href="alert-controls-sk.html">
  <link rel="import" href="error-toast-sk.html">
  <script type="text/javascript" charset="utf-8">
    // Mock out sk.post() so we don't display errors.
    sk.post = function(url, params) {
      return new Promise(function (resolve, reject) {
        sk.errorMessage("Request: " + url + " Params: " + params);
        resolve('');
      });
    };
  </script>
</head>
<body>
  <h1>alert-controls-sk demo</h1>
  <div>
    <h2>Default</h2>
    <alert-controls-sk></alert-controls-sk>
  </div>
  <div>
    <h2>Show Snooze</h2>
    <alert-controls-sk show_snooze></alert-controls-sk>
  </div>
  <div>
    <h2>Show Unsnooze</h2>
    <alert-controls-sk show_unsnooze></alert-controls-sk>
  </div>
  <div>
    <h2>Show All</h2>
    <alert-controls-sk show_snooze show_unsnooze></alert-controls-sk>
  </div>
  <error-toast-sk></error-toast-sk>
</body>
</html>
