├── .gitignore ├── .swiftpm └── xcode │ └── package.xcworkspace │ └── contents.xcworkspacedata ├── Example └── CompositionalListExample │ ├── CompositionalListExample.xcodeproj │ ├── project.pbxproj │ └── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ ├── IDEWorkspaceChecks.plist │ │ └── swiftpm │ │ └── Package.resolved │ ├── CompositionalListExample │ ├── Assets.xcassets │ │ ├── AccentColor.colorset │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset │ │ │ └── Contents.json │ │ └── Contents.json │ ├── CompositionalListExampleApp.swift │ ├── FeedContainerView.swift │ ├── FeedView.swift │ ├── Helpers │ │ ├── ActivityIndicator.swift │ │ ├── CustomLayout.swift │ │ ├── Itunes │ │ │ ├── Models │ │ │ │ └── Feed │ │ │ │ │ ├── Feed.swift │ │ │ │ │ └── FeedItem.swift │ │ │ ├── Networking │ │ │ │ ├── CombineAPI.swift │ │ │ │ ├── FeedGenerator.swift │ │ │ │ ├── ItunesClient.swift │ │ │ │ └── ItunesRemote.swift │ │ │ └── Views │ │ │ │ ├── ArtWork.swift │ │ │ │ └── ItunesFeedItemDetailView.swift │ │ └── Marvel │ │ │ ├── CarachterArtworkView.swift │ │ │ └── MarvelProvider.swift │ ├── Info.plist │ ├── Preview Content │ │ └── Preview Assets.xcassets │ │ │ └── Contents.json │ └── TabBar.swift │ ├── CompositionalListExampleTests │ ├── CompositionalListExampleTests.swift │ └── Info.plist │ └── CompositionalListExampleUITests │ ├── CompositionalListExampleUITests.swift │ └── Info.plist ├── LICENSE ├── Package.swift ├── README.md ├── Sources └── CompositionalList │ ├── SwiftUI │ └── CompositionalList.swift │ └── UIKit │ ├── BaseCollectionViewCell.swift │ ├── CollectionReusable.swift │ ├── DiffCollectionView.swift │ ├── HostView.swift │ ├── WrapperCollectionReusableView.swift │ └── WrapperViewCell.swift └── Tests ├── CompositionalListTests ├── CompositionalListTests.swift └── XCTestManifests.swift └── LinuxMain.swift /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | /.build 3 | /Packages 4 | /*.xcodeproj 5 | xcuserdata/ 6 | -------------------------------------------------------------------------------- /.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /Example/CompositionalListExample/CompositionalListExample.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Example/CompositionalListExample/CompositionalListExample.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /Example/CompositionalListExample/CompositionalListExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Example/CompositionalListExample/CompositionalListExample.xcodeproj/project.xcworkspace/contents.xcworkspacedata -------------------------------------------------------------------------------- /Example/CompositionalListExample/CompositionalListExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Example/CompositionalListExample/CompositionalListExample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist -------------------------------------------------------------------------------- /Example/CompositionalListExample/CompositionalListExample.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Example/CompositionalListExample/CompositionalListExample.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved -------------------------------------------------------------------------------- /Example/CompositionalListExample/CompositionalListExample/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Example/CompositionalListExample/CompositionalListExample/Assets.xcassets/AccentColor.colorset/Contents.json -------------------------------------------------------------------------------- /Example/CompositionalListExample/CompositionalListExample/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Example/CompositionalListExample/CompositionalListExample/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /Example/CompositionalListExample/CompositionalListExample/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Example/CompositionalListExample/CompositionalListExample/Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /Example/CompositionalListExample/CompositionalListExample/CompositionalListExampleApp.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Example/CompositionalListExample/CompositionalListExample/CompositionalListExampleApp.swift -------------------------------------------------------------------------------- /Example/CompositionalListExample/CompositionalListExample/FeedContainerView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Example/CompositionalListExample/CompositionalListExample/FeedContainerView.swift -------------------------------------------------------------------------------- /Example/CompositionalListExample/CompositionalListExample/FeedView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Example/CompositionalListExample/CompositionalListExample/FeedView.swift -------------------------------------------------------------------------------- /Example/CompositionalListExample/CompositionalListExample/Helpers/ActivityIndicator.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Example/CompositionalListExample/CompositionalListExample/Helpers/ActivityIndicator.swift -------------------------------------------------------------------------------- /Example/CompositionalListExample/CompositionalListExample/Helpers/CustomLayout.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Example/CompositionalListExample/CompositionalListExample/Helpers/CustomLayout.swift -------------------------------------------------------------------------------- /Example/CompositionalListExample/CompositionalListExample/Helpers/Itunes/Models/Feed/Feed.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Example/CompositionalListExample/CompositionalListExample/Helpers/Itunes/Models/Feed/Feed.swift -------------------------------------------------------------------------------- /Example/CompositionalListExample/CompositionalListExample/Helpers/Itunes/Models/Feed/FeedItem.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Example/CompositionalListExample/CompositionalListExample/Helpers/Itunes/Models/Feed/FeedItem.swift -------------------------------------------------------------------------------- /Example/CompositionalListExample/CompositionalListExample/Helpers/Itunes/Networking/CombineAPI.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Example/CompositionalListExample/CompositionalListExample/Helpers/Itunes/Networking/CombineAPI.swift -------------------------------------------------------------------------------- /Example/CompositionalListExample/CompositionalListExample/Helpers/Itunes/Networking/FeedGenerator.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Example/CompositionalListExample/CompositionalListExample/Helpers/Itunes/Networking/FeedGenerator.swift -------------------------------------------------------------------------------- /Example/CompositionalListExample/CompositionalListExample/Helpers/Itunes/Networking/ItunesClient.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Example/CompositionalListExample/CompositionalListExample/Helpers/Itunes/Networking/ItunesClient.swift -------------------------------------------------------------------------------- /Example/CompositionalListExample/CompositionalListExample/Helpers/Itunes/Networking/ItunesRemote.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Example/CompositionalListExample/CompositionalListExample/Helpers/Itunes/Networking/ItunesRemote.swift -------------------------------------------------------------------------------- /Example/CompositionalListExample/CompositionalListExample/Helpers/Itunes/Views/ArtWork.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Example/CompositionalListExample/CompositionalListExample/Helpers/Itunes/Views/ArtWork.swift -------------------------------------------------------------------------------- /Example/CompositionalListExample/CompositionalListExample/Helpers/Itunes/Views/ItunesFeedItemDetailView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Example/CompositionalListExample/CompositionalListExample/Helpers/Itunes/Views/ItunesFeedItemDetailView.swift -------------------------------------------------------------------------------- /Example/CompositionalListExample/CompositionalListExample/Helpers/Marvel/CarachterArtworkView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Example/CompositionalListExample/CompositionalListExample/Helpers/Marvel/CarachterArtworkView.swift -------------------------------------------------------------------------------- /Example/CompositionalListExample/CompositionalListExample/Helpers/Marvel/MarvelProvider.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Example/CompositionalListExample/CompositionalListExample/Helpers/Marvel/MarvelProvider.swift -------------------------------------------------------------------------------- /Example/CompositionalListExample/CompositionalListExample/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Example/CompositionalListExample/CompositionalListExample/Info.plist -------------------------------------------------------------------------------- /Example/CompositionalListExample/CompositionalListExample/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Example/CompositionalListExample/CompositionalListExample/Preview Content/Preview Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /Example/CompositionalListExample/CompositionalListExample/TabBar.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Example/CompositionalListExample/CompositionalListExample/TabBar.swift -------------------------------------------------------------------------------- /Example/CompositionalListExample/CompositionalListExampleTests/CompositionalListExampleTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Example/CompositionalListExample/CompositionalListExampleTests/CompositionalListExampleTests.swift -------------------------------------------------------------------------------- /Example/CompositionalListExample/CompositionalListExampleTests/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Example/CompositionalListExample/CompositionalListExampleTests/Info.plist -------------------------------------------------------------------------------- /Example/CompositionalListExample/CompositionalListExampleUITests/CompositionalListExampleUITests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Example/CompositionalListExample/CompositionalListExampleUITests/CompositionalListExampleUITests.swift -------------------------------------------------------------------------------- /Example/CompositionalListExample/CompositionalListExampleUITests/Info.plist: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Example/CompositionalListExample/CompositionalListExampleUITests/Info.plist -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/LICENSE -------------------------------------------------------------------------------- /Package.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Package.swift -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/README.md -------------------------------------------------------------------------------- /Sources/CompositionalList/SwiftUI/CompositionalList.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Sources/CompositionalList/SwiftUI/CompositionalList.swift -------------------------------------------------------------------------------- /Sources/CompositionalList/UIKit/BaseCollectionViewCell.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Sources/CompositionalList/UIKit/BaseCollectionViewCell.swift -------------------------------------------------------------------------------- /Sources/CompositionalList/UIKit/CollectionReusable.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Sources/CompositionalList/UIKit/CollectionReusable.swift -------------------------------------------------------------------------------- /Sources/CompositionalList/UIKit/DiffCollectionView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Sources/CompositionalList/UIKit/DiffCollectionView.swift -------------------------------------------------------------------------------- /Sources/CompositionalList/UIKit/HostView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Sources/CompositionalList/UIKit/HostView.swift -------------------------------------------------------------------------------- /Sources/CompositionalList/UIKit/WrapperCollectionReusableView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Sources/CompositionalList/UIKit/WrapperCollectionReusableView.swift -------------------------------------------------------------------------------- /Sources/CompositionalList/UIKit/WrapperViewCell.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Sources/CompositionalList/UIKit/WrapperViewCell.swift -------------------------------------------------------------------------------- /Tests/CompositionalListTests/CompositionalListTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Tests/CompositionalListTests/CompositionalListTests.swift -------------------------------------------------------------------------------- /Tests/CompositionalListTests/XCTestManifests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Tests/CompositionalListTests/XCTestManifests.swift -------------------------------------------------------------------------------- /Tests/LinuxMain.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamesrochabrun/CompositionalList/HEAD/Tests/LinuxMain.swift --------------------------------------------------------------------------------