Feedback/DSPageLoader
DSPageLoader
feedbackFull-screen loading overlay with centered spinner and optional message.
iOSmacOS
Purpose
Use for blocking operations that require user to wait. Covers entire screen with semi-transparent overlay.
Interactive Reference
Live showroom
Need the full visual surface?
Screenshots do not scale well across every component, state, and variant. For the real interactive reference, import the package and launch DSShowcaseRoot().
Best for exploring:
variants, states, categories, and real app examples in one place.
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| isPresentedreq | Bool | โ | Controls visibility |
| message | String? | nil | Optional text below spinner |
| accessibilityLabel | String? | nil | Optional accessibility label |
Examples
Loading state
Show full-page loader during async operation.
swift
@State var isLoading = false
ZStack {
ContentView()
DSPageLoader(
isPresented: isLoading,
message: "Loading data..."
)
}
.task {
isLoading = true
await fetchData()
isLoading = false
}Usage Guidelines
- Use sparingly for truly blocking operations
- Include helpful message explaining what's loading
- Ensure operation completes or has timeout
- Consider skeleton loaders for better UX when possible