     animation
 
   ###*
+    @protected
     @return {number} actual computed height of element
   ###
   getHeight: ->

  ###
  toggle: (event) =>
    event.preventDefault()
    if (goog.style.isElementShown @dropupElement) and (not @animationLock)
      @close()
    else
      @open()

  ###
  open: ->
    @height ?= @getHeight()
    goog.style.setElementShown(@dropupElement, true)
    animation = @getAnimation(0, @height)
    CLS = wzk.ui.dropup.Dropup.CLS

    animation.listen goog.fx.Animation.EventType.BEGIN, (event) =>
      for el in @getAllElements()
        goog.dom.classes.addRemove(el, CLS.CLOSED, CLS.OPENED)

    animation.listen goog.fx.Animation.EventType.FINISH, (event) =>
      goog.dom.classes.remove(@dropupElement, CLS.COLLAPSE)
      @swapClasses()

    animation.play()
