<!--
  This in an HTML Import-able file that contains the definitions
  for the following elements:

    <toggle-display-sk>

  To use this file import it:

    <link href="res/imp/cluster.html" rel="import" />

-->
<polymer-element name="toggle-display-sk">
  <template>
    <style type="text/css" media="screen">
      paper-button {
        color: #1f78b4;
      }
      paper-button:hover {
        background: #eee;
      }
    </style>
    <paper-button>
      <content></content>
    </paper-button>
  </template>
  <script>
    (function() {
      function toggle(e) {
        e.target.nextElementSibling.classList.toggle("display");
      };

      Polymer({
        ready: function() {
           this.addEventListener('click', toggle);
        },
        detached: function() {
           this.removeEventListener('click', toggle);
        },
      });
    })();
  </script>
</polymer-element>
