// // Created by Jesse Squires // https://www.jessesquires.com // // Documentation // https://jessesquires.github.io/ReactiveCollectionsKit // // GitHub // https://github.com/jessesquires/ReactiveCollectionsKit // // Copyright © 2019-present Jesse Squires // import Foundation import UIKit /// Defines a view model that describes and configures a header view /// for a section in the collection view. public protocol SupplementaryHeaderViewModel: SupplementaryViewModel { /// The collection view header element kind. static var kind: SupplementaryViewKind { get } } extension SupplementaryHeaderViewModel { /// Default implementation. Returns a section header kind. public static var kind: SupplementaryViewKind { CollectionViewConstants.headerKind } /// A default registration for this header view model for class-based views. /// /// - Warning: Does not work for nib-based views. public var registration: ViewRegistration { ViewRegistration( reuseIdentifier: self.reuseIdentifier, supplementaryViewClass: self.viewClass, kind: Self.kind ) } }