PrettyUI 1.0.0

A modern design system and component library for building beautiful iOS, macOS, tvOS, and watchOS applications with SwiftUI. Inspired by Family.co's attention to detail and delightful interactions.


Why PrettyUI?

PrettyUI brings the polish of Family.co's legendary interface to your SwiftUI apps. Every component is crafted with fluid animations, thoughtful interactions, and pixel-perfect details.

TS

100% SwiftUI

Pure SwiftUI implementation with no UIKit dependencies. Works seamlessly with SwiftUI's declarative syntax.

Multi-Platform

Build once, deploy everywhere. iOS, macOS, tvOS, and watchOS from a single codebase.

Design Tokens

Comprehensive token system for colors, spacing, typography, radius, and shadows.

4 Beautiful Themes

Sky, Indigo, Emerald, and Amber themes included. Create custom themes in minutes.

Accessible

Built with VoiceOver, Dynamic Type, and Reduce Motion support from the ground up.

Lightweight

Zero external dependencies. Add only what you need to keep your app bundle small.


Components

PrettyUI includes 14 production-ready components with comprehensive customization options:


Quick Start

Get up and running in under 2 minutes.

1. Install via Swift Package Manager

https://github.com/ajagatobby/PrettyUI.git

Or add to your Package.swift:

dependencies: [
    .package(url: "https://github.com/ajagatobby/PrettyUI.git", from: "1.0.0")
]

2. Configure Your Theme

import SwiftUI
import PrettyUI

@main
struct MyApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
                .prettyTheme(.sky) // Choose: .sky, .indigo, .emerald, .amber
        }
    }
}

3. Start Building

struct ContentView: View {
    @State private var email = ""
    @State private var showToast = false

    var body: some View {
        VStack(spacing: 24) {
            PTextField("Email", text: $email)
                .leadingIcon("envelope")

            PButton("Subscribe") {
                showToast = true
            }
            .variant(.primary)
            .fullWidth()
        }
        .padding()
        .pToastContainer()
        .onChange(of: showToast) { _, show in
            if show {
                PToastManager.shared.show(
                    "Subscribed!",
                    variant: .success
                )
                showToast = false
            }
        }
    }
}

Themes

Choose from 4 carefully crafted themes, or create your own:

ThemePrimaryDescription
Sky#1DA1F2Vibrant cyan-blue for social apps
Indigo#6366F1Deep purple for productivity apps
Emerald#10B981Fresh green for health & wellness
Amber#F59E0BWarm orange for creative apps
Sky
Indigo
Emerald
Amber

Learn more about theming and design tokens.


Requirements

  • Xcode 14.0+
  • Swift 5.7+
  • iOS 16.0+ / macOS 13.0+ / tvOS 16.0+ / watchOS 9.0+

Community


Ready to build something beautiful?

Start with our installation guide and build your first PrettyUI app.

Get Started