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
Fresco
Swift package - Open
FrescoDemoApp.xcodeproj
in 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
TabView
to switch between categories - A
NavigationStack
for 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 PreviewViewModel
s 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