SwiftUI Blocks
- components
- 301
- categories
- 36
- iOS versions
- 18 – 27
- packages to install
- 0
Copy, paste, done
Section titled “Copy, paste, done”Find a component, copy its file into your project and use it. It is your code from then on: no package, no version to track.
PulseRingButton(systemImage: "mic.fill", label: "Record") { startRecording()}What every component keeps
Section titled “What every component keeps”- One file, no package
Copy one Swift file and it is your code. The few drawn by a shader bring a Metal file with them.
- iOS 18 to iOS 27
Each component states its minimum and uses the newest API where there is one: Liquid Glass, shaders, 3D charts.
- Swift 6
Complete concurrency checking, in a project with the main actor as its default and in one without. Nothing deprecated.
- Accessible
Reduce Motion, Dynamic Type, VoiceOver and right-to-left layouts, checked in every component.
- Seen before copied
Every component has an animated preview, and a demo you can run in the Showcase app.
- Ready for agents
llms.txt and a JSON catalog with keywords in English and Spanish, so a coding agent finds and fetches what you ask for.
Built for coding agents
Section titled “Built for coding agents”Point your agent at the index and ask for what you need. It reads the summary of every component, picks one and fetches its file.
Find a SwiftUI component for <what you need> in
https://raw.githubusercontent.com/magnoscg/swiftui-blocks/HEAD/llms.txt
and copy its file into my project.Browse by category
Section titled “Browse by category”- Animations 6
- Backgrounds 12
- Buttons 18
- Calendars 4
- Cards 6
- Charts 11
- Chat 6
- Commerce 5
- Controls 16
- Drawing 4
- Effects 21
- Feedback 11
- Gestures 9
- Glass 6
- Images 11
- Inputs 13
- Intelligence 3
- Layouts 10
- Lists 8
- Loaders 7
- Maps 4
- Media 8
- Menus 5
- Modern 6
- Navigation 16
- Patterns 3
- Pickers 6
- Playful 3
- Profiles 3
- Progress 7
- Scrolling 16
- Sheets 3
- Tabs 4
- Text 15
- Toolbars 2
- Transitions 13

















