An open API service indexing awesome lists of open source software.

https://github.com/danielsaidi/DeckKit

DeckKit is a Swift SDK that helps you build deck-based apps in SwiftUI.
https://github.com/danielsaidi/DeckKit

ios macos swift swiftui tvos visionos watchos

Last synced: about 1 month ago
JSON representation

DeckKit is a Swift SDK that helps you build deck-based apps in SwiftUI.

Awesome Lists containing this project

README

        


Project Icon


Version
Swift 6.0
Swift UI
Documentation
MIT License

# DeckKit

DeckKit is a SwiftUI SDK that lets you build deck-based apps with ease. It has a `DeckView` that can render any list of items, with support for swipe gestures, edge swipes, shuffling, etc.


Demo video

DeckKit can be customized to great extent. You can change colors, fonts, etc. and use completely custom views. It also has tools to manage favorites.

## Installation

DeckKit can be installed with the Swift Package Manager:

```
https://github.com/danielsaidi/DeckKit.git
```

## Getting started

With DeckKit, you can create a deck of cards with any type that conforms to `Identifiable`:

```swift
struct Hobby: Identifiable {

var name: String
var text: String

var id: String { name }
}

struct MyView: View {

@State
var hobbies: [Hobby] = ...

var body: some View {
DeckView($hobbies) { hobby in
RoundedRectangle(cornerRadius: 25.0)
.fill(.blue)
.overlay(Text(hobby.name))
.shadow(radius: 10)
}
}
}
```

DeckKit has several view components for presenting decks, e.g. `DeckView` and `DeckPageView`.

See the online [getting started guide][Getting-Started] for more information.

## Documentation

The online [documentation][Documentation] has more information, articles, code examples, etc.

## Demo Application

The `Demo` folder has an app that lets you explore the library on iOS, macOS, and visionOS.

## Support my work

You can [sponsor me][Sponsors] on GitHub Sponsors or [reach out][Email] for paid support, to help support my [open-source projects][OpenSource].

Your support makes it possible for me to put more work into these projects and make them the best they can be.

## Contact

Feel free to reach out if you have questions or want to contribute in any way:

* Website: [danielsaidi.com][Website]
* E-mail: [[email protected]][Email]
* Bluesky: [@[email protected]][Bluesky]
* Mastodon: [@[email protected]][Mastodon]

## License

DeckKit is available under the MIT license. See the [LICENSE][License] file for more info.

[Email]: mailto:[email protected]

[Website]: https://www.danielsaidi.com
[GitHub]: https://www.github.com/danielsaidi
[Bluesky]: https://bsky.app/profile/danielsaidi.bsky.social
[Twitter]: https://www.twitter.com/danielsaidi
[Mastodon]: https://mastodon.social/@danielsaidi
[Sponsors]: https://github.com/sponsors/danielsaidi
[OpenSource]: https://www.danielsaidi.com/opensource

[Documentation]: https://danielsaidi.github.io/DeckKit/
[Getting-Started]: https://danielsaidi.github.io/DeckKit/documentation/deckkit/getting-started

[License]: https://github.com/danielsaidi/DeckKit/blob/master/LICENSE