     public weak var expandableTableViewDataSource: LUExpandableTableViewDataSource?
     /// The object that acts as the delegate of the expandable table view
     public weak var expandableTableViewDelegate: LUExpandableTableViewDelegate?
+    
+    /// The `UITableViewRowAnimation` animation used for showing/hiding rows when expand/collapse occurs. Default value is `fade`
+    public var animation: UITableViewRowAnimation = .fade
     
     open override var dataSource: UITableViewDataSource? {
         willSet {


extension LUExpandableTableView: UITableViewDataSource {
    public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        guard expandedSections.contains(section) else {
            return 0
        }
        
        return expandableTableViewDataSource?.expandableTableView(self, numberOfRowsInSection: section) ?? 0
    }
    
    public func numberOfSections(in tableView: UITableView) -> Int {

        }
        
        beginUpdates()
        reloadSections(IndexSet(integer: section), with: animation)
        endUpdates()
        
        let sectionHeaderRect = rectForHeader(inSection: section)
