docs: function () {
              var viewportEl = this.$viewport[0],
                  dimensionsEl = viewportEl;
  
              // use the documentElement for viewport dimensions
              // if we are using the window as the viewport
              if (viewportEl === window) {
                  dimensionsEl = document.documentElement;
              }
              // setup initial state
              this.state = {
                  scrollTop: viewportEl.scrollTop,
                  scrollLeft: viewportEl.scrollLeft,
                  viewportDimensions: {
                      clientWidth: dimensionsEl.clientWidth,
                      clientHeight: dimensionsEl.clientHeight,
                      offsetWidth: dimensionsEl.offsetWidth,
                      offsetHeight: dimensionsEl.offsetHeight
                  },
                  zoomState: {
                      zoom: 1,
                      prevZoom: 0,
                      zoomMode: null
                  },
                  initialWidth: 0,
                  initialHeight: 0,
                  totalWidth: 0,
                  totalHeight: 0
              };
              this.zoomLevels = [];
          }