         reduceOverlay()
         reduceItems()
         transitionButtonTitle()
-        
-        isOpen = false
     }
     
     

        expandOverlay()
        expandItems()
        transitionButtonTitle()
        
        isOpen = true
    }
    
    open func close() {
        guard isOpen else { return }
        guard !isAnimatingOpenClose else {
            bufferedAction = bufferedAction ?? .close
            return
        }
        
        delegate?.actionButtonWillClose?(self)
        

    
    fileprivate enum ScrollDirection {
        case none, up, down
    }
    
    fileprivate typealias AnimationSteps = (preparation: (() -> Void)?, animation: (() -> Void)?, completion: (() -> Void)?)
