: 'trackEnd'
    },

    downAction: function(e) {
      var rect = this.$.ink.getBoundingClientRect();
      this.$.ink.downAction({
        x: rect.left + rect.width / 2,
        y: rect.top + rect.height / 2
      });
    },

    upAction: function(e) {
      this.$.ink.upAction();
    },

    tap: function() {
      if (this.disabled) {
        return;
      }
      this.checked = !this.checked;
      this.fire('change');
    },

    trackStart: function(e) {
      if (this.disabled) {
        return;
 