docs: function () {
          if (this.element && this._container && this._outline) {
              var items = this.element.querySelectorAll('.u-menu-item');
  
              // Remove all transition delays; menu items fade out concurrently.
              for (var i = 0; i < items.length; i++) {
                  items[i].style.transitionDelay = null;
              }
  
              // Measure the inner element.
              var rect = this.element.getBoundingClientRect();
              var height = rect.height;
              var width = rect.width;
  
              if(!width){
                  var left = rect.left;
                  var right = rect.right;
                  width = right - left;
              }
  
              if(!height){
                  var top = rect.top;
                  var bottom = rect.bottom;
                  height = bottom - top;
              }
  
              // Turn on animation, and apply the final clip. Also make invisible.
              // This triggers the transitions.
              u.addClass(this.element, 'is-animating');
              this._applyClip(height, width);
              u.removeClass(this._container, 'is-visible');
  
              // Clean up after the animation is complete.
              this._addAnimationEndListener();
          }
      }