Installation
ThemeKit ships as a Swift Package. It targets iOS 17+ / macOS 14+ with Swift 6.2 tools, and the core product has zero dependencies — a plain install resolves nothing third-party. Lottie and the Calendar are opt-in add-ons gated behind package traits, so their dependencies (Lottie, Almanac/HorizonCalendar) are only fetched if you ask for them.
File ▸ Add Package Dependencies… and enter the repository URL:
https://github.com/isamercan/ThemeKit.gitYou’ll get the dependency-free core. To add an optional add-on, enable its trait in
the package’s Traits section (checkbox) — Lottie and/or Calendar — then add
the matching library to your target.
Package.swift
Section titled “Package.swift”dependencies: [ // Core only — zero third-party packages are resolved. .package(url: "https://github.com/isamercan/ThemeKit.git", from: "0.3.0"),
// …or opt into an add-on's dependency at resolution time via traits: // .package(url: "https://github.com/isamercan/ThemeKit.git", from: "0.3.0", // traits: ["Lottie"]), // + lottie-ios // traits: ["Lottie", "Calendar"]) // + lottie-ios, Almanac (iOS)],targets: [ .target( name: "MyApp", dependencies: [ .product(name: "ThemeKit", package: "ThemeKit"), // Only with the matching trait enabled above: // .product(name: "ThemeKitLottie", package: "ThemeKit"), // .product(name: "ThemeKitCalendar", package: "ThemeKit"), ] ),]Products & traits
Section titled “Products & traits”| Product | Trait to enable | Pulls | Use |
|---|---|---|---|
ThemeKit | — (default) | nothing | the full design system (core) |
ThemeKitLottie | Lottie | lottie-ios 4.4.0+ | Lottie (After Effects / JSON) animation views |
ThemeKitCalendar | Calendar | Almanac → HorizonCalendar (iOS-only) | token-bound date-range calendar & time wheel |
Next: Getting Started.