Getting Started/Overview
v0.1 — Preview

What is SwiftDS?

SwiftDS is a SwiftUI design system with 100+ components, centralised design tokens, spring-physics micro-interactions, and native dark mode support — covering iOS, macOS, watchOS, tvOS, and visionOS.

Work in progress

SwiftDS is actively developed. Components are still being added and refined, and until 1.0 a minor release may change an API. Pin a version, check the changelog before upgrading, and see the roadmap for what's coming.

Core Principles

◈

Token-first

Every colour, spacing value, shadow, and animation references a named token. Never hardcoded values.

▦

Composable

Product components are built from base components. Token updates propagate automatically.

◎

Accessible

All components meet Apple HIG minimum tap target sizes and support Dynamic Type out of the box.

★

Animated

Spring physics animations on every interactive element. No linear durations — always natural.

Package Structure

SwiftDS-package/
SwiftDS-package/
├── Package.swift                    // Swift Package Manager manifest (product: SwiftDS)
└── Sources/DesignSystem/
    ├── Foundations/
    │   ├── DSTokens.swift           // Colours, spacing, radius, shadows, animations
    │   ├── DSTypography.swift       // DSFont, DSTextStyle and the DSText component
    │   ├── DSTheme.swift            // Runtime theme (.dsTheme)
    │   └── DSAccessibility.swift    // Shared accessibility helpers
    ├── Catalog/DSComponentCatalog.swift  // Per-state catalog used by snapshot/gallery tools
    ├── Components/
    │   ├── Buttons/                 // DSButton, DSButtonGroup, DSLink, DSMenuButton
    │   ├── Messaging/DSMessaging.swift
    │   ├── ProductCards/DSProductCards.swift
    │   ├── Inputs/DSInputs.swift
    │   ├── Navigation/DSNavigation.swift
    │   ├── Feedback/DSFeedback.swift
    │   ├── DataDisplay/DSDataDisplay.swift
    │   ├── Layout/DSLayout.swift
    │   ├── CommandPalette/DSCommandPalette.swift
    │   ├── Analytics/DSAnalytics.swift
    │   ├── Activity/DSActivityFeed.swift
    │   ├── UserProfile/DSUserProfile.swift
    │   ├── Settings/DSSettings.swift
    │   ├── Onboarding/DSOnboarding.swift
    │   └── Marketing/DSMarketing.swift
    └── Showcase/
        ├── DSShowcaseApp.swift       // DSShowcaseRoot: interactive preview of all components
        └── DSAdvancedShowcase.swift  // DSAdvancedShowcase: product components

Platform Support

iOS

17+

macOS

14+

watchOS

10+

visionOS

1+

Next Steps