CollectionStack is designed to solve limitation of HStack and VStack in SwiftU, it grows horizontally first, then vertically if next element could not fit horizontally.
struct App: Identifiable {
	var name: String
	var id: String { return name }
}
let apps: [App] = [
	"youtube", "podcast", "twitter",
	"facebook", "instagram",
	"free form", "github desktop", "source tree"
].map(App.init(name: ))
				
//you can wrap this CollectionStack into ScrollView as well if you want scrolling				
CollectionStack(apps) { app in
	Button {
		print("Selected tag := \(app.name)")
	} label: {
		Text(app.name)
			.font(.system(.callout, design: .rounded, weight: .regular))
	}
	.buttonStyle(.bordered)
	.padding(.trailing, 8)
	.padding(.bottom, 8)
}is generic SwiftUI View over data and content
The collection of underlying identified data that CollectionStack uses to create views dynamically.
A function to create content on demand using the underlying data. It's a mapper function which maps Data to some View.
/// Creates an instance that uniquely identifies and creates views across
/// updates based on the identity of the underlying data.
///
/// It's important that the `id` of a data element doesn't change unless you
/// replace the data element with a new data element that has a new
/// identity. If the `id` of a data element changes, the content view
/// generated from that data element loses any current state and animations.
///
/// - Parameters:
///   - data: The identified data that the ``CollectionStack`` instance uses to
///     create views dynamically.
///   - content: The view builder that creates views dynamically.
public init(_ data: Data, @ViewBuilder content: @escaping (Data.Element) -> Content)| Platform | Minimum Swift Version | Installation | Status | 
|---|---|---|---|
| iOS 13.0+ | 5.0 | Swift Package Manager, Manual | Fully Tested | 
| macOS 10.15+ | 5.0 | Swift Package Manager, Manual | Fully Tested | 
| tvOS 13.0+ | 5.0 | Swift Package Manager, Manual | Fully Tested | 
| watchOS 6.0+ | 5.0 | Swift Package Manager, Manual | Fully Tested | 
The  Swift Package Manager  is a tool for automating the distribution of Swift code and is integrated into the  swift  compiler.
Once you have your Swift package set up, adding CollectionStack-SwiftUI as a dependency is as easy as adding it to the  dependencies  value of your  Package.swift.
dependencies: [
    .package(url: "https://github.com/hitendradeveloper/CollectionStack-SwiftUI.git", .upToNextMajor(from: "1.0.0"))
]
CollectionStack-SwiftUI is released under the MIT license.
