packages/odo-dual-viewer/dist/odo-dual-viewer.js
function DualViewer(el, opts) {
      classCallCheck(this, DualViewer);

      var _this = possibleConstructorReturn(this, _TinyEmitter.call(this));

      _this.element = el;

      _this.options = Object.assign({}, DualViewer.Defaults, opts);

      _this._isVertical = _this.options.isVertical;

      /** @private {Element} */
      _this._scrubberEl = null;

      /** @private {Element} */
      _this._overlayEl = null;

      /** @private {Element} */
      _this._underlayEl = null;

      /** @private {Element} */
      _this._overlayObjectEl = null;

      /**
       * Dragger component
       * @type {OdoDraggable}
       * @private
       */
      _this._draggable = null;

      /**
       * Boundary for the scrubber.
       * @type {Rect}
       * @private
       */
      _this._scrubberLimits = null;

      /**
       * The axis to drag depends on the carousel direction.
       * @type {OdoPointer.Axis}
       * @private
       */
      _this._dragAxis = _this._isVertical ? 'y' : 'x';

      /**
       * Height or width.
       * @type {string}
       * @private
       */
      _this._dimensionAttr = _this._isVertical ? 'height' : 'width';

      /**
       * Previous percentage revealed. Needed for window resizes to reset back to
       * correct position.
       * @type {number}
       * @private
       */
      _this._previousPercent = _this.options.startPosition;

      /**
       * Current position of the dual viewer.
       * @type {number}
       * @private
       */
      _this._position = DualViewer.Position.CENTER;

      /** @private {boolean} */
      _this._isResting = true;

      _this.decorate();
      return _this;
    }
function DualViewer(el, opts) {
      classCallCheck(this, DualViewer);

      var _this = possibleConstructorReturn(this, _TinyEmitter.call(this));

      _this.element = el;

      _this.options = Object.assign({}, DualViewer.Defaults, opts);

      _this._isVertical = _this.options.isVertical;

      /** @private {Element} */
      _this._scrubberEl = null;

      /** @private {Element} */
      _this._overlayEl = null;

      /** @private {Element} */
      _this._underlayEl = null;

      /** @private {Element} */
      _this._overlayObjectEl = null;

      /**
       * Dragger component
       * @type {OdoDraggable}
       * @private
       */
      _this._draggable = null;

      /**
       * Boundary for the scrubber.
       * @type {Rect}
       * @private
       */
      _this._scrubberLimits = null;

      /**
       * The axis to drag depends on the carousel direction.
       * @type {OdoPointer.Axis}
       * @private
       */
      _this._dragAxis = _this._isVertical ? 'y' : 'x';

      /**
       * Height or width.
       * @type {string}
       * @private
       */
      _this._dimensionAttr = _this._isVertical ? 'height' : 'width';

      /**
       * Previous percentage revealed. Needed for window resizes to reset back to
       * correct position.
       * @type {number}
       * @private
       */
      _this._previousPercent = _this.options.startPosition;

      /**
       * Current position of the dual viewer.
       * @type {number}
       * @private
       */
      _this._position = DualViewer.Position.CENTER;

      /** @private {boolean} */
      _this._isResting = true;

      _this.decorate();
      return _this;
    }
function DualViewer ( el , opts ) { classCallCheck ( this , DualViewer ) ; var _this = possibleConstructorReturn ( this , _TinyEmitter . call ( this ) ) ; _this . element = el ; _this . options = Object . assign ( { } , DualViewer . Defaults , opts ) ; _this . _isVertical = _this . options . isVertical ; /** @private {Element} */ _this . _scrubberEl = null ; /** @private {Element} */ _this . _overlayEl = null ; /** @private {Element} */ _this . _underlayEl = null ; /** @private {Element} */ _this . _overlayObjectEl = null ; /**
       * Dragger component
       * @type {OdoDraggable}
       * @private
       */ _this . _draggable = null ; /**
       * Boundary for the scrubber.
       * @type {Rect}
       * @private
       */ _this . _scrubberLimits = null ; /**
       * The axis to drag depends on the carousel direction.
       * @type {OdoPointer.Axis}
       * @private
       */ _this . _dragAxis = _this . _isVertical ? 'y' : 'x' ; /**
       * Height or width.
       * @type {string}
       * @private
       */ _this . _dimensionAttr = _this . _isVertical ? 'height' : 'width' ; /**
       * Previous percentage revealed. Needed for window resizes to reset back to
       * correct position.
       * @type {number}
       * @private
       */ _this . _previousPercent = _this . options . startPosition ; /**
       * Current position of the dual viewer.
       * @type {number}
       * @private
       */ _this . _position = DualViewer . Position . CENTER ; /** @private {boolean} */ _this . _isResting = true ; _this . decorate ( ) ; return _this ; }
Component which has a draggable element in the middle which reveals one or
the other sides as the user drags.

@constructor
Component which has a draggable element in the middle which reveals one or the other sides as the user drags .