FrescoDemoApp is a SwiftUI demo project used to explore, preview, and validate the Fresco design system.
This app provides a clean, isolated environment for testing and visually verifying UI components, layout patterns, and tokens defined in the Fresco Swift Package.
GitHub repo for this project: FrescoDemoApp
- Live previews of all components in the Fresco design system
- Organized by category: Buttons, Inputs, Typography, Layout, etc.
- Built with SwiftUI and iOS 18+
- Supports dark mode, adaptive layout, and system font scaling
FrescoDemoApp
├── App
├── Assets.xcassets
│ ├── AccentColor.colorset
│ └── AppIcon.appiconset
├── Coordinators
├── Features
│ ├── Buttons
│ ├── DataDisplay
│ ├── Feedback
│ ├── Inputs
│ ├── Interactive
│ ├── Layout
│ ├── Media
│ └── Typography
└── Previews
├── ButtonPreviews
├── DataDisplayPreviews
├── FeedbackPreviews
├── InputPreviews
├── InteractivePreviews
├── LayoutPreviews
├── MediaPreviews
└── Typography
- Clone this repo
- Make sure you’ve also cloned or added the local
FrescoSwift package - Open
FrescoDemoApp.xcodeprojin Xcode 16.3+ - Run the app or use SwiftUI canvas to interact with components
- Buttons
- Inputs
- Typography
- Layout
- Feedback
- Media
- Interactive
- Data Display
You can modify ContentView.swift to use:
- A
TabViewto switch between categories - A
NavigationStackfor list-based component exploration - Or a
GalleryGridView(future) to show all in one place
FrescoDemoApp uses the Coordinator pattern to isolate navigation logic for each feature area. Each feature category (e.g., Buttons, Inputs) has its own Coordinator that:
- Organizes views into logical flows
- Enables tab-based or navigation-based access
- Makes it easy to swap presentation styles or preview contexts
The app separates production-ready components from preview implementations to keep core components clean and testable. Previews for each feature area live under:
Previews/
├── ButtonPreviews
├── InputPreviews
├── TypographyPreviews
...
Each preview module:
- Demonstrates different states and variants
- Includes previews for both light and dark mode
- May use mock data or simplified models
You can create dedicated PreviewViewModels when necessary to simulate behavior and interaction.
Fresco is a modular SwiftUI design system optimized for reuse across iOS apps.
View the source code: Fresco GitHub Repo
- Xcode 16.3+
- iOS 18.0+
- Swift Package Manager